http://www.pyimagesearch.com/2016/07/11/compiling-opencv-with-cuda-support/ の指示に従って、CUDAサポートを使用してコンパイルするOpenCV 3.2コンパイルをインストールしましたOpenCVが実行時にCUDAおよびGPUサポートを使用しているかどうかを確認する方法(python2.7を使用しています)
指定したリンク で確認できるように、CUDA
コンソールでこれを入力することにより、python
が正しくインストールされているかどうかをいつでも確認できます。
_print(cv2.getBuildInformation())
_
CUDAサポートがある場合は、印刷されたテキストにUse CUDA: YES (version)
が表示されます。
次に、_cv2.cuda
_モジュールで opencv cuda コマンドを使用できます。
しかし、そのチュートリアルで述べたように、現在のCUDA
サポートはpythonにはありません。 (これらのチュートリアルは_OpenCV python
_にあるため、これがCUDA
のpython
のサポートを追加するかどうか混乱します。しかし、それはではない。)
さらに、GPU対応のCUDA環境では、OpenCVにコンパイル時の最適化を行うことができます。これにより、GPUを利用してより高速な計算を行うことができます(ただし、主にC++アプリケーションの場合、Pythonではそれほど多くありません)。現時点では)。
しかし この答え で説明されているように、PythonでOpenCL
サポートを取得できます。 this ドキュメントのように、
Open Computing Language(OpenCL)は、CPU、GPU、DSPなどの異種プラットフォーム間で実行されるコードを記述するためのオープンスタンダードです。
編集1:
もう1つのことは、python
ラッパーを_OpenCV C++
_のGPU
メソッドごとに記述し、python
を介してそれらのメソッドを呼び出すことです。これは常にGPU
メモリとRAM
メモリ間で画像やその他のデータをコピーするため、パフォーマンスが低下するため、お勧めしません。場合によっては、CPU
だけの場合よりも時間がかかることがあります。
もう1つのことは、_C++
_でGPU
を使用して実行する必要がある関数全体を記述し、その関数のpython
ラッパーを記述することです。これは以前の方法よりもはるかに優れていますが、_C++
_を知っている必要があります。
これを行うにはもっと良い方法があるかもしれません。