1

opencvで1ピクセルあたりのしきい値を持つことが可能かどうか疑問に思っていました。例えば、p(x、y)は100より大きく、p(x + 1、y)は101より大きくなければなりません。ピクセル単位の閾値処理

これは背景差分として見ることができます。背景の前のすべてが残るように。

私はこのようなことを考えていました。私はイメージを持っていて、もう一つのイメージを持っています。私はそれらを引きます。つまり、残っているものはすべてしきい値を上回る必要があります。例えば

:右側で

enter image description here

カメラ(オンラインショップ)が起動されたときに撮影した画像です。左の画像は現在のカメラの送りです - 左側の画像です。

コード:

cvSub(深さ、depthInit、差、NULL);負の左の値か何かがあるので

何もこれは、より黒でなければなりません変化しないので、(私はいくつかのノイズがあることを理解することができます)

これはだろうか?事前

+2

をしたいと思いますすべてのスレッシュホールドを含むイメージと同じサイズで、 'Mat res = p> t;'を実行します。それはあなたの問題を解決するだろうか? – sietschie

+0

IplImagesでopencvでこれはどのように可能ですか? – Ojtwist

+0

申し訳ありません。私はC++ APIとcv :: Matの型について話していました。このようなことがC APIを使って可能かどうかはわかりません。 – sietschie

答えて

0

私はあなたがあなたがして行列Tを作成することができcvCmpDocs

// make sure threshold is zero to start with 
cvZero(thresholded); 
// for pixels where current > background, sets thresholded = high value 
cvCmp(current, background, thresholded, CV_CMP_GT); 
+0

私は結果がKinectに起因する多くのノイズで構成されているので、私は完全に確認することはできませんが、これはトリックを行うと思います。 – Ojtwist

+0

ちょうどそこに何かを貼り付けてください:) cvSub *は、負の値を0に切り捨てる必要があります(Cで行います)。 cvAbsDiff、cvCmpを実行してから、結果をcvAndすることで同じ効果を得ることができます。 – dantswain

0

Thxをはthis質問を見てみましょう。それはあなたを助ける?

あなたはまたのために使用して、ピクセルあたりのピクセルを掃引し、しきい値をインクリメントしようとすることができます...