SIFT图像特征提取 python3.4 + opencv3.1.0代码

opencv3.1中部分函数有改变:

1. SIFT:可以采用help(cv2.xfeatures2d)查询

2.drawKeypoints: 同样采用help()方法查询,


import cv2
import numpy as np

#read image
img = cv2.imread('test.jpg', cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('origin',img)

#SIFT
sift= cv2.xfeatures2d.SIFT_create()
keypoints = sift.detect(gray, None)

#kp, des = sift.detectAndCompute(gray,None)  #des是描述子,for match, should use des, bf = cv2.BFMatcher();smatches = bf.knnMatch(des1,des2, k=2
cv2.drawKeypoints(gray, keypoints, img)
cv2.imshow('testSift', img)

cv2.waitKey(0)
cv2.destroyAllWindows()


###notes: narray to image data for sift computing:

>>> img_array=np.zeros([10,10,3])
>>> img_array[:,:,0]=np.ones([10,10])*255
>>> img_array[:,:,1]=np.ones([10,10])*255
>>> img_array[:,:,2]=np.ones([10,10])*0
>>> img_uint8=np.uint8(img_array)   #img_gray=cv2.cvtColor(img_array, cv2.COLOR_BGR2GRAY)
>>> sift=cv2.xfeatures2d.SIFT_create()
>>> kp, des=sift.detectAndCompute(img_uint8, None)





  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值