python-3.x - Python说我只有两个值,需要三个,而已经有三个值
问题描述
(_,contours,hierarchy)=cv2.findContours(yellow, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
ValueError: not enough values to unpack (expected 3, got 2)
这里的代码抛出一个错误,说我缺少第三个值,但它已经有三个值
yellow = 1.
cv2.RETR_TREE = 2.
cv2.CHAIN_APROX_SIMPLE = 3.
我不知道该怎么办。
我将黄色定义为
yellow = cv2.inRange(hsv, yellow_lower, yellow_upper)
并且都定义了 yellow_lower 和 yellow_upper...
有人可以帮忙吗?提前致谢
解决方案
您认为将返回三个值(丢弃第一个值):
_, contours, hierarchy = cv2.findContours(yellow, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
诊断告诉您只有两个被退回。所以,接受他们两个:
contours, hierarchy = cv2.findContours(yellow, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
您似乎正在使用主要版本号为 2 的 downrev cv2 库。在 3.x 中,签名已更改为将图像添加为第三个返回值。
推荐阅读
- c# - 识别和单击一组没有 AccessibilityId 或其他唯一标识符的同级元素中的第 n 个元素的最佳方法是什么
- c++ - 为什么这个合并排序代码总是给我这个奇怪的输出?
- javascript - Heroku 上的 Discord.JS 机器人
- google-apps-script - 谷歌应用程序脚本:来自 GCP 文本到语音的响应“audioContent”作为文本文件返回
- java - MVVM 不更新服务器数据
- angularjs - 如何解决无法读取 EXcelJs 的未定义属性(读取“工作簿”)?
- css - Streamlit:修改多选标签背景颜色
- simulation - Anylogic:增加摄像头覆盖的距离
- sql - 在 Redshift 中按秒创建时间戳列表
- java - 为什么 keyclock 显示错误“您已在此会话中作为不同的用户 '0000000021' 进行身份验证。请先注销。”?