操作图像img:
一、获取图像轮廓
为了更高准确率,需要使用二值图像。
1.转变成灰度图
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
2.转变成二值图
ret, thresh = cv.threshold(img,130,255,cv.THRESH_BINARY)
3.识别轮廓
contours就是我们获得的轮廓“们”。
# binary:二值图,contours:轮廓信息,hierarchy:层级
# 新版本值只返回两个值,而不是三个
contours, hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)
4.使用轮廓在图像上绘制
drawContours()方法的绘制操作会改变原图。
# 绘制轮廓 会改变原图并保存下来,所以img原图处理前要先copy一份
# 传入绘制图像,轮廓,绘制索引-1表示所有的轮廓都画出来,颜色模式BGR,线条厚度
res = cv.dr