UbuntuでOpenCV(C++)
前回、C++の開発環境を構築したので
今回はOpenCVを使ってみたいと思います。
実行環境
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
インストールは以下の記事を参照
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
チュートリアルを実行
以下のチュートリアルを実行した。
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は実行ファイルと同じフォルダに画像ファイルを置いてもいいし、パス指定でも良い。
以上。