2017-06-21 4 views
1

私は形態学的ヒットを実行し、0に設定されたカーネルの中心要素で欠場しています(気にしないでください):OpenCVのは、ヒットとミス行動

cv2.morphologyEx(np.asarray([[0, 255, 0], [0, 0, 0], [0, 255, 0]], dtype=np.uint8), cv2.MORPH_HITMISS, np.asarray([[0, 1, 0], [0, 0, 0], [0, 1, 0]], dtype=np.int8)) 

を私は取得しています: [[0、0、0 ] [0、0、0]、[0、0、0]、[0、0、0]、[0、0、0]] [0120、 0、0]]

この現象を説明してください。

+1

私はこれがOpenCVで実装されたことさえ知りませんでした。クール。しかし、間違いなく予想外の動作があります。あなたのカーネルを '[[0、1、0]、[0、0、0]、[0、1、-1]]'に変更し、正しいフリップを得ました。 –

+0

ええ、私は知っています。問題は、-1がないときです。 – eyaler

+1

@AlexanderReynoldsのバグを参照してください。[条件付き](https://github.com/opecv/opencv/blob/master/modules/imgproc/src/morph.cpp#L2060)第2の構造要素](http://docs.opencv.org/trunk/db/d06/tutorial_hitOrMiss.html)はすべてゼロであり、補完の代わりに入力イメージを使用することにショートカットされています。 L2064-2065を 'if'の前に動かすだけの簡単な修正でなければなりません。 –

答えて

関連する問題