Akira

C#

【C#】アフィン変換を用いて画像ビューアを作ろう!

C#にはアフィン変換に用いる行列用の Matrixクラス(名前空間:System.Drawing.Drawing2D) というクラスがあり、これを駆使すると、以下のようなプログラムを比較的簡単に作成することができます。 プログラムの実行ファ...
使える数学

二分法の処理アルゴリズムと応用例

簡単には解けない複雑な計算式の解を求める手法の一つに二分法という手法があります。 これは、2点間の間に必ず解がある場合、2点間の半分の位置の値を求め、解が小さい方にあるのか?大きい方にあるのか?を確認し、解がある方のさらに半分の位置の値を求...
C#

C#から使える画像処理ライブラリ

画像処理のプログラムでは、当然ながら画像の表示や、操作するボタンなどが欲しくなるので、GUIのプログラム作成が簡単なC#が割とよく用いられています。 しかし、画像処理そのものをC#でやるには処理速度に不満もあるので、GUIはC#、画像処理部...
製品

Osmo Mobile 3 のレビュー

私自身、初のジンバル(Osmo Mobile 3)を購入しました。 Osmo Mobile 3には、通常のOsmo Mobile 3と さらに、三脚とハードケースの付いた Osmo Mobile 3 コンボ というのがあるのですが、すぐにで...
C#

【C#】領域(Rectangle)全体を大きくする、小さくする

Rectangle構造体であらわされた領域全体を左右方向、上下方向に大きく/小さくするには Inflateメソッドを用います。 コード例 private void Form1_Paint(object sender, PaintEventA...
C#

【C#】Rectangle<-->RectangleFの相互変換

あまりやる事は無いのですが、Rectangle(名前空間:System.Drawing)とRectangleFの相互変換について調べてみました。 RectangleからRectangleFへ変換 これに関しては、型は変わるものの、値そのもの...
C#

【C#】座標が領域内にあるか?調べる方法

マウスをクリックした時など、任意の座標がある領域の範囲内にあるか?どうか?調べたい場合があります。 これを調べるには、四角形の領域の場合、Rectangleクラス(名前空間:System.Drawing)のContainsメソッドを用います...
C#

画像の拡大

例えば、下図のように2x2画素の画像を4x4の画像に拡大する場合、アフィン変換を使えばいいんでしょ!と、安易に考えていると、思わぬ落とし穴があったりもします。 大事なポイントとして、 ●画像の座標の原点は左上の画素の中心が原点(0.0、0....
マシンビジョン

Intel RealSense D435を使って腕の血管撮影

腕の血管は近赤外線のカメラで撮影すると見えるそうなのですが、近赤外線のカメラはかなり高価な物が多くてなかなか手が出せません。。 血管を見る専用の機材もあるのですが、100万円ぐらいからと、こちらもかなり高額です。 (参考)静脈が見える!「血...
C#

【C#】グラフのメモリ間隔の計算

C#でグラフを書く場合はChartを使うと簡単に書く事ができますが、Chartだけでは物足り無い事や、描画速度が遅かったりするので、自前でグラフを書こうとしたときに、Chartでやっているグラフの軸の間隔(下図の例では20)は、どうようにし...
C#

【C#,WPF】多ビット画像の取り扱い

一般的なカメラであれば、モノクロの画像であれば8bit(256諧調)、カラー画像であれば24bit(R,G,Bそれぞれ8bit)の画像が一般的なのですが、マシンビジョン用のカメラでは、1画素あたり10~14bitぐらいまでの諧調を持つカメラ...
C#

【C#】画像の輝度値の取得

C#で画像ファイルの輝度値を取得するにはLockBits~UnlockBitsでポインタを取得して配列へコピーするなどするのが、C#では定番となっています。 例えば、下記のようなサンプルコード var bmp = new Bitmap("0...
フリーウェア

フーリエ変換アプリ

こちらのページでは、フーリエ変換のイメージをビジュアル的に見せるためのプログラムになります。 単に、フーリエ変換をしたい場合は、下記のプログラムをご使用下さい。 フーリエ変換を教える時に、自分の中では糸(データ)を巻き取るようなイメージ↓(...
Microsoft Cognitive Toolkit

Microsoft Cognitive Toolkit Ver2.6が公開されました

変更の概要についてはこちら↓ 以前のバージョン(Ver2.5.1)ではVisual Studio 2015からも実行できたのですが、今回のVer2.6ではVisual Studio 2017でないとNuGetよりインストールできませんでした...
Deep Learning

Cognitive Toolkitのダウンロード、環境設定【C#編】

マイクロソフトのCognitive ToolkitをVisual StudioのC#で使用するためのインストール方法、環境構築を紹介します。 結論からすればCognitive Toolkitを動作させるためには、関連するDLLファイルがあれ...
Deep Learning

C#から使えるDeepLearningライブラリ Microsoft Cognitive Toolkit

Deep Learningのライブラリといえば、TensorFlowやChainer、Caffeなどが定番とされ、使用する言語はPython! な訳ですが、私がやりたいのは、工業用のカメラを使って、画像を撮影し、メモリに格納された画像データ...