2014-10-27 62 views
0

Image form camera我们如何检测具有相同背景的图像边缘?

我试图找到使用 cvFindContours轮廓(灰色,存储,&轮廓的sizeof(CvContour),CV_RETR_LIST,CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0)); 和Canny,但我无法检测到它。 有什么办法可以检测到它。(所有的处理是用C完成)

+0

我想我会在拍摄照片之前改变我的物体所在的背景或拍摄对象的照明! – 2014-10-27 08:23:48

+0

您的机会是背景中有阴影(如果图像质量保持不变)。所以你可以尝试从阴影开始,尝试从那里提取非常低的阈值边缘。不幸的是,你可能不容易区分阴影和对象,所以你提取的对象可能包含阴影伪像。 – Micka 2014-10-27 10:35:31

回答

0

第一均衡图像更好的对比度。它也会增加噪音和其他纹理,但物体会很明显。

现在,找到渐变,它会避开大部分渐变的颜色和噪点以及一些纹理。

现在你可以用一些阈值实验,它会给周围的阴影良好的边缘和区域和对象两者。

去除噪声和纹理,整个图像可以是模糊的中位数与大的内核,然后阈值化以获得感兴趣区域的面具。

你也可以尝试多次迭代上面的方法。它不需要很多准确性,尝试模糊纹理。