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()
相关推荐
好家伙VCC37 分钟前
**神经编码新视角:用Python实现生物启发的神经信号压缩与解码算法**在人工智能飞速发展的今天
java·人工智能·python·算法
Navicat中国37 分钟前
如何使用 Ollama 配置 AI 助手 | Navicat 教程
数据库·人工智能·ai·navicat·ollama
@小匠5 小时前
Read Frog:一款开源的 AI 驱动浏览器语言学习扩展
人工智能·学习
网教盟人才服务平台8 小时前
“方班预备班盾立方人才培养计划”正式启动!
大数据·人工智能
芯智工坊8 小时前
第15章 Mosquitto生产环境部署实践
人工智能·mqtt·开源
菜菜艾8 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
TDengine (老段)8 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
小真zzz8 小时前
搜极星:第三方多平台中立GEO洞察专家全面解析
人工智能·搜索引擎·seo·geo·中立·第三方平台
GreenTea9 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
火山引擎开发者社区9 小时前
秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省
人工智能