ソーベルエッジ検出を使用しています。
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 の薄いエッジを実現するために実装にまだ欠けているものは何ですか?
ありがとう