【ImageDataクラス】BorderTypeプロパティ

ImageDataクラスでは、C#のインデクサという機能を使って、new したImageDataクラスをオブジェクトをあたかも配列かのように扱うことができます。

 

インデクサの例

var img = new ImagingSolution.Imaging.ImageData("image.bmp");
var bright = img[2, 5];

 

のようにするだけで画像の輝度値を取得することができます。

 

インデクサを用いると、配列ではできない

var bright = img[-1, -1];

 

のように配列の添え字に相当する部分にマイナスの値を指定することもできます。

 

このインデクサの機能を使って、画像のフィルタ処理で、画像の外周部分において、画像の外側の輝度値を参照する方法をBorderTypeプロパティにより設定を行います。

 

3×3フィルタにおいて、画像の外側を参照してしまう例

BorderTypeプロパティ

 

設定はBorderTypeEnum列挙型を指定します。

 

BordeTypeEnum.Mirrorの場合(初期値)

画像の輪郭部分を基準に折り返すように輝度値を参照します。

BorderTypeプロパティ

img[-1, -1]の値は130となります。

 

BordeTypeEnum.Clampの場合

画像の輪郭部分の輝度値に固定し参照します。

 

BorderTypeプロパティ

img[-1, -1]の値は71となります。

 

BordeTypeEnum.ToZeroの場合

画像の外側の輝度値を0にします。

BorderTypeプロパティ

img[-1, -1]の値は0となります。

 

ImageDataクラスライブラリへ戻る



web拍手 by FC2

関連記事

スポンサーリンク

カテゴリー: ImageData Class  タグ: . Bookmark the permalink.

【ImageDataクラス】BorderTypeプロパティ への4件のフィードバック

  1. ピンバック: 【ImageDataクラス】画像の輝度値(画素値)の取得/設定 | イメージングソリューション

  2. ピンバック: 【ImageDataクラス】InterpolationModeプロパティ | イメージングソリューション

  3. ピンバック: ImageDataクラスライブラリ | イメージングソリューション

  4. ピンバック: 【C#】ImageDataクラスライブラリ公開 | イメージングソリューション

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です