▼OpenCVメモ▼
OpenCV
OpenCV
Intel社で開発された画像処理・画像認識用のC言語ライブラリ。
オープンソースであり、商用・非商用を問わず無料で使用できる。
情報源
書籍
OpenCV プログラミングブック
サイト
CSVリファレンスマニュアル サンプルコード
開発環境を整える
Visual C++ 2008 Express Edition
マイクロソフトの統合開発環境。無償で利用できる。
サイトからダウンロードしてインストール。
Open CV 1.0
OpenCVのパッケージ。無償で利用できる。
サイトからOpenCV_1.0.exeをダウンロードしてインストール。
ライブラリパスの設定
- Visual C++を起動。
- メニュー「ツール→オプション」を選択してダイアログを開く。
- ツリー「プロジェクトおよびソリューション→VC++ディレクトリ」を選択。
- 「ディレクトリを表示するプロジェクト」で「インクルードファイル」を選択し、以下のパスを追加。
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\otherlibs\highgui
![]()
- 「ディレクトリを表示するプロジェクト」で「ライブラリファイル」を選択し、以下のパスを追加。
C:\Program Files\OpenCV\lib
![]()
はじめてのOpenCVアプリケーションの作成
はじめてのOpenCVアプリケーションとして画像を表示するだけのプログラムを作成する。
プロジェクトの作成ライブラリの追加
- メニュー「ファイル→新規作成→プロジェクト」
- ツリー「Visual C++→Win32」の「Win32コンソールアプリケーション」を選択。
- プロジェクト名に「HelloWorld」と入力しOKボタンを押す。
- 完了ボタンを押す。
素材の準備
- ソリューションエクスプローラのプロジェクト名を右クリックし、プロパティを選択。
- ツリー「構成プロパティ→リンカ→入力」を選択。
- 追加の依存ファイルにlibファイルを追加。
cxcore.lib
cv.lib
highgui.lib
cvaux.lib
cvcam.lib
BMPファイルを1枚、プロジェクトフォルダ(HelloWorld.cppがあるフォルダ)に配置。
Image.bmp
ソースコードの記述
以下のソースコードを記述。
HelloWorld.cpp #include "stdafx.h" #include <cv.h> #include <cxcore.h> #include <highgui.h> int _tmain(int argc, _TCHAR* argv[]) { //イメージの読み込み IplImage *img=cvLoadImage("Image.bmp"); //ウィンドウ名の指定 cvNamedWindow("Image:",1); //イメージの表示 cvShowImage("Image:",img); //キー入力待ち cvWaitKey(); //ウィンドウの開放 cvDestroyWindow("Image:"); //イメージの開放 cvReleaseImage(&img); return 0; }
ビルド・実行
メニュー「デバッグ→デバッグ開始」を選択。
画像がウィンドウで表示され、キーを押すと終了となる。
ビルド失敗の回避方法
- 文字コードに関するwarningが「C:\Program Files\OpenCV\cv\include\cvcompat.h」で出た時は、変更(1文字書き込んですぐ消す等)した後に保存することで解消できる。
- 初期状態のargvの型「_TCHAR」はOpenCVの関数に文字列情報として利用しようとしてビルド失敗したら「char」とする。
- 引数の指定はソースコード内に以下のような記述を追加すると楽。
argc=3;
argv[1]="Image0.bmp";
argv[2]="Image1.bmp";
サンプル
「OpenCV」で何ができるのかリストを作りながら学習中。
サンプルコードは「opencv.jp」を参照。
ビクセルデータの直接アクセス
IplImage
→
部分画像のシャッフル
cvSetImageROI,cvResetImageROI
→
画像の連結
cvSetImageROI,cvResetImageROI
![]()
→
画像のコピー
cvCopy
![]()
→
画像形状の変形
cvReshape
→
−戻る−