【问题标题】:detect if a pixel in RGB image belong to a line between two other pixels (MATLAB)检测 RGB 图像中的像素是否属于其他两个像素之间的线(MATLAB)
【发布时间】:2010-11-11 18:53:22
【问题描述】:

我的 matlab 项目有问题

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

我尝试使用这些功能

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

但它几乎失败了

有人有其他方法来解决它吗?请

谢谢

【问题讨论】:

    标签: image matlab rgb


    【解决方案1】:

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

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

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

    而不是直接相等

    【讨论】:

    • 你好,你能用例子解释更多吗,对不起,我不是好数学人
    【解决方案2】:

    尽管您可能不知道,但您正在尝试实现 Bresenham's Algorithm 或类似的算法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 1970-01-01
      • 2011-12-22
      • 2013-01-03
      • 2021-06-13
      • 1970-01-01
      • 2015-10-25
      相关资源
      最近更新 更多