Java检测图像中的旋转

标签 java image rotation ocr detect

我正在开发一个 OCR,其​​主要功能是 OCR 发票,现在它们在被扫描时可能会发生(轻微)旋转。

您有什么建议来修复轮换?

我目前拥有的:

  • 计算图像中“白线数量”的函数。
  • 可以将图像旋转任意角度的功能。
  • 当前的方法:每次将图像旋转 1 度,检查白线最多的解决方案,并将该图像用于其余的 OCR 过程。
  • 缺点:每次旋转需要 0.5 秒,图像以相当合理的高分辨率(2000 宽 x 3000 高)扫描,OCR 过程绝对需要该分辨率。

有什么方法可以检测图像中的旋转,这样我只需要进行一次昂贵的旋转?

问候。

最佳答案

  • The downside: Every rotation takes 0.5 seconds, the images are scanned in a fairly reasonable high resolution (2000 width x 3000 height), and the resolution is definitely needed for the OCR process.

当然可以,但可能不需要高分辨率来分析白线。

我建议在第一次确定角度之前尝试缩小或裁剪图像(到较小的副本),并始终使用低分辨率版本直到确定角度。然后切换回用于最终旋转和 OCR 的高分辨率图像。

关于Java检测图像中的旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18443876/

相关文章:

java - 使用 JUST Java 1.5(或更早版本)读写 XML

java - 有没有办法从不同的方法访问数组?

java - 如何使用Java API读取图像?

rotation - Cocos2dx继承的CCNode类不围绕其中心旋转?

javascript - 在平移之前旋转还是在旋转之前平移?它有什么区别?

java - 我的 ListView 未显示(Android Studio)

java - 大 O。不确定 for 循环的更新如何影响它

javascript - 按比例调整我在运行前无法访问的图像大小

python - 如何在 python 中从 numpy 数组制作图像?

java - 在 LinearLayout 问题中旋转 View