https://github.com/bhoja1234/yolo-onnxruntime-cpp
Cpp-based onnx deployment, supporting yolo and unsupervised models
https://github.com/bhoja1234/yolo-onnxruntime-cpp
anomalib cpp onnx onnxruntime opencv yolo
Last synced: 2 months ago
JSON representation
Cpp-based onnx deployment, supporting yolo and unsupervised models
- Host: GitHub
- URL: https://github.com/bhoja1234/yolo-onnxruntime-cpp
- Owner: Bhoja1234
- Created: 2025-05-06T02:51:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-06T03:37:35.000Z (about 1 year ago)
- Last Synced: 2025-05-06T04:19:00.277Z (about 1 year ago)
- Topics: anomalib, cpp, onnx, onnxruntime, opencv, yolo
- Language: C++
- Homepage:
- Size: 22.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# yolo-onnxruntime-cpp
基于Onnxruntime的Yolo模型部署,无监督模型部署
支持检测、分割、分类、关键点检测、无监督模型
## 环境
- Opencv 4.x
- Onnxruntime 1.9
- CUDA 12.5
- OS: windows11 x64(x86不支持CUDA)
## 配置
需要配置好opencv和onnxruntime环境
## 使用说明
以检测模型为例:
```cpp
DetectTest(){
DCSP_CORE* yoloDetector = new DCSP_CORE;
yoloDetector->classes = { "person" };
DL_INIT_PARAM params;
params.ModelPath = "./models/yolov8n.onnx";
params.rectConfidenceThreshold = 0.5;
params.iouThreshold = 0.5;
params.imgSize = { 640, 640 };
params.modelType = YOLO_DETECT;
...
yoloDetector->CreateSession(params);
Detector(yoloDetector);
}
```
1. 指定模型检测类别:yoloDetector->classes = { "person" };写几个就检测几个。例如检测模型类别0表示"person",类别1表示"bicycle", 类别2表示"car"...大括号里面只写"person",其他检测类别就会被过滤;大括号里面写两个字符串,就会只检测前两个。
2. 指定模型路径:params.ModelPath
3. 具体图片路径需要在Detector()中设置
## 运行
在`main(){}`中,选择自己需要的模式,运行 `源.cpp`即可,自动检测GPU,没有GPU默认使用CPU
```cpp
main(){
...
//DetectTest(); // 检测
//ClsTest(); // 分类
SegmentTest(); //分割
//KeypointTest(); // 关键点检测
//UnsuperviedTest(); //无监督
...
}
```
## 效果


