Python3与OpenCV3.3 图像处理(二十一)--轮廓发现
一、什么是轮廓发现
是基于图像边缘提取的基础,寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓的发现
二、轮廓发现API
findContours 发现轮廓
drawContours绘制轮廓
三、示例代码
import cv2 as cv import numpy as np def contours(img): dst=cv.GaussianBlur(img,(3,3),0) #转换为灰度图像 gray=cv.cvtColor(dst,cv.COLOR_RGB2GRAY) #转换为二值图像 ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.THRESH_OTSU) cv.imshow("bi",binary) cloneImg,contours,heriachy= cv.findContours(binary,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE) for i ,contour in enumerate(contours): cv.drawContours(img,contours,i,(0,0,255),2) cv.imshow("contpurs",img) src=cv.imread('yx.jpg') cv.imshow('def',src) contours(src) cv.waitKey(0) cv.destroyAllWindows()