# tensorrt-infer **Repository Path**: wangzhenlin_123/tensorrt-infer ## Basic Information - **Project Name**: tensorrt-infer - **Description**: 一个通用的tensorrt推理框架,后续会支持更多方向的前后处理cuda实现 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2023-07-25 - **Last Updated**: 2023-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍:一个全由cuda+tensorrt+cxx编写的模型预处理以及模型加速推理仓库,使用用例在main.py中均有 # 预处理 - 原始图片(810*1080) - ## 仿射变换接口 ```c++ static std::string img_dir = "../bus.jpg"; cv::Mat img = cv::imread(img_dir); cv::Size output_size = cv::Size(640, 640); //仿射变换30代表旋转角度,顺时针,1代表图像的模式,1:BGR,2:RGB; cv::Mat img2 = handle::pretreatment::Affine_transformation(img, output_size,30,2); cv::imwrite("../bus-Affine_transformation.jpg", img2); // use objs to draw to image. ``` - 变换后的效果(640*640) - ## HWC转CHW,CHW转HWC ```c++ img2 = handle::pretreatment::HWC2CHW(img2);//HWC转CHW img2 = handle::pretreatment::CHW2HWC(img2);//CHW转HWC ``` - ## 归一化 ```c++ auto img_data=handle::pretreatment::Normalization(img2,255);//归一化 ``` # 模型推理 - ## 生成engine `trtexec --onnx=yolov5s.onnx --saveEngine=yolov5s.engine` - ## tensorrt ```c++ /////////////////////////////参数声明/////////////////////// int input_height=640; int input_width=640; //////////////////////////datasets////////////////////////// int batch=2; int channel=3; vector input_data(batch*channel*input_height*input_width); for(int i=0;i