目录
1. VS219配置Opencv-4.9.0
1.1 Opencv的下载与安装
下载链接:https://opencv.org/releases/,选择windows版本,
完成后点击exe自动安装解压,在安装目录可看到以下文件:
如果不想占用过多内存,除build文件夹外,其余都可删除。
1.2 Opencv环境配置
win11添加环境变量的方法:在【开始】搜索:系统,在【系统信息】分页中找到【高级系统设置】,进入之后选择【高级】->【环境变量】->【系统变量】->【Path】,进入编辑。
按照上述方法,将opencv添加到本地环境变量,重启后生效。
1.3 配置Opencv
-
打开VS,新建空项目:
-
配置新项目
-
在视图中找到属性管理器并打开,右侧菜单栏中选择【Debug | x64】,右键点击【添加新项目属性表】。
-
同样在右侧菜单栏中选择新添加的属性表,右键选择【属性】
5) VC++目录:通用属性,选择VC++目录->包含目录,右侧下拉选择编辑,添加以下路径:
D:\opencv_4.9.0\build\include
D:\opencv_4.9.0\build\include\opencv2
6) 库目录:
D:\opencv_4.9.0\build\x64\vc16\lib
7) 附加依赖项:链接器,选择输入->附加依赖项,在D:\opencv_4.9.0\build\x64\vc16\lib路径下找到opencv_world490d.lib并写入。
- 如果配置为Debug,选择opencv_world455d.lib
- 如果为Release,选择opencv_world455.lib
8) 调试测试:
#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>
int main() {
std::string imgPath = "./img/test.png";
cv::Mat img = cv::imread(imgPath, 1);
//如果读入图像失败
if (img.empty()) {
std::cout << "打开图片失败!\n" << std::endl;
}
else
{
cv::namedWindow("RGB", cv::WINDOW_AUTOSIZE);
cv::imshow("RGB", img);
cv::waitKey(0);
cv::destroyAllWindows();
}
- 编译运行时,保持编译模式一致:Debug | x64。
- 保存的属性表可以重复利用,新建项目的通过视图->属性管理器,右键添加现有属性表,在本地找到opencv_rt_dl的保存路径,将opencv_rt_dl属性列表添加测试。
2. VS2019配置tensorRT-8.4.3.1
2.1 cuda/cudnn/tensorRT的下载与安装
Cuda: https://developer.nvidia.com/cuda-toolkit-archive
cuDNN:https://developer.nvidia.com/rdp/cudnn-archive Tensorrt:
tensorRT:https://developer.nvidia.com/tensorrt/download
注意Cuda和cuDNN具体安装过程就不在此赘述,可自行查找相关教程。tensorRT版本号最好和cuDNN版本号一致,否则会出现警告:tensorRT was linked against cuDNN 8.x.x but loaded cuDNN 8.x.x (个人建议)。
windows下查看cudnn版本的方法
- 进入cuda安装目录x:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\include。
- 找到cudnn_version.h或者cudnn.h文件,将CUDNN_MAJOR参数串联合并即可得到版本号。
-
2.2 tensorRT环境配置
下载后解压,将解压路径添加到环境变量,并将tensorRT中的include、lib、bin文件复制到指定文件夹下。
- 将 TensorRT-8.4.3.1\include中头文件复制到D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include
- 将TensorRT-8.4.3.1\lib中的lib文件复制到D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib\x64
- 将TensorRT-8.4.3.1\lib中的dll文件复制到D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin
2.3 配置tensoRT
首先找到前文保存的属性列表打开,继续编译添加tensorRT开发配置,具体操作参考前文opencv的配置过程。
1) VC++目录->包含目录(include文件夹) ,需同时包含cuda和tensortRT的include。
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include
D:\TensorRT-8.4.3.1\include
2) VC++目录->库目录:
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib\x64
D:\TensorRT-8.4.3.1\lib
3) C++ ->常规->附加包含目录:
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include
D:\TensorRT-8.4.3.1\include
4) 链接器->输入->附加依赖项:
nvinfer.lib
nvinfer_plugin.lib
nvonnxparser.lib
nvparsers.lib
cublas.lib
cublasLt.lib
cuda.lib
cudadevrt.lib
cudart_static.lib
cudart.lib
cudnn_adv_infer.lib
cudnn_adv_infer64_8.lib
cudnn_adv_train.lib
cudnn_adv_train64_8.lib
cudnn_cnn_infer.lib
cudnn_cnn_infer64_8.lib
cudnn_cnn_train.lib
cudnn_cnn_train64_8.lib
cudnn_ops_infer.lib
cudnn_ops_infer64_8.lib
cudnn_ops_train.lib
cudnn_ops_train64_8.lib
cudnn.lib
cudnn64_8.lib
cufft.lib
cufftw.lib
curand.lib
cusolver.lib
cusolverMg.lib
cusparse.lib
nppc.lib
nppial.lib
nppicc.lib
nppidei.lib
nppif.lib
nppig.lib
nppim.lib
nppist.lib
nppisu.lib
nppitc.lib
npps.lib
nvblas.lib
nvjpeg.lib
nvml.lib
nvptxcompiler_static.lib
nvrtc.lib
OpenCL.lib
上述lib文件存在于D:\TensorRT-8.4.3.1\lib和D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib\x64,不同版本的tensorrt和cuda包含的文件可能会有差异,根据实际情况进行增删。