当前位置: 代码网 > it编程>前端脚本>Python > No module named “cv2.aruco“

No module named “cv2.aruco“

2024年07月28日 Python 我要评论
在利用OpenCV python检测二维码位姿的时候遇到的一些小问题

先贴上

1. opencv-python、opencv-python-headless、opencv-contrib-python、opencv-contrib-python-headless包的区别

opencv-python

这个不用说,官方发布的标准版

opencv-python-headless

opencv-python-headless是一种无界面的版本,可用于运行在服务器上的计算机视觉应用程序。它的用法和opencv-python类似,但是在使用时不会显示图像。这对于运行在无图形界面的服务器上的应用程序很方便,因为它可以节省资源。

opencv-contrib-python

opencv contrib是opencv的扩展模块,包含了许多最新的以及可能还没有正式发布有待进一步完善的算法,可以理解为是opencv的扩展包,github网页点击查看。 这有点类似于matlab中的各个可选安装扩展包。 同时在opencv 3.0以后,sift、surf等特征算法也放到了contrib库中。 所以如果想使用sift算子,则必须要安装contrib库, 下面以python安装opencv contrib库为例,介绍安装流程。 注意contrib版本的opencv是普通opencv的超集,包含了所有opencv正常版的功能,可以理解为“opencv plus”。参考链接

注意:如果你以前安装过opencv,那么请先卸载干净,否则等contrib版的装好以后,可能出现无法识别的情况。因为识别的还是之前的版本。 利用pip命令即可卸载

pip uninstall opencv-python

opencv-contrib-python-headless

与opencv-python-headless类似,是opencv-contrib-python的界面版本

以上四种包适分别谁呢?

python中安装opencv提供四种依赖包,

  1. 如果只需要主要模块 pip install opencv-python
  2. 如果需要更全的模块 pip install opencv-contrib-python
  3. 如果资源较少,不需要任何gui功能 pip install opencv-python-headless
  4. 如果资源较少,不需要任何gui功能,包含contrib模块 pip install opencv-contrib-python-headless
    因此一般来说都会选择安装opencv-contrib-python不要同时安装opencv-python和opencv-contrib-python。
    关于安装包的问题解决完以后,新版本的安装包在原来的代码上会连续报如下错误,对应新版本修改即可。

2.报错与解决

(1)attributeerror: module ‘cv2.aruco’ has no attribute ‘dictionary_get’

  • cv2.aruco.dictionary_get()函数会加载cv2.aruco.dict_nxn_250包含250个标记的字典,其中每个标记都是n×n位二进制模式。
  • 在最新的版本中,这个函数的api改为了 cv2.aruco.getpredefineddictionary

(2)attributeerror: module ‘cv2.aruco’ has no attribute ‘detectorparameters_create’

cv2.aruco.detectorparameters_create这个函数的作用是使用默认值初始化检测器参数改为了cv2.aruco.detectorparameters

(3)attributeerror: module ‘cv2.aruco’ has no attribute ‘drawaxis’

cv2.aruco.drawaxis这个函数会在二维码上加上坐标轴,改为了cv2.drawframeaxes

运行结果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-33wcud18-1677551113762)(en-resource://database/961:0)]

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com