準備
プラットフォームとソフトウェア
- 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 環境をインストールします。
VS 2019、cmake、opencv、拡張モジュールのソース コードをインストールしてダウンロードする
VS 2019 のダウンロードとインストール
cmakeをダウンロードしてインストールします
opencv および opencv_contrib のダウンロード
opencv ダウンロード リンク
opencv_contrib
Baidu クラウド ダウンロード
抽出コード:lujx
注: 左上隅のタグをクリックし、バージョン 4.5.4 を選択し、opencv と opencv_contrib に同じバージョンを選択します。
ファイルを解凍すれば準備完了です
opencv_cuda
フォルダーを作成し、このフォルダーに解凍しopencv
てopencv_contrib
解凍し、opencv と同じディレクトリにビルド フォルダーを作成します。ここまでで準備作業は完了です。
ディレクトリ構造はおおよそ次のとおりです。
|-opencv_cuda
|--build
|--opencv_contrib_4.5.4
|--opencv_4.5.4
|---.cache
|---其他原有的解压的子文件
最初のコンパイル プロセス中のファイルのダウンロードの失敗によるコンパイルの失敗を回避するには、.cache フォルダーを解凍された opencv ソース フォルダーにコピーする必要があります。
OpenCVをコンパイルする
CMakeコンパイル
cmake-gui
ソフトウェアを開き、where is the source code
とwhere to build the binaries
をそれぞれopencv源码文件夹
追加しますbuild文件夹
- まず をクリックしてアーキテクチャ
configure
を選択し、 をクリックして最初のコンパイルを開始しますvs 2019
x64
finish
- コンパイル プロセスでは、さまざまな依存関係をダウンロードする必要があります。ネットワークの問題により停止する可能性が高くなります。.cache フォルダーを直接コピーすると、この問題を回避できます。
anaconda
(このステップはオプションです) 仮想環境を作成します。 を使用し、仮想環境に numpy をインストールすることをお勧めします(コンパイルに必要)。このステップでは、そこCUDA版本
に opencvをインストールします虚拟环境
。只安装到宿主机环境不需要执行此步骤
- (このステップはオプションですが、このステップを実行するための前提条件は、前のステップを実行する必要があることです) いくつかの変数を変更し、仮想環境の対応する場所へのパスを指定します:
PYTHON3_EXECUTABLE
、PYTHON3_INCLUDE_DIR
、PYTHON3_LIBRARY
、PYTHON3_NUMPY_INCLUDE_DIRS
、PYTHON3_PACKAGES_PATH
- コンパイルが完了したら、検索ボックスに
CUDA
と を入力しfast
、3 つの構成を確認します:WITH_CUDA
、OPENCV_DNN_CUDA
、ENABLE_FAST_MATH
- [検索] ボックス
world
がbuild_opencv_world
チェックされ、小さなモジュールを 1 つずつ追加することなく、すべての opencv ライブラリがまとめてコンパイルされます。 - 検索ボックス
BUILD
にチェックを入れますBUILD_opencv_python3
- 検索ボックスで検索し
MODULES
、OPENCV_EXTRA_MODULES_RATH
項目にopencv_contrib4.5.1
ディレクトリをmodules
追加します - 検索ボックスで検索
NON
、OPENCV_ENABLE_NONFREE
チェックを入れる - 2 回目をクリックし
configure
、以下のログが表示されるまで待ちますconfigure done
- 検索ボックスに入力して
cuda
チェックを入れCUDA_FAST_MATH
、CUDA_ARCH_BIN
グラフィックス カードの計算能力の内容を自分のグラフィックス カードの計算能力に変更します。対応する計算能力とグラフィックス カードのモデルは、第 1 章の図に示されています。たとえば、次の場合グラフィックス カードのモデルは で、対応するコンピューティング パワーは です。GTX 1050
削除します6.1
。他のコンピューティング パワー バージョンの場合は、6.1
そのままにしておきます。 - もう一度「構成」をクリックします。今度は「構成が完了しました」が表示され、「生成」をクリックします。「生成が完了しました」が表示されるまで少し待ちます。
- 「プロジェクトを開く」をクリックすると、Visual Studio が起動します。
VSコンパイル
-
VS2019 が新しくコンパイルされたプロジェクトを開いた後、しばらく応答します。続行する前に、左下隅に表示されているすべての項目が読み込まれるまで待つ必要があります。
-
を選択し、次のものを
Release ``x64
見つけて、右クリック→「生成」を選択してから、長い待機を開始します... (ノートブック i7-9750H のコンパイルには約 65 分かかります。参考までに)CmakeTargets
ALL_BUILD
-
解决方案资源管理器
—>CMakeTargets
—>INSTALL
—>生成
"それでは、もう一度待ちます。幸いなことに、この時間は非常に短いです。この時点で、opencv_cuda\build\lib\python3\Release
フォルダーの下にファイルが表示されますcv2.cp36-win_amd64.pyd
(Python のバージョンが異なると、名前は若干異なります) -
同時に、仮想環境またはホスト環境では、パスの下にフォルダーが
Lib\site-packages
表示されます。cv2
opencv環境を確認する
コマンド ラインを使用して Python 環境に入り、コードを実行して確認します。
c:\users\administrator> python
>>> import cv2
>>> cv2.cuda.getCudaEnabledDeviceCount()
1 # 得到GPU设备数量,即表示opencv的GPU版本已经安装成功