Edited at

Ubuntu19.04でruby-opencvを使うためのOpenCVをソースからビルド


Ubuntu19.04でruby-opencvを使うためのOpenCVをソースからビルド

前回、linuxbrewでインストールしたところウィンドウが表示されないバグが発生したので、今回はソースコードから直接ビルドしてみました。

今回使用するのはOpenCV2.4.9です。(ruby-opencvはopencv2系にか対応してないようです。)


OpenCVのソースコードをダウンロード


ブラウザから

https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/


コマンドから

cd $HOME/ダウンロード

wget https://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip


展開

cd

unzip ダウンロード/opencv-2.4.9.zip
mkdir opencv-2.4.9/release
cd opencv-2.4.9/release/


必要そうなもの

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev


追加でインストールしたもの

sudo apt install libv4l-dev

sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

sudo ln -s /usr/include/x86_64-linux-gnu/libavformat/avio.h /usr/include/avio.h

ヘッダーファイルが違う場所にあるのでリンクをつけます。

sudo apt install protobuf-compiler


CMakeでエラーが出る場合

「CMake Error at cmake/OpenCVDetectCXXCompiler.cmake」が出る場合

cp ../cmake/OpenCVDetectCXXCompiler.cmake ../cmake/OpenCVDetectCXXCompiler.cmake.bak

vim $HOME/opencv-2.4.9/cmake/OpenCVDetectCXXCompiler.cmake

ここのdumpversiondumpfullversionに変更

$HOME/opencv-2.4.9/modules/contrib/src/chamfermatching.cppでエラーの場合はここを参照

https://src.fedoraproject.org/rpms/opencv/blob/f24/f/opencv-2.4.12.3-gcc6.patch


CMake

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_V4L=OFF -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_FFMPEG=OFF ..


Make

make -j 4

sudo make install

コア数によって、-jの後ろを変えてください。


ruby-opencvのインストール

gem install ruby-opencv -- --with-opencv-dir=/usr/local

書き忘れているところがあればごめんなさい。