LightGlue-OpenCV 实现实时相机图片特征点匹配

这篇具有很好参考价值的文章主要介绍了LightGlue-OpenCV 实现实时相机图片特征点匹配。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LightGlue-OpenCV

LightGlue 是一种新的基于深度神经网络,用来匹配图像中的局部特征的深度匹配器。是 SuperGlue 的加强版本。相比于 SuperGlue,LightGlue 在内存和计算方面更高效,同时结果更准确,也更容易训练。
原项目地址如下:
https://github.com/cvg/LightGlue

近期由于实习项目需要,需要在相机上进行实时的特征点追踪。然后配置了LightGlue 原项目。但是发现 LightGlue 计算推倒出图像上左右匹配的特征点后,在代码进行到的可视化环节时,会花费大量的时间,无法满足实习项目中实时性的要求。因此在 viz2d.py 里对原项目可视化部分的代码进行修改,并添加了摄像头捕获图像后,根据捕获的第一帧图像的特征点进行特征匹配的 demo 文件 demo_camera.py,便于下载者可以直接使用。
且本项目保留了原有项目代码里的可视化部分 viz2d_bak.py,添加了一些注释便于后续读者阅读理解。因为原项目里面并没有相关的 demo,因此本项目按照原本项目里面可视化的部分也编写了相关的 demo 文件 demo_bak.py、demo2image.py 可供学习参考。

本项目地址:
https://github.com/sugarknight999/LightGlue-OpenCV.git

Step 1: 创建虚拟环境

	conda create -n lightglue python=3.10
	conda activate lightglue

Step 2: 安装 LightGlue-OpenCV 并运行

	git clone https:https://github.com/sugarknight999/LightGlue-OpenCV.git
	cd LightGlue-OpenCV
	python -m pip install -e .

Step3: 运行 demo_camera.py

在终端进入虚拟环境

	python demo_camera.py

即可运行相机并实时获得图像和匹配的特征点

效果

结果如图所示

lightglue

原理

主要是因为 matplotlib 这个库擅长画图,但是因为画图效果比较好,因此在调用里面画图部分以及保存图片部分的时候非常花费时间。
因此改动了 viz2d.py 里面的

	def plot_images(imgs, cmaps="gray", dpi=100, adaptive=True):
	def plot_keypoints(plot_img, kpts, colors=(0, 255, 0), radius=5, thickness=-1, alpha = 1):
	def plot_matches(plot_img, kpts0, kpts1, color=None, lw=2, ps=4, a=1.0, labels=None):

三个函数。
按照本来函数里面的逻辑,用 OpenCV 库重新实现了相关的功能。具体代码解释可以参考 LightGlue-OpenCV 里面的注释文章来源地址https://www.toymoban.com/news/detail-800584.html

到了这里,关于LightGlue-OpenCV 实现实时相机图片特征点匹配的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV Python – 使用SIFT算法实现两张图片的特征匹配

    1.要实现在大图中找到任意旋转、缩放等情况下的小图位置,可以使用特征匹配算法,如 SIFT (尺度不变特征变换) 或 SURF (加速稳健特征)。这些算法可以在不同尺度和旋转情况下寻找匹配的特征点 2.我们使用了 SIFT 算法检测和匹配特征点,然后使用 RANSAC 算法计算透视变换矩阵

    2024年02月06日
    浏览(50)
  • 吸烟检测从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 检测效果 由上图我们可以看到,使用YOLOV5完成了吸烟的目标识别检测,可以达到mAP可达85.38%。通过对吸烟的自动检测可以方便商场、医院、疗养院等公共场合进行禁

    2024年02月09日
    浏览(55)
  • 烟雾和火灾检测从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 图片检测效果 视频检测效果 针对住宅、加油站、公路、森林等火灾高发场景,可以自动检测监控区域内的烟雾和火灾,帮助相关人员及时应对,最大程度降低人员

    2024年02月11日
    浏览(60)
  • 智能零售柜商品识别从零开始使用YOLOv5+PyQt5+OpenCV实现(支持图片、视频、摄像头实时检测)

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 检测效果 智能零售柜商品识别,当顾客将自己选购的商品放置在制定区域的时候,能精准地识别每一个商品,从而能够返回完整地购物清单及计算顾客应付的实际商

    2024年02月08日
    浏览(47)
  • openCV 第四篇 角点检测、图像特征、图片拼接

    本文原本打算直接简单介绍一下harris和sift,之后进行特征匹配,来一波图像拼接。 想来想去还是先介绍下原理吧,虽然没人看QAQ。可以直接点击右侧目录跳转到代码区。 角点检测  和  图像特征提取(就几行代码) 以及进行图像拼接代码,来完成如下操作: 上图我们可以清楚

    2024年01月17日
    浏览(52)
  • 佩戴口罩检测从零开始使用YOLOv5+PyQt5+OpenCV+爬虫实现(支持图片、视频、摄像头实时检测,UI美化升级)

    全流程 教程,从数据采集到模型使用到最终展示。 支持图片检测、视频检测、摄像头实时检测,还支持视频的暂停、结束等功能。若有任何疑问和建议欢迎评论区讨论。 先放上最终UI实现效果 图片检测效果图 视频检测效果图 摄像头实时检测效果图 我已经处理了一份数据形

    2024年02月04日
    浏览(52)
  • 一步一步学OAK之七:通过OAK相机实现特征跟踪

    特征跟踪,也称为目标跟踪或点跟踪,是指在序列图像中追踪物体或者场景中的特定特征点的过程。特征点可以是具有独特性质的像素,如角点、边缘、纹理等。通过跟踪这些特征点,可以在连续图像帧中确定它们的位置、速度和运动轨迹。 在计算机视觉和图像处理中,特征

    2024年02月12日
    浏览(57)
  • 一步一步学OAK之六:通过OAK相机实现特征检测

    特征检测是指在数字图像中自动寻找并定位具有特定特征的图像区域或图像点。这些特征可以是在图像中具有独特外观、结构或统计特性的对象、边缘、角点、纹理等。 特征检测在计算机视觉中起到至关重要的作用,它是许多计算机视觉任务的基础,如目标检测、跟踪、姿态

    2024年02月11日
    浏览(49)
  • Web开发:React+Flask实现实时相机调用

    为了方便利用机器视觉算法,使用React+Flask前后端分离的办法实现实时相机的调用。由前端向后端请求视频流,后端接受请求后向前端发送视频流数据,方便在后端使用各种算法对视频流数据进行处理。 成功实现后,打开相机开关,即可在前端调用相机。 项目采用前后端分离

    2024年01月22日
    浏览(30)
  • (二)Qt多线程实现海康工业相机图像实时采集

    提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 本文主要讲述了使用Qt多线程实现海康工业相机图像的采集,并在界面上将两个相机采集到的图像信息同时显示出来,在

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包