Пунктирный вывод после скелетонизации в matlab
Я хочу скелетировать это изображение
Для этого я использую Matlab's bwmorph
функция, вот фрагмент:
bw = bwmorph(img_bw,'skel',Inf);
Однако результат не такой, как ожидалось. Вот выход.
Может ли кто-нибудь предложить лучший способ добиться правильных результатов?
РЕДАКТИРОВАТЬ: вот урезанный соответствующий код
img = imread(name);
img = rgb2gray(img*4);
img_bw = img > 50;
img_bw = medfilt2(img_bw,[10 10]);
bw = bwmorph(img_bw,'skel',Inf);
1 ответ
Решение
То, что вы видите, это псевдоним, imshow
Функция не может отображать полное изображение, потому что оно слишком велико, чтобы соответствовать экрану. По размеру экрана некоторые строки и столбцы пропускаются, что приводит к отключению линий. Чтобы отобразить изображение в полном разрешении с помощью панели прокрутки, используйте imscrollpanel
hFig = figure('Toolbar','none', 'Menubar','none');
hIm = imshow(bw);
hSP = imscrollpanel(hFig,hIm);