OpenCVが4.0になっていたのでcontribも含めてコンパイルしてみる。

以下は本家のサイト opencv.org

せっかくなのでGithubからソースをクローンしてコンパイルをしてみることにした。(Linux

手順としては

  • 必要なパッケージをインストール
sudo apt update
sudo apt upgrade

sudo apt install build-essential
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
  • opencvGitHubからクローン、バージョン指定(check out)
cd ~
mkdir work
cd ~/work
git clone https://github.com/opencv/opencv.git
cd ~/work/opencv
git checkout -b 4.0.1 refs/tags/4.0.1
  • contribをGitHubからクローン、バージョン指定(check out)
cd ~/work
git clone https://github.com/opencv/opencv_contrib.git
cd ~/work/opencv_contrib
git checkout -b 4.0.1 refs/tags/4.0.1
cd ~/work/opencv
mkdir build
cd ~/work/opencv/build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

make -j2

sudo make install
sudo ldconfig
  • インストールされているかチェック

    以下のコードをコンパイルして実行してみる。

cd ~
mkdir test
cd ~/test

cat <<EOF > testcv.cpp
#include <opencv2/core/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
    std::cout << cv::getBuildInformation() << std::endl;
    return 0;
}
EOF

cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 3.5.1)                                                              
project(testcv)                                                                                      
set(CMAKE_CXX_STANDARD 11)                                                                         
set(CMAKE_CXX_FLAGS "-Wall -g")                                                                    
find_package(OpenCV REQUIRED)
include_directories(\${OpenCV_INCLUDE_DIRS})
add_executable(testcv testcv.cpp)
target_link_libraries(testcv \${OpenCV_LIBRARIES})
EOF

mkdir build
cd build
cmake ..
make

上記をコンソール上にコピー&ペースト
testcv.cpp が作成されるので

実行

./testcv

以下のような情報が出力されればOK

General configuration for OpenCV 4.0.1-openvino =====================================
Version control: 4.0.1-openvino

Extra modules:
Location (extra): /home//work/opencv_contrib/modules
Version control (extra): 4.0.1

  ・
  ・
  ・