1
SciPyとPythonでコンボリューションとカーネルを使って遊んでいただけです。それはthis wikipedia articleに記載されていたので、私は、エッジ検出のために、次のカーネルを使用:
これは私が使用した画像です:
私が得た結果はかなり残念だった:
エッジ検出が期待通りに機能しない
畳み込みに使用したコード:
edge = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]])
results = sg.convolve(img, edge, mode='same')
results[results > 255] = 255
results[results < 0] = 0
...と私は画像を読み取るために使用されるコード:
img = np.array(Image.open('convolution_test/1.jpg'))
img = img[:, :, 0]
なぜ私はこれらの悪い結果を取得していますか?
TIA。
'img'の種類は何ですか。それはunsiged場合は、アンダーフローにつながる可能性があります。 –
行列を符号なし整数としてロードすると、実際には負の値が白の値になるように結果がラップアラウンドします。 –
しかし 'scipy.convolve'は1d配列でしか動かないのですか? –