OpenCV--特征匹配

OpenCV--特征匹配

代码和笔记

python 复制代码
import cv2
import numpy as np

"""
特征匹配
"""

"""
暴力特征匹配:使用第一组(第一幅图)中的一个特征描述子,使用一些距离计算与第二组中的所有其他特征匹配,返回最接近的一个。
"""
img1 = cv2.imread('./img/cat.jpeg')
img2 = cv2.imread('./img/ca2.jpeg')

# 创建特征检测对象
sift = cv2.SIFT_create()

# 计算描述子
kp1, des1 = sift.detectAndCompute(img1, None)
kp2, des2 = sift.detectAndCompute(img2, None)

# 暴力特征匹配
# 计算距离的方式:1. NORM_L1:绝对值距离,SIFT和SURF使用。2. NORM_L2:欧氏距离,SIFT和SURF使用。3. HAMMING:汉明距离。ORB使用
bf = cv2.BFMatcher(cv2.NORM_L2)

# 进行匹配
match = bf.match(des1, des2)

# 绘制特征匹配
result = cv2.drawMatches(img1, kp1, img2, kp2, match, None)

cv2.imshow('result', result)

"""
FLANN特征匹配:快速最近邻搜索包,算法集合,用的很少
"""

cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
勾股导航3 分钟前
DQN算法
人工智能·强化学习
贵慜_Derek10 分钟前
《从零实现 Agent 系统》连载 07|记忆系统:短期上下文 vs 长期外部记忆
人工智能·设计模式·架构
星辰AI12 分钟前
LLM 安全与对齐技术:构建可信赖的人工智能
人工智能·ai·语言模型
圣殿骑士-Khtangc15 分钟前
CloakBrowser 深度解析:C++ 源码级反检测浏览器,Playwright 的终极替代品
人工智能
armwind18 分钟前
数字图像处理-7-图像的梯度锐化算法
图像处理·计算机视觉
05候补工程师26 分钟前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
threelab31 分钟前
Three.js 加载 3D Tiles 瓦片数据 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
韦胖漫谈IT36 分钟前
不当输出处理 - 大语言模型 OWASP TOP 10系列
人工智能·语言模型·自然语言处理
JavaAgent架构师1 小时前
前端AI工程化(九):AI Agent平台前端架构设计
前端·人工智能
阿里云大数据AI技术1 小时前
DataWorks Data Agent:助力淘宝闪购一句话搞定数据开发,让周期从天级到分钟级
人工智能·agent