基于libtorch项目

本文介绍了利用C++编程、OpenCV、libtorch、PCL和VTK等技术开发的轨道状态智能检测系统,能检测螺栓松动、扣件问题、道床异物等,提供实时报警和生成Excel/Word报告的功能,通过3D点云直观展示结果。
摘要由CSDN通过智能技术生成

基于 2D 与 3D 激光点云的轨道状态智能检测系统
一. 项目介绍
因为设计到公司一些内容,有些内容不便展示
使用激光轮廊仪对螺栓是否有松动、扣件安装状态(移位、丢失、破损)、道床异物、夹板脱落、部件缺损,垫板厚度进行检测。软件界面具有对异常的扣件有识别显示功能,对三维缺陷(螺栓是否松动)进行三维显示、自动定位里程信息(根据超始里程和上下行以及缺准的里程进行计算)、自动统计分析形成报表(Excel/Word)、界面有实时对缺陷进行报警功能等。
二. 使用的技术
1.编程语言:C++
2.函数库:opencv,libtorch,PCL,VTK
3.界面开发:QT
三. 界面功能展示

1.登录界面

在这里插入图片描述

2.检测界面

在这里插入图片描述

3.检测画面

在这里插入图片描述

4.报告展示

Excel展示:
在这里插入图片描述
Word展示:
在这里插入图片描述

5.三维点云展示

在这里插入图片描述

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 C++ 中使用 YOLOv5,您需要进行以下步骤: 1. 安装 LibTorch 您需要从 PyTorch 官网下载适合您操作系统和 CUDA 版本的 LibTorch。 2. 下载 YOLOv5 模型 您可以从 YOLOv5 的官方 GitHub 仓库下载预训练模型。 3. 加载模型 您可以使用 `torch::jit::load()` 函数加载模型。例如: ```c++ torch::jit::script::Module module = torch::jit::load("path/to/model.pt"); ``` 4. 推理 首先,您需要将输入图像转换为 Tensor。您可以使用 OpenCV 或其他图像处理库来完成此操作。例如: ```c++ cv::Mat img = cv::imread("path/to/image.jpg"); cv::Mat img_float; img.convertTo(img_float, CV_32F, 1.0 / 255.0); torch::Tensor tensor_image = torch::from_blob( img_float.data, {1, img_float.rows, img_float.cols, 3}).permute({0, 3, 1, 2}); ``` 然后,您可以将 Tensor 传递到模型中进行推理。例如: ```c++ at::Tensor result = module.forward({tensor_image}).toTensor(); ``` 5. 解析输出 YOLOv5 模型的输出是一个包含所有检测结果的 Tensor。您需要解析此 Tensor 来提取检测结果。例如: ```c++ float* result_data = result.data_ptr<float>(); for (int i = 0; i < result.size(1); i++) { float* class_data = result_data + i * result.size(2); for (int j = 0; j < result.size(2); j++) { float* box_data = class_data + j * result.size(3); // 解析检测结果并进行后续处理 } } ``` 这是一个基本的 YOLOv5 部署流程。但是,由于 YOLOv5 的实现比较复杂,还有一些细节需要注意。建议您在实现时参考 YOLOv5 官方的 PyTorch 实现和其他开源项目,如 yolov5_cpp。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值