我暂时面对这个问题仍然无法弄明白。
我正在使用OpenCV和Java从图像中检测卡片并裁剪然后转换,如果原始图像的方向正确,则每件事情都会正常。现在的任务是:如何将图像旋转180度?或者如何检测文本是否倒置然后我们可以将其旋转到正确的方向
我从Java中的OpenCV得到的结果是Mat
对象包含裁剪的卡片
有没有人面对并解决过这个问题或有任何想法请指导我找到正确的解决方案
提前谢谢。
答案 0 :(得分:0)
只需运行你的代码,如果第一遍没有找到任何内容,那么你可以旋转图像然后再试一次?或者您可以尝试仅扫描卡的一小部分,然后您可以确定卡是否正确。
坐下来为自己考虑如何最好地完成这项工作是值得的。
至于旋转图像,你试过查找吗?因为如果您使用缓冲图像,则可以使用简单的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)