OCR的最小字符大小

时间:2014-12-15 17:34:07

标签: opencv ocr tesseract

我正在计划计算机视觉系统所需的相机属性。 我必须检测图像中的一些字母数字区域,然后使用Tesseract和OpenCV通过OCR进行转换。 一个典型的例子可能是高速公路上的车牌识别(但在我的项目中速度没有问题)。

要估算相机的分辨率,我需要知道镜头的距离和焦距,这可能是文本像素的最小高度,以便获得可靠的OCR转换。

使用薄透镜方程,我得到了我的文本高度(mm)和文本高度(像素)之间的关系。 更改相机距离或焦距我的文本像素高度不同(从10像素到40像素)

当然我更喜欢40像素的字符高度,但这也是最昂贵的解决方案。

出于这个原因,我想知道OpenCV和Tesseract库是否为文本的最小可靠大小设置了一些约束,以便获得良好的识别。我已经读过不同的商业OCR建议使用25到40像素的字符大小。 也可以将此范围应用于Tesseract / OpenCV吗?

我做了几个较小字符尺寸(15像素)的测试,OCR工作得非常好,但当然有理想的光线,对比度和背景颜色条件。

1 个答案:

答案 0 :(得分:3)

大多数牌照读取(ALPR)算法使用边缘信息和分类来决定特定符号(字母数字或其他语言符号)。鉴于此,边缘需要在厚度上明确定义并具有足够的对比度。

如OP商业ALPR算法所述,建议至少20个像素的字符高度。对于大多数用于车牌的标准字体类型,这将确保边缘至少为x像素。以下是牌照高度约为25像素的牌照示例 - 边缘至少为3像素宽。具有良好定义的边缘将有助于大多数ALPR算法。虽然过多的锐度不一定有助于提高ALPR性能,因为在检测到边缘和连接的组件之前,无论如何都要进行一些模糊以去除噪声。

License plate image with standard font

更高的对比度(改善的光照条件)和最佳的图像分辨率(至少20像素但不太高的字符大小)将有助于提高ALPR算法的速度。