ImageDataクラスライブラリ公開のページにて公開しているサンプルプログラムについて簡単に説明しておきます。
このサンプルプログラムの開発環境は
- Visual Studio 2015 C#
- .NET Framework 4.5.2
となります。
上記環境にて、サンプルプログラムを実行すると、下図のような画面が開きます。
このFileメニューよりOpenを選択し、画像ファイルを指定します。
このOpenの処理の中身は、ほぼ.NET FrameworkのBitmapクラスなので、開く事のできるファイルもBitmapクラスに従い、*.bmp、*.jpg、*.png、*.tifとなります。
保存(Save)は上記形式に加え、CSVファイルにも保存できます。
画像を開いたら、ウィンドウに等倍で画像が表示されます。
ステータスバー左側にはマウスポインタが指示している画像の座標と、その位置の輝度値(R, G, B)が表示されます。
また、ステータスバー右側には、フィルタ処理を行った時の処理時間が表示されます。
画像のフィルタ処理を実行するにはFileメニューより、GrayScale、Gaussian、Sobelの3つの処理を選ぶことができます。
GrayScaleの処理結果
Gaussianフィルタの処理結果
Sobelフィルタの処理結果
の3つの処理を実装しています。
フィルタ処理の部分はソースを公開しているので、フィルタ処理プログラム作成の参考にしてみて下さい。
今回、この3つの処理を選んだのには
GrayScael・・・処理の前後で画像のビット数が変わる例
Gaussian・・・画像の外側の輝度値を参照する例
Sobel・・・計算結果が負になる場合がある例
の代表的な例として公開しています。
ソースコードを見て頂くと分かりますが、画像の外側も普通に参照しちゃってるっぽいし、フィルタ処理の計算結果が0~255の範囲を超える場合もありそう・・・なのですが、そこは、このImageDataクラスがなんとかしてくれてます。
ピンバック: ImageDataクラスライブラリ | イメージングソリューション