win10でopencv-gpuとanaconda-python環境をゼロから構築した経験を共有

序章

通常の opencv の videocapture は動画の読み込みが遅すぎてCPUリソースを多く消費します推論スクリプトを書く際にはcudaとそれに対応する演算子を使用して高速化する必要があるため、opencv の gpu 版を構築する必要があります 同時に、主な言語が python であるため、opencv の gpu 関連のインターフェイスを python にインストールする必要あります 関連する構築のほとんどはインターネット上の linux 上で行われ、win上での構築はほとんどないため、将来の世代に役立つようにここに記録します。

準備と手順

ハード要件:
CUDA をサポートする Nvidia グラフィックス カード、実験環境は RTX3060 です。
ビルド時にネットワークの問題により cmake が必要なものをダウンロードできないように、独自のプロキシ ツールを持参してください。
アンインストールできる場合は、組み込みの Python をアンインストールします。そうでない場合は、アンインストールする必要はありません。
元の opencv Python パッケージをアンインストールしてください。
win10 64ビットシステム。

ダウンロードするもの:
1. Anaconda のインストール パッケージについては、公式 Web サイトから最新バージョンをダウンロードするだけです。
2. opencv と opencv-contrib のソース コードについては、タグで同じバージョン、つまりバージョンを選択し、緑色のボタンをクリックして圧縮パッケージ全体をダウンロードする必要があります。ここでは 4.5.2 を選択します。
ここに画像の説明を挿入
ここに画像の説明を挿入
3. cmake インストール パッケージダウンロード アドレス、Windows x64 インストーラーで cmake-3.23.2-windows-x86_64.msi を選択します。
4. Visual Studio 2017/2019/2022 のインストール パッケージについては、ここでは 19 と 22 をお勧めします。警告に従って、17 は遅かれ早かれサポートを終了します。また、古いバージョンの Visual Studio をダウンロードする場合は、Microsoft アカウントにログインする必要があります。ご自身のアカウントをご用意ください。
5. cuda インストール パッケージと cudnn ツールセットについては、ここでは詳しく説明しません。自分で検索してください。なお、cudnn のバージョンは cuda に対応している必要があります。私は 11.6 をインストールしました。

手順:
1. anaconda をインストールします。ここでは、インストール プロセス中に変数への追加パスを確認することに注意する必要があります。つまり、環境変数に追加します。コマンド ラインに python と直接入力して、対応する環境を呼び出すことができます (私は python3.
anaconda を開き、libprotobuf パッケージを検索します。
ここに画像の説明を挿入
その場合はアンインストールしてください!
その場合はアンインストールしてください!
その場合はアンインストールしてください!

cmake はデフォルトで protobuf を生成するため、これは競合しており、LNK1104 や C1189 などのさまざまなエラーが後で vs ビルドで報告されるためです。
ここに画像の説明を挿入

2. opencv と opecv-contrib を解凍し、同じディレクトリに配置し、cmake ビルド ディレクトリとして新しいフォルダー build を作成します。
ここに画像の説明を挿入
3. cmake をインストールします。また、忘れずに [環境変数の追加] をチェックし、インストール後にコマンド ラインに cmake と入力して認識されるかどうかを確認します。認識されればインストールは成功です。
ここに画像の説明を挿入

4. Visual Studio をインストールします。モジュールを選択するときは、C++ モジュールを選択するだけで済み、他のモジュールは使用されません。
ここに画像の説明を挿入
5. cuda をインストールし、cudnn の内容を対応するディレクトリにコピーします (ディレクトリがわからない場合は、cudnn の設定に関する以前の記事を参照してください) この部分が vs の後ろにある理由は、cuda のインストール時に Nsight シリーズ コンポーネントが設定のために vs にインストールされるためです

6. cmake-gui を開き、デスクトップにアイコンをインストールし、ビルドするディレクトリ (つまり、ビルドする場所) とソース コード ディレクトリ (つまり、opencv) を選択します。
ここに画像の説明を挿入
次に、「構成」をクリックして、すべてのものがダウンロードされるまで辛抱強く待ちます。ネットワークが良好ではなく、エラーが報告される場合は、必須要件を参照してください。
ここに画像の説明を挿入
最初の構成の後、構成するための赤いフィールドがたくさん表示されます。まず Python を検索しましょう:
ここに画像の説明を挿入
opencv_python3_version オプションを確認し、以下の python3 パスを確認してください。
ここに画像の説明を挿入
ここが重要なポイントです。Python がインストールされていない新しいコンピューターの場合は、anaconda のデフォルトの Python パスとして自動的に構成されます。はい、他の Python をインストールしている場合は、手動で構成するか、pip を使用して numpy をアップグレードできます (numpy が配置されている python 環境にロックされます)。また、anaconda が複数の環境を作成している場合は、希望する環境にインストールされているかどうかをよく確認してください。

次に、world を検索し、opencv_world を確認します。
ここに画像の説明を挿入
extra を検索すると、設定ディレクトリは opencv_contrib が配置されているディレクトリです。
ここに画像の説明を挿入
confを検索し、デバッグとリリースをリリースのみに変更します。
ここに画像の説明を挿入
math を検索し、すべてのボックスにチェックを入れます。
ここに画像の説明を挿入
cuda を検索し、図に従ってチェックできるすべての項目をチェックし、 hereにチェックを入れた後にconfigure をクリックすると、 cuda_arch_binなどのいくつかのオプションが表示されますので、これを構成する必要があります。先頭の cuda_arch_bin にはグラフィックカードごとにバージョン番号がたくさん書いてありますが、私の 3060 は 8.0 に対応しており、対応するバージョンは該当ページで確認できます (ctrl+f でページ
ここに画像の説明を挿入
直接
ここに画像の説明を挿入
検索)

7. 生成された opencv.sln を開きます。ここに画像の説明を挿入
初めて VS を開くと、アカウントへのログインなどが求められる場合がありますが、スキップしてください。その後、プロジェクト全体がロードされるまで待つ必要はなく、「インストール」を右クリックして「生成」を選択するだけです。
ここに画像の説明を挿入
1 ~ 2 時間の長い待ち時間の後、プロジェクトがエラーを報告せず、警告のみを報告した場合は、次のように成功を祝います。 8.
ここに画像の説明を挿入
確認します。

##打开命令行输入python调起环境后输入以下代码验证
import cv2
from cv2 import cuda
cuda.printCudaDeviceInfo(0)

すべてが正常であれば、グラフィックス カードの情報が印刷され、成功したことが示されます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43945848/article/details/125177533