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()
相关推荐
猿类崛起@1 分钟前
CherryStudio配置本地MCP服务器实现FileSystem本地文件系统读写操作
人工智能·学习·程序员·大模型·agent·ai大模型·mcp
AI医影跨模态组学4 分钟前
Cell Rep Med(IF=10.6)北京清华长庚医院李国新&云南省肿瘤医院放射科李振辉等团队:基于TME的深度学习模型预测胃癌治疗反应
人工智能·深度学习·医学·医学影像·医学科研
宇擎智脑科技5 分钟前
Claude Code 源码分析(二):Shell 命令安全体系 —— AI Agent 执行终端命令的纵深防御设计
人工智能·安全·claude code
TianFuRuanJian8 分钟前
当车辆热管理系统遇到工业AI
人工智能·汽车
AI营销先锋8 分钟前
原圈科技AI市场分析:破解增长瓶颈,领航智能营销
大数据·人工智能
AI创界者13 分钟前
基于 C++ 架构的高性能远程管理技术探究(附 V7.4 优化解析)
人工智能·架构
KvPiter14 分钟前
AI辅助开发行业动态(202603)
人工智能·编辑器
算法-大模型备案 多米15 分钟前
大模型备案实操指南:材料、流程与避坑要点
大数据·网络·人工智能·算法·文心一言
minhuan16 分钟前
医疗AI智能体:构筑长效对话链路:智能体多轮对话记忆机制与上下文完整处理实际.132
人工智能·多轮对话记忆·智能体上下文处理·构建ai智能体
AI职业加油站25 分钟前
数据要素时代:大数据治理工程师证书深度解码
大数据·开发语言·人工智能·python·数据分析