画面中定位汉字串的外轮廓

我们做的项目需要匹配两张图片,比如机顶盒输出的视频,设置的菜单画面有很多汉字,并不需要认出这些汉字,通过标注汉字串的轮廓,对比两张图片的轮廓位置和大小,就可以判断画面相似度,进而判断当前处于哪个菜单。

那么,如何定位这些汉字串的轮廓呢?

请看原图:

《画面中定位汉字串的外轮廓》

最容易想到的方法是先使用opencv的findContours()函数找出所有的轮廓,然后再对每个轮廓去找矩形—-使用的是boundingRect()函数。但这样找出来的矩形并不能完全覆盖汉字字符串的外部,只能在比较方正的汉字中定位到少数几个矩形框,效果很不理想,而且相当耗费资源,速度慢。

我研究了一个算法,可以快速定位这些汉字串的外轮廓,简述如下:

1、先将图像二值化

2、从上到下,从左到右搜索像素

3、对聚集点进行统计。方块汉字的规律是点和空白差不多,找到聚集区域后,我们可以记住左上和右下的点,构成矩形。

效果如下,轮廓是程序用红色边框标出:

《画面中定位汉字串的外轮廓》

欢迎探讨。

    原文作者:bluesen
    原文地址: https://blog.csdn.net/bluesen/article/details/106480229
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞