当前位置: 首页 > wzjs >正文

吉林市网站建设公司重庆专业的网站建设公司

吉林市网站建设公司,重庆专业的网站建设公司,公司官网建设,湖州吴兴建设局网站基于C和ONNX Runtime部署YOLOv12的ONNX模型,可以遵循以下步骤: 准备环境:首先,确保已经下载后指定版本opencv和onnruntime的C库。 模型转换: 安装好yolov12环境并将YOLOv12模型转换为ONNX格式。这通常涉及使用深度学习…

基于C++和ONNX Runtime部署YOLOv12的ONNX模型,可以遵循以下步骤:

  1. 准备环境:首先,确保已经下载后指定版本opencv和onnruntime的C++库。

  2. 模型转换: 安装好yolov12环境并将YOLOv12模型转换为ONNX格式。这通常涉及使用深度学习框架(如PyTorch或TensorFlow)加载原始模型,并导出为ONNX格式。转换指令

# End-to-End ONNX
yolo export model=yolov12{n/s/m/b/l/x}.pt format=onnx opset=13 simplify
  1. C++环境配置:在CMakeLists.txt项目中正确引用了opencv和ONNX Runtime的头文件,并链接到相应的库。这允许在C++代码中使用ONNX Runtime的功能。

  2. 加载模型:使用ONNX Runtime的API加载转换后的YOLOv12 ONNX模型。

  3. 执行推理:通过ONNX Runtime的推理引擎,将图像数据输入到模型中,并执行目标检测任务。

  4. 处理结果:解析模型输出的结果,这通常涉及将输出的张量数据转换为可理解的检测结果,如边界框坐标和类别标签。

通过这些步骤,可以在C++环境中利用ONNX Runtime高效地部署YOLOv12模型,实现实时的目标检测功能。

【测试环境】

windows10 x64
vs2019
cmake==3.30.1
onnxruntime==1.16.3
opencv==4.9.0
【使用步骤】
首先cmake生成exe文件,然后将onnxruntime.dll和onnxruntime_providers_shared.dll放到exe一起,不然会提示报错0xc000007b,这是因为系统目录也有个onnxruntime.dll引发冲突,并把car.mp4也放到exe一起。运行直接输入
yolov12.exe 注意onnx路径要是你真实路径我的onnx路径是我桌面上地址

【代码调用】

注意onnxruntime使用的cpu版本库,如需使用GPU还需要修改代码才行

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs.hpp>
#include <iostream>
#include <string>
#include "YOLO12.hpp"int main() {// Paths to the model, labels, test image, and save directoryconst std::string labelsPath = "../models/coco.names";const std::string imagePath = "../data/dog.jpg";           // Image pathconst std::string savePath = "../data/dog_detections.jpg";   // Save directory// Model path for YOLOv12const std::string modelPath = "../models/yolov12n.onnx";   // YOLOv12// Initialize the YOLO detector with the chosen model and labelsbool isGPU = true; // Set to false for CPU processingYOLO12Detector detector(modelPath, labelsPath, isGPU);// Load an imagecv::Mat image = cv::imread(imagePath);if (image.empty()) {std::cerr << "Error: Could not open or find the image!\n";return -1;}// Detect objects in the image and measure execution timeauto start = std::chrono::high_resolution_clock::now();std::vector<Detection> results = detector.detect(image);auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - start);std::cout << "Detection completed in: " << duration.count() << " ms" << std::endl;// Draw bounding boxes on the imagedetector.drawBoundingBox(image, results); // Simple bounding box drawing// detector.drawBoundingBoxMask(image, results); // Uncomment for mask drawing// Save the processed image to the specified directoryif (cv::imwrite(savePath, image)) {std::cout << "Processed image saved successfully at: " << savePath << std::endl;} else {std::cerr << "Error: Could not save the processed image to: " << savePath << std::endl;}// Display the imagecv::imshow("Detections", image);cv::waitKey(0); // Wait for a key press to close the windowreturn 0;
}

部署演示可以参考视频:bilibili.com/video/BV1iYPsewEDg

http://www.dtcms.com/wzjs/588825.html

相关文章:

  • 国外网站流量查询建工网校官网app
  • 网站建设公司广告词芜湖有没有做网站的
  • 网站怎样做网银支付做网站的公司一般怎么培训销售
  • 外国建筑网站个体工商户注册公司流程和费用
  • 个人网站设计模板网站轮播图
  • 最好的免费网站空间怎么用记事本做钓鱼网站
  • 手机网站开发技术pdf没有icp许可证 举报一个准吗
  • 网站开发业务视频网站开发 博客园
  • 站点推广名词解释百度搜索量
  • 河北网站建设多少钱网站开发分析
  • 网站关键词排名优化系统泰安网络公司哪里找
  • 家居建材网站源码做网站要用什么软件图文教程
  • 宜昌平台网站建设h5页面制作案例
  • 农业网站建设方案 ppt乐平市网站建设
  • 网站开发毕设答辩软件网站建设公司
  • 门户网站运营厦门logo设计公司
  • 网站开发图品牌logo设计公司
  • 网站建设学习浩森宇特专业的网页制作公司
  • 射阳住房和建设局网站新手学做网站代码
  • 长沙正规官网建站创世网站建设公司
  • 网站可以给pdf做笔记淄博桓台网站建设报价
  • 东莞正规制作网站公司吗商家在携程旅游网站怎样做宣传
  • 深圳汽车网站建设网站建设模板报价
  • 百度不收录手机网站吗网页制作中的常见问题
  • 较好的网站设计师培训学校苏州网站建设哪家更好
  • 怎样自己做代刷网站怎样查询百度收录和排名情况
  • 做药物分析常用网站南昌网站建设推广专家
  • 移动互联网技术学什么象山关键词seo排名
  • 做电销哪些网站可以找到客户不备案 国内网站
  • 长治做网站公司wordpress mysuc cms