Opencv-python は GPU リソースを使用します -- 仮想環境のインストールと opencv ソース コードのコンパイル

準備

プラットフォームとソフトウェア

  • Windows10システム
  • Visual Studio 2019:Visual Studio コミュニティ 2019
  • Cmake:cmake-3.20.0-rc3-windows-x86_64.msi
  • OpenCV 4.51:opencv-4.5.1.tar.gz
  • OpenCV_contrib 4.5.1:opencv_contrib-4.5.1.tar.gz

NVIDIA ドライバー、CUDA および cuDnn

適切なドライバーと CUDA バージョン、および対応するバージョンの cudnn を選択し、win10 環境をインストールします。

NVIDIAマイクロアーキテクチャ、CUDA、グラフィックスカードモデルの対応

VS 2019、cmake、opencv、拡張モジュールのソース コードをインストールしてダウンロードする

VS 2019 のダウンロードとインストール

ダウンロードリンク

cmakeをダウンロードしてインストールします

ダウンロードリンク

opencv および opencv_contrib のダウンロード

opencv ダウンロード リンク
opencv_contrib

Baidu クラウド ダウンロード
抽出コード:lujx

注: 左上隅のタグをクリックし、バージョン 4.5.4 を選択し、opencv と opencv_contrib に同じバージョンを選択します。

ファイルを解凍すれば準備完了です

opencv_cudaフォルダーを作成し、このフォルダーに解凍しopencvopencv_contrib解凍し、opencv と同じディレクトリにビルド フォルダーを作成します。ここまでで準備作業は完了です。
ディレクトリ構造はおおよそ次のとおりです。

|-opencv_cuda
	|--build
	|--opencv_contrib_4.5.4
	|--opencv_4.5.4
		 |---.cache
		 |---其他原有的解压的子文件
	

最初のコンパイル プロセス中のファイルのダウンロードの失敗によるコンパイルの失敗を回避するには、.cache フォルダーを解凍された opencv ソース フォルダーにコピーする必要があります。

OpenCVをコンパイルする

CMakeコンパイル

  1. cmake-guiソフトウェアを開き、where is the source codewhere to build the binariesをそれぞれopencv源码文件夹追加しますbuild文件夹
  2. まず をクリックしてアーキテクチャconfigureを選択し、 をクリックして最初のコンパイルを開始しますvs 2019x64finish
  3. コンパイル プロセスでは、さまざまな依存関係をダウンロードする必要があります。ネットワークの問題により停止する可能性が高くなります。.cache フォルダーを直接コピーすると、この問題を回避できます。
  4. anaconda(このステップはオプションです) 仮想環境を作成します。 を使用し、仮想環境に numpy をインストールすることをお勧めします(コンパイルに必要)。このステップでは、そこCUDA版本に opencvをインストールします虚拟环境只安装到宿主机环境不需要执行此步骤
  5. (このステップはオプションですが、このステップを実行するための前提条件は、前のステップを実行する必要があることです) いくつかの変数を変更し、仮想環境の対応する場所へのパスを指定します: PYTHON3_EXECUTABLEPYTHON3_INCLUDE_DIRPYTHON3_LIBRARYPYTHON3_NUMPY_INCLUDE_DIRSPYTHON3_PACKAGES_PATH
  6. コンパイルが完了したら、検索ボックスにCUDAと を入力しfast、3 つの構成を確認します: WITH_CUDA OPENCV_DNN_CUDAENABLE_FAST_MATH
  7. [検索] ボックスworldbuild_opencv_worldチェックされ、小さなモジュールを 1 つずつ追加することなく、すべての opencv ライブラリがまとめてコンパイルされます。
  8. 検索ボックスBUILDにチェックを入れますBUILD_opencv_python3
  9. 検索ボックスで検索しMODULESOPENCV_EXTRA_MODULES_RATH項目にopencv_contrib4.5.1ディレクトリをmodules追加します
  10. 検索ボックスで検索NONOPENCV_ENABLE_NONFREE チェックを入れる
  11. 2 回目をクリックしconfigure、以下のログが表示されるまで待ちますconfigure done
  12. 検索ボックスに入力してcudaチェックを入れCUDA_FAST_MATH CUDA_ARCH_BINグラフィックス カードの計算能力の内容を自分のグラフィックス カードの計算能力に変更します。対応する計算能力とグラフィックス カードのモデルは、第 1 章の図に示されています。たとえば、次の場合グラフィックス カードのモデルは で、対応するコンピューティング パワーは です。GTX 1050削除します6.1。他のコンピューティング パワー バージョンの場合は、6.1そのままにしておきます。
  13. もう一度「構成」をクリックします。今度は「構成が完了しました」が表示され、「生成」をクリックします。「生成が完了しました」が表示されるまで少し待ちます。
  14. 「プロジェクトを開く」をクリックすると、Visual Studio が起動します。

VSコンパイル

  1. VS2019 が新しくコンパイルされたプロジェクトを開いた後、しばらく応答します。続行する前に、左下隅に表示されているすべての項目が読み込まれるまで待つ必要があります。

  2. を選択し、次のものをRelease ``x64見つけて、右クリック→「生成」を選択してから、長い待機を開始します... (ノートブック i7-9750H のコンパイルには約 65 分かかります。参考までに)CmakeTargetsALL_BUILD

  3. 解决方案资源管理器—> CMakeTargets—> INSTALL—> 生成"それでは、もう一度待ちます。幸いなことに、この時間は非常に短いです。この時点で、opencv_cuda\build\lib\python3\Releaseフォルダーの下にファイルが表示されますcv2.cp36-win_amd64.pyd(Python のバージョンが異なると、名前は若干異なります)

  4. 同時に、仮想環境またはホスト環境では、パスの下にフォルダーがLib\site-packages表示されます。cv2

opencv環境を確認する

コマンド ラインを使用して Python 環境に入り、コードを実行して確認します。

c:\users\administrator> python
>>> import cv2
>>> cv2.cuda.getCudaEnabledDeviceCount()
1 # 得到GPU设备数量,即表示opencv的GPU版本已经安装成功

おすすめ

転載: blog.csdn.net/LJX_ahut/article/details/121510097