Python,OpenCV骨架化图像并显示(skeletonize)

Posted 程序媛一枚~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python,OpenCV骨架化图像并显示(skeletonize)相关的知识,希望对你有一定的参考价值。

@TOC

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)

参考:

以上是关于Python,OpenCV骨架化图像并显示(skeletonize)的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV—python 图片细化(骨架提取)二

python opencv图像缺陷比对(轮廓比对)

python OpenCV 读取并显示图像

如何在c ++中使用opencv 3检测图像中的圆圈

检测图像opencv中的对象区域

Python图像处理丨基于OpenCV和像素处理的图像灰度化处理