1. vc2019 创建一个新项目
项目名称
2. 创建.cpp文件
源文件->添加->新建项.cpp文件
找到属性管理器->Debug/x64->vc++项目配置
3、配置文件
3.1 opencv 配置
(1) 包含目录(include 路径)
(2) 库目录(lib)
(3) 链接->输入->附加项
电脑环境变量配置
右键此电脑——>属性——>高级系统设置——>高级——>环境变量——>系统变量——>编辑环境变量, 加到path中
将 ....................\opencv\build\x64\vc14\bin 添加到系统环境变量(path)中
(4) dll文件放置
将 opencv 安装路径目录\opencv\build\x64\vc14\bin 中 3 个后缀是.dll 的应用程序扩展复制到 C:\Windows\System32 中。
测试代码:
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
int main(int argc, char** argv) {
Mat image = imread("E:/software/1.jpg");
if (image.empty()) {
printf("could not load image...\n");
return -1;
}
namedWindow("test_opencv_setup", 0);
imshow("test_opencv_srtup", image);
waitKey(0);
return 0;
}
3.2 libtorch配置
(1) 包含目录
(2) 库目录(lib)
(3)添加依赖库
本人是: E:\software\cPytorch\libtorch\lib下的lib
torch.lib
asmjit.lib
c10_cuda.lib
c10.lib
caffe2_detectron_ops_gpu.lib
caffe2_module_test_dynamic.lib
caffe2_nvrtc.lib
Caffe2_perfkernels_avx.lib
Caffe2_perfkernels_avx2.lib
Caffe2_perfkernels_avx512.lib
clog.lib
cpuinfo.lib
dnnl.lib
fbgemm.lib
fbjni.lib
kineto.lib
libprotobuf.lib
libprotobuf-lite.lib
libprotoc.lib
mkldnn.lib
pthreadpool.lib
pytorch_jni.lib
torch_cpu.lib
torch_cuda.lib
XNNPACK.lib
(4)设置dll文件的环境变量
PATH=E:\software\cPytorch\libtorch\lib;%PATH
3.3 zed配置
(1)包含目录
(2) 库目录
参考:ZED相机的使用_合工大机器人实验室的博客-CSDN博客_zed相机
zed双目相机的windows配置_bomingzi的博客-CSDN博客_zed双目相机
(3)库
sl_zed64.lib
freeglut.lib
glew32.lib
cublas.lib
cuda.lib
cudart.lib
cudart_static.lib
cudadevrt.lib
cudnn.lib
(4) zed 调试设置
参考: ZED双目相机(c++程序实现)_三眼二郎的博客-CSDN博客_zed双目相机
(5) 测试代码
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <sl/Camera.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace sl;
int main(int argc, char** argv) {
//定义相机
Camera zed;
//初始化相机
InitParameters init_p;
init_p.camera_resolution = RESOLUTION::HD720;
init_p.camera_fps = 25;
init_p.depth_mode = DEPTH_MODE::NONE;
ERROR_CODE open_state = zed.open(init_p);
if (open_state != ERROR_CODE::SUCCESS) {
cout << "fail open" << endl;
return -1;
}
//获取相机信息
auto camera_info = zed.getCameraInformation();
int new_width = camera_info.camera_configuration.resolution.width;
int new_height = camera_info.camera_configuration.resolution.height;
Mat zed_img;
cv::namedWindow("image", cv::WINDOW_AUTOSIZE);
while (!(_kbhit() && _getch() == 0x1b))
{
if (zed.grab() == ERROR_CODE::SUCCESS) {
//获取图像
zed.retrieveImage(zed_img, VIEW::RIGHT);
cv::Mat cv_img = cv::Mat((int)zed_img.getHeight(), (int)zed_img.getWidth(), CV_8UC4, zed_img.getPtr<sl::uchar1>(sl::MEM::CPU));
cv::imshow("image", cv_img);
cv::waitKey(10);
}
}
zed.close();
return 0;
}