2013-11-25 193 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相同的概率)