【问题标题】:How can I use SIFT in opencv 2.4如何在 opencv 2.4 中使用 SIFT
【发布时间】:2018-01-03 11:58:16
【问题描述】:

我想使用 SIFT。我已经尝试过这段代码:

  import cv2
  import numpy as np
  img = cv2.imread('1.jpg')
  gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
  sift = cv2.xfeatures2d.SIFT_create()
  kp = sift.detect(gray,None)
  img=cv2.drawKeypoints(gray,kp,img)
  cv2.imwrite('sift_keypoints.jpg',img)

但我收到此错误:

./sifttt.py:第 3 行:意外标记 `('

附近的语法错误

./sifttt.py:第 3 行:`img = cv2.imread('1.jpg')'

我不知道我是否需要安装一些东西,或者我是否需要做一些其他的事情?

【问题讨论】:

  • 错误 w.r.t.代码没有意义!你确定这是代码吗?
  • 以python sifttt.py 运行代码,以检查您是否使用了正确的解释器,以防万一。
  • 您的代码在我的机器上运行。没有错误。正确检测到 SIFT 点。

标签: python opencv sift


【解决方案1】:

第 5 行代码中存在问题。您使用的是 opencv 2.4 版本,但 opencv 2.4 没有 xfeature2d 模块,此模块在 check this out 中的 openv 3 中找到。所以要在 opencv 2.4 中使用 Sift,请使用 this 和 this 教程。

【讨论】:

    猜你喜欢
    • 2014-05-08
    • 2012-12-15
    • 2021-12-09
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2016-02-13
    • 2012-05-21
    • 1970-01-01
    相关资源
    最近更新 更多