JavaCVで画像の射影変換を行いたい

やりたいこと

前提

JavaCVで入力画像を射影変換したいのですが、getPerspectiveTransformを使用する際にPoint2f[4]をMatに置き換えなければならないのですが、どうすれば良いでしょうか。

発生している問題・エラーメッセージ

shaei.java:40: エラー: getPerspectiveTransformに適切なメソッドが見つかりません(Point2f[],Point2f[]) Mat transformMatrix = getPerspectiveTransform(srcPoints, dstPoints); ^ メソッド opencv_imgproc.getPerspectiveTransform(Point2f,Point2f)は使用できません (引数の不一致: Point2f[]をPoint2fに変換できません:) メソッド opencv_imgproc.getPerspectiveTransform(GpuMat,GpuMat)は使用できません (引数の不一致: Point2f[]をGpuMatに変換できません:) メソッド opencv_imgproc.getPerspectiveTransform(UMat,UMat)は使用できません (引数の不一致: Point2f[]をUMatに変換できません:) メソッド opencv_imgproc.getPerspectiveTransform(Mat,Mat)は使用できません (引数の不一致: Point2f[]をMatに変換できません:) ノート:一部のメッセージは簡略化されています。-Xdiags:verboseで再コンパイルして完全な出力を取得してください エラー1個

該当のソースコード

Java

1Mat image = imread("temp/mac.jpg");2 int width = image.cols();3 int height = image.rows();4 5 // 変換前の座標をMat形式に変換 6 Point2f[] srcPoints = new Point2f[4];7 srcPoints[0] = new Point2f(0.0f, 0.0f);8 srcPoints[1] = new Point2f(width, 0.0f);9 srcPoints[2] = new Point2f(width, height);10 srcPoints[3] = new Point2f(0.0f, height);11 12 13 // ディスティネーションポイントの座標を指定 14 Point2f[] dstPoints = new Point2f[4];15 dstPoints[0] = new Point2f(0.0f, 0.0f);16 dstPoints[1] = new Point2f(width, 10.0f);17 dstPoints[2] = new Point2f(width, height-10.0f);18 dstPoints[3] = new Point2f(0.0f, height);19 20 Mat transformMatrix = getPerspectiveTransform(srcPoints, dstPoints);

コメントを投稿

0 コメント