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

BorderTypeプロパティではインデクサをつかって

 

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

 

のように配列の添え字に相当する部分に負の値を設定すると、画像の外側の輝度値(画素値)を参照できるのを紹介しました。

だったら、添え字相当の部分に少数も指定できるんじゃね?!的な発想で画素間の輝度値を取得できるようにしています。

 

下記のコード例ではX座標が1.3、Y座標が2.7の位置を輝度値を取得しています。

var img = new ImagingSolution.Imaging.ImageData("image.bmp");
var bright = img[2.7f, 1.3f];

 

InterpolationMode Property

 

この画素と画素の間の輝度値を周りの画素の輝度の値から算出する方法を補間というのですが、詳細は下記ページを参照ください。

画素の補間(Nearest neighbor,Bilinear,Bicubic)

 

この補間方法に有名どころで、Nearest neighorBilinearBicubicの3があり、この補間方法をInterpolationMonoプロパティにInterpolationModeEnumで指定します。

Bilinearが初期値で設定されています。

 

コード例

var img = new ImagingSolution.Imaging.ImageData("image.bmp");

////////////////////////////////////////////////////
// 下記のいづれかを指定します
// NearestNeighbor
img.InterpolationMode = ImagingSolution.Imaging.ImageData.InterpolationModeEnum.NearestNeighbor;
// Bilinear(初期値)
img.InterpolationMode = ImagingSolution.Imaging.ImageData.InterpolationModeEnum.Bilinear;
// Bicubic
img.InterpolationMode = ImagingSolution.Imaging.ImageData.InterpolationModeEnum.Bicubic;
////////////////////////////////////////////////////
// 取得する輝度値
var bright = img[2.7f, 1.3f];

 

ただし、Bicubicは処理が重いです...

 

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

 



web拍手 by FC2

関連記事、スポンサーリンク

スポンサーリンク

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

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

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

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

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

コメントを残す

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