2018-03

C#

【C#】Bitmap画像の輝度値の参照設定

画像の輝度値(画素値)を取得/設定するのに、.NETでは SetPixel と GetPixel というメソッドが用意されていますが、処理が遅かったり、モノクロの8ビット画像でSetPixelを実行しようとすると 型 'System.Inv...
C#

【C#】Bitmapのカラーパレットの設定

8bitのグレースケールのBitmap(PixelFormatがFormat8bppIndexed)を新規で作成する場合、カラーパレットを設定する必要があるのですが、安易に下記のようなコード // これは設定できない var bmp = n...
C#

【C#】Bitmap画像のビット数の取得

Bitmapクラスのプロパティに Format24bppRgb などを取得できる PixelFormatプロパティ はありますが、1画素あたりのビット数を取得するにはどうすればよいのか?? 画像処理で使うPixelFormatは Forma...
C#

【C#】補間モード(InterpolationMode)の設定

例えば、画像を縦横2倍に拡大すると画像に隙間が生まれてしまうため、この隙間をどのように埋めるか?の手法を補間と呼び、C#ではGraphicsクラスのInterpolationModeプロパティを設定することで、DrawImageメソッドが補...
C#

【C#】画像(Bitmapクラス)のPictureBoxへの描画

画像(Bitmapオブジェクト)を描画するには、DrawImageメソッドを用いますが、DrawImageメソッドは30個も定義があり、使うと意図しない動きをする定義も含まれています。 DrawImage(Image image, Poin...
C#

【C#】Bitmapのファイル保存

Bitmapオブジェクトをファイルに保存するにはSaveメソッドを用います。 以下にBitmapファイル(*.bmp)を開き、Jpegファイル(*.jpg)に保存する例を示します。 var bmp = new Bitmap(@"C:\Tem...
C#

【C#】Graphicsオブジェクトの作成

フォームのピクチャボックスなどに画像や線を描画するには、Graphicsオブジェクトに対して描画を行いますが、Graphicsオブジェクトの作成方法はいくつかあり、描画の際の挙動も異なります。 Graphicsオブジェクトの作成方法は以下の...
C#

【C#】画像の結合

画像の結合は画像の一部領域の切り出しで行った方法とよく似ています。 処理の手順は 結合後の大きさと同じ大きさのBitmapオブジェクトの作成 BitmapオブジェクトからGraphicsオブジェクトの作成 作成したGraphicsオブジェク...
C#

【C#】画像の一部領域の切り出し

画像の一部領域を切り出すには以下の手順で行います。 切り出す領域と同じ大きさのBitmapオブジェクトの作成 BitmapオブジェクトからGraphicsオブジェクトの作成 作成したGraphicsオブジェクトへ元の部分領域を指定して描画 ...
マシンビジョン

移動平均フィルタ VS ガウシアンフィルタ

いろいろと検索していたら、2008年の国家試験に以下のような問題があったらしい。 画像が最も平滑化される空間フィルタはどれか。 ただし、数字は重み係数を示す。 (参考) この問題、 1.ラプラシアンフィルタ 2.3x3の移動平均フィルタ 3...