Windows10 がメディアパイプ C++ バージョンをコンパイルし、新しくリリースされたナニー レベルのチュートリアル

このコンパイルでは Windows10+bazel5.2.0+mediapipe0.8.10.2+vs20191 を使用します。

  1. MSYS2のダウンロードインストールと環境設定

MSYS2のダウンロード

MSYS2公式サイト

https://www.msys2.org/

デフォルトでインストールすることも、インストールをカスタマイズすることもできます。

MSYS2環境構成:

 

デフォルトのパスにインストールします。

注: ここではデフォルトの場所にインストールしました。

2. msys2 パッケージ データベースをアップグレードします。

msys2 を開く検索

 

 

 入力:

pacman –Syu

Enter をクリックしてアップグレードを開始します。

アップグレードが完了するまで待ちます。

msys2 基本パッケージをアップグレードします。

また、検索して MSYS2 を開き、次のように入力します

pacman –Su

基本パッケージのアップグレードを実行します。次のように:

 アップグレードが完了するまで待ちます。

3. 必要なインストール パッケージをダウンロードします: unzip

MSYS2 には解凍機能が組み込まれていないため、ここでは手動でインストールする必要があります。

Win+R 入力 cmd を開き、cmd.exe を開きます

入力:

 pacman -S git patch unzip

 

インストールの成功:

4.Pythonのインストールと環境構築

Python をコンピュータにインストールし、環境を設定する必要があります。ここで使用するのはanaconda3の仮想環境(mmd26)上のpythonです。

5. VS2019 と WinSDK をダウンロードしてインストールします。

VS公式サイト:

https://visualstudio.microsoft.com/zh-hans/free-developer-offers/

2019 コミュニティ バージョンをダウンロードするだけで、ダウンロードとインストールのプロセス中に WinSDK が自動的にインストールされます。

 

6. Bazelダウンロードのインストールと環境設定:

mediapipe の GitHub 公式 Web サイトの情報によると、ここから bazel5.2.0 バージョンをダウンロードします。

バゼルをダウンロード:

https://github.com/bazelbuild/bazel/releases

公式 Web サイトに入り、必要なバージョン番号を直接検索します。

例: 今回はバージョン 5.2.0 が必要なので、直接検索するだけです。

必要な bazel5.2.0 はここにあります。左側の黒い三角をクリックして展開します。

 

直接クリックすると、ブラウザが自動的にダウンロードします。ダウンロードが完了すると、bazel-5.2.0-windows-x86_64.exe が得られます。使いやすいように、名前を bazel.exe に変更することをお勧めします。これにより、使用時に bazel を直接入力できるようになります。将来的には、 の後ろに元の文字列を入力することは避けてください。

 

私はそれを別の bazel フォルダーに入れました。

Bazel環境構成:

 

テスト環境が正常に構成されているかどうか:

cmd.exeを開きます。「bazel」と入力してEnterを押します。

構成は成功しました。

7. bazel 変数を設定します。

公式ドキュメントによると、bazel 変数を設定する必要があります。

の:

BAZEL_VS: VS2019 のインストール ディレクトリ (私のインストール ディレクトリなど) は次のとおりです。 D:\ProgramData\VS2019;

BAZEL_VC: VS2019 インストール ディレクトリの下にある C++ のメイン ディレクトリ (私の例:)

D:\プログラムデータ\VS2019\VC

BAZEL_VC_FULL_VERSION: VS2019 の VC のバージョン番号。バージョン番号は、VS2019 のインストール ディレクトリで確認できます。たとえば、次のようになります。

14.29.30133の写真

BAZEL_WINSDK_FULL_VERSION: WinSDK のバージョン番号。「コントロール パネル -> プログラムと機能」で確認できます。私の場合は次のとおりです。

    コンピュータ上に複数のバージョンの VS がある場合、複数の SDK バージョン番号が存在します。一部のチュートリアルでは、いずれかを選択できると記載されています。不要なエラーを避けるために、VS に対応する SDK のバージョン番号を選択するようにしてください。

上記の情報を見つけたら、MSYS2 を検索して開き、bazel 設定を探します。

注: VS のインストール時にデフォルト パスの下にインストールすることを選択した場合、ここに落とし穴があります。これは回避する必要があります。Program Files (x86) のかっこはエスケープする必要があるため、Program Files \( x86\)

8. Opencv をダウンロードしてインストールします。

公式ドキュメントでは現在opencv3.4.10を使用していると記載されているので、3.4.10をダウンロードします。

OpenCVのダウンロードアドレス:

https://opencv.org/releases/

ダウンロードしてインストールするだけです。

注: 解凍インストール プロセス中に中国語のパスを表示しないでください。表示しないと、後でコンパイル エラーが発生します。

9. Mediapipe ウェアハウスのクローン作成と Bazel コンパイル ファイルの WORKSPACE の変更

Git を使用してメディアパイプの公式ウェアハウスを移行します。

cmd.exeを開き、次のように入力します

git clone https://github.com/google/mediapipe.git

 移行を実行するだけです。

この方法はお勧めしません。メディアパイプの公式 GitHub に直接アクセスして、ソース コードを直接ダウンロードすることを検討してください。

ダウンロードURL:

https://github.com/google/mediapipe

ソース コードを複製またはダウンロードした後、ウェアハウスで WORKSPACE ファイルを開き、「windows_opencv」を検索し、opencv パスをローカルに保存されたパスに変更します。

変更後:

インターネット上のほとんどのチュートリアルはこれに加えて、変更が必要な場所がもう 1 つあります。

これは、ダウンロードされたウェアハウス内の opencv の関連コンテンツです。

保存したウェアハウスを見つけて、「third_party」フォルダーを開いて、その中にある opencv_windows.BUILD ファイルを見つけます。次のように:

opencv_windows.BUILD ファイルを開き、次の場所を見つけます。

修正する前に:

変更後:

ここでは opencv3.4.2 を使用しているので、その中の「OPENCV_VERSION」は「342」に変更され、次の「opt_build」と「dbg_build」は自分の opencv 内の dll ファイルに従って変更されます。私の場合は次のとおりです。

 

10. hello_world をコンパイルして実行します。

公式ドキュメントでは、Windows でメディアパイプをコンパイルする場合は、Python パスを追加する必要があると示唆しています。

--action_envPYTHON_BIN_PATH="C://path//to//python.exe"

 

コンパイル コマンド ラインの PYTHON_BIN_PATH は、上記の手順でインストールした Python パスです。これを設定するだけです。

hello_world をコンパイルします。

cmd.exe ディレクトリを使用して、メディアパイプのルート ディレクトリに切り替えます。

次に、次のコマンドを入力します。

bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1  --action_envPYTHON_BIN_PATH="D:\\ProgramData\\Anaconda3\\envs\\mmd26\python.exe"mediapipe/examples/desktop/hello_world:hello_world --verbose_failures

 上記の PYTHON_BIN_PATH は独自の Python パスに変更する必要があり、一部のライブラリはコンパイル プロセス中に Github から取得する必要があるため、科学的にインターネットをサーフィンするのが最善です。そうしないと、取得できないエラーが発生します。

コンパイルが成功したことを示す次の情報が表示されます。

hello_world を実行します。

コンパイルが完了したら、引き続き cmd.exe に次のコマンドを入力します。

set GLOG_logtostderr=1
bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe

正常に実行されました:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: blog.csdn.net/qq_58611650/article/details/125847990