opencv-python 小白笔记(22)
第二十二节:opencv提取中心线(一)环境配置(二)代码实现(三)结语哈哈,好久没写博客了(因为今天是1024,所以决定无论如何今天要水一篇),本来是打算写深度学习的,唉,还是后面有时间再写吧。提取目标图像的中心线,有两种方法(我知道的就这两种),这里就只介绍使用opencv的方法了(一)环境配置这里需要使用opencv的扩展模块(opencv-contrib-python),方法很简单。pip
·
哈哈,好久没写博客了(因为今天是1024,所以决定无论如何今天要水一篇),本来是打算写深度学习的,唉,还是后面有时间再写吧。提取目标图像的中心线,有两种方法(我知道的就这两种),这里就只介绍使用opencv的方法了
(一)环境配置
这里需要使用opencv的扩展模块(opencv-contrib-python),方法很简单。
pip install opencv-contrib-python -i https://pypi.douban.com/simple/
(二)代码实现
这里先对图像进行Otsu阈值处理,然后将得到图像传入cv2.ximgproc.thinning函数,就能得到我们需要的目标中心线。就是这么简单。看代码
import cv2
image = cv2.imread('2.jpg')
img=image.copy()
gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
ret,binary=cv2.threshold(gray,0,255,cv2.THRESH_BINARY|cv2.THRESH_OTSU)
thin=cv2.ximgproc.thinning(binary)
contours,hireachy=cv2.findContours(thin,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(image,contours,-1,(0,255,0),1)#还是原谅色
cv2.imshow('thin',image)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下
哈哈,感觉还可以。太水了,自己都看不下去了。
全文刚好1024个字
(三)结语
学习opencv有很多的方法,我的建议是你可以加一些群,可以充分利用B站,CSDN,和百度。
在我的博客中,我不会讲解opencv的算法实现(当然我也不太会),我只会讲解一些函数的调用,不理解就多改一些参数,多尝试尝试,慢慢你就理解来。相信你总有一天可以说opencv不过“Ctrl+C,Crtl+V”
如果有什么错误的地方,还请大家批评指正,最后,希望小伙伴们都能有所收获。
更多推荐


所有评论(0)