2017-10-25 9 views
2

非常に具体的な方法でイメージにしきい値を適用する必要があるため、可能かどうかを調べるためにここに来ました。1つのイメージを使用して別のしきい値を設定する

私には、1つのソースイメージと1つのしきい値イメージの2つのイメージがあります。私が望むのは、ソース画像を取り、それをフィルタリングするために閾値画像を使用することです。操作は、ソース画像の各画素を閾値画像と比較する。私はピクセルが同じかそれ以上の明るさだったので、それを白に設定しました。ピクセルが輝度よりも小さい場合、それは黒に設定されます。ここで

は閾値画像がどのように見えるかの例です:

enter image description here

私は全く自分自身を明確にすることができます場合は私に知らせてください。

ありがとうございます!

+1

シンプル[行列表現](https://docs.opencv.org/2.4/modules/core/doc/basic_structures.html#matrix-expressions) - CV ::マットの結果(a> = b); –

答えて

0

単純なmatrix expressionがここで仕事をします。

これは(実数値スカラーのための任意の複雑な式で組み合わせることができる実施行列演算のリスト(行列はこちらABスタンド(Mat)、スカラー(Scalar)用salphaありますdouble)):

...

比較:A cmpop BA cmpop alphaalpha cmpop Aの一つであるcmpop>>=,==,!=,<=,<。比較の結果は、要素が255(特定の要素または要素の対が条件を満たす場合)または0に設定された8ビットのシングルチャネルマスクです。

したがって、ライナーは、あなたが求めるものを行います。

cv::Mat result(source >= threshold); 
+0

ああ。なぜそれはいつもコーディングでそれほど簡単ではないのですか? :D – Zock77

関連する問題