Image processing 利用EmguCV检测图像中的白色块

Image processing 利用EmguCV检测图像中的白色块,image-processing,emgucv,Image Processing,Emgucv,我在C#NET中使用EmguCV,试图在图像(照片)中分离或检测白色矩形。我们无法控制我们收到的照片的质量。我们的计划是找到这个矩形并执行一些处理步骤来增加ocr工作的机会(我们正在尝试检测大黑框上方的文本行) 此处提供的示例图像: 我尝试过许多教程和示例项目-边缘检测、示例分割、许可证识别、形状检测、SURFFeature、TrafficSignRecognition。但是没有成功 这方面的要求不是实时的,但处理一张图像也不能花3个小时 我希望对图像进行预处理,这样一个精明的边缘检测和Hou

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

此处提供的示例图像:

我尝试过许多教程和示例项目-边缘检测、示例分割、许可证识别、形状检测、SURFFeature、TrafficSignRecognition。但是没有成功

这方面的要求不是实时的,但处理一张图像也不能花3个小时

我希望对图像进行预处理,这样一个精明的边缘检测和HoughLines和FindContours将返回我的形状,我可以根据最小的大小和宽高比找到这个矩形

任何关于检测白盒策略的帮助都将不胜感激


谢谢

一个简单的方法是:首先平滑图像

Image<Bgr, byte> theSmoothImage = theImage.SmoothBlur(25, 25);
图像平滑图像=图像平滑模糊(25,25);
或者更好:

 Image<Bgr, byte> theSmoothImage = theImage.SmoothMedian(35);
图像平滑图像=图像平滑中值(35);
在通道中分割图像

Image<Gray, byte>[] theChannels = theSmoothImage.Split();
Image[]theChannels=theSmoothImage.Split();
然后尝试在通道3=> 频道[2]