我希望对墙上的一些7段数码管图片应用OCR技术,我的策略如下:
- 将图像转换为灰度
- 模糊图像以减少伪边缘
- 将图像阈值化为二进制图像
- 应用Canny边缘检测
- 根据数字轮廓给定的模式设置感兴趣区域(ROI)
- 缩放ROI并在区域中进行模板匹配
如何设置ROI,使得我的程序不必在整个图像中查找模板?我想根据发现的边缘数量或其他更有用的东西设置ROI,请帮忙。
我曾经了解过级联分类和Haar,但不知道如何将其应用到我的问题上。
以下是经过预处理和边缘检测后的图像:
原始图像:
我希望对墙上的一些7段数码管图片应用OCR技术,我的策略如下:
如何设置ROI,使得我的程序不必在整个图像中查找模板?我想根据发现的边缘数量或其他更有用的东西设置ROI,请帮忙。
我曾经了解过级联分类和Haar,但不知道如何将其应用到我的问题上。
以下是经过预处理和边缘检测后的图像:
原始图像:
首先,考虑到原始图像具有LED显示屏,因此发光区域的亮度高于其余区域,我会对原始图像执行Yuv色彩转换,然后在强度平面(Y)上进行处理。
接下来,如果您知道图像已经对齐(即没有旋转),我建议应用单独的水平和垂直边缘检测器,而不是通用的边缘检测器(您不关心对角线)。例如:
sobelx = cv2.Sobel( img, cv2.CV_64F, 1, 0, ksize=5 )
sobely = cv2.Sobel( img, cv2.CV_64F, 0, 1, ksize=5 )