2012-03-20 14 views
4

私はやっとそれが何を意味するのかを把握私はOpenCVの2.3からデモコード、distrans.cppを実行し、コードの行があります:マット(論理)演算子

Mat edge = gray >= edgeThresh, dist, labels, dist8u; 

それしきい値処理のように使用されていますが、私はそれがどのように動作するかわからないし、& googleと名前を付けることさえあります。

おかげ

答えて

6

operator >= CVのための過負荷が::マットは、関連する比較キーとcv::compareに呼び出すための操作をマップします。

cv::compare関数は0xFFに設定され、他の要素がゼロにされている(grayの要素は、あなたの場合にedgeThresh未満でない値を有する場合)、すべての要素が条件を満足するマスク(CV_8U深さのcv::Mat)を返します。

+0

お返事ありがとうございます!私は答えがまだ完全ではないと思う。 "edgeThresh、dist、labels、dist8u"、 "、"の部分は何ですか?一方、1つの行列では、あなたが言ったように理解されます。ここで、多くの行列では?? –

+2

これは単なるC++です。同じ行にいくつかの変数が宣言されています。最初に初期化があります。 –

+0

すごく感謝!私は今とても簡単です。私は演算子がこのように使用できることを知らなかった –