2017-08-08 9 views
0


私はこの問題にしばらく直面していますが、それはまだ分かりません。
OpenCVとJavaを使用して画像からカードを検出し、それからトランスローをトリミングすると、元の画像が正しい向きであればすべてうまく行きます。今のところ、画像を180度回転させる方法は?または、テキストを検出する方法を逆さまにしてから、正しい方向に回転させることができます。
JavaでOpenCVから取得した結果は、Matオブジェクトに切り抜かれたカードが含まれています。
誰もこれに直面してこれを解決したことがありますか、あるいは私に正しい解決策を教えてください。
ありがとうございます。ここでOpenCVとJavaを使って、画像/裏返しの画像を逆さまにする方法を教えてください。

私は
Sample 1
Sample 2

答えて

0

原本からトリミングサンプル画像は、ちょうどあなたのコードを実行され、それが最初のパスでは何も見つかっていないならば、あなただけの画像を回転させることができ、再試行してください?または、カードの小さな部分だけをスキャンしてみて、カードが正しいかどうかを判断できます。

これは、座って、これがどのようにして最善に行われるかについて、あなた自身で考えていくことになります。

画像を回転させる場合、画像を見てみましたか?そのため、あなたは、単純なのAffineTransformで行うことができる回転バッファリングされたイメージを使用している場合:あなたが使用することができますMatオブジェクトを回転させるための::http://docs.opencv.org/java/3.0.0/

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

から撮影

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

編集を

+0

あなたの答えをありがとう、私はいくつかの可能な解決策がありますが、計算に時間がかかります。例えば私は画像の内容をOCRしようとすることができます(ちょうど2回、最良の投票は正しい方向です)、私はちょうどこのタスクに対処するための別の堅牢な方法を見つけたいと思います –

+0

あなたは私の質問を誤解していると思います。私はOpenCVとJavaでimage/Matオブジェクトを回転させる方法を知っていますが、結果イメージが正しい方向にあるかどうか、次のステップ(OCRステップ)には分かりません。 –

関連する問題