Akira

C++/CLI

【C++/CLI】フォーム(ウィンドウ)のサイズ固定

プログラム実行時のウィンドウのサイズをユーザに変えられないようにサイズを固定するには フォームのFormBorderStyleプロパティをFixed××に設定します。 なんとなく、FormResizeみたいなプロパティが無いか?探したくなっ...
C++/CLI

【C++/CLI】ウィンドウの押されたボタンを取得(DialogResultプロパティ)

一般的なウィンドウでは下図のようにOKボタンとCancelボタンを配置しボタンが押されるとウィンドウを閉じるようにしますが、このOKボタンとCancelボタンのどちらのボタンを押されたのか?を取得する方法を紹介します。 まず、buttonコ...
画像処理プログラミング

フィルタ処理の高速化アルゴリズム(縦横に処理を分ける)

前回、フィルタ処理の高速化アルゴリズム(重複した計算を行わない)で紹介した方法ではカーネルの値が全て同じでないと使えないので、今回はフィルタ処理を縦方向と横方向に分けて行う事でフィルタ処理の高速化を行う方法をガウシアンフィルタを例にとって紹...
画像処理プログラミング

フィルタ処理の高速化アルゴリズム(重複した計算を行わない)

画像フィルタ処理の高速化のテクニックを移動平均フィルタを例にとって紹介したいと思います。 カーネルのサイズが5×5の移動平均フィルタの場合、注目画素の周辺の5×5の輝度値を合計し、 その輝度値の合計を画素数(5×5=25)で割る処理をラスタ...
OpenCV2.2

【OpenCV2.2】サンプルプログラム(C++/CLI版)

先日、C言語によるOpenCVのサンプルプログラムについては、 【OpenCV2.2】新規プロジェクトの作成方法(C言語版) のページにて紹介しましたが、C言語だとウィンドウの作成やマウスイベント処理などが、少々面倒です。 そこで、.NET...
お知らせ

【展示会情報】VISION Japan 2011

2011年4月20日(水)~22日(金)に神奈川県横浜市のパシフィコ横浜にて、カメラや光学機器メーカーが集う、 VISON Japan 2011 が開催されます。 今回は日本インダストリアルイメージング協会(JIIA)主催の無料のセミナーも...
OpenCV

【OpenCV】IplImageから.NETのBitmapへ変換

OpenCVのプログラムを作っていると、OpenCV用のGUI(highgui)はかなり物足りなく、ウィンドウや表示まわりは.NETに任せたいので、OpenCVのIplImageから.NET(C++/CLI)のBitmapへ変換すると、簡単...
C++/CLI

【C++/CLI】画像の拡大縮小表示(簡易版)

C++/CLIで簡単にできる画像の拡大縮小表示を紹介します。 今回、作成したプログラムはこんな感じ↓です。 このサンプルプログラムはこちら SimpleZoomImage.zip (VisualStudio2005 Express Edti...
C++/CLI

【C++/CLI】8Bitモノクロのカラーパレット設定方法

モノクロ8Bitの画像を新規に作成する場合の、モノクロのカラーパレットは、以下のように作成します。 //8BitのBitmap作成 Bitmap^ bmp = gcnew Bitmap(pictureBox1->Width, picture...
C++/CLI

【C++/CLI】System::String^からchar*へ変換

アンマネージのC言語で作られたライブラリなどへ.NETのプログラム(マネージ)から文字列を渡す場合、System::String^からchar*へ変換する必要があります。 この場合、 System::Runtime::InteropServ...
C++/CLI

【C++/CLI】新しくウィンドウを開く/閉じる

例えば、Form1からForm2というフォームを表示する場合は、 モーダル表示 表示したウィンドウしか操作できないウィンドウを開く #include "Form2.h" (中略) Form2^ frm = gcnew Form2(); //...
Visual Studio

Visual Studioのツールボックスのアイコン表示がおかしくなった場合

Visual Studioを使っていると、なぜか途中でツールバーのアイコンがこんな感じ↓ でおかしくなる場合があります。 でも、ちゃんと復帰方法もあります。 復帰方法 ツールボックスのウィンドウ上で右ボタン ↓ 「ツールボックスのリセット」...
C++/CLI

【C++/CLI】マウスイベント処理

マウスイベント(マウスをクリック、ダブルクリックなど)の処理を追加するには、イベント処理を行うオブジェクト(ピクチャボックスやボタンなど)を選択した状態でイベントのプロパティウィンドウを表示し、イベント処理の文字の部分をダブルクリックします...
C++/CLI

インデックス付きのピクセル形式をもつイメージとは?

System::Drawing::GraphicsクラスのFromImageメソッドやSystem::Drawing::BitmapクラスのSetPixel、GetPixelメソッドで、モノクロの画像データを指定すると 追加情報: インデッ...
C++/CLI

【C++/CLI】メニューを付ける

新規プロジェクトの作成のページでは、何もしないだたのウィンドウ表示のプログラムを作成しましたが、このウィンドウにメニューを付けたいと思います。 と、その前に簡単にVisualStudioの操作説明をしたいと思います。 フォーム(ウィンドウ)...
C++/CLI

【C++/CLI】新規プロジェクトの作成

VisualStudioで新規にC++/CLIのプログラムを作成する場合は以下の手順で行います。 VisualStudioを起動すると下図のようなウィンドウが開きます。 次に作成の文字の右側にあるプロジェクトの文字をクリックします。 すると...