- 博客(30)
- 收藏
- 关注
原创 【PCL】PCL点云分割圆柱体
在PCL中,可以使用pcl::SACSegmentationFromNormals类来实现圆柱体模型的分割。该类可以根据法线信息对点云进行分割,并提取出圆柱体点云。其原理是使用随机采样一致性(RANSAC)算法来估计圆柱体模型的参数,并从点云中提取圆柱体模型。该算法的基本流程如下:**1、**过滤掉远离感兴趣区域的数据点。**2、**估计每个点的表面法线。**3、**使用RANSAC算法从点云中分割出平面模型,并保存。**4、**使用RANSAC算法从点云中分割出圆柱体模型,并保存。
2023-10-17 11:53:56 588
原创 【PCL】PCL点云分割之欧式聚类分割
从备选点的点集中移除种子点,并将其与种子点距离小于设定的阈值的点加入聚类的结果集。通过欧式聚类算法,可以将点云数据根据其几何特征进行聚类,从而实现对点云的分割和分析。欧式聚类算法基于点之间的欧式距离来对点云进行聚类。、如果点与其他点的欧式距离小于设定的阈值,则将其加入备选点的点集。、初始化两个空集,一个作为备选点的点集,一个作为聚类的结果集。、从备选点的点集中选择一个点作为种子点,将其加入聚类的结果集。、对于每个点,计算其与其他点之间的欧式距离。、重复步骤5,直到备选点的点集为空。
2023-10-15 17:24:54 1264 5
原创 【PCL】PCL点云分割(一)
点云分割是根据点云的空间、几何和纹理等特征将点云划分为不同的部分,使得同一部分内的点云具有相似的特征。点云分割又分为区域提取、线面提取、语义分割与聚类等。点云分割在许多应用中都是非常重要的,例如逆向工程、CAD建模、目标检测等。平面模型分割:这是PCL中最常用的点云分割方法之一。它通过识别点云中的平面模型,将点云分割为不同的平面区域。圆柱模型分割:这种方法用于识别点云中的圆柱体模型,并将点云分割为不同的圆柱体区域。欧几里得聚类分割。
2023-10-14 21:27:11 523
原创 【C++】C++中string和char*的相互转换
string和char*,作为C++中常用的数据类型,经常需要进行相互转换,故此总结转换方法。
2023-10-13 17:15:28 4480
原创 【PCL】pcl中从点云得到二维图像
点云文件具有三维空间的坐标,可以投影至任何需要的平面。得到二维图像。这里以投影到xoy平面为例。其进行投影的步骤如下:(1)确定所要投影的平面,将点云投影至该平面,得到二维点坐标;(2)求得二维点云所在平面的极值,即x_max,x_min,y_max,y_min,;(3)根据x_max - x_min,y_max - y_min和x方向的采样精度,y方向的采样精度,确定二维图像的坐标范围;(4)遍历点云,将点的坐标与极小值点的坐标做差之后乘以采样精度,即为该点在图像中的像素坐标;
2023-10-12 21:23:48 797
原创 【OpenCV】OpenCV中遍历图像像素的几种方式对比
Mat 类是OpenCV中的一个基本数据类型,它是一个n维密集数组类Mat 类表示一个 n 维密集数值单通道或多通道数组。它可用于存储实数或复值向量和矩阵、灰度或彩色图像、体素体积、向量场、点云、张量、直方图。本文将总结几种遍历像素的不同方法,在需要处理大量图片的场景,不同的遍历方法,速度上会有显著差异。用指针法遍历图像是最高效的,用迭代器遍历图像则是比较安全的。
2023-10-11 21:42:02 803
原创 【OpenCV】OpenCV中imread和imwrite函数探索
OpenCV提供了一些用于读取和写入图像的函数。imread函数可以从指定的文件中读取图像,并返回它。如果图像不能被读取(例如,因为缺少文件、权限问题等),函数将返回空值。imwrite函数则可以保存图像到指定的文件,图像格式根据文件扩展名进行选择。
2023-10-10 14:58:00 329
原创 【PCL】PCL中的包围盒计算原理及代码实现
在PCL(Point Cloud Library)中,包围盒是一种用于描述点云数据中物体边界的几何形状。它通常是一个立方体或圆柱体,可以用来包围点云数据中的物体,并且可以方便地计算点云数据中的物体位置、大小和形状等信息。PCL中提供了多种不同类型的包围盒,包括立方体、球体、圆柱体、多边形等等。这些包围盒可以通过设置它们的参数来调整其大小和形状,以适应不同的点云数据和应用场景。
2023-10-09 15:50:24 1144
原创 【OpenCV】工业视觉中如何避免运动模糊
运动模糊是在工业相机的曝光期间,由于对象移动或振动而引起的。当对象在曝光期间移动超过0.5像素时,图像将出现运动模糊。
2023-10-08 16:03:45 408
原创 【PCL】Visual Studio中配置PCL
在windows上开发PCL程序,首选IDE就是Visual Studio。本文将介绍如何在VS中配置PCL。
2023-10-07 13:44:00 450
原创 【OpenCV】OpenCV中如何遍历特定路径下的文件
在对图像文件进行处理时,常需要对特定文件夹下的文件进行处理,好在OpenCV中提供了自动查找的函数接口。本文将提供两种自动查找特定路径下文件的方法。测试结果。
2023-10-06 21:13:36 659
原创 【OpenCV]OpenCV中序列化及反序列化方法
OpenCV提供了多种序列化操作的方式:1.FileStorage: 这是OpenCV本身提供的序列化保存方法,非常适合保存参数。2.二进制序列化: OpenCV mat 可以通过二进制序列化来保存,可以保存所有的mat类型。3.XML和YAML序列化: 在OpenCV中,操作XML/YAML数据结构是cv::FileStorage。要打开磁盘上的指定文件,可以使用它的构造函数或this的open()函数。4.JSON序列化: 在OpenCV中,可以使用JSON序列化OpenCV Mat的对象。
2023-10-05 23:02:31 464
原创 【PCL】PCL保存及加载不同格式点云对比
PCL中的IO库提供了点云文件输入输出相关的操作类,IO模块利用50多个类与30多个函数来实现点云的获取、读入、存储等。本文以PCL中常见的数据格式PLY和PCD为例,比较不同格式文件的保存以及读取差异。(加载PCD格式点云时,文件名中有中文会报错)测试文件通过上述测试可知,保存文件未binary格式,所占体积最小,加载时,读取binary格式的点云速度最快。
2023-10-03 14:25:50 487
原创 【PCL】PCL中不同格式的点云文件介绍
PCL中的IO库提供了点云文件输入输出相关的操作类,IO模块利用50多个类与30多个函数来实现点云的获取、读入、存储等。3D点云数据的文件格式包括多种,如PCD、PLY、TXT、STL,OBJ、CSV,LAS等。
2023-10-02 14:05:24 1691
原创 【OpenCV】EDCircles一个带有错误检测控制的实时圆检测器
数字图像中圆形物体的检测是图像处理和计算机视觉中一个重要且反复出现的问题,尤其在工业品自动检测、线描图像辅助矢量化、瞳孔和虹膜检测、圆形交通标志检测等自动化问题中有很多应用。理想的圆检测算法对所有图像的内部参数都是固定的,即不需要对不同的图像进行参数调优,速度非常快,可以检测多个大大小小的圆,可以处理合成的、自然的和有噪声的图像,检测率高,准确率高,很少或没有错误检测。EDCircle提出的圆检测算法满足所有这些性质。
2023-10-01 13:02:37 790
原创 【OpenCV】VS2017+OpenCV部署深度学习模型
OpenCV是一个流行的计算机视觉库,它提供了很多方便的功能,包括部署深度学习模型。你可以使用Opencv与已经训练好的深度学习模型进行目标检测、图像分类、图像生成等任务。
2023-09-30 18:47:36 243
原创 【libtorch模型部署】VS2017中部署libtorch模型
用libtorch部署pytorch模型,而不是用tensorrt等工具部署模型的优势在于:pytorch和libtorch同属一个生态,API语句比较接近,并且不会出现某网络层不支持的问题。理论上只要是pytorch训练的模型都能用libtorch部署,因为他们共用相同的c++代码。具体的部署流程如下:1.模型训练:首先使用PyTorch对模型进行训练,得到一个可以使用的模型。2.模型保存:训练好的模型需要保存为TorchScript模型,这是一个可以被TorchScript解释器执行的模型。
2023-09-29 17:17:04 330
原创 【OpenCV】计算二维平面内两个矢量的旋转角度(带方向)
OpenCV中,计算两个方向向量的旋转角度及旋转方向。基本思路:向量1旋转到x轴正方向,记录对应的旋转角度,同理,将方向向量2旋转到x轴正方向,记录旋转角度,两角度作差,计算出从向量1旋转到向量2的角度,角度值为正,则为顺时针旋转,反之为逆时针旋转。
2023-09-28 12:25:29 471
原创 【OpenVino模型部署】VS2017中使用OpenVino进行模型推理
OpenVino和TensorRT类似,是硬件厂商针对自家的硬件平台开发的一套深度学习工具库,包含推断库,模型优化等等一系列与深度学习模型部署相关的功能。通俗易懂点说想要在intel-cpu或者嵌入式上部署深度学习模型,之前你使用libtorch或者tvm,这个时候可以考虑考虑openvino,其针对intel的多代cpu以及其他硬件平台做了针对的优化。
2023-09-27 08:42:07 201
原创 C++中使用boost操作文件目录系统
boost库的filesystem是一个可移植的文件系统操作符,已被收入C++17版本。它在底层做了大量的工作,使用了POSIX标准表示文件系统的路径,接口很类似标准库的容器和迭代器。使C++具有了类似脚本语言的功能,可以跨平台操作目录、文件,写出通用的脚本程序
2023-09-23 14:55:16 411
原创 Ubuntu18.04下安装点云查看软件CloudCompare
cloudcompare作为一款功能完备的点云查看编辑工具,可以在windows和Linux下免费安装使用
2023-09-22 09:01:19 1501
原创 OpenCV创建旋转矩形——通过minAreaRect返回点集的最小外接矩形
OpenCV中通过minAreaRect返回旋转矩形,常用于点集中,返回最小外接矩形
2023-09-17 16:45:39 511
原创 OpenCV旋转矩形系列(一)
OpenCV旋转矩形常用于裁剪图像中的某个特殊区域,因其构造方式多样,在不同的构造方式下,参数意义相差较大,导致在使用中走了较多弯路,特作此总结。
2023-09-15 20:49:45 1217
ImageJ-专业图像处理软件
2023-11-15
DexiNed网络模型,适用于OpenCV部署
2023-10-02
DexiNed模型-适用于libtorch进行部署推理
2023-10-02
DexiNed检测网络的xml格式模型,可用于OpenVino部署
2023-10-02
深度学习-边缘检测-DexiNed网络预测模型
2023-10-01
边缘检测任务数据集BSR-BSDS500
2023-10-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人