C#

C#

【C#】Bitmapクラスへのポインタ渡し

画像処理のプログラムを作成するときは、GUIはC#、画像処理はC、C++で書かれたライブラリで作成するというのが、私の定番となっているのですが、C言語で処理された画像データをC#へ渡す場合は、画像データのコピーや画像ファイルを介せずとも、画...
C#

【C#】Bitmap画像データのメモリ構造

Bitmap画像の輝度値を参照するには、こちらのページ↓ で、Bitmap画像のメモリの値を参照するにはBitmapオブジェクトをLockBitsでロックし、BitmapDataのScan0プロパティを参照すれば、良いと書きましたが、このS...
C#

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

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

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

Bitmapクラスのプロパティに Format24bppRgb などを取得できる PixelFormatプロパティ はありますが、1画素あたりのビット数を取得するにはどうすればよいのか?? 画像処理で使うPixelFormatは Forma...
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オブジェクトへ元の部分領域を指定して描画 ...
C#

【C#】グローバル変換とローカル変換

画像を拡大縮小表示する場合は、.NET Frameworkのアフィン変換の機能を用いて表示するのが比較的簡単なのですが、そのアフィン変換にもグローバル変換とローカル変換というものがあります。 詳細はMSDNのページ にも書いてありますが、グ...
C#

【C#】アークタンジェントの計算

下図のような角度(θ)を求める際にはアークタンジェントを計算しますが、C#ではSystem.MathクラスにAtanメソッド および Atan2メソッドが用意されています。 public static double Atan( double...
C#

【C#】画像ファイルビューア(ソースコード付き)

(2019.09.03追記)本記事の内容を再度、再構成し、下記の記事を作成しました。 以下は以前、書いた記事 画像ファイルを開いて、マウスホイールの上下で拡大縮小するソフトは、以前にも作り、旧ブログで公開しているのですが、これはGraphi...
C#

【C#】Bitmapクラスの最大サイズは?

私は仕事でセンサカメラなどを用いる事があるのですが、ラインセンサは横の画素数が8K(8192画素)ぐらいは、割と普通に使われ、1枚の画像として、縦方向の画素数はいくらでも指定できてしまうため、C#プログラムでBitmapクラスはどの程度の大...
画像処理

【C#】画像処理プログラム向け基本プログラム

C#で画像処理を行うための最低限のプログラムを作成しました。 サンプルプログラムのダウンロードはこちら↓ ImagingBaseSample.zip(Visual Studio 2015 C#) ※Windows7では画像表示が消えてしまう...
C#

【C#】FormにDockしたPictureBoxのリサイズ時のサイズ取得

タイトルが長ったらしくなってしまったのですが、ピクチャボックスをFormにDockしたときにピクチャボックスのリサイズイベントでピクチャボックスの大きさ(幅、高さ)を取得するときのお話です。 フォームエディタで、上図の様にPictureBo...
C#

【C#】画像ファイルを開く

C#で「画像ファイルを開く」というと、画像を表示したり、画像処理をするために、Imageクラス(名前空間:System.Drawing)か、Bitmapクラス(名前空間:System.Drawing)を作成することになります。 Bitmap...