在 matlab 中骨架化后的点状输出

问题描述 投票:0回答:1

我想骨架化这个图像

enter image description here

为此,我使用 matlab 的

bwmorph
函数,这是片段:

bw = bwmorph(img_bw,'skel',Inf);

但是输出并不如预期。这是输出。

enter image description here

有人可以建议一种更好的方法来达到正确的结果吗?

编辑:这是一个精简的相关代码

img = imread(name);
img = rgb2gray(img*4);
img_bw = img > 50;
img_bw = medfilt2(img_bw,[10 10]);
bw = bwmorph(img_bw,'skel',Inf);
image matlab image-processing mathematical-morphology
1个回答
3
投票

您看到的是锯齿,

imshow
功能无法显示完整图像,因为它太大而无法适应屏幕。为了适应屏幕,会跳过一些行和列,这会导致线路断开。要使用滚动面板以全分辨率显示图像,请使用
imscrollpanel

hFig = figure('Toolbar','none', 'Menubar','none');
hIm = imshow(bw);
hSP = imscrollpanel(hFig,hIm);
© www.soinside.com 2019 - 2024. All rights reserved.