c – 在OpenCV中边缘检测后找到最佳感兴趣区域

我想将OCR应用到墙上的7段显示器的一些照片.我的策略如下:

>隐藏图像灰度
>模糊img减少假边
将img限制为二进制img
>应用Canny Edge检测
>根据数字轮廓给出的模式设置感兴趣区域(ROI)
>缩放ROI和模板匹配区域

如何设置投资回报率,使我的程序不必在整个图像中查找模板?我想设置我的投资回报率基于发现的边缘的数量或更有用的东西,如果有人可以帮助我.

我正在研究级联分类和哈尔,但我不知道如何将其应用于我的问题.

这是预处理和边缘检测后的图像:

原始图像

解决方法

如果这是您需要处理的边缘数量的代表,您可以尝试一个漂亮的天真的策略,例如将ROI-finder窗口滑过二进制图像,该二进制图像只是对像素值求和,并且不会触发,除非该值为高于门槛.这应该优化所有的空白表面.

编辑:
确定一些不太幼稚的方法.如果你有一些先验知识,就像你知道照片是很好的对齐(而不是旋转或扭曲不好),你可以做一些传球与低 – 高 – 高的格栅调整捕捉边缘的一边在x和y维度上使用不同的尺度.两方面的良好打击将不仅提供关于投资回报率的线索,而且要开始大小的模板(太大和太小的格栅不会同时碰到两边).

您可以进行blob检测,然后依次将模板应用于Blob(如果模板匹配分数低于阈值,则返回到合并的Blob),以防数字段被意外分割). blob的大小可能再次给您一些提示,以适用于模板的比例.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...