我正在尝试预处理我的图像,以便最终我可以从预处理的图像中找到轮廓。
img = cv2.imread('image.jpg',0)
img = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)
_,contours, hierarchy = cv2.findContours(sobely,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
它给我一个错误说明: OpenCV错误:不支持的格式或格式组合([Start] FindContours仅在模式时支持CV_8UC1图像!= CV_RETR_FLOODFILL,否则仅支持CV_32SC1图像)cvStartFindContours
我使用的是opencv3.0
答案 0 :(得分:1)
非常直接。您的图像应该是理想的二进制和CV_8UC1。您必须将图像转换为CV_8UC1格式才能处理轮廓。轮廓不支持CV_64F双重类型。