のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

OpenCVの使い方(1) インストールと画像の読み込みと動画再生

Sponsored Links

こんにちわ
今日はOpenCVの使い方を解説していきます。(C++

OpenCVとは画像処理をメインに行うライブラリですが、
それに付随してよく使われる機械学習のコードもあります。

そんなOpenCVの解説です。

まずはインストール。Homebrewを使います。楽です。
因に僕のVersion は2.4.7です。version 1台と2台だと全然動作が違いますね…。

Opencv

インストール

brew install opencv

コンパイル

g++ hoge.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv`

画像の読み込み

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;
using namespace std;

void ImageRead(){
   Mat image = imread("uma.jpeg");
   namedWindow("hoge");
   imshow("hoge", image);
   waitKey(0);   
}

int main(void){
   ImageRead();
}

画像を読み込んで表示する

動画

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;
using namespace std;

void MovieRead(){
        //動画の読み込み
        VideoCapture video("uma.mp4");

        //動画を再生する。
        namedWindow("hoge");
	while(1){
		Mat frame;
		video >> frame;
                //フレームが空か、ボタンが押された時か一周したときに出る。
		if(frame.empty() || waitKey(30) >= 0 || video.get(CV_CAP_PROP_POS_AVI_RATIO) == 1){
			break;
		}
         imshow("hoge", frame); 
	}
}

int main(void){
   MovieRead();
}

動画の再生です。
途中のget(CV_CAP_PROP_POS_AVI_RATIO)は相対的な動画の位置(1になれば終了)を示してくれます。
ないと無限ループします。

次はpixelへのアクセス方法でも記載しようと思います。