使用EmguCV检测图像中的白色块

时间:2015-09-16 08:26:42

标签: image-processing emgucv

我在C#.NET中使用EmguCV,并试图隔离或检测图像中的白色矩形(照片)。我们无法控制我们收到的照片质量。计划是找到这个矩形并执行一些处理步骤以增加ocr工作的机会(我们试图检测大黑盒子上方的文本行)。

此处提供的示例图片: http://imgur.com/Qa0Rzmu

我尝试了很多教程和示例项目 - 边缘检测,样本拆分,LicensePlateRecognition,ShapeDetection,SURFFeature,TrafficSignRecognition。但没有成功。

对此的要求不是实时的,但处理一个图像也不需要3个小时。

我希望预处理图像,这样Canny Edge检测和HoughLines和FindContours会返回我的形状,我可以根据最小尺寸和宽高比找到这个矩形。

非常感谢任何有关检测白盒的策略的帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

一种简单的方法可以是:首先平滑图像。

Image<Bgr, byte> theSmoothImage = theImage.SmoothBlur(25, 25);

甚至更好:

 Image<Bgr, byte> theSmoothImage = theImage.SmoothMedian(35);

在频道中分割图像

Image<Gray, byte>[] theChannels = theSmoothImage.Split();

然后尝试在通道3 =&gt;中填充白色矩形。 theChannels [2]