opencv怎么开启GPU加速

Jay猿 2014-05-27 02:20:15
我在网上搜索了很多关于OPENCV用GPU加速的例子,是用cmake编译opencv,勾选上with cuda,可是实际上我做了,编译后就无法使用了。有人说不需要重新编译的,只要设置一下cuda环境,可是我不知道具体怎么做,单独用cuda编译时没有问题的,可是用opencv的getCudaEnabledDeviceCount返回值却总是0。我已经做了很多努力,希望知道正确的操作是怎样的,是不是我在编译中有什么问题,我希望自己能克服这个困难,并能给予更多和我遇到同样问题的人帮助。
...全文
16102 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jay猿 2017-01-24
  • 打赏
  • 举报
回复
我在网上下载了一个,直接就能用了,感谢各位的帮助,很有用。
超凡三眼仔 2016-12-11
  • 打赏
  • 举报
回复
需要使用CMAKE联合编译OPENCV和CUDA
hujingshuang 2016-12-01
  • 打赏
  • 举报
回复
引用 10 楼 hust_bochu_xuchao 的回复:
[quote=引用 4 楼 wangyaninglm 的回复:] 需要重新编译opencv 的,最后getCudaEnabledDeviceCount();这个函数返回值大于零才行


// first.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"

#pragma comment(lib,"opencv_gpu2410.lib")
#pragma comment(lib,"opencv_core2410.lib")

using namespace std; 
using namespace cv; 
using namespace cv::gpu;
int main()
{
	int i;
	try
	{
		cout << getCudaEnabledDeviceCount();
	}
	catch(const cv::Exception& ex)
	{
		cout << "Error:" << ex.what() <<endl;
	}
	system("PAUSE");
	return 0;
}


请你那里有编译好的包含gpu modul的opencv249-2413的库吗 跪求一份,不胜感激啊[/quote] 我前几天刚编译好,不知道你的是什么配置,我的是win10 + vs2013 + opencv2.4.13 + CUDA8.0.44 + tbb44_20160803oss_win + GTX950M + CMake3.4.3,编译比较顺利,没有出问题,目前也能正常使用。
  • 打赏
  • 举报
回复
引用 4 楼 wangyaninglm 的回复:
需要重新编译opencv 的,最后getCudaEnabledDeviceCount();这个函数返回值大于零才行


// first.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"

#pragma comment(lib,"opencv_gpu2410.lib")
#pragma comment(lib,"opencv_core2410.lib")

using namespace std; 
using namespace cv; 
using namespace cv::gpu;
int main()
{
	int i;
	try
	{
		cout << getCudaEnabledDeviceCount();
	}
	catch(const cv::Exception& ex)
	{
		cout << "Error:" << ex.what() <<endl;
	}
	system("PAUSE");
	return 0;
}


请你那里有编译好的包含gpu modul的opencv249-2413的库吗 跪求一份,不胜感激啊
qq_25537607 2016-07-24
  • 打赏
  • 举报
回复
http://johnhany.net/2015/10/windows7-compile-opencv3-with-cuda/#comment-789 这个博客有用。
shangwuhencc 2015-12-03
  • 打赏
  • 举报
回复
我也遇到了,目的也是开启opencv的GPU模块,所以就重编译opencv,版本是2.4.11,然后在vs2010里面生成库的时候,总是会缺少,一开始是highgui的dll没有生成,出现error LNK2019,后来反复试了好几次,就变成了无法生成gpu那个dll了
super_qian 2015-10-28
  • 打赏
  • 举报
回复
您的问题解决了吗?我和你遇到了同样的问题
Jay猿 2014-11-03
  • 打赏
  • 举报
回复
我试过很多次,自己编译的都没有成功,哪个返回值总是显示为0,后来我从别人那里下载的返回了大于0的值,在调用时GpuMat和Mat赋值之间就提示未定义,发布的例子也没有通过。。。官方例程有不少也没走通,比如IplImage* iplImg = cvLoadImage("greatwave.jpg", 1); Mat mtx(iplImg);这个就没有走通 提示error C2664: “cv::Mat::Mat(const cv::Mat &)”: 不能将参数 1 从“IplImage *”转换为“const cv::Mat &” 1> 原因如下: 无法从“IplImage *”转换为“const cv::Mat” 1> 无构造函数可以接受源类型,或构造函数重载决策不明确
姿迷姿乐 2014-10-17
  • 打赏
  • 举报
回复
4楼说的对。。
shiter 2014-10-13
  • 打赏
  • 举报
回复
需要重新编译opencv 的,最后getCudaEnabledDeviceCount();这个函数返回值大于零才行


// first.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"

#pragma comment(lib,"opencv_gpu2410.lib")
#pragma comment(lib,"opencv_core2410.lib")

using namespace std; 
using namespace cv; 
using namespace cv::gpu;
int main()
{
	int i;
	try
	{
		cout << getCudaEnabledDeviceCount();
	}
	catch(const cv::Exception& ex)
	{
		cout << "Error:" << ex.what() <<endl;
	}
	system("PAUSE");
	return 0;
}


cs_xiaoyuzhang 2014-06-04
  • 打赏
  • 举报
回复
是不是单独用cuda 的例子可以运行,但是用opencv 的就不行呢 如果是这样,就是你cuda配置的问题 网上很多cuda配置的文章 可以搜搜看一下。
Jay猿 2014-05-30
  • 打赏
  • 举报
回复
引用 1 楼 neustar1 的回复:
你显卡不支持cuda吧
我的显卡是GT650 ,我用显卡编写了cuda程序,效果还是可以的,单独用opencv也没有问题,cudagetdevice显示有设备,可是opencv里面的就没有显示有可用设备。
__cc__ 2014-05-29
  • 打赏
  • 举报
回复
你显卡不支持cuda吧
### 资源名称 计算机视觉-OpenCV-4.9.0版本-GPU加速版-用于图像处理与计算机视觉任务加速 ### 资源描述 OpenCV4.9.0(GPU版本)是OpenCV(开源计算机视觉库)4.9.0版本的GPU加速版本,在原生OpenCV基础功能上,集成了对NVIDIA CUDA架构的支持,可利用GPU的并行计算能力显著提升图像处理和计算机视觉任务的执行效率。 该版本包含丰富的计算机视觉算法实现,涵盖图像读取与保存、色彩空间转换、滤波与边缘检测、特征提取(如SIFT、ORB)、目标检测、视频分析等核心功能。与CPU版本相比,其GPU加速模块(如`cv::cuda`命名空间下的函数)可将计算密集型任务(如大规模图像卷积、视频帧实时处理、深度学习模型推理前的图像预处理等)的运行速度提升数倍至数十倍,尤其适用于高分辨率图像或实时视频处理场景。 适用人群主要为计算机视觉算法工程师、机器人视觉开发者、视频分析系统开发人员、高校相关专业科研人员及学生,特别是需要处理大规模图像数据或追求实时性的开发场景。 使用场景涵盖:安防监控中的实时视频目标追踪与行为分析;自动驾驶领域的车道线检测、障碍物识别等车载视觉任务;工业质检中基于机器视觉的产品缺陷快速检测;无人机航拍图像的实时拼接与处理;结合深度学习框架(如TensorFlow、PyTorch)完成图像预处理与后处理的加速等。 其他说明:使用前需确保已安装匹配版本的CUDA Toolkit和CuDNN,并在编译OpenCV时启用GPU支持(需配置CUDA路径);部分高级GPU函数仅支持特定架构的NVIDIA显卡,建议参考官方文档确认硬件兼容性;4.9.0版本修复了此前版本中部分GPU函数的内存泄漏问题,稳定性更优;若需在无GPU的环境下运行,可兼容调用CPU版本函数,但需注意代码中GPU相关接口的适配处理;开发中可参考Ope

4,501

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧