我使用sobel边缘检测。
Matlab 本身如何设法实现像这样的非常薄的边缘(仅使用 Matlab 的边缘函数,以 'sobel' 作为参数)
matlabsobel = edge(originalImage,'sobel')
imshow(matlabsobel)
但是当我尝试以自己的方式做sobel算法时,假设过程是一样的..
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 的薄边?
谢谢