opencv python源码中的cv2.findContours方法填坑

import cv2
import numpy as np

img = np.zeros((200, 200), dtype = np.uint8)   # 创建一个200x200大小的黑色空白图像,
img[50:150, 50:150] = 255                      # 在图像的中央放置一个白色方块

ret, thresh = cv2.threshold(img, 127, 255, 0)  #对图像进行二值化操作
'''image,'''contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)  # 寻找轮廓
color = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)  # 颜色空间转换
img = cv2.drawContours(color, contours, -1, (0, 255, 0), 2)  # 画出轮廓,-1,表示所有轮廓,画笔颜色为(0, 255, 0),即Green,粗细为3
cv2.imshow("contours",color)
cv2.waitKey()
cv2.destroyAllWindows()

初学opencv,照着书上的源码拷贝后发现无法运行,查看报错信息后发现是findContours函数相关的问题,查看函数说明后发现findContours方法在opencv3.2之后就只传回contours,hierarchy2个值了,本人用的opencv4.0.1,删掉image后成功运行。

你可能感兴趣的:(opencv python源码中的cv2.findContours方法填坑)