python - openCV python代码中detectAndComputer方法周围的错误
问题描述
我在 VS Code 中使用 python 3.6.3,opencv-contrib-python-3.3.1.11。我正在尝试运行以下代码:
import cv2
image1 = cv2.imread('PATH.image1.jpg',0)
image2 = cv2.imread('PATH.image2.jpg',0)
sift = cv2.xfeatures2d.SIFT_create()
kp1, des1 = sift.detectAndComputer(image1,None)
kp2, desc2 = sift.detectAndComputer(image2,None)
我已经阅读了有关 SIFT 对 openCV 早期版本的更改以及使用户安装 opencv contrib 的更高版本。我的错误不是围绕 create 而是围绕 detectAndComputer 方法。这是错误:
Exception has occurred: AttributeError
'cv2.xfeatures2d_SIFT' object has no attribute 'detectAndComputer'
解决方案
正确的调用是kp1, des1 = sift.detectAndCompute(image1,None)
而不是detectAndComputer
.
这里有关于这个过程和代码语法的一些细节
推荐阅读
- html - Jupyter 笔记本中不显示 HTML 工具提示
- android - com.google.android.gms.common.api.ApiException: 10 in app-debug.apk
- c# - 如何使用 System.Text.Json 处理同一属性的单个项目和数组?
- mysql - 带有附加条件的 MySQL 匹配:使用子查询?
- python - 将对象类型作为参数传递
- redux - 更新单个属性的 Redux 模式是什么
- ruby-on-rails - 如何修复 Rails PostgreSQL 应用程序中的数据库错误?
- wordpress - 从 Wordpress 页面中删除空白
- java - 从 Springboot Web 应用程序启动时无法让 spark-cassandra-connector 工作
- python-3.x - 无法使用 Python 执行 Excel 宏