我正在开发一个主要功能是OCR发票的OCR,现在它可能会在扫描时发生(轻微)旋转。
您建议如何修复轮换?
我现在有什么:
有什么方法可以检测到图像中的旋转,这样我只需要做一次昂贵的旋转吗?
问候。
答案 0 :(得分:3)
- 缺点:每次旋转需要0.5秒,图像以相当合理的高分辨率(2000宽x 3000高)扫描,并且OCR过程肯定需要分辨率。
当然,但为了分析白线,高分辨率可能不需要。
我建议在第一个角度确定之前尝试缩小或裁剪图像(缩小版本),并始终使用低分辨率版本直到确定角度。然后交换回用于最终旋转和OCR的大分辨率图像。
答案 1 :(得分:2)
我建议您先降级图片并将其转换为monochrome
,这样我们只有0 and 255 in the 8 bit
颜色格式有助于识别,然后跟踪black
行代替{发票上的{1}}(对您的算法来说不应该是一个很大的改变),因为一般发票都包含水平黑线,所以只要您能找到黑线的斜率(white
,我猜输入不会更倾斜那么你可以获得主图像所需的度数旋转。
为了优化这个过程,我建议您在跟踪黑线之前使用图像细化,这样可以获得更好的效果,因为可能有粗黑线。