自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (10)
  • 收藏
  • 关注

原创 使用RANSAC拟合二维直线

二维直线的拟合

2024-04-03 09:41:55 463

原创 PCL拟合并绘制平面和柱面(三)

在使用PCL拟合平面和柱面后,需要绘制自定义大小和位置的平面和柱面以便于可视化。

2024-04-02 09:40:51 372

原创 PCL拟合并绘制平面(二)

普通的方式在一般情况下可以得到较好的平面拟合效果,但是容易出现平面拟合错误或是拟合的平面不是最优的情况。此时就需要根据自己的实际使用情况,调整平面拟合的迭代次数以及收敛条件。使用RANSAC迭代的方式,获取所有迭代过程中的最优平面,虽然速度上不如普通的平面拟合方式,但是准确度有一定的提升。

2024-03-27 16:28:12 572

原创 PCL拟合并绘制平面(一)

PCL拟合并绘制平面

2024-03-18 18:24:48 657 1

原创 PCL中的点云分割模型的部分常用参数含义

PCL中的SacModel类别常用参数含义

2024-03-05 11:30:22 1189

原创 PCL常用的点云操作

PCL常用的点云操作

2024-02-19 17:24:02 476

原创 手眼标定的原理与实现

手眼标定的原理与实现。

2024-02-06 10:13:05 940

原创 关于ZYZ旋转和XYZ旋转

ZYZ旋转和XYZ旋转

2024-02-02 18:03:42 745

原创 求解三维空间点在三维直线上的投影点

求解三维空间点在三维直线上的投影点

2024-01-26 18:49:44 464

原创 Windows+Ubuntu双系统安装说明

分配安装空间、制作启动盘、安装ubuntu、其他问题。

2023-03-20 09:35:52 454 1

原创 Ubuntu常见问题(1)

sudo apt-get update报错、搜狗输入法安装、安装卸载vscode。

2023-03-20 09:35:23 922 1

原创 随机数生成

C++生成随机数、OpenCV生成随机数。

2023-03-13 09:37:39 180 1

原创 二值图像骨架线提取

二值图像骨架线提取算法:HilditchThin算法、Rosenfeld算法、OpenCV_Contrib中的算法。

2023-03-06 09:43:37 2107

原创 删除二值图中的毛刺并提取骨架线

在不改变二值图中各个连通域的连通性的条件下,删除二值图中的毛刺,并提取骨架线。

2023-02-27 10:01:49 781 4

原创 图像分割算法

阈值分割、连通域分析、区域生长、分水岭。

2023-02-20 09:41:35 756

原创 OpenCV形态学处理

膨胀、腐蚀、开运算、闭运算。

2023-02-13 14:30:19 346

原创 OpenCV连通域分析

输入一张二值图,输出图像中的各个连通域。

2023-02-10 15:34:22 362

原创 针孔相机模型的应用

假设工作距离为Zc=3m,相机焦距为f=25mm,相元尺寸为dx=dy=2.4um,且实际测量过程中需要靶标在图像上的像素直径超过10个像素,问需要设计直径为多少的靶标?假设靶标直径为Xc=10mm,相机焦距为f=25mm,相元尺寸为dx=dy=2.4um,且实际测量过程中需要靶标在图像上的像素直径超过10个像素,问最远的测试距离为?3:最高的亚像素精度为0.2*2.66=0.53mm,重复测量10次取平均值后,测量精度为0.53/sqrt(10)=0.53/3.16=0.167mm。

2023-01-30 15:31:43 487

原创 工业相机和镜头

镜头型号、数据+电源接口、定焦镜头的调焦、景深、景深大小、光圈、相机、镜头选取。

2023-01-30 15:08:29 573

原创 基础数学理论

LDLT;实对称(半)正定矩阵;顺序主子式;泰勒展开式

2023-01-28 17:46:57 585

原创 针孔相机模型

针孔相机模型中一般会涉及到图像像素坐标系、图像物理坐标系、相机坐标系、归一化平面坐标系和世界坐标系这5个坐标系。

2023-01-28 17:33:35 612

原创 那些年CUDA编程那些事(三)

使用CUDA和OpenCV将图像进行分块处理1、概述2、实现步骤2.1 使用OpenCV输入一张8000*1000的单通道图像2.2 为CUDA数组分配内存2.3 分配线程和线程,执行核函数2.4 结果输出与程序结束3、核函数的具体实现过程3.1 定义共享内存3.2 计算每个线程对应在图像中的索引3.3 保存图像块的每个像素值3.4 使用归约算法计算最终结果3.5 另一种线程模式4、完整工程代码5、实验结果6、其他1、概述前面两篇文章介绍了CUDA的基本概念,以及对数组、矩阵的简单求和操作:那些年C

2021-09-15 22:40:29 558 2

原创 那些年CUDA编程那些事(二)

使用CUDA实现简单的矩阵运算一、概述二、一维矩阵的运算一、概述上一篇大致介绍了CUDA的安装和结构,同时以一个基本的例程实现了CUDA的简单使用。这一篇具体介绍一下CUDA关于矩阵的实现步骤。二、一维矩阵的运算初始化CUDA以及其ID,这里表示使用ID为0的GPU执行算法。 cudaSetDevice(0);为CUDA内部变量分配内存,主要包括输入和输出的变量内存预分配。 //需要计算的向量的大小:2^14 int nElem = 1 << 14; printf("

2021-09-11 14:19:22 323

原创 那些年CUDA编程那些事(一)

详解CUDA的第一个例程一、概述二、简单结构描述三、标准例子四、参考一、概述使用CUDA编程的目的:在普通的加速手段(SIMD指令、C++多线程、OpenMP等)无法满足实际需求时,使用CUDA对算法运行的进行加速,以满足系统的实时性要求。举个例子:立体匹配算法、深度学习训练与测试、三维重建等。硬件需求:可以在官网上查到支持CUDA的显卡,以及显卡的运算能力。二、简单结构描述以下是Host(CPU)和Device(可以称为CUDA或GPU)的简单数据流过程。Grid是最外面的一层,称为

2021-09-09 21:43:32 1142

原创 找出数组中重复的数字

牛客网:WC148 数组中重复的数字描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1。输入:[2,3,1,0,2,5,3]返回值:2说明:2或3都是对的解法一:先排序再查找int duplicate(vector<int>& numb

2021-08-31 22:27:44 504

原创 立体匹配SGM算法

立体匹配之SGM算法简述1、概述2、算法步骤2.1 匹配代价计算2.2 代价聚合2.3 视差计算与优化3 总结1、概述看了李博的立体匹配SGM算法理论部分系列文章,觉得受益匪浅,为了具体梳理一下思路,因此简单记录一下。2、算法步骤2.1 匹配代价计算使用Census变换计算每个像素的二进制比特串。主要思想就是设计一个以某个像素为中心的5*5或是更大窗口,通过比较像素值的大小,获得每个像素的二进制比特串。感觉有点像ORB特征点中的FASt角点判断方式,以及BRIEF描述子的形成形式。在使用立体匹

2021-08-22 21:34:03 2145

原创 相机景深的含义

1、景深的含义定义取自百度百科:定义1:景深(DOF),是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。光圈、镜头、及焦平面到拍摄物的距离是影响景深的重要因素。定义2:在聚焦完成后,焦点前后的范围内所呈现的清晰图像的距离,这一前一后的范围,便叫做景深。定义3:在镜头前方(焦点的前、后)有一段一定长度的空间,当被摄物体位于这段空间内时,其在底片上的成像恰位于同一个弥散圆之间。被摄体所在的这段空间的长度,就叫景深。换言之,在这段空间内的被摄体,其呈现在底片面的影象模

2021-08-17 21:56:01 3107

原创 PaddleOCR+OpenCV实现中英文识别

PaddleOCR库的简单使用一、概述二、编译与修改2.1 准备工作2.2 编译中存在的问题三、运行与结果四、完整工程代码及三方库一、概述接上一篇文章说到,PaddleOCRv2.0的识别效果很好,因此这里试着搭建一下,看看究竟如何。本文使用v2.0.0版本进行测试,该版本对应有官方编译好的库。使用的测试环境为win10,vs2017,x64,Release使用的库包括PaddleOCR预测库2.0.2(官方给出的编译成功的CPU版本和GPU版本)、OpenCV(我用的是4.5.1,其他版本应该

2021-08-16 23:26:51 2831 5

原创 Tesseract+OpenCV实现中英文字识别

Tesseract的简单使用一、概述二、OCR中英文识别三、整个工程代码以及三方库四、总结一、概述Tesseract是比较经典的OCR算法,且能够获得较好的识别效果。既有开源的算法代码可以使用,又有编译好的识别工具,可谓是相当不错了。如此,那得赶紧试试效果究竟如何了。我是使用windows10编译Tesseract库的,但是始终都是那个乱码问题,怎么改签名页也没用,不知道有没有小伙伴遇到过这种极端的情况。最后还是在网上下载了编译好的版本,调试通过后,最终效果还不错。二、OCR中英文识别识别

2021-08-06 21:57:43 2699 2

转载 【Let It Be Color!——3D重建之纹理重建】03-基于映射的纹理重建算法(下)

在上一篇博文中,我们大致介绍了纹理重建算法的主要流程,而暂且搁置了对于接缝的处理方法。对于此类基于映射的方法来说,往往会造成相对严重的接缝问题,因此对于接缝的处理往往是研究着力需要解决的。为了弥补接缝,需要调整接缝两侧的区域颜色,以使二者相接近。论文Waechter2014提出了两种接缝处理的方案,分别是全局颜色调整和局部颜色调整,先后执行。本篇将详细介绍这两种颜色调整方法

2021-08-03 22:04:55 1290

转载 【Let It Be Color!——3D重建之纹理重建】02-基于映射的纹理重建算法(上)

在上一篇博文中,我们已经提到过纹理重建的主流方案可以分成基于融合和基于映射的方法。其中,基于映射的方法可能是更可靠的,这其中有论文地位的佐证,此外一些优秀的开源项目,例如OpenMVS,在进行纹理重建时也是采用的此种方法。从本篇博文开始,我们将开始对基于映射的方法进行详细的梳理,考虑到整体长度,这一内容可能会被拆分到数篇博文中,笔者将尝试结合论文(Waechter2014)和开源工程...

2021-08-03 21:57:28 2083 2

转载 【Let It Be Color!——3D重建之纹理重建】01-几种坐标系及相互之间的转换

3D模型的重建是视觉领域的一个重要分支。这个系列博文所围绕的范围仅限于3D重建中的纹理重建,参考Waechter的经典论文标题,我将它命名为Let It Be Color!。所谓纹理重建,简而言之,就是通过某场景的一系列2D图像和经过表面重建后得到的白模,来计算网格模型表面的颜色,从而形成彩色的3D模型。本篇博文将从几种坐标系的定义和它们相互之间的转换开始讲起。

2021-08-03 21:24:30 2100

原创 视觉SLAM:ORB视觉里程计的简单实现(四)

ORB视觉里程计的简单实现之四更新内容均匀分布的ORB算法介绍实验结果更新内容使用ORB-SLAM2中的均匀分布的ORB特征点提取算法,对原始的特征提取算法进行替换,使得提取的特征点均匀分布在场景中。这样做的好处在于:1、集中分布的特征点如果某一特征点出现错误的匹配,那么这一特征点周围可能还存在大量的特征点也同样是误匹配,这样的话产生的误差就可能比较大。2、均匀分布的特征点可以使得计算的空间三维点分布在场景中的各个区域,这样在使用PNP算法计算位姿时,一般不会产生错误的估计。(PNP算法如果使用平

2021-07-20 23:16:35 977 1

原创 视觉SLAM:ORB视觉里程计的简单实现(三)

ORB视觉里程计的简单实现之三一、概述二、更新部分1、视觉里程计类2、地图点类3、相机类4、优化类三、其他一、概述与之前不同的是,本次代码更新后使用局部地图进行特征匹配,然后计算位姿。第一步依然是提取场景中的ORB特征点,然后根据深度信息获得其在世界坐标系(第一帧相机所在的相机坐标系)下的三维坐标。最后将每个三维点构建成地图点类(包括三维坐标、方向、ID、描述子等),并放在局部地图中,形成初始的局部地图。第二步是对新来的图像帧提取ORB特征点,然后通过投影的方式,将当前帧可以观测到三维点的描述子与

2021-07-14 22:36:51 1182 2

原创 视觉SLAM:ORB视觉里程计的简单实现(二)

ORB视觉里程计的简单实现之二概述一、添加部分1.1 添加数据转换的通用函数1.2 优化函数二、更新部分2.1 视觉里程计类2.2 图像帧类三、优化效果概述接上文视觉SLAM:ORB视觉里程计的简单实现(一),上文中的代码实现后,发现位姿不稳定,抖动比较厉害。因此在此基础上对进行优化。使用G2O库,根据重投影误差,利用BA优化算法对两帧之间的位姿进行优化,使运动比较平滑。对前面文章中的一些问题进行修改。一、添加部分1.1 添加数据转换的通用函数主要用于G2O格式的位姿数据和Eigen矩阵

2021-07-01 18:55:15 958

转载 VMware虚拟机快速安装Ubuntu教程

VMware安装Ubuntu详细教程一、准备工作二级目录三级目录一、准备工作VMware Workstation15下载。这里有下载好的VMwareubuntu官网下载ubuntu镜像下载地址二级目录三级目录

2021-06-27 17:02:58 395

原创 vs2017配置opencv4.5.1的几种方式

VS2017配置opencv4.5.1一、获得OpenCV库1.1 直接下载1.2 源码编译安装二、配置OpenCV库2.1 工程下直接配置2.2 配置属性页2.3三、测试一、获得OpenCV库1.1 直接下载1.2 源码编译安装二、配置OpenCV库关于环境变量,配置环境变量只是为了方便找到dll文件,实际上不用配置,通过路径设置或是直接将dll放在工程目录下也可以找到。2.1 工程下直接配置2.2 配置属性页2.3三、测试...

2021-06-20 13:55:43 541 1

原创 opencv4.5.1的编译与使用(BEBLID 描述子)

opencv4.5.1+contrib_4.5.1的编译与简单使用0、概述1、下载1.1 opencv4.5.1下载1.2 opencv_contrib-4.5.1下载2、编译3、简单例程0、概述看到OpenCV4.5.1新出了一个描述子,可以提高特征匹配的精度,所以赶紧编译一下opencv试试看。但是在contrib模块中,所以干脆一起编译了。由于电脑GPU性能不是很好,编译非常慢,并且平时用的也很少,因此就暂时不带GPU编译了。1、下载1.1 opencv4.5.1下载opencv可以

2021-06-19 22:44:09 1043

原创 vs2017+pangolin的配置教程

Pangolin的简单使用一、Pangolin的编译二、Pangolin的配置三、测试例子一、Pangolin的编译在win10系统,使用vs2017编译64位的pangolin库是比较简单的事情。直接下载最新的pangolin库,使用cmake-gui工具编译即可,建议使用3.14以上的版本,下载地址为cmake官网。直接使用cnake-gui生成vs2017 64位的工程,编译过程中会自动下载需要的库,无需多余的配置。可以根据需要修改pangolin库的安装路径(CMAKE_INSTALL_P

2021-06-15 23:27:07 2361 2

原创 视觉SLAM:ORB视觉里程计的简单实现(一)

视觉里程计的简单实现之一概述一、基础视觉里程计的算法实现步骤二、具体实现细节1.公用2.相机类3.图像帧4.系统类5.视觉里程计类6.其他6.1 显示类6.2 地图点类6.3 地图类6.4 主函数实现7.完整工程代码与实验效果概述对于一个简单的视觉里程计,需要做的是对采用的相机进行标定,不过为了简单起见,采用数据集进行实验,先熟悉整个算法流程,然后在逐个模块地推敲,比较好。单目相机和双目相机视觉里程计都需要计算空间三维点的深度信息,而RGB-D相机可以直接获得深度信息,因此我们采用RGB-D相机拍摄

2021-06-05 21:17:51 3855 14

一个简单的orb视觉里程计工程

使用win10,vs2017结合slam14将于orb-slam2实现一个简单的orb视觉里程计

2021-08-19

PaddleOCR+OpenCV的3rd_party

PaddleOCR+OpenCV字符识别的三方库文件,下载后复制到工程中的3rd_party,即可使用。包括opencv,cuda10.2,PaddleOCR(CPU和GPU)

2021-08-16

PaddleOCR+OpenCV实现中英文识别

win10 vs2017 x64 release使用PaddleOCR+OpenCV实现中英文识别,包括CPU和GPU版本,注意不包含3rd_party。

2021-08-16

tesseract+opencv的OCR识别.rar

使用win10系统,结合VS2017,利用Tesseract和OpenCV库,实现简单的中英文字符识别程序

2021-08-06

opencv4.5.1.rar

opencv4.5.1+contrib_4.5.1在不带CUDA的情况下编译的库

2021-06-20

OpenCV4.5.1相关缓存文件.cache.rar

OpenCV4.5.1+contrib4.5.1在不带CUDA情况下编译需要下载的缓存文件

2021-06-19

pangolin.rar

使用vs2017+win10编译成功的pangolin库,Release模式

2021-06-04

EndNote-cn.rar

EndNote_cn.zip

2021-04-07

OpenCV4.5.0.rar

win7系统编译的OpenCV4.5.0+opencv_contrib-4.5.0+CUDA10.2+cudnn7.6.5,需要配合cuda10.2和cudnn7.6.5一起才能使用。

2021-02-20

G2O通用与ORB-SLAM2专用精简库

vs2017编译完成的G2O库,包括直接使用源码编译的G2O库与使用ORB-SLAM2中的精简三方库编译的ORB-SLAM2专用库两部分组成

2021-02-20

空空如也

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

TA关注的人

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