ぴぐノート

Good code is its own best documentation.

C/C++ OpenCV

【OpenCV】OpenCVを使ってみよう!表示・回転・拡縮・二値化

投稿日:

前回インストールを行ったOpenCVライブラリを使ってサンプルプログラムをいくつか作成してみましょう。

OpenCVはすごく有名な画像処理ライブラリなのでインターネットで探せばサンプルプログラムはたくさん見つかります。
ざっくり動作確認をしたらあとは利用したい目的に合わせてプログラミングしていくと良さそうです。

今回のプロジェクト作成環境は
・Visual Studio 2017
・C++
としてプロジェクトの作成から確認していきます!

OpenCVサンプルプログラムのソリューションを作成しよう!

プロジェクトを作成しよう!

さて、まずはC++プロジェクトの作成からしていきましょう。

  1. Visual Studio 2017を起動し、[ファイル]-[新規]-[プロジェクト]をクリックします。
  2. [Win32 コンソールアプリケーション]を指定し、任意のプロジェクト名・ソリューション名を入力します。
    今回はプロジェクト名「1stChallenge」、ソリューション名「OpenCV」を設定します。
  3. アプリケーションウィザードダイアログの[ようこそ]画面では、[次へ]をクリック
  4. アプリケーション設定では、アプリケーションの種類「コンソールアプリケーション」
    追加のオプション「空のプロジェクト」にチェックを付け、[完了]クリック
  5. ソリューションエクスプローラーから「1stChallenge」を右クリックし、[追加]-[新しい項目]をクリック
  6. ソースファイル「main.cpp」を追加します。

このブログを見に来てくださっている方には冗長かもしれませんネ…。
インクルードディレクトリーの追加やライブラリディレクトリーの追加を行う前に、.cppファイルを追加しておくのが1つのポイントでしょうか。

プロジェクトにOpenCVを認識させる設定を行おう!

続いてOpenCVのヘッダーファイルやライブラリファイルの場所を指定します。

  1. ソリューションエクスプローラーから「1stChallenge」を右クリックし、[プロパティ]クリック
  2. 左側メニューから[C/C++]を選択、右側の[追加のインクルードディレクトリ」にOpenCVのヘッダーファイルの場所を指定します。
    前回の記事での環境を例にすると「D:\opencv-2.4.13.2\install\include]ですネ。
  3. 続いて、左側メニューから「リンカー」を選択、「追加のライブラリディレクトリ」にOpenCVのライブラリファイルの場所を指定します。
    前回の記事での環境を例にすると「D:\opencv-2.4.13.2\install\x86\vc15\lib]です。
  4. [OK]ボタンをクリックし、プロパティの設定ダイアログを閉じます。

これでOpenCVを利用するための準備が整いました。
早速サンプルプログラムを作成してみましょう。

サンプルプログラムを作ってみよう!

冒頭でお話した通り、表示や回転などのサンプルプログラムはインターネット上でたくさん見つかるはずです。
ここでは簡単にソースコードを記載し動作の確認のみをしていきます!

今回使用する画像はレナさんにお願いしようと思います。
レナ・ソーダバーグ
レナ(画像データ)

下記のサンプルプログラムのように”lenna.jpg”と指定し、VC上から表示する場合は、プロジェクトファイル(.vcxproj)と同じフォルダーに画像を配置してくださいネ。
実行ファイル(Debug/Releaseフォルダー)から実行する場合は、実行ファイル(.exe)と同じフォルダーに配置してください。

画像を表示してみよう!

画像を回転してみよう!

画像を拡大・縮小してみよう!


1.5倍

0.5倍

画像を二値化してみよう!

まとめ

うまく実行できたでしょうか?
各関数の詳しい説明などは省いていますが、使用している関数を検索すると有益な情報が多々得られると思うので、+αの処理を行いたい場合などはぜひ調べてみてくださいネ。

スポンサーリンク

スポンサーリンク

-C/C++, OpenCV

執筆者:

関連記事

【Boost】boost::property_treeの例外処理を考えよう!

ライブラリなどを使用していると、「使い方は大体分かった!使ってみよう!」とすると微妙にはまってしまうことがあります。 前回・前々回でお話しした文字コードもその一つですが今回は例外処理について考えてみま …

【Boost】Boostライブラリの日付を使ってみよう!

先日の記事でBoostをインストールできたのでBoostのライブラリを使って遊んでみましょう。 今回は日付に関する情報をBoostから取得・表示したり、〇月〇日~□月□日が何日間あるか(期間)取得して …

C++でインターフェイスを作成しよう。

私事ですが今後業務ではC++を使用することになりそうです。 今まではウェブ関連の業務であったり、ちょっとしたテスト程度だったのでJavaを中心に使っていたため、C++の文法など少し忘れ気味です&#82 …

【MFC入門】メッセージボックスにエラーコードを表示させよう

ライブラリなどを使用していると、戻り値にエラーコードを返す関数は比較的多いです。 GetLastError関数(最新のエラーコードを取得する関数)がライブラリに含まれていることもありますが、そうでない …

Eclipse NeonとCDT/MinGWでC++開発環境を作成しよう!(2)

前回の記事でEclipseにCDTを追加インストールすることができました。 今回はMinGWとMSYSをインストールし、Eclipse上でC++プロジェクトを実行してみましょう。 この際に必要なダウン …