基於Python的OpenCV骨架化圖像並顯示(skeletonize)

1. 效果圖

自己畫一張圖,原圖 VS 骨架效果圖如下:

在這裡插入圖片描述

opencv logo原圖 VS 骨架化效果圖如下:

在這裡插入圖片描述

2. 源碼

# 圖像骨架化~
import cv2
import imutils
import numpy as np
img = np.zeros((390, 390, 3), dtype="uint8")
cv2.putText(img, "Beautiful Girl.....", (50, 190), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 3)
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.imwrite("j.jpg", img)
# 骨架圖依賴灰度圖
# 灰度圖轉換法一
img = cv2.imread('opencv_logo.jpg')  # 讀取為BGR圖
cv2.imshow("origin", img)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # BGR圖轉換灰度圖
# 灰度圖轉換二
gray = cv2.imread('opencv_logo.jpg', 0)  # 直接讀取為灰度圖
cv2.imshow("gray", gray)
# 骨架化圖像
skeleton = imutils.skeletonize(gray, size=(3, 3))
cv2.imshow("Skeleton", skeleton)
cv2.waitKey(0)

參考:

I just open sourced my personal imutils package: A series of OpenCV convenience functions.

以上就是基於Python的OpenCV骨架化圖像並顯示(skeletonize)的詳細內容,更多關於Python的OpenCV骨架化圖像的資料請關註WalkonNet其它相關文章!

推薦閱讀: