Java OpenCV(3.3.1、windows 8 x64)との最初の接触では、ROIを持つ2つの異なるサイズの画像を動的に結合しようとしています。ここで私のコードのビット:ROIで異なるサイズの画像に結合する
Mat _mat = Utils.imageFileToMat(new File("angelina_jolie.jpg")); //Angelina's face
Mat grayMat = new Mat();
Imgproc.cvtColor(_mat, grayMat, Imgproc.COLOR_BGR2GRAY);
Rect rect = new Rect(new Point(168, 104), new Point(254, 190)); //Angelina's eye ROI
Mat truncated = _mat.submat(rect); //Angelina's eye mat
Mat merge = _mat.clone();
truncated.copyTo(merge);
//show _mat
//show truncated
//show merge
私が見たいと思っているのは、グレースケールで彼女の目で、アンジェリーナ・ジョリーです。
私が見ているのはアサーションまたは切り捨てられたイメージ(目だけ)です。
私はcopyTo(mat, mask)
とsetOf
で試しましたが、多くのことが常に新しいアサーションになりました。
サイズに合わせてマットのサイズに切り捨てる必要がありますか?どのようにプログラムでそれを行うことができますか?
私は自分の質問に答えるためにここに来ました。ありがとう! (答えはopencvのサイトで私もあなたもそれに答えると同じ質問を投稿した) – jotapdiez
@jotapdiezあなたはそれを取る;)あなたが解決策を見つけたことは素晴らしい。 – zindarod
私はこの問題をImgproc.cvtColor(grayMat、grayMat、Imgproc.COLOR_GRAY2BGR)とtruncated.copyTo(merge.submask ....)だけで解決します。マスク作成はサブマスクよりも優れていますか? – jotapdiez