【发布时间】:2014-01-14 15:58:13
【问题描述】:
我想从在白纸上绘制黑色线条的图像中检测线条。 如果理想的“黑白”,使用直方图阈值就可以了。
但是,如附图所示,某些线条(例如浅红色圆圈中)的灰色比阴影(例如深红色圆圈中)浅。因此使用直方图阈值在光线之前获得了一些阴影。
有什么想法可以用一些“知识”来区分线条和阴影吗?谢谢!
编辑: 这是原始图像,因为它们是原始分辨率,所以有点小。
谢谢:-)
【问题讨论】:
-
可以上传不带红圈的raw图片吗?
-
@lennon310 谢谢!我已经上传了。现在我在想“边缘”像素和“阴影”像素之间的一个区别可能是:这个像素的值与其邻域的中间值之间的区别。我现在正在尝试。
-
@nikie 哦!我认为我的问题与那个问题非常相似,并且该方法似乎很有帮助。非常感谢!
-
@nikie 受你answer的启发,我想我已经通过Img-medianBlur(Img)取得了更好的效果,非常感谢:-) 我还有两个小问题,1.应该将您的代码的一行更改为
opened = imdilate(imerode(blue,mask),mask);,因为我们在膨胀之前进行腐蚀? 2.我了解“二进制”图像的形态学操作,但无法想象如何侵蚀/膨胀“灰色”图像(以及您答案中的“开放”模糊方法)。你能指导我一点吗?再次感谢。
标签: opencv image-processing detection