使用skimage的morphologhy提取骨架注意事项

使用skeleton = morphology.skeletonize(img)提取图像img的骨架时,img的数值范围应调整至0~1。
可以使用opencv的threshold完成从255到1的转变,既_,img = cv2.threshold(img,127,1,cv2.THRESH_BINARY)
同时要注意函数返回的skeleton虽然是numpy的ndarray格式,但并非数值型而是bool型,若直接使用opencv显示会报错。
若要展示提取后的骨架可以通过astype转化为uint8格式,并将数组乘255以方便opencv显示:

skeleton = skeleton.astype(np.uint8)
skeleton = skeleton*255
cv2.imshow('skeleton',skeleton)
cv2.waitKey(0)
cv2.destroyAllWindows()
posted @ 2024-01-30 18:32  meiyou闹钟  阅读(27)  评论(0编辑  收藏  举报