LoginSignup
0
1

More than 1 year has passed since last update.

Windows 10 OpenCV4.5 + Contribution モジュール + GStreamerでYolov3 Darknetサンプルコードを実行する

Posted at

Windows 10でOpenCV Darknet Yolov3を使うサンプルコード

参考になる記事がこちらにあったので準備していたら、最新の環境 OpenCV 4.5 + GStreamer 1.0 1.19.3での構築で若干違っていたので記事にしておきます。

目的

Yolov3をCUDAなしの環境 Inten Core i5ノートPCで試すためサンプルコードを調べていて、良い記事がありました。

準備

私の場合、VisualStudoi 2019とCMake guiはすでにインストールしてあったので実際は以下のファイルをダウンロードしました。

dn.png

上記ファイルをダウンロードしたら、Visual Studio 2019、CMake、GSStreamer(ランタイム、開発環境共に)インストールします。

GStreamerのパスを環境変数に追加

*これが必要かどうかは、不明です。記事の手順に沿って設定しました。
env.png

##O penCVソースの展開
Opencv-4.5.5.zip を展開しD:\OpenCV-4.5.5フォルダーに移動、さらに展開した opencv_contrib-4.x.zipもD:\OpenCV-4.5.5フォルダーに移動しました。
opencv.png

** ここで一旦、PCを再起動します。 **

CMakeでOpenCVをGStreamer付でコンパイル

CMakeでソースとビルドパスを設定します。コンパイルはx64です。
cmake.png

WITH_GSTREAMERをチェック

cmake1.png
###GSTREAMERパスの設定確認
cmake2.png

OENCV_EXTRA_MODULES_PATHパスの設定

cmake3.png

[Generate]ボタンを押して、shファイルを生成

エラーがないこと、GStreamerが組み込まれていることを確認します。
cmake4.png

VisualStudio でビルド

プロジェクトを x64 に変更し、ビルドを実行します。
vc1.png

エラーへの対応

2つのエラーが発生しました。1つは、objに関するもの、1つはlnk

qiita.rb
1>   ライブラリ D:/opencv-4.5.5/build/lib/Release/opencv_videoio455.lib とオブジェクト D:/opencv-4.5.5/build/lib/Release/opencv_videoio455.exp を作成中
1>cap_gstreamer.obj : error LNK2019: 未解決の外部シンボル __imp_gst_audio_info_from_caps が関数 "public: bool __cdecl cv::GStreamerCapture::grabAudioFrame(void)" (?grabAudioFrame@GStreamerCapture@cv@@QEAA_NXZ) で参照されました
1>D:\opencv-4.5.5\build\bin\Release\opencv_videoio455.dll : fatal error LNK1120: 1 件の未解決の外部参照

CMakeに戻り、BUILD_opencv_objc_bindings_generatorのチェックを解除します。

cmake-err1.png

再度[Generate]ボタンでshを生成します。

VisualStudioに戻り、更新されたプロジェクトファイルを再読み込み

vc3.png

Linkエラーの対応

GStreamerライブラリのgstaudio-1.0.libを追加します。追加するソリューションは、エラーを表示している opencv_videoio です。

vc4.png

ビルドを実行します。
今回は、エラーなく終了すると思います。

OpenCVのインストール

ビルドに成功したら、CMakeTargetsのINSTALLを選択し、ビルドを実行することでインストールが実行されます。
vc5.png

/Debugでも同様にビルドと、インストールを実行したら、環境の準備が完了です。
私の環境では、D:\opencv-4.5.5\build\install にインストールされました。

vc6.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1