python3.6.5调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)

因为你的opencv版本太高了,我当时查了一下我的版本是4.1.2,把版本降到3.4.3就可以解决这个问题啦_

查询OpenCV的版本方式

1.打开anaconda Prompt,输入python,进入python模式
2.输入import cv.2,调用cv.2模块
3.输入cv2.version,查询opencv版本(下图为我降低版本后的结果)
python3.6.5调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)_第1张图片

新版opencv的调用是返回两个参数:

contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

低版本的opencv返回三个参数

im2, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

下载低版本的opencv

网页上大部分说在清华镜像上有安装包https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
或者是python包的下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/
但是我看了只有新版本的,没有3.4.3版本的opencv

可以在这里下载安装包https://download.csdn.net/download/qq_42053453/11860238

降低版本的过程

1、卸载原有版本的opencv
在cmd 中输入 pip uninstall opencv-python
2.安装新版本opencv
在cmd中先进入Anaconda3\Lib\site-packages位置,把下载的opencv安装包也放在这里,在pip install 就可以了
(下面这个图是在网上找的,但是思路是一样的)
python3.6.5调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)_第2张图片

你可能感兴趣的:(python3.6.5调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2))