当前位置 博文首页 > LY的博客:两种骨架提取的方法(color.rgb2gray和CV2)
原图:
方法一:
import cv2
from skimage import morphology
import numpy as np
img = cv2.imread('3.jpg',0)
_,binary = cv2.threshold(img,200,255,cv2.THRESH_BINARY_INV)
cv2.imwrite("binary.png",binary)
binary[binary==255] = 1
skeleton0 = morphology.skeletonize(binary)
skeleton = skeleton0.astype(np.uint8)*255
cv2.imwrite("skeleton.png",skeleton)
plt.imshow(skeleton, cmap=plt.cm.gray)
plt.show()
方法2:
from skimage import io
from skimage import morphology,data,color
import matplotlib.pyplot as plt
img=io.imread('3.jpg')
io.imshow(img)
image=color.rgb2gray(img)
image=1-image
skeleton =morphology.skeletonize(image)
plt.imshow(skeleton, cmap=plt.cm.gray)
plt.show()
效果:
?
morphology.skeletonize()的效果相当烂
?
cs