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()
相关推荐
名字不好奇12 小时前
Claude Code工作原理深度解析:从技术架构到设计哲学
人工智能·架构
一条咸鱼_SaltyFish13 小时前
DDD 架构重构实践:AI Skills 如何赋能DDD设计与重构
java·人工智能·ai·重构·架构·ddd·领域驱动设计
我是场13 小时前
我的NPI项目 - OTA upgrade是什么?
android·人工智能
GISer_Jing13 小时前
2026年前端AI开发终极指南
前端·人工智能
笨笨饿13 小时前
32_复变函数在工程中实际应用区别于联系
linux·服务器·c语言·人工智能·单片机·算法·学习方法
花千树-01013 小时前
Java AI + TTS:让大模型开口说话
java·人工智能·ai·chatgpt·langchain·aigc·ai编程
智算菩萨13 小时前
【Python图像处理】3 OpenCV核心操作与图像基本变换
图像处理·python·opencv
图欧学习资源库13 小时前
人工智能领域、图欧科技、IMYAI智能助手2026年2月更新月报
人工智能·科技
沪漂阿龙13 小时前
大语言模型时代的无监督学习:聚类与降维全解析
人工智能·机器学习·语言模型·聚类
liuniu081813 小时前
1.机器学习概述
人工智能·机器学习