当前位置: 首页 > news >正文

opencv 增强现实(二):特征点匹配

 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-contrib-python

 

OpenCV探索之路(二十三):特征检测和特征匹配方法汇总

 

转载于:https://www.cnblogs.com/MC-Curry/p/10442065.html

相关文章:

  • CentOS 7 root口令恢复
  • [UOJ430]line
  • JavaScript 复习之 Object对象的相关方法
  • Fundebug计费标准解释:事件数是如何定义的?
  • mysql的备份脚本
  • mysql 数据库四种事务隔离级别
  • 题解 CF191C 【Fools and Roads】
  • springMvc学习笔记(2)
  • 【组队竞赛学习】vue+node在线商城项目
  • lucene排序算法之向量空间模型(一)
  • 常见的几种数组去重的方法,总有一种适合你~
  • Python网络爬虫5 - 爬取QQ空间相册
  • 数据库插入10000000数据
  • 聊天宝彻底凉了,遭罗永浩抛弃,团队就地解散
  • 在win10上安装Linux系统安装
  • (三)从jvm层面了解线程的启动和停止
  • 2017-09-12 前端日报
  • Cumulo 的 ClojureScript 模块已经成型
  • ES2017异步函数现已正式可用
  • ES6系统学习----从Apollo Client看解构赋值
  • js正则,这点儿就够用了
  • MaxCompute访问TableStore(OTS) 数据
  • Otto开发初探——微服务依赖管理新利器
  • select2 取值 遍历 设置默认值
  • TCP拥塞控制
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 观察者模式实现非直接耦合
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端面试之闭包
  • 人脸识别最新开发经验demo
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 算法-图和图算法
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 7行Python代码的人脸识别
  • hi-nginx-1.3.4编译安装
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 数据结构
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #pragma multi_compile #pragma shader_feature
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (1)STL算法之遍历容器
  • (九)c52学习之旅-定时器
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (学习日记)2024.02.29:UCOSIII第二节
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 药厂业务系统 CPU爆高分析
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • [20150904]exp slow.txt
  • [20171101]rman to destination.txt