各位大侠我正在做一个社测量程序 遇到了彩色图像的边缘检测问题 问题是这样的:   在需要检测的试样上划两个红色的线 检测两个线之间的距离 在摄像头采集的图片中 红线由于光线的变化颜色已经改变 但仍然呈红色显示 这种情况下 怎样识别出红线的位置呢小弟用了如下的算法 但识别效果不理想    //设置一个颜色偏移值    int offset = 20; //取出象素的颜色份量   R = 象素的红色份量  G = 象素的绿色份量  B = 象素的蓝色份量   IF ( R > G+ offset  && R > G + offset ){     //将该像素的 G 和 B 份量 都 改为 0 ,R 改为 255, 这样就显示为纯红色   G = 0;   B = 0;  R = 255; ....}

解决方案 »

  1.   

    有检测彩色图像边缘的论文,自己去看看!!
      

  2.   

    不用这么麻烦,首先,你的红色是图片中特定的吗?
    第二,这两条是标准的直线吗?
    第三,得到上面这两条直线的点,连接起来.然后现在这两条红一的顶点,与尾点之间画条标准直线.
    如果你得到的点,有80%以上在,你假设的直线上,就认为是正确的,后面的距离你应该会算了吧@