自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 浅析Voxel Hashing---Reference:Real-time 3D Reconstruction at Scale using Voxel Hashing

哈希表为什么能快速查找呢,我们举个例子,一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名到首字母F(x)的一个函数关系),在首字母为W的表中查找“王”姓的电话号码,显然比直接査找就要快得多。而后迭代桶内所以的哈希条目,包括由于哈希桶溢出导致放到了其他位置的哈希条目,找到最后一个已经输入的哈希条目,在其后,将新的哈希条目插入。已经满时,我们顺着哈希表,寻找其他哈希桶中的空闲位置,如果找到,在该空闲位置插入该哈希条目,并在哈希桶。为了处理溢出情况,可以扩展。

2024-09-26 17:17:11 800

原创 基于MetaShape的“分类地面点功能”实现更精准的DEM生成

左图为分类前的DEM,右图为分类后的DEM。

2024-08-27 11:18:28 147

转载 机载RTK模块定位精度1cm+1ppm的含义

指如果距离基准站的距离长2km,定位误差为(1cm+10e-6 * 1 * 2 * 10e3=1cm+2mm=)1.2cm。指如果测距3km,全站仪的测距精度为(2mm+ 10e-6 * 2 * 3 * 10e3=2mm+6mm=)8mm。例2:(定位领域)卫星接收机RTK模式定位精度1cm+1ppm。B * C:比例误差。其中 B:比例误差系数,C 是距离。例1:(测绘领域)全站仪测距精度2mm+2ppm。Ckm,则测距精度为A+(B×10e-6。

2024-08-02 09:58:13 82

原创 【最详细】PhotoScan(MetaShape)全流程教程

PhotoScan作为摄影测量方向不可或缺的软件,如何精准、高效、省事的使用,对于相关专业的本科生和研究生极其重要!②为可视化窗口,后续的稀疏点云、密集点云、Mesh、DSM等都会在该区域显示,目前显示的是我们导入的相片的位置。:PhotoScan 可以自动识别和匹配多张照片中的特征点,从而确定相机的位置和方向,实现照片对齐。:在照片对齐的基础上,PhotoScan 可以生成高密度的点云数据,反映物体表面的细节。点击上图的①添加照片,而后找到存放照片的位置,①选择需要导入的照片,②打开。

2024-07-05 21:23:18 6075 3

原创 无人机对地面运动目标定位---获取目标的移动方向和速度

我们利用单目无人机通过等时间间隔拍照的形式对地面某移动目标进行定位,当前,我们已经获得了每张相片上该目标的三维坐标,并且知道该无人机在飞行过程中拍照的时间间隔,那么我们就可以通过一定的计算,得到目标的运动方向和运动速度。

2024-07-04 08:26:07 1698

原创 C++利用TinyXML读取XML文件

TinyXML是一个轻量级的C++ XML解析器,它提供了一种简单的方法来解析和操作XML文档。适用于小型XML文件: 尽管TinyXML可以解析和处理XML文件,但它更适用于处理小型XML文件,因为它的设计目标之一是保持简洁和高效。虽然TinyXML功能不如一些更复杂的XML库,但它的简单性和轻量级使得它成为处理小型XML任务的良好选择。而后将下载的XML库文件内的两个头文件单独复制出来,放到一个新建的文件夹include内。开源: TinyXML是开源的,可以在许可证允许的情况下免费使用和修改。

2024-05-24 21:11:07 811

原创 摄影测量浅析(1)---内外方位元素、旋转矩阵、共线方程

在理想情况下,摄影瞬间像点投影中心物点位于同一条直线上,描述这三点共线的数学表达式称之为共线条件方程。共线方程的目的:建立同一个点在像空间坐标系与地面辅助坐标系中坐标值之间的对应关系。式(3)即为共线条件方程的一种表达形式。上图右式便是“用地面点坐标表示像点坐标的共线条件方程”。

2024-05-22 10:57:27 2593

原创 基于C++的OpenCV支持的KCF目标跟踪

目标跟踪是的一个重要分支,它涉及到从视频序列中检测和跟踪感兴趣的目标。KCF算法利用循环矩阵和快速傅里叶变换来高效地计算相关滤波器。它将目标表示为一个高维特征向量,并在每个帧中更新滤波器,以适应目标外观变化。KCF算法因其速度快和精度高而被广泛应用。

2024-05-15 22:33:30 1036

原创 【超详细】Visual Studio 创建DLL 、LIB及调用

复制dll 和lib文件,新建一个文件夹命名为Include,将上述两个文件放入该文件夹,而后在“文件资源管理器中打开文件夹”内找到DLL.h文件,同样放入Include文件夹内。则将DLL-Create-Test.dll复制到“在文件资源管理器中打开文件夹”目录下。注意:附加依赖项给绝对地址或者相对地址都可以,图片内是绝对地址。​复制上述Debug文件夹到任意位置,将文件夹名称改为LIB。​step5:再次“在文件资源管理器中打开文件夹”​在文件资源管理器中打开文件夹,生成解决方案----运行。

2024-05-15 22:25:20 1783

原创 CMake编译Opencv报错及解决方案汇总

该提示是有关是否给opencv自动配置环境的,为了消除这个红色错误,仅需在cmake内找到【OPENCV_GENERATE_SETUPVARS】,取消勾选即可。,随后在Cmake中重新执行【configure】,就会发现改红色错误消失。是一个布尔变量,用于指定是否生成用于设置OpenCV环境变量的文件。这个文件包含了设置环境变量所需的命令,比如将OpenCV的路径添加到。环境变量中,以便在编译和运行时能够正确地找到OpenCV库和头文件。时,CMake会在安装OpenCV时生成一个名为。

2024-05-15 11:01:14 1988

原创 基于C++读取图片的EXIF信息。

可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为的设定的,可以记录数码照片的属性信息和拍摄数据。Exif可以附加于等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。

2024-05-13 14:54:50 473 1

原创 基于C++和OpenCv对视频进行抽帧

下列代码演示了从某.MP4视频文件内以一秒一帧进行抽取,并对抽出的图片以秒数命名的全过程。

2024-05-13 14:52:01 414 2

原创 C++航天摄影测量(卫星)RPC参数求解【源代码及测试数据已上传】

RPC,即Rational Polynomial Coefficient,中文释义:有理多项式系数,是一种用于描述卫星影像几何成像模型的方法,它通过建立影像地理信息的数学模型,保护了卫星相关参数的机密性。

2024-05-08 14:34:28 1127 3

原创 KCF算法原理与发展

KCF算法是一种用于目标跟踪的基于核的追踪算法,全称是Kernelized Correlation Filters。它结合了核技巧和相关滤波器的思想,可以在视频中跟踪运动目标。该算法最初由Henriques等人于2014年提出,并且在视觉跟踪任务中取得了很好的性能。KCF算法的基本思想是将目标区域表示为一个特征向量,并使用核函数将特征向量映射到高维空间中。然后,在高维空间中使用相关滤波器来学习目标的运动模式。通过使用核技巧,KCF算法能够高效地在高维空间中进行计算,从而提高了跟踪的准确性和效率。

2024-03-22 21:16:43 1602 2

原创 摄影测量常见坐标系——框标、像平面、像空间、摄测、地辅、大地

本文图片取自山东科技大学王志勇老师的线上课程。

2024-03-20 10:01:24 2081 5

原创 3D高斯溅射——起源

3D Gaussian Splatting是一种用于计算机图形学中的渲染技术,用于将离散的点云数据转换成连续的图像。在三维场景中,点云数据通常用于表示复杂的几何形状或表面。在这种技术中,每个点云数据点被视为一个离散的高斯核(或称为高斯点),而不是简单地将每个点渲染成一个像素。通过使用高斯核函数,点云数据的信息可以更光滑地传播到图像空间中,从而产生更真实的外观。3D Gaussian Splatting的基本思想是,将每个点云数据点投影到图像空间,并将其贡献到周围像素的值。

2024-03-04 15:42:57 957 1

原创 C++无人机摄影测量——OMEGA、Phi、kappa转换为YAW,Pitch,Roll

任何处理三维旋转的人都需要熟悉欧拉角和旋转矩阵。欧拉角有助于以人类可以理解的方式描述三维旋转,因此在交互界面中很常见。另一方面,当涉及到在软件中实现高效旋转时,旋转矩阵是常用的表示。不幸的是,在欧拉角和旋转矩阵之间来回转换是一个长期以来的混乱来源。原因并不是数学特别复杂,而是有几十种。

2024-01-23 11:33:04 1843 1

原创 C++以扩展名提取文件夹中的文件名称并写入.txt中

利用扩展名提取文件名称在很多情况下能够方便我们对大规模数据进行分析。本文以“.JPG”扩展名为例,通过C++代码实现。

2024-01-19 10:46:56 577 1

原创 Opencv C++ SIFT特征提取(单图像,多图像)+如何设置阈值+如何对文件夹进行批处理+如何设置掩膜裁剪影像

SIFT(Scale-Invariant Feature Transform)是一种用于图像处理和计算机视觉的特征提取算法。由David Lowe于1999年首次提出,它是一种非常有效的局部特征描述符,具有尺度不变性、旋转不变性和对部分遮挡的鲁棒性。:通过不同尺度的高斯模糊图像,检测图像中的局部最小和最大值,形成尺度空间。:在尺度空间中,通过对极值点的局部区域进行拟合,找到关键点的准确位置。:为每个关键点分配一个主方向,使得描述子具有旋转不变性。

2023-11-10 10:32:48 4254 1

原创 Opencv C++ 七、绘制一副图像的灰度直方图

CV_8UC1是单通道,Scalar(255)对应的意思是直方图的底色是白色,Scalar(0)对应的底色是黑色。上述的onMouse和onMouse1是分别设置的两个鼠标左键点击事件,其目的是为了让我们点击原始图像或者是直方图时,能够显示出点击位置的相关灰度和坐标信息。这个函数处理鼠标左键点击事件,获取点击坐标,并计算点击位置对应的直方图灰度级别和频率。当我们点击了直方图上某一个位置,在左侧的控制台里就会出现该点的相关信息。(3)显示点击位置的数值(点击直方图);(2)获取该灰度图像的直方图;

2023-11-09 20:43:09 492 1

原创 【一步到位】Visual Studio20xx+OpenCV4.5.1+opencv_contrib的安装与配置

然后再进入文件资源管理器中,将刚刚的DebugX64.props和ReleaseX64.props复制到一个方便的位置,如果下次再想要新建文件进行OPENCV方面的操作时候,仅需在Debug|X64和Release|X64中添加现有属性表即可。请注意是在newbuild文件夹下的(若有的同志以前安装过OPENCV,请注意,这里的操作流程跟安装OPENCV一样,但是各种地址是不一样的,一定注意是在newbuild内的,并且,并不需要额外添加OPENCV的目录信息,照我这做就行。

2023-11-09 19:58:25 659 1

原创 Opencv C++ 六、灰度变换:线性变换、灰度反转、对数变换、伽马变换、(自适应)直方图均衡化

直方图均衡化的原理:直方图均衡化的核心思想是通过重新分配像素值来拉伸和扩展图像的像素值范围,以使图像的直方图更加均匀。自适应直方图均衡化是一种改进的直方图均衡化方法,它在不同图像区域上分别应用均衡化,以应对光照差异。直方图均衡化是一种简单而有效的方法,可以使图像中的像素值更均匀分布,从而改善图像的对比度。这是为了在后续的操作中存储调整后的图像,因为在进行线性变换之前,我们希望输出图像的像素值都为零。在这个特定的情况下,:这是内部的循环,用于遍历图像的通道(例如,对于彩色图像,通道可能是B、G、R)。

2023-10-25 20:07:37 5817 1

原创 Opencv C++ 五、简单的图像锐化与卷积运算

这个滤波器的中心值为5,周围的值为-1,用于增强图像中的边缘和细节。总之,这段代码设置了一个循环,遍历输入图像的每一行,并为每一行获取上一行、当前行和下一行的像素值的指针。总之,图像锐化旨在改善图像的视觉质量和细节,而卷积是一种用于实现各种图像处理任务的数学操作,包括锐化、模糊、边缘检测等。请注意,这段代码只处理图像的内部像素,所以可能不会处理图像的边缘像素,因为你的循环从。来确保输出值在0到255的范围内,这是非常重要的,因为图像像素值通常在这个范围内。相同的像素值,但它们是不同的内存实例。

2023-10-24 15:06:42 2591

原创 Opencv C++ 三、通过鼠标点击操作获取图像的像素坐标和像素值 四、生成一个简单的灰度图像。

将该图片的地址复制到.cpp的程序里,将原来的图片进行替换。就会显示该位置的坐标信息和像素值。生成的灰度图像,保存在文件根目录。该操作首先需要创建一个头文件。

2023-10-23 21:17:19 1711 1

原创 Opencv C++入门学习 二、Mat创建图像(矩阵),获取图像信息,感兴趣区域(Rect)

其中数据类型有很多种,常用的应该有:CV_8U:8位无符号型(0~255),即灰度图像;CV_8UC3:三通道8位无符号型,这里三通道指B(蓝)G(绿)R(红),与matlab中的RGB正好相反。对于灰度图像:可以直接给出初始值,也可以使用Scalar();

2023-10-22 20:45:30 643

原创 Opencv C++入门学习 一、图像的读取、显示和保存

本文所需资源:链接:https://pan.baidu.com/s/1KhVOe_J25R_fmfXLldaQjA?pwd=1024提取码:1024本系列文章为本人初学Opencv的学习随笔,若有疏漏,还望海涵。一、图像的读取、显示和保存上述代码结果如上图。此处需注意若namedWindow和imshow中的名称不一致,会导致出现如下情况:外层的IMAGE窗口可以自由缩放,然而lena这张图是默认的不可缩放模式。

2023-10-22 20:05:44 307

基于Python的MetaShape(photoscan)源代码(包含可视化窗体)

本代码由CSDN用户CV_X.Wang提供,除非获得授权,任何人不得用于商业、教学、科研等。 本代码基于Python与MetaShape库文件,本人调用了MetaShape 的API接口,实现了相较于软件,更加快速处理操作。

2024-07-05

C++航天摄影测量(卫星)RPC参数求解【完整源代码及测试数据】

本文所有代码均由CSDN用户CV-X.WANG提供,任何个人或者团体,不得进行商用和教学活动,引用或部分引用,均需获得授权。本文测试数据集来自山东科技大学测绘与空间信息学院,特此鸣谢。 算法原理及代码解释等内容请见本人博客https://blog.csdn.net/w2492602718/article/details/137773857

2024-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除