检测RGB图像中的像素是否属于另外两个像素之间的线(MATLAB)

时间:2010-11-11 10:33:46

标签: image matlab rgb

我的matlab项目有问题

我有一个RGB彩色图像,我有两个指定的像素(x1,y1)和(x2,y2) 我想检查图像中的每个像素,并确定像素是否属于(x1,y1)和(x2,y2)之间的线

我尝试使用这些功能

m =(y2-y1)/(x2-x1); b = y1 - m * x1; 如果(y == m * x + b)则为TRUE

但它几乎失败

任何人都有另一种解决方法吗?请

由于

2 个答案:

答案 0 :(得分:3)

请记住,像素有面积而不仅仅是点。根据你如何定义坐标,你要检查的是“我的像素的中心是否正好位于这些其他像素的中心之间的线上”

我猜你可能想留一些余地,即设置一些容忍度,然后检查

if abs(m*x+b -y) < tolerance  

而非直接平等

答案 1 :(得分:3)

虽然您可能不知道,但尝试实施Bresenham's Algorithm或类似的算法。