Akira

Deep Learning

バックプロパゲーション(誤差逆伝搬法)

Deep Learningを勉強すると、とにかく分からないバックプロパゲーション。 やっていることは、入力の値に重みやバイアスを掛けて構築されるニューラルネットワークの出力値が目標値に近づくように重みやバイアスを調整するいわゆる学習の工程で...
C#

【C#】アフィン変換の相互座標変換

アフィン変換を用いて画像を拡大、縮小、回転などを行ってピクチャボックスへが画像の表示を行うと、逆にピクチャボックス上の座標から、元の画像の座標を知りたくなる場合がありますが、画像の表示をアフィン変換行列を用いて表示すると、意外と簡単に求まり...
C#

【C#】Bitmapの解像度(DPI)の取得設定

画像ファイルのプロパティをエクスプローラーで表示すると、下図のように水平方向の解像度、垂直方向の解像度が表示されますが、ほとんどの場合、Windowsでは96dpiと表示される場合が多いのですが、この解像度の値をC#で取得、設定(変更)して...
C#

【C#】正規分布に従う乱数の取得

.NETでは乱数のクラスにRamdomクラスがあります、どれも一様に分布する乱数しか取得できません。 例えば、NextDoubleメソッドを用いると、0以上、1.0未満の一様に分布した乱数を取得する事ができます。 var rnd = new...
C#

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

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

Intel RealSense D435を購入

以前から気にはなっていたIntel RealSense D435ですが、品薄状態が続いており、ようやくスイッチサイエンスのサイトから購入することができました。 ここのサイトで入荷通知機能を登録していたので、メールが来てから速攻で注文したので...
C#

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

Bitmap画像の輝度値を参照するには、こちらのページ↓ で、Bitmap画像のメモリの値を参照するにはBitmapオブジェクトをLockBitsでロックし、BitmapDataのScan0プロパティを参照すれば、良いと書きましたが、このS...
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オブジェクトへ元の部分領域を指定して描画 ...