自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

低调猫熊的博客

机器视觉爱好者

  • 博客(14)
  • 收藏
  • 关注

原创 Yolov8_obb旋转检测网络Opencv部署(C++版)

这里的输入是640*640的3通道图,输出可以看作是8400行7列的一个矩阵,每一行对应的值依次为预测框的中心坐标(x, y)和框的宽高w,h。对模型类别的判断使用minMaxLoc函数比较方便,包括各分类网络也都是使用取输出向量的最大值来获取类别的。到这里,其实就很简单了,剩下的就是遍历每一行,并将对应的值放到自己的结构体里面,供后面画框的时候使用了。根据输出的内容,我们可以建一个结构体,便于后面存储和使用。这一篇再分享一下OBB旋转检测的部署,也是仅使用Opencv的dnn库的C++部署。

2024-03-22 16:52:29 1603

原创 YOLOV8使用Opencv部署实现(C++版)

这里的输入其实就是一张640*640大小的RGB三通道图片,输出是一个8400行5列的矩阵。这里的输出维度8400是和训练时选择的模型有关(本文选择的s),5是和自己的检测类有关(一般为类别数加4,4为坐标x,y,w,h)。今天跟大家分享一下yolov8的C++部署,网上有很多Tensort的教程,其实部署原理都一样,只是看到很少有介绍这部分的,所以分享一下。可以看到,模型输出的值与上文说的是对应的。这里进行了归一化操作,包括之后输出的值,也都是归一化之后的,要获取对应的像素值需要进行转换。

2024-03-18 17:19:11 1679 1

原创 三维视觉--基于PCL已知点和位姿信息的点云分割(C++)实现

上一篇分享了如何在点云上生成直线点云,可以用来画坐标系和进行点云的筛选剔除。这篇文章用来介绍如何进行点云的分割剔除部分。

2024-01-31 14:30:44 523

原创 三维视觉--基于PCL的等距离点云直线生成(C++)实现

在点云处理过程当中,常常需要计算某一点的点云位姿,为了能够更加直观的展示姿态信息,很多时候需要我们将姿态信息能够在点云上以坐标轴的形式显示出来。

2024-01-31 14:14:47 451

原创 三维视觉--更好的点云平面参数获取(C++版)实现

之前有遇到过在使用PCL进行点云的ransac平面拟合的时候,所获得的内点平面参数不准确的情况。因为受到ransac迭代次数等的影响,所以会存在获取平面参数不准确的情况。这篇文章中,我想大家分享一下当时我的解决方法,就是对ransac之后的内点进行最小二乘法的平面拟合。这样可以最大限度的发挥这两个方法的优势。草稿代码可能不是那么严谨,但运行起来问题不大。

2023-11-18 14:26:46 173

原创 三维视觉——使用PCL对点云进行条件分离(C++版)

在我们平时对点云的处理中,常常需要将整体点云中满足不同条件或要求的点云进行分离,再分别做不同的操作。因为大家的需求不一,所以,这里我就用XYZRGB的格式去介绍了(这种格式的点云更加直观),类似的XYZ、XYZRGBA等等原理都是相通的,没什么区别。类似的,XYZ格式的可以通过坐标范围,对点云进行分离,以此联想类推。这里使用三种不同的方式来对点云进行分离操作,就是想法思路的不同,就是可以多多发散思路,完成目标。

2023-09-12 09:46:14 267 2

原创 PCL求三个面的交点原理详细教程(C++版)实现

我们知道,面在三维空间中就是一个方向(法向)加上一个距离原点的距离(常量),通常用Ax+By+Cz+D=0。这里的(A,B,C)就是法向,也就是该面在坐标系下的朝向,D就是该面距离坐标原点的距离。有了这样的理解,下面的代码就好写了。也就是说,计算三个面的交点,就是求三个平面方程的解。方程都怼到脸上了,三个面的A/B/C/D都知道了,求个x,y,z就很简单了。当然,上矩阵更通俗点,上面的方程直接表示为:AX+C=0。其中,A为3*3的系数矩阵,由三个面的法向构成。C为3*1的常数矩阵,由三个面的常量构成。

2023-08-03 20:03:08 577

原创 PCL获取两个点云的公共部分详细教程(C++版)

这篇文章跟大家分享如何使用PCL库实现两个点云公共点的提取。第一种:自己写一个判断,也就是通过判断点的坐标是否相等 ,具体实现如下。判断写好后,就可以在主函数里读取点云,在申明一个新的点云用来存公共点。方法二:使用滤波器实现,具体实现如下。

2023-07-29 16:24:05 278

原创 三维视觉--使用PCL求两个面的交线表达式详解(含C++源码)

在点云中,很多时候我们需要求两个点云平面的交线,从而进行其他方面的分析。空间中,我们还可以通过获取交线的方向和交线上一点来计算出交线方程。也就是空间中,只要知道一个点和该点的方向,便能确定一条直线了。在拟合出平面的同时,我们也可以获得平面的法向,将两个平面的法向叉乘,就可以得到交线的方向了。至此,我们就可以获取两个平面点云的交线表达式了。也就是交线就是两个平面表达式做差,

2023-07-27 18:00:05 1979 5

原创 三维视觉--基于Mech-Eye梅卡深度相机的点云获取方案实现(C++版)

最近计划将三维视觉专栏尽快多写一些内容,对于点云的获取,其实都是大同小异,获取点云固然重要,但是对点云的处理也是一项十分重要的技能,尤其是深度学习日益发展的今天,将深度学习用于点云的检测、分割和特征提取已经成为三维视觉岗位应该具备的技能之一。所以,在这一篇分享结束之后,我计划多分享一些点云处理包括深度学习在点云上的应用等方面的文章,希望可以给感兴趣的朋友一些思想上的火花。

2023-07-21 11:00:57 891 2

原创 三维视觉--基于Kinect2.0深度相机的点云获取方案实现(C++版)

上一篇中使用的点云获取设备是Intel Realsense d455相机,这两天接触的相机不少,也发现很多点云检测和分割的论文中使用的都是Kinect相机,今天就再分享一篇使用Kinect2.0获取点云并使用C++实现。首先还是相机SDK的下载和安装:可以去官网下载,也可以到我之前分享的百度网盘获取。

2023-07-17 15:05:01 1438 1

原创 三维视觉--点云获取(Intel Realsense d455深度相机)方案实现C++版

关于点云的获取,网上搜了好久,只有一些概念性的介绍,没有实际的(代码),所以我就写一篇获取点云的具体操作方法和实现代码。我觉得把点云的获取分为两步,可能更有利于对点云的理解。此外,因为这里会涉及到点云的一些操作,所以我们还需要配置点云库,目前主流用的是Open3D和PCL,用起来差不多,我这里以PCL1.10.0为例,具体配置步骤网上有很多教程,可以参考。下载好后直接安装就可以,安装路径自选,安装完成后,桌面会有对应的软件,可以直接打开相机(有操作文档,这里不赘述,感兴趣的可以研究研究)。

2023-07-17 14:41:55 3902 6

原创 Yolov5目标检测+Unet多类别分割C++(onnx联合部署)详细教程

这篇主要内容就是yolo目标检测网络和Unet语义分割网络的联合C++部署。用到yolo主要是为了节省Unet部分的计算资源和分割精度,因为检测框会将非目标物删除,这样分割网络只需分割目标框内的二维信息即可。

2023-07-15 18:17:33 4359 2

原创 多类别语义分割C++实现(onnx部署)详细教程

Unet多类别语义分割C++实现(onnx部署)详细教程

2023-07-14 16:48:28 2827 4

三维视觉-基于Mech-Eye梅卡深度相机的点云获取方案实现(C++版)

三维视觉--基于Mech-Eye梅卡深度相机的点云获取方案实现(C++版),内涵源码和SDK

2023-07-21

基于深度相机Kinect2.0的点云获取方案实现(C++版),包含SDK和全部代码

基于深度相机Kinect2.0的点云获取方案实现(C++版),包含SDK和全部代码

2023-07-17

点云获取(深度相机)方案实现C++版,内涵全部代码和SDK安装包

点云获取(深度相机)方案实现C++版,内涵全部代码和SDK安装包

2023-07-17

Yolo+Unet联合C++部署

实现了yolov5网络模型和unet多类别分割模型的联合C++部署,可直接运行。

2023-07-15

多类别语义分割C++实现(onnx部署)详细教程

内含opencv455安装包和完整的c++代码,实现二维图片的多类别语义分割。

2023-07-14

空空如也

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

TA关注的人

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