前回、OpenCVを使って画像の回転や二値化などを行って動作確認をしました。今回はMFCでダイアログベースのアプリケーションを作成し、ピクチャーコントロールにOpenCVで読み込んだ画像を表示させてみましょう。簡単なサンプルプログラムとして、「ボタンを押下されたらOpenCVで画像を読み込み、ピクチャーコントロールのサイズに合わせてリサイズし描画」させてみましょう。まとめサンプルプログラムの作成プロジェクトを作成しよう!では、サンプルプログラム用のプロジェクトを作成していきましょう。2017を起動し、[ファイル]-[新規作成]-[プロジェクト]をクリックします。「新しいプロジェクト」ダイアログでは、「MFCアプリケーション」を選択し、プロジェクト名とソリューション名を入力します。今回は前回のソリューションに追加する形で作成しています。「MFCアプリケーションウィザード」のようこそ画面ではそのまま[次へ]ボタンをクリックします。Lifecycleチェック]のチェックを外します。「ユーザーインターフェイス機能」は特に変更せずに、[次へ]ボタンをクリック。「高度な機能」ではすべてのチェックをを外します。「生成されたクラス」では特に変更せずに、[完了]ボタンをクリックします。Controlを配置します。Controlのプロパティは以下のように設定しておきます。次に、追加したボタンを右クリックし、[イベントハンドラーの追加]をクリック。[イベントハンドラーウィザード]の内容は変更せずに、[追加して編集]ボタンをクリックします。これでコーディングを開始したいところですが、前回と同様に「追加のインクルードディレクトリ」と「追加のライブラリディレクトリ」を設定します。追加の方法は前回の記事を参考にしてみてくださいネ。コーディングしよう!ではコードを入力していきます。SRCCOPY);ReleaseDC(dc);}注意しなければならないのは、24行目の部分です。Controlのサイズに合わせてリサイズしていますが(27行目)、24行目で設定したサイズが4の倍数になっていない場合、上手く表示できません。そのため、幅と高さの下位2ビットを削り、必ず4の倍数になるように設定しています。4バイト境界]また、33行目でBITMAPINFOHEADER::biHeightに正の値を設定しており、この画像はボトムアップDIBとなるため、28行目で画像を上下反転させています。28行目をコメントアウトし、33行目のbiHeightに負数(-size.Height)を入力し、トップダウンDIBと指定しても同じ結果になります。MSDN28行目をコメントアウトし、33行目のbiHeightを変更しなければ上下反転された状態で描画されることも確認してみてくださいネ。Controlに描画させることができました。今回は単純にするためボタンが押されたら、特定の画像を読み込み表示するようなサンプルでしたが、実際には、ボタンが押されたらファイル選択ダイアログが表示される画像のデータをImageクラスで保持する表示した画像をマウスホイールで拡大・縮小するなどなどたくさんの実装が必要になると思います。改善の余地は多くありますが、ひとまず動くことが確認できたので改善もしやすいのではないでしょうか。NeonとCDT/MinGWでC++開発環境を作成しよう!(2)前回の記事でEclipseにCDTを追加インストールすることができました。今回はMinGWとMSYSをインストールし、Eclipse上でC++プロジェクトを実行してみましょう。...【OpenCV】OpenCVをビルドして画像処理をしてみよう!今日はOpenCVを使って画像表示をしてみたいと思います。ツールやアプリケーションを作る場合、多かれ少なかれ画像処理は必要になってくるのではないでしょうか。NeonとCDT/MinGWでC++開発環境を作成しよう!(1)MFCなどを利用する場合にはほぼVisualStudio一択ですが、簡単なコンソールアプリケーションを作る場合にはEclipseのほうが便利な場合も多いです。...C++でインターフェイスを作成しよう。私事ですが今後業務ではC++を使用することになりそうです。C++】エクスプローラーのディレクトリー構成などツリーコントロールの活用場面は多いです。