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()
相关推荐
YOLO数据集集合17 分钟前
渔船船只检测数据集 | 船只检测 渔船识别 拖船检测 海事监管 目标检测 YOLO格式 深度学习数据集 计算机视觉9076期
人工智能·深度学习·yolo·目标检测·计算机视觉
stereohomology18 分钟前
一个可能有用的经验:api key在Workbuddy或Trae IDE上使用
人工智能·llm·薅羊毛
AI人工智能+21 分钟前
了一种融合OCR与大模型的文档抽取系统,解决传统OCR“识字不识意”的痛点
深度学习·计算机视觉·语言模型·自然语言处理·ocr·文档抽取
小刘快学习22 分钟前
企业提示词资产如何集中治理:AI网关的提示词管理能力
人工智能
刘天远24 分钟前
Agent最小权限实现:策略表、临时令牌与撤权回归
java·jvm·人工智能·sqlite
液态不合群34 分钟前
信通院认证实锤:信创低代码,撕开企业数字化转型的虚假繁荣
人工智能·低代码·数字化
71777738 分钟前
能源行业 DevOps 平台选型与 Gitee 企业版适配性梳理
人工智能·gitee
宁渡AI大模型2 小时前
河南宁渡科技有限公司|宁渡课堂 AI 全栈面试分享,RAG 项目面试深挖问题解析
人工智能·机器学习·rag
锋行天下9 小时前
LangGraph 1.2+ 新特性:set_node_defaults,批量统一节点策略
人工智能
找方案9 小时前
AI+人力资源:AI招聘面试的兴起与争议
人工智能·面试·职场和发展