我的matlab项目有问题
我有一个RGB彩色图像,我有两个指定的像素(x1,y1)和(x2,y2) 我想检查图像中的每个像素,并确定像素是否属于(x1,y1)和(x2,y2)之间的线
我尝试使用这些功能
m =(y2-y1)/(x2-x1); b = y1 - m * x1; 如果(y == m * x + b)则为TRUE
但它几乎失败
任何人都有另一种解决方法吗?请
由于
答案 0 :(得分:3)
请记住,像素有面积而不仅仅是点。根据你如何定义坐标,你要检查的是“我的像素的中心是否正好位于这些其他像素的中心之间的线上”
我猜你可能想留一些余地,即设置一些容忍度,然后检查
if abs(m*x+b -y) < tolerance
而非直接平等
答案 1 :(得分:3)
虽然您可能不知道,但尝试实施Bresenham's Algorithm或类似的算法。