栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

opencv轮廓检测

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

opencv轮廓检测

轮廓检测 cv2.findContours(img,mode,method)

img:输入需要检测的二值化图片(先转化为灰度图片,再转化为二值化)

mode:检测模式,我们一般都是采用 RETR_TREE ,检测所有轮廓信息的模式

method:轮廓逼近的方法:一般使用 CHAIN_APPROX_NONE.。

步骤一(图片二值化):

img=cv2.imread(‘路径’)

gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

ret,thresh=cv2.threshold(gray,127,255,cv2.THRESH_BINARY) #thresh是返回的二值化图片,127是像素的阈值,低于127全部变为0 ,高于127全部变为255,具体看二值化操作)

步骤二(轮廓绘制):
import cv2
## 轮廓绘制
img=cv2.imread('1.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
ret,thresh=cv2.threshold(gray,127,255,cv2.THRESH_BINARY)  #thresh是返回的二值化图片,127是像素的阈值,低于127全部变为0 ,高于127全部变为255,具体看二值化操作)
contours,htt=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE) #返回三个值,其中contours是返回轮廓本身
img2=img.copy() #需要复制一下图片,生成副本!否则再后续的轮廓绘制中,会改变原图
res=cv2.drawContours(img2,contours,-1,(0,0,255),1)#绘制轮廓,先传入原始图片,再传入轮廓信息,-1表示绘制所有轮廓,()是绘制曲线的颜色,1表示绘制曲线的宽度,最终返回绘制效果
cv2.imshow('d',res)
cv2.waitKey(0)
cv2.destroyAllWindows()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011516.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号