OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 2276|回复: 1

关于SIFT的一个问题

[复制链接]
发表于 2019-3-16 20:18:34 | 显示全部楼层 |阅读模式
新手,所以搞了一本书照着慢慢敲,今天看到了SIFT,遇到了两个问题,首先把代码粘贴一下。

import cv2
import sys

imgpath=sys.argv[1]
img=cv2.iread('G:/python/35.jpg')
gray=cv2.cvtclolr(img,cv2.COLOR_BGR2GRAY)
sift=cv2.xfeatures2d.SIFT_create()
keypoints,descriptor=sift.detectAndCompute(gray,None)
img=cv2.drawKeypoints(image=img,outImage=img,keypoints=keypoints,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS,color=(32,144,52))
cv2.imshow('lannisite',img)
while True:
    if 0xff == ord('q'):
        break
cv2.destroyAllWindows()
第一个问题就是  i = sys.argv[ 1 ]   ,不能编译  ,
第二个就是cv2.xfeatues2d.SIFT_create()    原本不能编译,看网上说换一个opencv版本就可以用了 ,照这还了之后可以编译通过但是显示不可用。
求大神解答.
回复

使用道具 举报

 楼主| 发表于 2019-3-17 21:22:47 | 显示全部楼层
网上找到例程了
可以用了
import cv2

img=cv2.imread('G:/python/36.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# Here I set Hessian Threshold to 400 阈值越大能检测的特征就越少
surf=cv2.xfeatures2d.SURF_create(400)
# None 为mask参数
kp,des=surf.detectAndCompute(gray,None)

surf.setHessianThreshold(5000)
kp,des=surf.detectAndCompute(gray,None)

img2=cv2.drawKeypoints(img,kp,None,(0,255,0),4)
cv2.imshow('amdasi',img2)
cv2.waitKey(0)
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-19 04:40 , Processed in 0.014225 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表