错误代码:OpenCV(4.6.0)/io/opencv/模块/图像处理/源代码/轮廓。错误:(-210:不支持的格式或格式组合)[开始]FindContours在模式!= CV_RETR_FLOODFILL时仅支持CV_8UC1图像,否则仅在函数“cvStartFindContours_Impl”中支持CV_32SC1图像
这是我密码,怎么了?
import cv2
import numpy as np
image = cv2.imread('j.jpg')
cv2.waitKey(0)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edged = cv2.Canny(gray, 30, 200)
cv2.waitKey(0)
contours, hierarchy = cv2.findContours(edged,
cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
cv2.imshow('Canny Edges After Contouring', edged)
cv2.waitKey(0)
print("Number of Contours found = " + str(len(contours)))
cv2.drawContours(image, contours, -1, (0, 255, 0), 3)
cv2.imshow('Contours', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
我在试着描绘图像上的线条
1条答案
按热度按时间y4ekin9u1#
我刚刚在python3中尝试了你的代码,一切正常,你的代码工作正常。
这是我测试的代码,只是删除了一些等待键。
我也改变了一个jpg图像的图像,这里是结果. enter image description here
如您所见,轮廓是用红色绘制的。
我有opencv 4.2版本,可能你的版本有点老。