【opencv】特征点匹配

from email.mime import image
import imghdr
from turtle import title
import cv2
import matplotlib.pyplot as plt
import numpy as np
from sympy import sift

def cv_show(img,name):
    cv2.namedWindow(name,0)
    cv2.resizeWindow(name, 640, 480)
    cv2.imshow(name,img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

sift=cv2.xfeatures2d.SIFT_create()
gray=cv2.imread('a.jpg')
a=gray
kp1,des1=sift.detectAndCompute(gray,None)
img=cv2.drawKeypoints(gray,kp1,None,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv_show(img,'sift')
#save
cv2.imwrite('sifta.jpg',img)
gray=cv2.imread('b.jpg')
kp2,des2=sift.detectAndCompute(gray,None)
img=cv2.drawKeypoints(gray,kp2,None,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv_show(img,'sift')
#save
cv2.imwrite('siftb.jpg',img)
bf=cv2.BFMatcher()
matches=bf.match(des1,des2)
matches=sorted(matches,key=lambda x:x.distance)
img3=cv2.drawMatches(a,kp1,gray,kp2,matches[:100],None,flags=2)
cv_show(img3,'sift')
#保存
cv2.imwrite('aftersift.jpg',img3)

测试用例来源: opencv 特征检测和特征匹配方法汇总_黎国溥-优快云博客_opencv特征点检测与匹配一幅图像中总存在着其独特的像素点,这些点我们可以认为就是这幅图像的特征,成为特征点。计算机视觉领域中的很重要的图像特征匹配就是一特征点为基础而进行的,所以,如何定义和找出一幅图像中的特征点就非常重要。这篇文章我总结了视觉领域最常用的几种特征点以及特征匹配的方法。在计算机视觉领域,兴趣点(也称关键点或特征点)的概念已经得到了广泛的应用, 包括目标识别、 图像配准、 视觉跟踪、 三维重建等。 这...https://blog.youkuaiyun.com/qq_41204464/article/details/90657742?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-90657742.pc_agg_new_rank&utm_term=opencv%E7%89%B9%E5%BE%81%E7%82%B9%E5%8C%B9%E9%85%8D%E7%AE%97%E6%B3%95&spm=1000.2123.3001.4430

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半山乱步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值