标签:img3 匹配 matches 现实 opencv gray2 img2 cv
1 import cv2 as cv 2 import numpy as np 3 4 5 # def draw_keypoints(img, keypoints): 6 # for kp in keypoints: 7 # x, y = kp.pt 8 # cv.circle(img, (int(x), int(y)), 2, (0, 255, 0)) 9 10 # 两张键盘图片,用于特征匹配 11 img1 = cv.imread('../images/keyboard1.jpg') 12 img2 = cv.imread('../images/keyboard2.jpg') 13 gray1 = cv.cvtColor(img1, cv.COLOR_BGR2GRAY) 14 gray2 = cv.cvtColor(img2, cv.COLOR_BGR2GRAY) 15 orb = cv.ORB_create() 16 kp1, des1 = orb.detectAndCompute(gray1, None) # 计算特征点和描述符 17 kp2, des2 = orb.detectAndCompute(gray2, None) 18 bf = cv.BFMatcher(cv.NORM_HAMMING, crossCheck=True) # 建立匹配关系 19 matches = bf.match(des1, des2) # 匹配描述符 20 matches = sorted(matches, key=lambda x:x.distance) # 根据距离来排序 21 # img3 = cv.drawMatches(gray1, kp1, gray2, kp2, matches[:10], gray2, flags=2) 22 img3 = cv.drawMatches(img1, kp1, img2, kp2, matches[:10], img2, flags=2) 23 cv.imshow('img3', img3) 24 cv.waitKey(0) 25 cv.destroyAllWindows()
效果:
本来还想看看SIFT和SURF的效果,但是模块没有了,也有说安装opencv-contrib-python的,但是安装后好像还要操作一下,也没写清楚
参考链接:
OpenCV+Python特征提取算法与图像描述符之SIFT / SURF / ORB
OpenCV探索之路(二十三):特征检测和特征匹配方法汇总
标签:img3,匹配,matches,现实,opencv,gray2,img2,cv 来源: https://www.cnblogs.com/MC-Curry/p/10442065.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。