无需CMake,Win10+VS2015下如何使用OpenCV2.4.11的GPU模块?
无需CMake在VS2015中使用OpenCV 2.4.11 GPU模块的方法
刚好我之前折腾过OpenCV 2.4.x的GPU模块,结合你的环境:
- OpenCV版本:2.4.11
- 开发环境:Visual Studio 2015
- 操作系统:Windows 10 64位
不用CMake的话,可以按下面的步骤来配置和编写代码:
一、准备带GPU支持的OpenCV安装包
首先要确保你下载的是包含CUDA支持的OpenCV 2.4.11 Windows安装包(普通版本不带GPU模块),安装的时候选择完整安装,或者确认勾选了GPU相关组件。安装完成后,你会在安装目录的x64/vc14/lib下看到opencv_gpu2411.lib(以及debug版的opencv_gpu2411d.lib)这类GPU相关的库文件。
二、VS2015项目配置
右键你的项目→属性,按以下步骤配置:
- 包含目录:VC++目录→包含目录,添加OpenCV安装目录下的
include、include/opencv、include/opencv2三个路径 - 库目录:VC++目录→库目录,添加OpenCV安装目录下的
x64/vc14/lib(VS2015对应vc14,64位系统必须选x64路径) - 附加依赖项(可选,也可以用代码里的
#pragma comment):链接器→输入→附加依赖项,添加opencv_core2411.lib、opencv_gpu2411.lib,如果是Debug模式就换成带d后缀的版本
三、编写GPU模块代码
你提供的代码片段已经有了核心的部分,我把它补全成完整的可运行示例:
// laplacian by GPU // // (c)Copyright Spacesoft corp., 2013 rights reserved. // Hiro KITAYAMA //-------------------------------------------------------------------------- #include <opencv2/opencv.hpp> #include <opencv2/gpu/gpu.hpp> #pragma comment(lib,"opencv_core2411.lib") #pragma comment(lib,"opencv_highgui2411.lib") #pragma comment(lib,"opencv_imgproc2411.lib") #pragma comment(lib,"opencv_gpu2411.lib") int main() { // 先检查是否有可用的CUDA设备 if (cv::gpu::getCudaEnabledDeviceCount() == 0) { std::cout << "没有可用的CUDA GPU设备,请检查驱动或硬件支持!" << std::endl; return -1; } // 读取灰度图像 cv::Mat src = cv::imread("test.jpg", cv::IMREAD_GRAYSCALE); if (src.empty()) { std::cout << "图像读取失败,请检查路径!" << std::endl; return -1; } // 将CPU图像上传到GPU内存 cv::gpu::GpuMat gpuSrc, gpuDst; gpuSrc.upload(src); // 调用GPU版Laplacian算子 cv::gpu::Laplacian(gpuSrc, gpuDst, CV_32F); // 将GPU处理结果下载回CPU内存 cv::Mat dst; gpuDst.download(dst); // 归一化后显示结果 cv::normalize(dst, dst, 0, 255, cv::NORM_MINMAX, CV_8U); cv::imshow("GPU Laplacian 结果", dst); cv::waitKey(0); return 0; }
四、关键注意事项
- CUDA环境匹配:要安装和OpenCV 2.4.11兼容的CUDA Toolkit(推荐CUDA 7.5,这个版本和2.4.11适配性最好),同时确保GPU驱动是最新的
- 平台选择:VS项目必须设置为
x64平台(因为你的系统是64位,OpenCV的GPU库也是64位的),不然会出现链接或运行错误 - 库版本对应:Debug模式用带
d后缀的库,Release模式用不带的,别搞混了
内容的提问来源于stack exchange,提问作者ROLISX
相关产品推荐
相关产品推荐

