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;
}

执行结果如下,一切正常:



另:在windows10上编译OpenCV2.4.13+CUDA8.0的步骤与上面操作步骤相似,只需修改的是:

(1)、为了加快编译速度,去掉BUILD_DOCS、BUILD_EXAMPLES、BUILD_PERF_TESTS、BUILD_TESTS、BUILD_opencv_world的勾选;

(2)、windows10,显卡为NVIDIA GeForce 940MX的设备对于opencv2.4.13不支持2.1,因此此时需要在CUDA_ARCH_BIN中去掉2.0和2.1,并且CUDA_GENERATION不能选择为Auto,而是默认什么都不选,操作结果分别如下图:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值