目录

VS2019 配置 LibTorch 和 OpenCV

下载所需要的库

LibTorch OpenCV

配置环境变量

LibTorch 配置到 lib 目录就好,OpenCV根据自己选择使用的 vc14 或 vc15 配置到其下面的 bin 目录

https://pic2.zhimg.com/80/v2-d00186fe45d81dfca2c9e481f3e2cfd5_1440w.jpg

https://pic4.zhimg.com/80/v2-f2f2a5f52fc5deca47f49ff7a773167f_1440w.jpg

用VS新建一个空项目

https://pic4.zhimg.com/80/v2-7ecdf9943b0011c119142c172ee1f113_1440w.jpg

https://pic4.zhimg.com/80/v2-d1e2625eda84ed71c008ba81545a9acb_1440w.jpg

https://pic4.zhimg.com/80/v2-69174c55064b87e504e5b897807b5387_1440w.jpg

配置 OpenCV

  1. 右键项目选择属性

https://pic2.zhimg.com/80/v2-9790e89f0df7afdf3152218bc11661ed_1440w.jpg

\2. 更改配置为所有配置并选择 VC++ 目录中的包含目录

https://pic2.zhimg.com/80/v2-a3b95596ab12b14d5e2923b2569de971_1440w.jpg

https://pic2.zhimg.com/80/v2-87670c3631cca6ed7aba6a486003af9d_1440w.jpg

\3. 添加头文件到包含目录 (刚才下载的OpenCV目录) opencv/build/include

https://pic1.zhimg.com/80/v2-81147432810ff80d0d735a3935f4c7d8_1440w.jpg

https://pic4.zhimg.com/80/v2-c9eae04831b65fd7aab7243e67e9d0a7_1440w.jpg

\4. 添加库目录并保存

https://pic2.zhimg.com/80/v2-ca429a6d09e07f545fcd088cb695c885_1440w.jpg

https://pic3.zhimg.com/80/v2-a8dba416c145ceb27ef854b7725f50aa_1440w.jpg

\5. 添加 OpenCV 库文件名字到 链接器-输入-附加依赖项,其中添加的名字和刚才配置的库目录中的lib文件名相同

https://pic4.zhimg.com/80/v2-abf107d2c7ee660c6ccb2c50c59a9123_1440w.jpg

https://pic3.zhimg.com/80/v2-6f0824e534e9bdd7c59f330af1ca5dd6_1440w.jpg

https://pic2.zhimg.com/80/v2-008717e029242498e379a525221ed1e1_1440w.jpg

\6. 在源文件添加一个文件测试OpenCV

https://pic4.zhimg.com/80/v2-aa02d8a4fe0428bc1432dbe528352c83_1440w.jpg

https://pic1.zhimg.com/80/v2-c75503ab8813aa9c12fb5c57a10dd790_1440w.jpg

\7. 添加如下代码进行测试,更改运行环境为 x64 点击运行

1
2
3
4
5
6
7
#include <opencv2/opencv.hpp>
int main() {
	cv::Mat img = cv::imread("图片路径");
	cv::imshow("", img);
	cv::waitKey(0);
	return 0;
}

https://pic4.zhimg.com/80/v2-5559724efc4e044fa2049b6f68501023_1440w.jpg

https://pic1.zhimg.com/80/v2-33bfd6f92fbee611f78dace6c19e9f44_1440w.jpg

配置 LibTorch

  1. 在属性-VC++目录-包含目录中添加 LibTorch 头文件

https://pic4.zhimg.com/80/v2-57cfce5a98475b83ecd6e3d490d3ec6f_1440w.jpg

\2. 在属性-VC++目录-库目录中添加 LibTorch 的库目录

https://pic1.zhimg.com/80/v2-b9441680e27088aad17959cfd643cbbc_1440w.jpg

\3. 在属性-链接器-输入-附加依赖项中添加LibTorch的依赖

1
2
3
4
c10.lib
torch.lib
torch_cpu.lib
torch_cuda.lib

https://pic1.zhimg.com/80/v2-fbee7bbc0dc2ab91cf8758695dc0fc78_1440w.jpg

\4. 添加测试代码测试

1
2
3
4
5
6
7
8
#include <torch/torch.h>
#include <iostream>
int main() {
	torch::Tensor data = torch::rand({ 3, 3 });
	std::cout << data << std::endl;
	std::cout << torch::cuda::is_available() << std::endl;
	return 0;
}

https://pic3.zhimg.com/80/v2-160a872665fbbe5342a905ca5a24cd16_1440w.jpg

我机器上面是有 cuda 的但是这里显示没有 cuda,下面进行 cuda 配置可能有些版本不同

\5. 配置支持 cuda

  • 在属性-链接器-命令行中添加如下字符串
1
2
3
4
5
# 下面是 cuda10 的
/INCLUDE:?warp_size@cuda@at@@YAHXZ

# cuda11 可以尝试下面的
/INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z 
  • 测试

https://pic1.zhimg.com/80/v2-2e619b810b0a86c821bb011823db81b0_1440w.jpg

可能出现问题的解决方案

  1. 没有配置环境变量
  • 属性-调试-环境中添加环境变量(换成自己的地址)
1
PATH=\path\to\libtorch\lib;\path\to\opencv\build\x64\vc15\bin;%PATH%;

https://pic4.zhimg.com/80/v2-66a7bfa0a2b7109eda0b848ebabab983_1440w.jpg