【问题标题】:How to detect upside down text in image / upside down image using OpenCV and Java如何使用 OpenCV 和 Java 检测图像/倒置图像中的倒置文本
【发布时间】:2018-01-15 11:13:54
【问题描述】:


我面对这个问题有一段时间了,仍然无法弄清楚。
我正在使用 OpenCV 和 Java 从图像中检测卡片并对其进行裁剪然后转换,如果原始图像的方向正确,一切都会很好。现在的任务是:如何将图像旋转 180 度?或者如何检测文本是颠倒的,然后我们可以将它旋转到正确的方向。
我从 Java 中的 OpenCV 得到的结果是 Mat 对象包含裁剪后的卡片。
有没有人遇到过并解决过这个问题或有任何想法,请指导我找到正确的解决方案。
提前致谢。

这是我从原件中裁剪的示例图像
Sample 1
Sample 2

【问题讨论】:

    标签: java opencv rotation orientation direction


    【解决方案1】:

    只需运行您的代码,如果它在第一次通过时没有找到任何内容,那么您可以旋转图像并重试吗?或者您可以尝试只扫描卡片的一小部分,然后您可以确定卡片是否正确。

    坐下来自己思考如何最好地做到这一点是值得的。

    关于旋转图像,您是否尝试过查找?因为如果您使用的是缓冲图像,则可以使用简单的 AffineTransform 完成旋转:

    AffineTransform at = AffineTransform.getRotateInstance(Math.PI, image.getWidth()/2, image.getHeight()/2.0);
    BufferedImage myRotatedImage = createTransformed(image, at);
    

    编辑:要旋转 Mat 对象,您可以使用:

    Imgproc.warpAffine(Mat source, Mat dest, Mat M, Size size)

    取自:http://docs.opencv.org/java/3.0.0/

    【讨论】:

    • 感谢您的回答,我有一些可能的解决方案,但计算需要时间。例如我可以尝试 OCR 图像的内容(只需 2 次并获得最佳投票是正确的方向),我只是想找到另一种强大的方法来更好地处理这个任务
    • 我想你误解了我的问题,关键是我知道如何在 OpenCV 和 Java 中旋转图像/Mat 对象,但我想知道结果图像的方向是否正确下一步(OCR 步骤)。
    猜你喜欢
    • 2019-09-03
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多