2017-12-10 17 views
-4

私はopencvを初めて使っていて、基本的なRGBカラーフィルタをやっています。私は各ピクセルをテストすることでこれをやっていましたが、それは非効率的です。だから、私は(Java)Core.inRangeを試しましたが、マスク(白黒)を返し、色付きのMatが必要です。ここで私は、現在(Java)の持っているものです。OpenCV:マスクが白であるところでマットを色付けするにはどうすればいいですか?

 //frame is input, out is output 
     Scalar minValues = new Scalar(RFrom, GFrom, BFrom); 
     Scalar maxValues = new Scalar(RTo, GTo, BTo); 
     Mat mask = new Mat(); 
     Core.inRange(frame, minValues, maxValues, mask); 
     Core.bitwise_and(frame, mask, out); 
+3

スタックオーバーフローがフォーラム、またブログでもない:

は、ここに私の最終的なコードです。これを適切なQとA形式に書き換えてください。削除してください。 ([ask]、[answer]) –

+3

あなたの質問を編集し、回答部分を削除して回答として投稿してください。 Srlfは質問に答えましたが、SOの質問/回答形式で投稿する必要があります。自分の答えを受け入れることもできますが、タイトルから「解決済み」を削除する必要があります。 –

+0

さて、書きました。 – Titan

答えて

0

私は「アウト」との「枠」を切り替え、frame.copyTo(うち、マスク)を使用してみました。 Core.bitwise_and(frame、mask、out)の代わりに。

これは機能しました。

//frame is input, out is output    
    Scalar minValues = new Scalar(RFrom, GFrom, BFrom); 
    Scalar maxValues = new Scalar(RTo, GTo, BTo); 
    Mat mask = new Mat(); 
    Core.inRange(frame, minValues, maxValues, mask); 
    frame.copyTo(out, mask); 
+0

これは実際に私の日を節約する、JavaのopenCVのドキュメントは本当に悪いです – jmoyano

関連する問題