使用各种透视和照明检测图片中的矩形

时间:2017-11-20 10:57:13

标签: c# opencv computer-vision emgucv

我遇到了问题。我正在拍摄带有相机闪光灯的普通太阳能电池组件。我需要检测模块的框架以切出模块并使其失效(我只需要所有的单元区域(框架内的暗区))。

sample image - direct flash 样品图像 - 直接闪光 - >大反射的问题(我想我可以用一个好的扩散器来减少它) sample image - flash from angle 样本图像 - 从角度闪烁

有人建议使用强大的方法来检测帧吗?我需要一些东西来处理各种图像角度和光照。

processed sample image 2 处理过的样本图像2

处理最后一张照片。我模糊了图像,灰度,倒置。之后,我对图像进行了阈值处理,并试图检测轮廓(图像底部的阴影有问题)

感谢您的时间。 克里斯

1 个答案:

答案 0 :(得分:0)

如上所述: Rectangle recognition with perspective projection

Hough变换应该适用于矩形检测IFF,您可以假设矩形的边是图像中最突出的线。然后你可以简单地检测霍夫空间中的4个最大峰值,然后得到你的矩形。

例如,在黑暗的背景前有一张白纸的照片。

理想情况下,您可以使用模糊,阈值,形态运算符预处理图像,以便在霍夫变换之前删除任何小规模结构。

如果图像中有多个较小的矩形或其他种类的突出线,轮廓检测可能是更好的选择。

霍夫的一些一般优势从头顶转变:

如果矩形的一部分被遮挡或超出框架,则Hough变换仍然可以工作。 我想,霍夫变换应该比轮廓检测更快? 霍夫变换将忽略任何不是直线的变形,因此您可能会在杂乱的图像上取得更大的成功。 (如果矩形边是最突出的线)