画像処理ソリューション
これを見れば画像処理の入門から基礎~応用まで全てがわかるのを目指して!
   
翻訳(Translate)

プロフィール

Akira

ニックネーム:Akira
東京都の町田事業所に勤務
画像処理ソフトの開発を行っています。リンクフリーです!
詳細プロフィールは こちら
お問い合わせは、こちら↓

【補助HP】
画像処理ソリューションWeb版 【Newブログ】
イメージングソリューション

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

07 | 2017/08 | 09
S M T W T F S
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

趣味のブログ

iPhone萬歳!
iPhoneの情報いろいろ。
ブログ学習帳
ブログ、SEO、アフィリエイト情報など(まだまだこれから)
俺流クラフト日記
ハンドメイド作品の記録(現在、放置中)

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【OpenCV2.2】新規プロジェクトの作成方法

メインページOpenCV

OpenCVを始めたばかりのころ、OpenCVのサンプルプログラムはOpenCV.jpのHPにサンプルプログラムは載っていますが、これをどうやって使えばいいのか?分からなかった覚えがあります。
ということで、これらのサンプルプログラムを使うためのプロジェクトの作成方法を示します。

サンプルプロジェクトはこちらに公開しています。

今回はOpenCV2.2およびVisual Studio2010を用いた場合を例にとって紹介します。

新規プロジェクトの作成方法

Visual Studio を起動し、新しいプロジェクトをクリックします。
OpenCV2.2新規プロジェクトの作成方法

開いたウィンドウのWin32コンソールアプリケーションを選択し、任意の名前および場所を指定します。

OpenCV2.2新規プロジェクトの作成方法
OKボタンをクリックし、次へをクリックします。
OpenCV2.2新規プロジェクトの作成方法
さらに表示されたウィンドウの完了をクリックします。
OpenCV2.2新規プロジェクトの作成方法
すると、空の状態のソースコードが作成されます。
OpenCV2.2新規プロジェクトの作成方法
OpenCV.jpのサンプルとは、mainの部分がちょっと異なりますが、気にせず、そのままにしておいて下さい。

次にOpenCV2.2の入手、ダウンロード、インストール、環境設定の最後の部分でも紹介していますが、ヘッダファイルをプログラムから参照できるように、OpenCVのヘッダファイルのディレクトリを指定します。

OpenCV2.2新規プロジェクトの作成方法

プロジェクトのプロパティで構成プロパティ→C/C++→全般追加のインクルードディレクトリ
C:\OpenCV2.2\include
を指定します。

あとは、作成したcppファイル(上記の例ではOpenCV2.2Sample.cpp)にプログラムをしていけばOKです。

以下、画像を開き、ガウシアンフィルタ処理を行い、処理前、処理後の画像を表示するだけの簡単なサンプルプログラムを示します。

// OpenCV2.2Sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//


#include "stdafx.h"

//プロジェクトのプロパティ⇒C/C++⇒全般 の追加のインクルードディレクトリに
// 『C:\OpenCV2.2\include』を追加のこと

#include "opencv2\\opencv.hpp"

#ifdef _DEBUG
    //Debugモードの場合
    #pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_core220d.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_imgproc220d.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_highgui220d.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_objdetect220d.lib")
    //以下、必要に応じて追加
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_ml220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_features2d220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_video220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_calib3d220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_flann220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_contrib220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_legacy220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_gpu220d.lib")

#else
    //Releaseモードの場合
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_core220.lib"
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_imgproc220.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_highgui220.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_objdetect220.lib")
    //以下、必要に応じて追加
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_ml220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_features2d220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_video220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_calib3d220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_flann220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_contrib220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_legacy220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_gpu220.lib")

#endif

int _tmain(int argc, _TCHAR* argv[])
{
    //画像データの読込
    IplImage* src_img = cvLoadImage("C:\\OpenCV2.2\\samples\\c\\lena.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
    if (src_img == NULL){
        return 0;
    }

    //表示ウィンドウの作成
    cvNamedWindow("src");
    cvNamedWindow("dst");

    //処理後画像データの確保
    IplImage* dst_img = cvCreateImage(cvGetSize(src_img), src_img->depth, src_img->nChannels);

    //画像処理例(ガウシアンフィルタ)
    cvSmooth(src_img, dst_img, CV_GAUSSIAN, 9);

    //画像の表示
    cvShowImage ("src", src_img);
    cvShowImage ("dst", dst_img);

    //キー入力待ち
    cvWaitKey (0);

    //全てのウィンドウの削除
    cvDestroyAllWindows();

    //画像データの解放
    cvReleaseImage(&src_img);
    cvReleaseImage(&dst_img);

    return 0;
}


【関連記事】
OpenCV2.2の入手、ダウンロード、インストール、環境設定


Loading...
スポンサーリンク

この記事に対するコメント

ご指摘ありがとうございます。はすです。

『C:\OpenCV2.2\include』を追加しています。また、ご指導通り(OpenCV2.2Sample.zip)にクリックしてみたが「ソリューション内の1つ以上のプロジェクトが正しく読み込まれていません」とメッセージが出てきて開けませんでした。なぜでしょうか?
私はOpenCVは初めて使用です。OpenCV1.1からにしないといけないことでしょうか?是非教えてくださいませんか?
【2011/05/08 18:50】 URL | hasu #- [ 編集]


はすさん、初めまして。
ヘッダファイルのincludeの部分でエラーが出るという事ですが、まずは、ここのページの記載にある通りに試してみて下さい。
----------------------------------------------------------------------
//プロジェクトのプロパティ⇒C/C++⇒全般 の追加のインクルードディレクトリに
// 『C:\OpenCV2.2\include』を追加のこと
#include "opencv2\\opencv.hpp"
----------------------------------------------------------------------
これで、OpenCV2.2の場合は、他のヘッダファイルのincludeは必要ありません。
サンプルプロジェクトもこちらのページ
http://imagingsolution.net/program/opencv/opencv220/make-project-c-language/
に直リンクでファイルを公開しているので、試してみて下さい。
【2011/05/08 02:26】 URL | Akira #- [ 編集]

OpenCV2.2
初めまして、はすです。
私初めてOpenCV2.2を使用して顔写真を映したいのですが全然できなくてどうしたらできるのでしょうか?是非教えていただければ幸いです。
問題点としては#include <cv.h>#include <highgui.h>の下に赤い線があり、ソースファイルを開けませんとエラーが出てしまうのです。でも、きちんとダウンロードはできたと思うのですがなぜでしょうか?
【2011/05/07 21:56】 URL | hasu #- [ 編集]



eeeさん、情報ありがとうございます。
私もVS2008で動作する事は確認していたのですが、私のPCにはVS2008 ExpressとVS2010 Expressの両方をインストールしているので、ちょっと自信の無かった部分でした...
【2010/12/19 15:27】 URL | Akira #- [ 編集]


Akiraさん、はじめまして。eeeと申します。

とても参考になるページで、いつも拝見させていただいております。

さて、今回のサンプルプログラムの方
・OpenCV-2.2.0-win32-vs2010.exe

・Visual Stadio 2008 Express
・Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)
で動作しました。

※「ソリューション構成」をDEBUG→RELEASEにするのをお忘れなく(笑)

ありがとうございます^^
【2010/12/19 15:17】 URL | eee #PiU33DME [ 編集]


alt-nativeさん、こんばんは。
やはり、この辺の設定は好みの分かれるところですよね?!
私の場合はサンプルプログラムを配布した時に、
『××のPCでは動いたのですが、別のPCへ移したら動作しなくなったのですが?』
とか言われたくないので、できるだけ
 ソースコード→プロジェクトの設定→VSの設定
の優先順で設定するようにしています。
ただ、個人的に使う分には、この逆の順の方が楽ですよね?
今回のOpenCV2.2では、みなさんどうされるか???
【2010/12/13 23:24】 URL | Akira #- [ 編集]


こんにちは。
alt-nativeの場合は、ディレクトリをプロパティマネージャから設定しています。
2008までは[ツール]-[オプション]-[ディレクトリ設定]でずっと使えましたが、2010からはグローバル(Debug/Release共通)なプロパティシートを設定できるようになったので..
欲をいうと"C:\OpenCV2.2\"もVCの環境変数に定義して"$(CVDir)/~"みたくしたい.. 超むだですが..
余談でした。
【2010/12/13 22:03】 URL | alt-native #- [ 編集]


この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://imagingsolution.blog107.fc2.com/tb.php/278-23e854c9
この記事にトラックバックする(FC2ブログユーザー)

現在の閲覧者数: / 合計