CUDA或OpenCV上的图像处理?

时间:2012-06-24 16:14:39

标签: image-processing opencv cuda

我需要为我的项目开发一个图像处理程序,我必须计算道路上的汽车数量。我正在使用GPU编程。我应该选择具有GPU处理功能的OpenCV程序,还是应该在没有任何OpenCV库的情况下在CUDA上开发我的整个程序?

我用来计算汽车数量的算法是背景减法,分割和边缘检测。

2 个答案:

答案 0 :(得分:6)

您可以在OpenCV中使用GPU功能。

首先访问有关此内容的简介:http://docs.opencv.org/modules/gpu/doc/introduction.html

其次,我认为上面提到的流程已经在针对GPU优化的OpenCV中实现。因此,使用OpenCV进行开发会更容易。

Canny边缘检测:http://docs.opencv.org/modules/gpu/doc/image_processing.html#gpu-canny

PerElement操作(包括减法):http://docs.opencv.org/modules/gpu/doc/per_element_operations.html#per-element-operations

有关其他功能,请访问OpenCV文档。

答案 1 :(得分:2)

毫无疑问,OpenCV拥有最大的图像处理功能集合,最近他们也开始将功能移植到CUDA。最新的OpenCV中有一个新的GPU模块,很少有功能移植到CUDA。

据说,OpenCV不是构建基于CUDA的应用程序的最佳选择,因为CUVI有许多专用的CUDA库beat OpenCV in Performance。如果您正在寻找优化的解决方案,您也应该尝试一下。