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