LoginSignup
1
2

More than 5 years have passed since last update.

Ubuntu 18.0上、OpenCV 4.0 から Gstreamer 1.14 を使う

Last updated at Posted at 2018-12-20

OpenCVは、最近 4.0に上がって、インストールフォルダーなど変えた【参照】。

一方、元々、OpenCV の Binary Packageは、GStreamerサポートをしていない。そのため、OpenCV で Gstreamer を使おうとしたら、Binary Package のインストールでなく、OpenCV のソースコードからのコンパイル・ビルドが必要。

[ BUG FIXが入ったらしい-> ] ところが、普通に、Gstreamer を OpenCV で有効にするための前提Package を入れた後で、Open CV の cmake, make, make installしても【参考1】、【参考2】、Python から使えない。おそらく、OpenCV が 改定された際、まだ、そのPython Binding のセットアップが追いついていないようです。

以下、うまくいったscriptを載せます。【ここ】を参考にして、Pythonの仮想環境なしでのインストールにしています。(Python の仮想環境へのインストールもうまくいきます。大体、仮想マシンのスナップショット機能やDockerがあるので、Pythonまで仮想環境にする意味が分からないのですが、Python の仮想環境だと、指定のフォルダーに Binary を格納するので、OpenCV のインストールフォルダが変わるなどの変動要因に強いみたいです)。
Pythonの仮想環境なしのシステムインタープリタに効かせるには、【ここ】のような so の設定が必要のようです。

Ubuntu 18.10 を使い、GStreamer 1.14.4 が入っている環境で、OpenCV 4.0 をビルドします。

soのコピー(ないしSymbolic Link)しないと、Python が Gstreamer 1.14 をサポートした OpenCV Build を見つけてくれない。

sudo apt -y update
sudo apt -y upgrade

sudo apt -y remove x264 libx264-dev
## Install dependencies
sudo apt -y install build-essential checkinstall cmake pkg-config yasm
sudo apt -y install git gfortran
sudo apt -y install libjpeg8-dev libpng-dev
sudo apt -y install software-properties-common
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt -y update
sudo apt -y install libjasper1
sudo apt -y install libtiff-dev
sudo apt -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo apt -y install libxine2-dev libv4l-dev
cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~
sudo apt -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt -y install libgtk2.0-dev libtbb-dev qt5-default
sudo apt -y install libatlas-base-dev
sudo apt -y install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt -y install libvorbis-dev libxvidcore-dev
sudo apt -y install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt -y install libavresample-dev
sudo apt -y install x264 v4l-utils
sudo apt -y install python3-dev python3-pip
sudo pip3 install wheel numpy scipy matplotlib scikit-image scikit-learn ipython dlib

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

cd opencv
mkdir build
cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GSTREAMER=ON \
        -D WITH_FFMPEG=ON -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
make -j4
sudo make install

sudo ldconfig

# sudo cp /usr/local/python/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/python3.6/dist-packages/cv2.so
1
2
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
1
2