2013-11-25 144 views
1

是否可以使用GPU编写PyOpenCV代码?我想知道如果我能写的Python如下:PyOpenCV支持GPU吗?

#include <opencv2/opencv.hpp> 
#include <opencv2/gpu/gpu.hpp> 
using namespace cv; 
int main() { 
    Mat src = imread(“car1080.jpg”, 0); 
    if (!src.data) exit(1); 
    gpu::GpuMat d_src(src); 
    gpu::GpuMat d_dst; 
    gpu::bilateralFilter(d_src, d_dst, -1, 50, 7); 
    gpu::Canny(d_dst, d_dst, 35, 200, 3); 
    Mat dst(d_dst); 
    imwrite(“out.png”, dst); 
    return 0; 
} 

回答

3

PyOpenCVOpenCV的2.1.0后停止更新,并它不支持的OpenCV的GPU模块

时下OpenCV offers it's own APIPython programmers,但不幸的是它也doesn't support the GPU module yet

+0

所以我觉得让“图像处理生产力”的唯一办法是让原始数据“numpy”数组,并使用我自己的“CUDA或OpenCL”内核来处理它?或者...确实存在OpenCV与GPU上的DIP一起使用的其他选择吗? – FacundoGFlores

+1

实际上,为C++ GPU模块自己写[自己写Python包装器](http://stackoverflow.com/questions/145270/calling-c-c-from-python)更容易。使用这种方法,您不必亲自编写算法。 ;) – karlphillip

+0

是的,我认为它......会影响性能吗? – FacundoGFlores

0

不幸的是,你不能。

没有GPU的/ CUDA/OCL绑定暴露于脚本层(所以,在Java相同的概率)