落叶霜霜
这个作者很懒,什么都没留下…
展开
-
[YoloV8目标检测与实例分割——目标检测onnx模型推理]
onnx 模型:ONNX 模型是独立于深度学习框架的,可以在支持ONNX的不同框架中加载和运行,例如ONNX Runtime、TensorFlow、Caffe2等。多框架支持:ONNX Runtime可以与使用不同的机器学习框架创建的模型一起使用,包括PyTorch、TensorFlow等,这要归功于其对ONNX格式的支持。它包含了模型的权重参数和模型结构的定义。模型转换:ONNX Runtime可以将来自支持的框架的模型转换为ONNX格式,从而更容易在各种部署场景中使用这些模型。原创 2023-12-30 20:36:17 · 1502 阅读 · 0 评论 -
【YOLOV8实例分割——详细记录环境配置、自定义数据处理到模型训练与部署】
Ultralytics YOLOv8是一种前沿的、最先进的(SOTA)模型,它在前代YOLO版本的成功基础上进行了进一步的创新,引入了全新的特性和改进,以进一步提升性能和灵活性。标注完数据之后,在工程目录下创建一个dataset目录,dataset目录下包含有images、json_labels、labels三个目录,images存放数据集的所有的图像,json_labels目录下存放labelme标注出来的所有json标签,labels为空目录。数据量考虑: 数据集的大小是选择划分比例的一个关键因素。原创 2023-12-30 20:32:41 · 1668 阅读 · 1 评论 -
[华为诺亚实验室+中科大提出TinySAM | 比SAM小10倍,精度的超车!]
最近,Kirillov 引入了一个强大的分割 anything 模型(SAM),以及一个大规模的分割数据集 SA-1B,该数据集包含了 11 亿张图像上的超过 10 亿个Mask。具有任意形状和类别的目标的强大的分割能力,SAM 已成为许多下游任务的基础框架,如物体跟踪,图像修复 和 3D 视觉。一方面,对于完整的目标,过多的采样点可能会导致目标的某些不同部分被错误地分割为独立的Mask。然而,SAM 包含重的架构,需要大量的计算能力,这阻碍了 SAM 在计算受限的边缘设备上的进一步应用。原创 2023-12-28 20:37:25 · 974 阅读 · 0 评论 -
[DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
提出的架构,双注意力U-Net与特征融合(DAU-FI Net),解决了语义分割中的挑战,特别是在多类不平衡数据集上,这些数据集具有有限的样本。DAU-FI Net 整合了多尺度空间-通道注意力机制和特征注入,以提高目标定位的准确性。核心采用了一个多尺度深度可分离卷积块,捕获跨尺度的局部模式。这个块由一个空间-通道挤压与激励(scSE)注意力单元补充,该单元模拟特征图中通道和空间区域之间的依赖关系。此外,附加注意力门通过连接编码器-解码器路径来优化分割。为了增强模型,使用Gabor滤波器进行纹理分析,使用S原创 2023-12-28 20:30:25 · 2221 阅读 · 1 评论 -
【BEV感知算法概述——下一代自动驾驶感知算法】
2.1 kitti-360数据集kitti-360是一个包含丰富感官信息和完整注释的大规模数据集。我们记录了德国卡尔斯鲁厄的几个郊区,在73.7公里的驾驶距离内,对应超过32万张图像和10万个激光扫描。我们用粗糙的边界基元对静态和动态的三维场景元素进行注释,并将这些信息转移到图像领域,从而为三维点云和二维图像提供了密集的语义和实例注释。为了收集数据,旅行车两边各配备了一个180°的鱼眼相机,前面一个90°的透视立体相机(基线60厘米)。原创 2023-12-24 19:24:21 · 2256 阅读 · 0 评论 -
【从3D点云生成平面图:一种空间划分方法】
本文所描述的算法旨在将现实世界室内场景的点云和相关的像素级房间实例标签映射作为输入,这种映射通常由最先进的实例语义分割技术得到。为了更好地描述室内场景的几何形状,本文算法首先对输入的点云进行配准,使其向上方向与世界坐标中的z轴对齐,并使用标准方法将点云转换成密集的三角形网格。这种转换对描述室内场景点云数据的丢失和遮挡更具鲁棒性。该算法分为三个步骤:形状检测、平面投影和马尔可夫随机场问题求解。首先,通过传统的形状检测方法检测一组局部几何基元,例如垂直平面。对提取的平面进行过滤和正则化,得到更规则的平面构型。原创 2023-12-24 19:19:13 · 1063 阅读 · 0 评论 -
【基于激光雷达的路沿检测用于自动驾驶的真值标注】
我们的方法包括三个主要阶段,如图1所示。首先处理点云以获得序列不同扫描的BEV(俯视图)点云表示。其次使用深度神经网络(DNN)推断每个扫描的路沿。第三步应用序列级处理步骤来获得3D路沿估计。这个最后的处理包括:1)获取与每个扫描的2D路沿检测相对应的3D点;2)从序列的扫描、2D路沿检测和车辆航迹的信息中重建检测到的3D路沿点;3)对3D路沿进行聚类、骨架化和简化,以生成符合标准化标注文件的最终折线。3.1 点云到BEV。原创 2023-12-22 19:46:26 · 1225 阅读 · 0 评论 -
[CVPR2023 | GrowSP:无监督3D点云语义分割]
然而,预训练的点特征实际上是缺乏语义的,不能作为类别进行分组。然而,本文发现这是过于激进的,因为许多属于不同类别的超点是相似的,然后在早期训练阶段错误地分配到相同的语义组,并且随着时间的推移很难纠正。对于无监督2D语义方法,在彩色图像上取得了较好的结果,但很难扩展到3D点云,主要原因是缺乏代表性的3D数据集和通用的预训练主干网络来提取点云的高质量特征。无监督分割方法不需要大量标记好的数据,对未知场景的适应性更强,具有更广泛的适应性,相信在将来会出现更多先进的无监督方法,进而缓解手工标注的繁琐。原创 2023-12-22 19:35:57 · 1616 阅读 · 0 评论 -
[CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
mesh 和点是最常见的3D场景表示,因为它们是显式的,非常适合于快速的基于GPU/CUDA的栅格化。相比之下,最近的神经辐射场(NeRF)方法建立在连续场景表示的基础上,通常使用体射线行进来优化多层感知器(MLP),以实现捕获场景的新视图合成。类似地,迄今为止最有效的辐射场解决方案建立在连续表示的基础上,通过插值存储的值,例如,体素或哈希[网格或点。虽然这些方法的连续性有助于优化,但渲染所需的随机抽样是昂贵的,并可能导致噪声。原创 2023-12-21 20:10:15 · 2267 阅读 · 0 评论 -
[图像和LiDAR点云的可微分配准]
该方法的框架主要包括以下几个步骤:VoxelPoint-to-Pixel匹配框架:该框架用于学习结构化的跨模态潜在空间。它由三个分支组成:体素分支、像素分支和点分支。体素分支和像素分支使用卷积神经网络在表示为网格的体素和像素上执行操作,以学习它们之间的对应关系。点分支用于补充体素化过程中丢失的信息。新颖的损失函数:为了学习独特的跨模态模式,该方法引入了一种自适应加权优化的损失函数。该损失函数能够根据样本之间的差异性动态调整权重,从而更好地捕捉跨模态特征之间的相关性。原创 2023-12-21 19:36:59 · 925 阅读 · 0 评论 -
【坐标系在动态SLAM中究竟有多重要】
然而,本文的分析表明,以世界为中心的表示方法可以产生更精确的目标运动估计,在相机位姿估计方面也表现更好,并且在优化过程中展现更好的稳定性。为此,我们引入了一个基于因子图的优化框架,用于开发和测试不同的动态SLAM表示。其中,图(a)展示了原始以目标为中心的结构,图(b)是其变体,修改了图结构以包含目标运动学因子,而图©保留了该因子,并且移除了以目标为中心的运动因子。由于动态物体的存在,机器人在不同时间点获取的传感器数据可能处于不同的坐标系下,因此需要建立准确的坐标变换模型,以保证定位和建图的准确性。原创 2023-12-20 19:47:31 · 982 阅读 · 0 评论 -
【OpenCV实现平滑图像金字塔,轮廓:入门】
这个术语的来源是因为当这些图像以堆叠的形式存在时,最高分辨率的图像位于底部,而最低分辨率的图像位于顶部,形象地呈现出金字塔的形状。当传递cv.CHAIN_APPROX_SIMPLE给cv.findContours()函数时,它会智能地删除冗余的点,仅保留形状的关键点,比如端点,从而用更少的点来近似表示轮廓。这个方法决定了轮廓的存储方式。举例来说,在图像拼接中,你需要将两个图像堆叠在一起,但是由于图像之间的不连续性,它的结果可能并太能令人满意。所以需要记住的是,需要被找到的物体得是白色的,背景需要是黑色的。原创 2023-10-29 21:03:03 · 815 阅读 · 0 评论 -
【OpenCV实现图像阈值处理】
这种方法根据像素周围的小区域确定每个像素的阈值,因此,同一张图像的不同区域可以获得不同的阈值,从而更好地适应图像中的光照变化。图像阈值调整是将图像的像素值按照一定规则进行二值化处理,OpenCV提供了cv.threshold函数,支持多种阈值处理类型,如二值化、反二值化、截断、阈值以下置零等。为了选择最佳的阈值 tt,算法将尝试所有可能的阈值,并计算对应的两个类别的内部方差。该算法的目标是找到一个阈值 tt,使得将图像的灰度级别分为两个类别(背景和前景),并且这两个类别的内部方差最小。原创 2023-10-25 20:54:28 · 897 阅读 · 0 评论 -
【OpenCV实现图像的几何变换】
在透视变换中,我们需要一个 3 × 3 的矩阵,这个矩阵可以将原图像中的任意点映射到输出图像中的对应点。在进行仿射变换时,我们需要在原图像中选择三个非共线的点和它们在输出图像中对应的位置。在这个例子中,pts1 是原图像中的四个点,pts2 是它们在输出图像中的对应位置。在这个例子中,pts1是原图像中的三个点,pts2是它们在输出图像中的对应位置。函数cv.getAffineTransform计算了仿射变换矩阵M,然后cv.warpAffine函数将该矩阵应用到原图像上,得到输出图像dst。原创 2023-10-25 19:22:34 · 759 阅读 · 0 评论 -
【OpenCV实现图像的算数运算,性能测试和优化,改变颜色空间】
需要注意的是,在HSV颜色空间中,色调范围是0,1790,179,饱和度范围是0,2550,255,值范围是0,2550,255。一旦你学会了轮廓的函数,你就可以做一系列事情,就像是找到一个物体的质心并用它去跟踪物体,或者是只需要在相机前移动你的手就可以画出图表,或者其他有趣的事情。其中,f0(x)f0(x)和f1(x)f1(x)分别代表两幅输入图像的像素值,αα表示权重,可以调整从0到1,实现不同程度的混合。要找到需要跟踪的颜色的HSV值,可以使用OpenCV中的cv.cvtColor()函数。原创 2023-10-24 13:47:01 · 590 阅读 · 0 评论 -
【OpenCV实现鼠标绘图,轨迹栏做调色板,图像的基本操作】
这段代码创建了一个大小为512x512的黑色图像,然后定义了一个鼠标回调函数draw_circle,该函数在鼠标左键双击时,在双击的位置画一个半径为100的蓝色(BGR值为(255, 0, 0))的圆。这个函数的第一个参数是轨迹条的名称,第二个参数是要应用的窗口的名称,第三个参数是一个默认值,第四个参数是最大值,第五个参数是一个回调函数,用于监测轨迹条值的变化。在OpenCV中,颜色图像通常使用BGR(蓝、绿、红)通道来表示每个像素的颜色,而灰度图像只有一个单通道,表示像素的亮度。原创 2023-10-20 21:30:44 · 1215 阅读 · 0 评论 -
【OpenCV实现图片以及视频的读取、显示、保存以及绘图函数】
此外,我们还可以使用cap.get(propld)函数获取视频的属性,其中propld是一个从0到18的数字,代表视频的不同属性。例如,我们可以使用cap.get(cv.CAP_PROP_FRAME_WIDTH)和cap.get(cv.CAP_PROP_FRAME_HEIGHT)来获取帧的默认宽度和高度,它们默认返回值是640×480。椭圆需要的参数会比较多。设备的索引用于区分连接到计算机的不同摄像头,通常我们会使用0或者-1表示默认连接的摄像头,如果有多个摄像头,可以使用1、2等数字来指定不同的摄像头。原创 2023-10-19 19:44:57 · 837 阅读 · 0 评论 -
【特征重要性揭秘:为什么同一个数据集会有不同结果】
因此,选择特征重要性分析方法时,最佳实践包括尝试多种方法以获得更全面的视图,使用集成方法聚合结果,更关注特征的相对顺序而不是绝对值,并且了解差异的原因,以深入了解数据和模型。同时,超参数的选择,比如PCA的主成分数量或树模型的深度,也会对结果产生影响,增加了结果的不确定性。然而,并非所有特征都同样重要。在PCA中,前几个主成分上的特征权重较大,说明这些特征在数据中具有较高的方差,因此,在这些主成分上具有较高的负载。在PCA中,数据的方差最大的方向被称为第一个主成分,第二大的方向是第二个主成分,以此类推。原创 2023-10-19 18:54:10 · 882 阅读 · 0 评论 -
【常用图像增强技术,Python-opencv】
第一个子图(ax1)显示了原始图像,第二个子图(ax2)显示了调整大小后的128x128图像,第三个子图(ax3)显示了调整大小后的256x256图像。具体地说,它将原始图像分别调整为128x128和256x256两种不同大小的图像,并将处理后的图像分别存储在resized_imgs列表的两个元素中。这些技术可以单独应用,也可以组合使用,根据具体任务和数据集的特点选择合适的增强方法,以增加数据的多样性,提高模型的性能和泛化能力。调整图像的亮度和对比度,增加图像的光照变化,提高模型的鲁棒性。原创 2023-10-18 21:47:17 · 1088 阅读 · 0 评论 -
【使用OpenCV进行目标分割与计数的代码实例详解】
在这个循环中,对分水岭算法得到的每个区域进行处理,找到每个区域的轮廓,然后用圆圈标注出物体的轮廓,并在标注中显示区域的标签。这一步将灰度图像转换为二值图像,其中灰度值大于等于245的像素被设为255(白色),小于245的像素被设为0(黑色)。这一步使用cv2.findContours函数找到图像中的轮廓,然后绘制圆圈和文本标注在图像上,表示找到的物体区域。这段代码演示了一个完整的图像分割流程,包括图像预处理、距离变换、分水岭算法的应用,以及对分割结果的后处理和可视化。原创 2023-10-18 20:44:01 · 1587 阅读 · 4 评论 -
[Python中常用的回归模型算法大全2:从线性回归到XGBoost]
在Adaboost中,每个样本的权重根据前一轮模型的错误进行调整,使得之前被错误分类的样本在下一轮中得到更多的关注,从而提高整体模型的准确性。在随机森林中,样本随机采样(有放回),同时,对于每个树的节点分裂时,特征也是从全部特征中随机选择的子集。本文深入探讨了几种常用的回归模型,包括多输出K近邻回归,决策树回归,集成算法回归,梯度提升决策树回归,随机森林回归,多输出随机森林回归,人工神经网络。在GBDT中,采用平方误差损失函数时,每一棵回归树学习的是之前所有树的结论和残差,拟合得到当前的残差回归树。原创 2023-10-17 20:14:22 · 291 阅读 · 0 评论 -
[Python中常用的回归模型算法大全:从线性回归到XGBoost]
我们将涵盖多种模型,包括保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、随机森林回归、多输出随机森林回归以及XGBoost回归。通过学习和理解这些模型,我们可以更好地选择和应用适合特定数据集的回归算法,提高预测准确性,实现更精准的数据分析和预测。需要注意的是,选择合适的回归器和评估指标对于多输出回归任务非常重要,具体选择应根据任务的特性和数据的分布情况进行。在机器学习中,多项式回归是一种常用的非线性回归方法。原创 2023-10-17 19:56:22 · 1100 阅读 · 0 评论 -
【光流法实现目标追踪:Python实战指南】
在计算机视觉领域,视频是一种非常重要的数据形式,它由一系列有序的图像帧组成。这些图像帧按照一定的逻辑顺序组成视频的不同层次,包括帧(Frame)、镜头(Shot)、场景(Scene)和视频(Video)。帧(Frame): 帧是视频的基本单元,实际上就是一幅图像。在视频中,每一帧呈现了一个瞬间的静态画面。其中,关键帧(Key Frame)是具有代表性的帧,通常用来代表整个视频内容。镜头(Shot): 镜头由一系列相邻的帧组成,这些帧捕捉了同一个事件或者摄像机的一组连续运动。原创 2023-10-16 21:24:29 · 1158 阅读 · 0 评论 -
【Python中图像相似性度量方法全面总结】
其中,来自OpenAI的Contrastive Language-Image Pre-Training(CLIP)是一种多模式零样本图像分类器,它在广泛的领域中取得了卓越的效果,而且可以在没有微调的情况下使用。使用预训练的卷积神经网络(CNNs),例如ResNet、VGG和Inception,可以轻松地从图像中提取深层特征,这种特征提取的方法彻底改变了图像相似性任务的处理方式。使用SSIM指标,你可以更全面地了解图像之间的相似性,因为它不仅仅考虑了像素值的相似性,还考虑了图像的结构信息,使得评估更加准确。原创 2023-10-16 20:54:55 · 1800 阅读 · 0 评论 -
【[rospack] Error: package ‘plumbing_pub_sub‘ not found】
在ROS 2中,ros2 run 命令是一个重要的工具,允许用户在特定的ROS包内运行可执行文件。这两个函数共同确保了 ros2 run 命令的功能:通过 get_executable_path 查找可执行文件路径,然后通过 run_executable 在子进程中运行该可执行文件,最终实现了ROS包内特定可执行文件的执行功能。因此,在排查问题时,除了注意环境变量和可执行文件的路径,也要关注ROS2 run命令对参数的处理方式,以及它是如何在子进程中执行的。它的主要功能是构建命令,并在子进程中运行该命令。原创 2023-10-15 20:51:54 · 969 阅读 · 0 评论 -
【OpenCv光流法进行运动目标检测】
随着计算机视觉技术的迅猛发展,运动目标检测在图像处理领域中扮演着至关重要的角色。在现实世界中,我们常常需要追踪视频中的运动目标,例如交通摄像头中的车辆、安防监控中的行人,甚至是自动驾驶领域中的车辆和行人。为了实现高效准确的运动目标检测,研究者们提出了各种各样的方法。在众多运动目标检测方法中,光流法(Optical Flow)是一种经典且有效的技术。光流法通过追踪图像中像素点的运动轨迹,可以帮助我们实时了解运动目标的位置和速度信息。它不仅在实时性上具有优势,还在处理各种环境和运动类型下都表现出色。原创 2023-10-13 15:54:16 · 1926 阅读 · 0 评论 -
[ValueError: not enough values to unpack (expected 3, got 2)]
在使用opencv进行关键点识别、边缘轮廓提取的时候,提示以上错误。原创 2023-10-10 13:38:03 · 489 阅读 · 0 评论 -
【yolo系列:运行报错AttributeError: module ‘torch.nn‘ has no attribute ‘Mish‘】
这个问题的原因是这个版本的torch中的torch.nn函数表里面没有这个Mish函数,需要更高版本的torch,在官方的文档中我们就可以查看这个版本里有没有包含这个模块。搜索1.12.0版本具有mish,所以这里推荐下载1.12.0版本的,也可以下载其他版本,具体的得看你自己缺少的是什么模块,其次就是自己的cuda一定要对应上。我们就搜索什么,然后开始在右边空白处按住ctrl+f,搜索mish,但是这里显示没有,说明torch1.8.1没有mish的模块,于是换torch。点击左上角的1.13的倒三角。原创 2023-08-13 17:03:09 · 2365 阅读 · 0 评论 -
【yolo系列:运行代码报错TypeError: __init__() missing 1 required positional argument: ‘c2‘】
在你的特定代码上下文中,这可能是对一个特定模块的实例化时出现的问题。出现这个问题是我在yolov7训练数据集,但是添加了别的模块导致的,比如说你添加了注意力机制,就应该在parse_model里面的模块里面加上对应的模块名字。比如我的报错是因为yolov7添加c3c2的模块,那么就需要在models/yolo.py里面的这个地方,加上你的c3c2。() missing,其实就是只缺少了其中某个模块的名字,导致引用的不是很正确,所以识别不到。加上这个刚添加的新模块,运行就没问题了。原创 2023-08-12 20:42:54 · 2669 阅读 · 3 评论 -
【yolo系列:小白建立环境报错.ReadTimeoutError: HTTPSConnectionPool(host=‘download.pytorch.org‘, port=443): Read】
第一个是因为下载安装的位置不允许有中文路径,这个比较好解决,只需要使用cd命令退出到不含中文路径的地方即可。错误提示表明在尝试从PyTorch的下载服务器下载软件包时出现了超时错误。可以选择使用清华源。第二个原因是因为,缺少numpy的库,需要先安装这个numpy,才能再安装这个。然后继续执行你的pip install torch的命令。可以使用pip安装。这将会使用清华大学的镜像源下载NumPy。建立了yolo的环境,使用pip命令报错。如果上面是win+r的管理员。原创 2023-08-12 20:20:53 · 602 阅读 · 0 评论 -
【yolov系列:小白yolov7跑数据集建立环境】
官方推荐的cuda版本为10.2和11.3,这两种 cuda 支持大多数的 pytorch 版本。其中yolov7是环境的名字,python的版本为3.8,也可以是3.7或者是3.6以及3.9版本,但是涉及到目前网络上很多程序的运行,3.8的版本是最通用的。这篇文章是为了记录自己的环境配置过程,当作笔记使用来看,目前网上各种安装教程都有很多,但是如果涉及到更细节的部分,可能不那么容易,所以自己先做一份笔记使用。我这里的cuda版本是12.0的版本,所以去官网找到对应的torch命令。提供一篇转载文章使用。原创 2023-08-12 20:06:44 · 733 阅读 · 0 评论 -
【yolo系列报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x98 in position 1093】
这应该是windows特有的问题,因为win的默认编码方式为utf-8,而Python读入文本文件的默认编码方式为gbk。直接下载的源码一般没有任何问题,需要修改系统变量的python读取格式。直接修改yolov7的yaml为下面,粘贴即可运行。在跑数据集运行别人的配置文件,总是报错。这个是我在跑yolov7时候出现的问题。YOLOV7改进–增加小目标检测层。最后需要重启电脑,重启就会生效。话不多说,解决问题。原创 2023-08-11 16:43:01 · 504 阅读 · 2 评论 -
【关闭wandb:yolov5训练报错Wandb wandb.errors.UsageError: api_key not configured (no-tty).】
第三个就是禁用 Wandb:如果你不想使用 Wandb 进行实验跟踪,可以通过注释相关的代码行来禁用它。查找以 wandb.init 或 wandb_logger 开头的行,并使用 # 符号将它们注释掉。跑yolov5训练官方代码出现下面的问题,第一个方法就是关闭代理网络vpn,直接运行,阻止数据上传。将 “YOUR_API_KEY” 替换为你实际的 API 密钥。第二个方法就是老老实实注册。原创 2023-08-03 17:14:12 · 2636 阅读 · 0 评论 -
【yolov7报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode bytein position 2: illegal multibyte sequenc】
重新运行,如果在运行依旧报错,很大可能是读取的文件yaml不是utf-8的编码格式,需要检查编码格式,较为繁琐,建议去官网重新下载yolov7,重新运行。通过添加encoding='utf-8’参数,告诉Python在读取文件时使用utf-8编码,以解决UnicodeDecodeError的问题。这篇文章讲述的是python代码运行出错,可以参考这个文章,适用于代码少,找得到打开文件的代码使用。问题是系统的默认编码格式是GBK,而读取的yaml配置文件使用了其他编码格式。这里直接给出代码修改部分。原创 2023-08-03 16:54:15 · 888 阅读 · 0 评论 -
【Ubuntu系统18.04虚拟机ros下实现darknet_ros(YOLO V3)检测问题解析最全】
因为darknet_ros会直接订阅指定的图像话题名,然后对图像进行检测,绘制检测框,并发布相应的检测话题,因此首先需要找一个能够发布图像话题的ROS包,这里推荐使用ROS官方提供的usb_cam驱动包,可以直接将电脑自带摄像头或连接电脑的USB摄像头采集的图像发布为ROS图像话题。其中,因为是移动到搭载Ubuntu的小车上面,所以直接通过win11下载,然后通过u盘移动到小车内部Ubuntu系统,这种移动过程中文件可能会有缺少损坏导致后期运行报错,所以不建议。原创 2023-07-29 20:58:20 · 1048 阅读 · 5 评论 -
【win11+Visual Studio 2019 配置 PCL 1.12.1 的经验总结分享】
如果不是1.12.1,那么lib文件可能有一点不一样,pcl前面部分的lib文件大多数是一样的,只有和VTK中的lib文件C:\Program Files\PCL 1.12.1\3rdParty\VTK\lib里面的文件相差较大可以用以下命令取出来。和VTK中的lib文件C:\Program Files\PCL 1.12.1\3rdParty\VTK\lib这两个位置的lib文件。那么文件名字在相对的文件,debug以及release的lib文件。7)链接器-》输入-》附加依赖项-》编辑,添加lib文件。原创 2023-06-19 15:31:05 · 1997 阅读 · 1 评论 -
【python中对点云PCL库的下载安装与配置】
随机定义自己的安装目录,不过需要注意两点,如果后续有和cmake,qt或者是vtk联合配置,那么安装目录最好是放在c盘里面,不然qt和cmake的程序运行只寻找c目录下文件,找不到pcl会报错。解压pcl-1.12.1-pdb-msvc2019-win64.zip,将解压的后的所有文件,复制到C:\Program Files\PCL 1.12.1\bin里面。到此pcl安装完成。情况1:如果你之前安装过,点击remove,再重新运行OpenNI-Windows-x64-2.2.msi文件,进行安装。原创 2023-06-18 14:41:21 · 3904 阅读 · 8 评论 -
【win11的CARSIM2020安装教程最全,包括下载地址,关闭防火墙】
3、在【本地组策略编辑器】-【计算机配置】中依次打开【管理模板】、【Windows组件】、【Microsoft Defender防病毒】选择【已禁用】,点击【应用】,然后点击【确定】。8.双击【扫描所有下载文件和附件】。选择【已禁用】,点击【应用】,然后点击【确定】。2、输入【gpedit.msc】,然后点击【确定】,打开【本地组策略编辑器】选择【已启用】,点击【应用】,然后点击【确定】。9.点击【开始菜单】,然后点击【设置】。点击【隐私和安全性】。5、选择【已启用】,点击【应用】,然后点击【确定】。原创 2023-05-02 10:56:14 · 2698 阅读 · 3 评论 -
【ROS一个节点多次启动且能正常运行,怎么办?】
设置启动项 ros::init options::AnonymousName。当创建ROS节点时,会在用户自定义的节点名称后缀随机数,从而避免重名问题。分别在终端中启动相同的节点,先启动的那个会被关闭,继续执行后启动的哪个。特定场景下,需要一个节点多次启动且能正常运行,怎么办?然后就可以同时启动相同的多个节点。解决办法在代码里面加上设置启动项。原创 2023-04-17 15:26:40 · 461 阅读 · 0 评论 -
【ROS实操2话题订阅输出乌龟位姿】
已知turtlesim中的乌龟显示节点,会发布当前乌龟的位姿(窗体中乌龟的坐标以及朝向),要求控制乌龟运动,并时时打印当前乌龟的位姿。3.启动roscore、turtlesim_node、控制节点以及位姿订阅节点,控制乌龟运动并输出乌龟的位姿。在plumbing_test下面新建launch文件,然后新建文件start_turtle.launch。如果原背包里有turtlesim,则不需要添加,如果没有,则需要添加配置文件。1.首先,需要启动乌龟显示以及运动控制节点并控制乌龟运动。原创 2023-04-16 16:58:23 · 1280 阅读 · 1 评论