Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >findContours给了我一个错误,即使它不应该错误,有什么原因吗?

findContours给了我一个错误,即使它不应该错误,有什么原因吗?
EN

Stack Overflow用户
提问于 2020-06-08 15:05:11
回答 1查看 87关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
---------------------------------------------------------------------------

ValueError跟踪(最近一次调用)在1 im = image_list[4] 2 ret,thresh = cv2.threshold(im,127,255,0) ----> 3 image, contours, hierarchy = cv2.findContours(thresh , cv2.RETR_TREE , cv2.CHAIN_APPROX_SIMPLE) 4 image = cv2.drawContours(image, contours, -1, (0,255,0), 3) 5

ValueError:没有足够的值来解包(预期3,got 2)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 15:21:33

不同版本的OpenCV返回来自cv2.findContos的不同数量的项目。

OpenCV 4和OpenCV 2具有类似的行为,返回两个项,而OpenCV 3返回三个项。

你的版本显然只需要两个项目。所以试试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
contours, hierarchy = cv2.findContours(thresh , cv2.RETR_TREE , cv2.CHAIN_APPROX_SIMPLE)

或者,如果您想要某种版本无关的内容,那么如果您需要使用层次结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
contours = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
hierarchy = contours[1] if len(contours) == 2 else contours[2]
contours = contours[0] if len(contours) == 2 else contours[1]

或者如果你只想要轮廓

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
contours = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
contours = contours[0] if len(contours) == 2 else contours[1]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62272551

复制
相关文章
师父给了我一个 .proto 文件,我应该怎么使用?
回想我年轻的时候,在做一个项目时,需要计算斐波那契数列第 n 项的值。但是我只会使用递归来实现。众所周知,递归算法计算斐波那契数列的效率极差,速度极慢。
青南
2020/11/04
2.8K3
师父给了我一个 .proto 文件,我应该怎么使用?
你知道 JavaScript 中的错误对象有哪些类型吗?
每当 JavaScript 中发生任何运行时错误时,都会引发Error对象。 在许多情况下,我们还可以扩展这些标准Error对象,以创建我们自己的自定义Error对象。
前端小智@大迁世界
2020/05/12
7K1
你知道 JavaScript 中的错误对象有哪些类型吗?
还在用print()查找错误?日志消息这顿排骨它不香嘛?
Hello!攒钱买生发水的大灰狼又来了,最近在最项目开发的时候呀,跟小伙伴聊到修Bug这件事。
灰小猿
2020/09/23
4320
还在用print()查找错误?日志消息这顿排骨它不香嘛?
Vue 3是一个错误,我们不应该再犯。
文本是翻译的,作者Fotis Adamakis, 他是 Vue.js雅典会议的共同组织者,文中的第一人称指的是该大佬。
前端小智@大迁世界
2022/09/07
9200
Vue 3是一个错误,我们不应该再犯。
css 文件 304 错误是什么原因引起的
CSS文件返回304状态码的原因有以下几个: 1. 浏览器缓存了该CSS文件。浏览器会缓存已经访问过的CSS文件,当再次请求同一个文件时,浏览器会先检查缓存,如果缓存版本没有变化,就会返回304状态码
卓越笔记
2023/05/11
1.4K0
[翻译]你应该避免的3个Javascript性能错误
如果我告诉你,你知道的一切都是假的,如果你学的一些近几年发布的深受喜爱的 ECMAScript 的主要特性,是很容易导致性能问题的,会发生什么。
winty
2019/12/22
5870
手撸一个自定义starter,它不香吗
springboot 中有很多的starter 。我们用起来很爽不是吗,之所以这么爽难道不是因为我们少了很多配置吗,之前我们想要使用jdbcTemplete 是不是需要在xml 文件中配置bean 后才能使用。有被xml 一堆配置支配的恐惧吗?
程序员爱酸奶
2020/05/22
1.1K0
你应该避免的5个常见 Python 错误
Python 是一种非常强大的编程语言,它的语法很容易理解,即使你没有编程基础,也可以自学。在整个学习过程中,由于缺乏对某些概念的理解,你可能会犯很多错误。学习如何纠正这些错误将进一步增强你对基础知识以及编程技能的理解。
AI算法与图像处理
2021/03/12
8690
优秀开发者应该避免的五个错误
译者 | 平川 策划 | 万佳 本文最初发布于 Rafael Quintanilha 的个人博客,经原作者授权由 InfoQ 中文站翻译并分享。 伟大的数学家 Carl Jacobi 曾说过“反过来想,一定要反过来想”。在他看来,逆向分析问题有助于找到最佳解决方案。有鉴于此,伯克希尔·哈撒韦公司传奇合伙人查理·芒格在哈佛大学做了一场精彩的分享,主题是关于探讨“怎样才能不成功”。由此,这让我开始思考——有什么最简单的方法能让你成为一名糟糕的开发者?你接下来将要看到的这些原则很主观,不尽全面,也没什么顺序。不
深度学习与Python
2023/04/01
2200
优秀开发者应该避免的五个错误
你应该知道的7 个 JavaScript 原生错误类型
我们有一个数组,带有两个元素的 arr。接下来,尝试将数组扩展为包含 90**99 == 2.9512665430652753e+193 个元素。
疯狂的技术宅
2020/03/13
2.7K0
7种你应该知道的JavaScript常见的错误
我们有一个带有两个元素的arr。接下来,我们尝试使数组包含90**99 == 2.9512665430652753e+193元素。
葡萄城控件
2020/03/19
2.6K0
Python 初学者常见错误——我有 Anaconda 了,还能单独安装 Python 吗?
在这种情况下,还能直接从 Python 官网下载安装其他版本的 Python 吗?
青南
2019/09/03
18.1K0
一个容易犯的错误
Microsoft Jet 数据库引擎打不开文件'C:\WINDOWS\system32\IME\PINTLGNT\club\admin'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: Microsoft Jet 数据库引擎打不开文件'C:\WINDOWS\system32\IM
脑洞的蜂蜜
2018/02/02
5380
记一个R语言错误
发现如果习惯了一个编程语言,想当然的往另一个上套,是要吃大亏的,这是一个真实的经历。我最早学的Python,习惯了它的英语化编程,到了最近操作表的多了起来,发现R语言更顺手些,就转向了R语言,一直用得还不错,属于不求效率,只求能解决问题的主,不过,今天发现的程序bug,令我汗颜了一波。详细如下:
用户1075469
2021/04/30
3620
Sentry 错误监控(Django 错误监控)
Import and initialize the Sentry SDK early in your application’s setup:
卓越笔记
2023/02/18
2K0
Sentry 错误监控(Django 错误监控)
拜占庭错误 与 非拜占庭错误
一般地,把出现故障( crash 或 fail-stop,即不响应)但不会伪造信息的情况称为“非拜占庭错误”( non-byzantine fault)或“故障错误”( Crash Fault);
西湖醋鱼
2020/12/30
3.6K0
“面向对象就是一个错误!”
C++和 Java 可能是计算机科学领域最大的错误。就连面向对象的创建者 Alan Kay 都曾对这两门语言提出了严厉的批评。然而,C++和 Java 都是比较主流的面向对象语言。
终码一生
2022/04/14
5510
“面向对象就是一个错误!”
Roslyn还出现这么低级的错误,不应该呀!
前几天对Dora.Interception作了简单的重构,想提供C#脚本来定义Interception Policy,毫无疑问微软提供的编译平台Roslyn使C#脚本化提供了支持。但是没有想到随便尝试了一个简单的功能就出现了问题,我个人觉得这应该是Roslyn的Bug。但是Roslyn经历了这么多次版本的迭代还出现如此低级的错误,实在有点说不过去。
蒋金楠
2018/08/01
5040
Roslyn还出现这么低级的错误,不应该呀!
点击加载更多

相似问题

SQL IF块代码导致错误,即使它不应该执行

17

为什么这段代码会显示错误,即使它不应该?

21

OpenCV "findContours“方法错误

23

我有一个错误,它不工作,这是错误

10

这个函数应该反向打印,但它给了我一个错误

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文