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()
相关推荐
咖啡星人k几秒前
长亭百智云:全新一代AI基础服务平台深度解读
大数据·人工智能·架构·rag·mcp·百智云
阿里云云原生2 分钟前
告别 30 分钟故障演练!ChaosBlade AI 让混沌工程像“聊天”一样简单
人工智能·阿里云·云原生·chaosblade
东坡肘子2 分钟前
稳定 > 新功能 -- 肘子的 Swift 周报 #138
人工智能·swiftui·swift
架构源启2 分钟前
Spring AI进阶系列(14)- 2026 可观测性最佳实践:从链路追踪到企业级 AI 治理落地
java·人工智能·spring
Anchenry3 分钟前
CoinTrail-智能Ai记账软件
人工智能·软件工程·软件需求
superantwmhsxx3 分钟前
ChatGPT Images 2.0 角色一致性实战:如何在多轮对话中保持人物形象统一
人工智能·chatgpt
悟乙己5 分钟前
在Netflix实现机器学习民主化:构建模型生命周期图
人工智能·机器学习
搬砖的小码农_Sky6 分钟前
AI大模型:什么是Token?
人工智能·ai·人机交互·agi
weixin_468466856 分钟前
神经网络模型评价指标新手实战指南
人工智能·神经网络·机器学习·scikit-learn·sklearn·评价指标·网络模型
luweis7 分钟前
企智孪生 ETA (3.5 执行层技术落地)【浙江联保网络 卢伟舜】
网络·人工智能·程序人生·职场和发展·学习方法