ぴぐノート

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

執筆者:

関連記事

【OpenCV】OpenCVをビルドして画像処理をしてみよう!

今日はOpenCVを使って画像表示をしてみたいと思います。 ツールやアプリケーションを作る場合、多かれ少なかれ画像処理は必要になってくるのではないでしょうか。 また画像処理関係ではまると泥沼化する場合 …

C++のプリプロセッサの復習をしよう その2 【#defineの活用】

前回に引き続き、C++のプリプロセッサの復習です。 前回は#includeと#defineについて記事にしましたが、【まとめ】にも記載の通り、#defineと関連するプリプロセッサは多くあります。 今 …

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

MFCなどを利用する場合にはほぼVisualStudio一択ですが、簡単なコンソールアプリケーションを作る場合にはEclipseのほうが便利な場合も多いです。 特に「普段はJavaで開発を行っているけ …

【MFC】フォルダー選択ダイアログの表示【Visual C++】

出力先の指定などフォルダー選択のダイアログを表示させたいことがあります。 フォルダー選択ダイアログを表示させるためには、SHBrowseForFolder関数を使います。 SHBrowseForFol …

【OpenCV】MFCのピクチャーコントロールに描画しよう!

前回、OpenCVを使って画像の回転や二値化などを行って動作確認をしました。 今回はMFCでダイアログベースのアプリケーションを作成し、ピクチャーコントロールにOpenCVで読み込んだ画像を表示させて …