0

ソーベルエッジ検出を使用しています。

Matlab がある場合のサンプル画像ファイルは次のとおりです。 ここに画像の説明を入力

Matlab は、どのようにしてこのような非常に薄いエッジを実現することができますか (パラメータとして 'sobel' を使用した Matlab のエッジ関数のみを使用)。

matlabsobel = edge(originalImage,'sobel')
imshow(matlabsobel)

ここに画像の説明を入力

しかし、プロセスがまったく同じであると仮定して、ソーベルアルゴリズムを独自の方法で実行しようとすると..

originalImage = gaussianizedimage;
threshold = 60.5;
k = [1 2 1; 0 0 0; -1 -2 -1];
H = conv2(double(originalImage),k, 'same');
V = conv2(double(originalImage),k','same');
E = sqrt(H.*H + V.*V);
edgeImage = uint8((E > threshold) * 255);
imshow(edgeImage);
title('sobel algorithm')

ここに画像の説明を入力

なぜそれは違うのですか?Matlab の薄いエッジを実現するために実装にまだ欠けているものは何ですか?

ありがとう

4

1 に答える 1