当前位置: 首页 > 面试题库 >

OpenCV版本4.1.0 drawContours

许博达
2023-03-14
问题内容

我有以下与OpenCV 3.4.1配合使用的代码,现在无法与OpenCV 4.1.0配合使用并给出了错误。我不知道如何用新版本适应代码,您能帮我吗?非常感谢

def ImageProcessing(image):
    image = cv2.absdiff(image, background)
    h, gray = cv2.threshold(image, 65, 255, cv2.THRESH_BINARY_INV);
    gray = cv2.medianBlur(gray,5)

    kernel = np.ones((3,3), np.uint8)

    gray = cv2.erode(gray, kernel, iterations=1)#1

    des = cv2.bitwise_not(gray)
    tmp = cv2.findContours(des,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_SIMPLE)
    contour, hier = tmp[1], tmp[0]

    for cnt in contour:
        cv2.drawContours(des,[cnt],0,255,-1)

    gray = cv2.bitwise_not(des)

    gray = cv2.dilate(gray, kernel, iterations=1)#1

    return gray

错误是

cv2.error:OpenCV(4.1.0)/io/opencv/modules/imgproc/src/drawing.cpp:2509:错误:(-215:断言失败)函数’drawContours’中的npoints>
0


问题答案:

根据OpenCV版本,cv2.findContours()具有不同的返回签名。

在OpenCV
3.4.X中,cv2.findContours()返回3个项目

image, contours, hierarchy = cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]])

在OpenCV
4.1.X中,cv2.findContours()返回2个项目

contours, hierarchy = cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]])

无论使用哪种版本,都可以轻松获取轮廓:

tmp = cv2.findContours(des,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_SIMPLE)
contours = tmp[0] if len(tmp) == 2 else tmp[1]


 类似资料:
  • 本文向大家介绍查看python下OpenCV版本的方法,包括了查看python下OpenCV版本的方法的使用技巧和注意事项,需要的朋友参考一下 在命令行输入以下代码: 以上这篇查看python下OpenCV版本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我已经为Raspberry PI使用了已经编译好的openCV版本。任何感兴趣的人的链接 //usr/local/lib/libopencv_calib3d.so.2.4:未定义对`CV::Mutex::Unlock()'的引用 //usr/local/lib/libopencv_calib3d.so.2.4:未定义对`CV::mutex::lock()‘的引用 //usr/local/lib/l

  • 我目前正试图在一个非bazel项目中使用Tensorflow的共享库,所以我创建了一个。所以使用bazel从tensorflow归档。 但当我启动一个同时使用Opencv和Tensorflow的c程序时,它会让我产生以下错误: [libprotobuf FATAL external/protobuf/src/google/protobuf/stubs/common.cc:78]此程序是根据协议缓冲

  • 主要内容:示例可以使用类的方法将文本添加到图像。 以下是此方法的语法。 该方法接受以下参数 - mat - 表示要在其上绘制矩形的图像的对象。 text - 表示要添加的文本的字符串变量。 org - 表示图像中左下角文本字符串的对象。 fontFace - 表示字体类型的整型变量。 fontScale - 类型为的变量表示与字体特定的基本大小相乘的缩放因子。 color - 表示矩形颜色的标量对象(BGR)。

  • 我试图在windows中导入软件包,但出现错误: 回溯(最近一次调用last):导入cv2 ImportError:numpy中第1行的文件“”。果心多重数组导入失败 我也试过numpy verson 1.11。1但它不起作用。

  • OpenCV / Python官方教程中文版,主要参考 OpenCV-Python 官网以及部分 OpenCV-Python 中文教程 ;注意,大部分内容具有自己的见解,如果有不正确的地方欢迎指正。