
正文
windows7 64位机上配置支持GPU版(CUDA7.5)的OpenCV2.4.13操作步骤
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
很久之前在windows7 32位上配置过GPU版的opencv,可参考http://blog.csdn.net/fengbingchun/article/details/9831837
Windows7 64位CUDA7.5的配置可以参考:http://blog.csdn.net/fengbingchun/article/details/53892997这里是在CUDA7.5已正确安装后的操作步骤:
1. 从https://github.com/opencv/opencv/releases下载opencv-2.4.13.exe,并解压缩;
2. 打开cmake-gui:如图

(1)、勾选:CUDA_FAST_MATH、WITH_CUBLAS、WITH_CUDA、WITH_CUFFT、WITH_NVCUVID
(2)、指定CUDA正确路径:CUDA_TOOLKIT_ROOT_DIR:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5;CUDA_GENERATION: Auto
(3)、如果想缩短编译的时间:可以去掉BUILD_EXAMPLES的勾选;对CUDA_ARCH_BIN的值进行设置,默认会有2.0 /2.1(2.0)/3.0/3.5,只设置其中一个;
(4)、依次点击Configure和Generate按钮,会在D:\soft\OpenCV2.4.13\vs2013_cuda_dll目录下生成OpenCV.sln工程,如下图:

3. 打开OpenCV.sln工程:
(1)、分别在Release和Debug下,选中工程解决方案’OpenCV’,点击重新生成解决方案;
(2)、在编译过程中会弹出对话框(检测到文件修改),如下图,点击全部重新加载;

(3)、编译完后,依次点击CMakeTargets,INSTALL,生成
(4)、将D:\soft\OpenCV2.4.13\vs2013_cuda_dll\install\x64\vc12\bin添加到系统环境变量中,重启系统;
4. 新建一个控制台工程,验证GPU版OpenCV库的正确性,测试代码如下:
#include <iostream>#include <string>#include <opencv2/opencv.hpp>#include <opencv2/gpu/gpu.hpp> int main(){int device_num = cv::gpu::getCudaEnabledDeviceCount();fprintf(stdout, "device count: %d\n", device_num);std::string image_name = "D:/soft/OpenCV2.4.13/opencv/sources/doc/tutorials/introduction/clojure_dev_intro/images/lena.png";cv::Mat mat = cv::imread(image_name, 1);if (!mat.data) {fprintf(stderr, "read image fail\n");return -1;}cv::gpu::GpuMat src(mat);int width = src.cols;int height = src.rows;int channels = src.channels();fprintf(stdout, "image width: %d, height: %d, channels: %d\n", width, height, channels);cv::gpu::GpuMat dst;cv::gpu::resize(src, dst, cv::Size(300, 400), 0.0, 0.0, 1);cv::Mat mat2(dst);cv::imwrite("resize.jpg", mat2);return 0;}
执行结果如下,一切正常:








