Kinaconの技術ブログ

Ubuntuはじめました。

UbuntuでOpenCV(C++)

f:id:m-oota-711:20180824075049j:plain

前回、C++の開発環境を構築したので
今回はOpenCVを使ってみたいと思います。

kinacon.hatenablog.com


実行環境

OS Ubuntu 16.04.5 LTS
cmake 3.5.1
g++ 5.4.0
OpenCV 3.3.1-dev


作業内容

OpenCVのインストール

aptでインストール(ppa追加で違うバージョンも利用可能)

ubuntu16.04では2.4.9.1のようだ。

sudo apt update
sudo apt search python-opencv

f:id:m-oota-711:20181004163157p:plain



インストールは以下の記事を参照
kinacon.hatenablog.com


以下の方法でもインストールできる。

・ソースからビルド
・ROSをインストールすると一緒に入る

Ubuntu18.04でのROSインストール方法は以下
https://kinacon.hatenablog.com/entry/2018/08/03/225920kinacon.hatenablog.com

Ubuntu16.04でのROSインストール方法は以下
kinacon.hatenablog.com





本環境はROS(kinetic)が入っているため
OpenCVのバージョンは3.3.1

f:id:m-oota-711:20181004163141p:plain

チュートリアルを実行

以下のチュートリアルを実行した。
Using OpenCV with gcc and CMake — OpenCV 2.4.13.7 documentation


ソースの作成

cd c++
mkdir cv_tutorial
cd cv_tutorial
gedit DisplayImage.cpp


チュートリアルをそのままコピペして保存

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char** argv )
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out <Image_Path>\n");
        return -1;
    }

    Mat image;
    image = imread( argv[1], 1 );

    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);

    waitKey(0);

    return 0;
}

CMakeLists.txtの作成

gedit CMakeLists.txt


これもそのままコピペする

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
cmake_minimum_required CMakeの最小要求バージョンの設定
project プロジェクトの名前を設定
find_package パッケージを設定 cmakeがパッケージを探してくれる
add_executable プロジェクトファイルの名前と含まれるソースコードのパスを設定
target_link_libraries プロジェクトの依存ファイルを設定

実行ファイルの作成

mkdir build
cd build
cmake ..
make

実行

./DisplayImage ****.jpg


※****.jpgは実行ファイルと同じフォルダに画像ファイルを置いてもいいし、パス指定でも良い。




以上。