Mac系统Visual Studio下OpenCV绘图报错:cv.circle()函数类型错误如何解决?

心靈之曲
发布: 2025-03-01 16:54:09
原创
998人浏览过

mac系统visual studio下opencv绘图报错:cv.circle()函数类型错误如何解决?

在Mac系统使用Visual Studio和OpenCV进行图像处理时,cv.circle()函数可能出现类型错误,导致绘图失败。本文分析并解决此问题。

错误信息通常为:“opencv(4.5.2) :-1: error: (-5:bad argument) in function 'circle' overload resolution failed: - can't parse 'center'. sequence item with index 0 has a wrong type”。 这表明cv.circle()函数无法解析传入的圆心坐标。

问题原因在于cv.circle()函数期望接收整数类型的坐标元组(x, y),而传入的坐标数据类型不符。

例如,以下代码片段:

pts1 = np.float32([[657,122],[738,235],[478,249],[559,362]])
cv.circle(img, (pts1[0][0], pts1[0][1]), 5, (0,0,255), cv.filled)
登录后复制

pts1是一个NumPy浮点数组,pts1[0][0]pts1[0][1]是浮点数,而非整数。

挖错网
挖错网

一款支持文本、图片、视频纠错和AIGC检测的内容审核校对平台。

挖错网28
查看详情 挖错网

解决方法是将坐标数据转换为整数类型。 修改pts1的定义,使用Python列表存储整数坐标:

pts1 = [[657,122],[738,235],[478,249],[559,362]]
登录后复制

或者,保持pts1为NumPy数组,但在调用cv.circle()函数前,将坐标转换为整数:

pts1 = np.float32([[657,122],[738,235],[478,249],[559,362]])
cv.circle(img, (int(pts1[0][0]), int(pts1[0][1])), 5, (0,0,255), cv.filled)
登录后复制

通过以上方法,确保cv.circle()函数接收的是整数类型的坐标,即可解决类型错误,成功绘制圆点。 修改后的代码能够在图像上正确绘制出指定的点。

以上就是Mac系统Visual Studio下OpenCV绘图报错:cv.circle()函数类型错误如何解决?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号