繁体   English   中英

如何使用OpenCV和Java检测图像中的上下颠倒文本

[英]How to detect upside down text in image / upside down image using OpenCV and Java


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

这是我从原件裁剪的样本图像
样品1
样品2

只需运行您的代码,如果它在第一遍没有发现任何东西,那么您可以旋转图像并重试? 或者,您可以尝试仅扫描卡的一小部分,然后确定卡是否正确朝上。

坐下来思考一下自己如何做得最好将是值得的。

至于旋转图像,您是否尝试过查找? 因为如果您使用的是缓冲图像,则可以使用简单的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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM