Я использую функцию matlab edge , чтобы найти край элемента на изображении.Легко иметь дело с каким-то отдельным элементом, например figure.1 , я могу использовать функцию края, чтобы получить границу figure.2 .
Однако, когда картинкаизмените на figure.3 , граница будет figure.4 .
Очевидно, что на рисунке 3 есть две толстые кривые, которые пересекаются.Возможно ли получить границу для любого отдельного, а не получить границу на рисунке 4?
I = imread('test2.png');
I = rgb2gray(I);
imshow(I)
BW1 = edge(I,'sobel');
figure;
imshow(BW1)