(これまた自分用のメモ書き)
#開発環境
Windows10
GStreamer1.16.0 64bit(MinGW版のdevelop/runtime両方)
CMake
VisualStudio2019
Python3.7.x 64bit
#やったこと
- OpenCVのコンパイル
OpenCV 4.1.0をWindowsでビルドする手順
https://qiita.com/KurozumiGH/items/ef8cca96a13444b7dcda
↑を参考に進める
- CUDAはとりあえず使わないのでGitとPythonにPATH通しておく。
- opencvとopencv_contribをgitから取得してCMakeGUIでconfitureする。
- 以下パラメータ確認
Name | Value |
---|---|
BUILD_opencv_python2 | 無効 |
BUILD_opencv_python3 | 有効 |
CPU_BASELINE | 変更しない |
CPU_DISPATCH | 変更しない |
GSTREAMER_app_LIBRARY | [gstreamer_root]/lib/gstapp-1.0.lib |
GSTREAMER_base_LIBRARY | [gstreamer_root]/lib/gstbase-1.0.lib |
GSTREAMER_glib_INCLUDE_DIR | [gstreamer_root]/include/glib-2.0 |
GSTREAMER_glib_LIBRARY | [gstreamer_root]/lib/glib-2.0.lib |
GSTREAMER_glibconfig_INCLUDE_DIR | [gstreamer_root]/lib/glib-2.0/include |
GSTREAMER_gobject_LIBRARY | [gstreamer_root]/lib/gobject-2.0.lib |
GSTREAMER_gst_INCLUDE_DIR | [gstreamer_root]/include/gstreamer-1.0 |
GSTREAMER_gstreamer_LIBRARY | [gstreamer_root]/lib/gstreamer-1.0.lib |
GSTREAMER_pbutils_LIBRARY | [gstreamer_root]/lib/gstpbutils-1.0.lib |
GSTREAMER_riff_LIBRARY | [gstreamer_root]/lib/gstriff-1.0.lib |
OPENCV_EXTRA_MODULES_PATH | ~opencv_contrib/modules |
WITH_GSTREAMER | 有効 |
PythonのパスやGStreamerのパスは環境パスに居れば勝手に入るようですが合ってるか確認
4. 確認したらGenerateしてVisualStudio用のソリューション作成してOpen Projectでソリューション開く
5. ソリューションエクスプローラーにあるbindingsの配下にopencv_python3があるのでビルドターゲットをReleaseに切り替えてからopencv_python3をビルド実行
6. ビルド完了したら"\bin\Release"に出力されたDLL一式と"\lib\python3\Release\cv2.cp37-win_amd64.pyd"を"Python\Lib\site-packages\cv2"内に上書きする
7. 以下実行して結果でGStreamer有効になってるのを確認
python -c "import cv2; print(cv2.getBuildInformation())"
General configuration for OpenCV 4.1.0 =====================================
Version control: 4.1.0
~~省略~~
Video I/O:
DC1394: NO
FFMPEG: YES (prebuilt binaries)
avcodec: YES (58.35.100)
avformat: YES (58.20.100)
avutil: YES (56.22.100)
swscale: YES (5.3.100)
avresample: YES (4.0.0)
GStreamer: YES (1.16.0)
DirectShow: YES
Media Foundation: YES
DXVA: YES