首页 > 其他分享 >opencv关键点检测

opencv关键点检测

时间:2024-08-15 18:48:46浏览次数:9  
标签:useProvidedKeypoints img 特征 检测 cv2 opencv SIFT 关键点

特征匹配主要是基于两种相似度较高的图片,通过opencv里面提供的特征匹配方法来进行特征点之间的匹配和映射
特征点由关键点和描述子两部分组成。例如:在一张图像中计算SIFT特征点时,是指提取SIFT关键点,并计算SIFT描述子两件事。
关键点是指特征点在图像里的位置,有些特征点还具有方向、大小等信息。描述子是指一个向量,描述该关键点周围像素的信息
按照外观相似特征应该有相似的描述子的原则设计

SIFT(尺度不变性)作为最经典的特征提取算法,充分考虑图像变换过程中出现的光照、尺度、旋转等变化。
但计算量较大,实时性不好。
FAST关键点(没有描述子)考虑适当降低精度和鲁棒性,以提升计算的速度,属于特别快的一种特征点。
ORB特征目前看来非常具有代表性的实时图像特征,它改进了FAST检测子不具有方向性的问题,并采用速度极快的二进制描述子BRIEF;
因此,ORB在保持特征子具有旋转、尺度不变性的同时,在速度方面也有了很大的提升

1.计算检测关键点并计算描述符
detectAndCompute(InputArray img,bool useProvidedKeypoints=false)
useProvidedKeypoints:决定当前是探测关键点还是计算描述符,为true时执行compute功能;为false时,执行detect功能,探测关键点

点击查看代码
import cv2
img_m=cv2.imread("data1/1.png",0)
sift=cv2.SIFT_create()
kp2,des2=sift.detectAndCompute(img_m,None,useProvidedKeypoints=False) #useProvidedKeypoints决定当前是探测关键点还是计算描述符,
# useProvidedKeypoints为true时,执行compute功能,计算描述符;为false时,执行detect功能,探测关键点
res_r=cv2.drawKeypoints(img_m,kp2,img_m,color=(0,255,0),flags=0)
cv2.imshow('picture2',res_r)
cv2.waitKey(0)

标签:useProvidedKeypoints,img,特征,检测,cv2,opencv,SIFT,关键点
From: https://www.cnblogs.com/SunshineWeather/p/18361612

相关文章

  • 易基因:RNA修饰N4-乙酰胞苷(ac4C)的调控机制、检测方法及其在癌症中的作用最新研究进展
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。N4-乙酰胞苷(ac4C)是一种高度保守的化学修饰,广泛存在于真核和原核生物RNA中,如tRNA、rRNA和mRNA。这种修饰与多种人类疾病显著相关,尤其是癌症,其形成主要依赖于N-乙酰转移酶10(NAT10)(唯一已知ac4C的writer蛋白)的催化活性。......
  • 基于深度学习的实时表面缺陷检测方法综述
    基于深度学习的最新表面缺陷检测方法传统方法(人工特征提取):通过图像处理、图像分析等方法提取缺陷特征可分为三类:统计方法、光谱方法和基于模型的方法缺点:复杂的工业环境使得采集到的图像存在对比度低、噪声大等问题,使得传统的检测方法难以达到令人满意的检测性能。......
  • STMF103VET6的按键检测
     一、按键的检测的原理   根据STMF103VET6的原理图我们可以知道按键在没有按下时I/O口的电平为低电平,按键按下时I/O的电平为高电平。因此我们只需要读取按键对应的I/O口的电平就可以判断按键。 二、示例代码 1、首要初始化两个按键的GPIO。voidKEY_Init(void)......
  • 【OpenCV教程】OpenCV中对矩阵的常用操作
    @目录1.全零矩阵2.全一矩阵3.单位矩阵4.矩阵转置5.求逆矩阵6.逗号式分隔创建矩阵7.矩阵定义(只列出常用的)7.1数据类型Scalar8.通过ptr与at函数遍历矩阵8.1Vec类型9.通过迭代器遍历矩阵(easybutveryveryslow)1.全零矩阵CV_NODISCARD_STDstaticMatExprMat::zeros(intr......
  • 【Python快速入门和实践011】Python常用脚本-目标检测之VOC格式转YOLO格式脚本
    一、数据集介绍        NEU-DET数据集是由东北大学(NortheasternUniversity,简称NEU)发布的一个用于钢材表面缺陷检测的数据集。这个数据集特别设计用于支持和促进工业领域中的缺陷检测研究。NEU-DET数据集的一些主要特点包括:多样性和复杂性:数据集包含了多种类型......
  • <数据集>安全帽和安全背心识别数据集<目标检测>
    数据集格式:VOC+YOLO格式图片数量:22141张标注数量(xml文件个数):22141标注数量(txt文件个数):22141标注类别数:3标注类别名称:['helmet','vest','head']序号类别名称图片数框数1helmet15937572402vest394281313head7235124341使用标注工具:labelImg标注规则:对类别进行画水......
  • 如何在实验室信息管理系统实现不定行,不定列检测?
    前言实验室信息管理系统,即LIMS(LaboratoryInformationManagementSystem),它是由计算机和应用软件组成,能够完成实验室数据和信息的收集、分析、报告和管理。早期的LIMS系统大多基于计算机局域网,专门针对一个实验室的整体环境而设计,是一个包括了信号采集设备、数据通讯软件、数......
  • 【树莓派学习笔记2】opencv常用的视觉方案,特征颜色提取,模式匹配,图形映射函数
    本文主要介绍opencv里面一些常用的视觉方案,所需的全部代码均在如下1.给视觉单独开一个进程持续运行并更新全局变量#获取并处理图像defget_image():whileTrue:#开全局变量处理,分理处红绿蓝globalimage,image_red,image_green,image_blue......
  • opencv图像去雾
    1、何恺明的暗通道去雾算法     论文原文:SingleImageHazeRemovalUsingDarkChannelPrior|IEEEJournals&Magazine|IEEEXplore     参考博客:[论文阅读](11)ACE算法和暗通道先验图像去雾算法(Rizzi|何恺明老师)_暗通道去雾算法_Eastmount的博客......
  • OpenCV图像处理——直线拟合并找出拟合直线的起点与端点
    引言对轮廓进行分析,除了可以对轮廓进行椭圆或者圆的拟合之外,还可以对轮廓点集进行直线拟合。在OpenCV中,直线拟合通常是通过cv::fitLine函数实现的,该函数采用最小二乘法对一组2D或3D点进行直线拟合。对于2D点集,拟合结果是一个cv::Vec4f类型的向量,包含了直线的方......