Akira

マシンビジョン

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

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

【Excel】高速フーリエ変換(FFT)のマクロ(VBA)

Excelには標準でフーリエ解析の機能を備えていますが、解析用のデータを変更してもフーリエ変換の結果は自動更新してくれないので、少し使い勝手の悪い物になっています。 そこで、エクセルのセルの部分にSUM や AVERAGE のような関数と同...
C#

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

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

【Word】数式に使われるフォントは?

教科書など、方程式に使われる英数字のフォントは何か?調べてみました。 特徴的なのはxの文字 Word2016の数式エディタで使われるフォントは Cambria Math というフォントでした。 でも、何か違う。。特に Xの文字 昔のワードは...
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クラスはどの程度の大...
Windows10

【Windows10】環境変数の設定方法

(2021.4.29修正) Windows10の環境変数の設定はWindows10のバージョンにより少しずつ変更されています。 現在のバージョン(20H2 OSビルド19042.928)では以下のように行います。 まず、スタートボタンを右ク...
画像処理

【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...
C#

【C#】n乗根の計算

n乗根の計算で、例えば8の3乗根( \(\sqrt { 8 } =2\) )を計算するにはMathクラスのPowメソッドを用いて Math.Pow(8.0, 1.0 / 3.0); と、すれば答え 2 が求められます。 しかし、負の値のn乗...
C#

【C#】アンチエイリアスの設定

アンチエイリアス(antialias)とは、特に斜めの線を描画した時にギザギザになるのをなめらかにする処理ですが、C#ではGraphicsクラスのSmoothingModeプロパティにSystem.Drawing.Drawing2D.Smo...
C#

【C#】寸法線の描画

GraphicsPathを使うことで、文字を任意角度で表示することが出来るのを知った元メカ屋な私。 これは寸法線の描画に使えそう! と思い、寸法線の描画部分をクラスにまとめたものを作成してみました。 実行画面 寸法線描画のクラス↓ publ...
C#

【C#】GraphicsPathの領域取得

GraphicsPathを囲む外接四角形の領域はGetBoundsメソッドで取得することができます。 private void Form1_Paint(object sender, PaintEventArgs e) { // パスの作成 ...
C#

【C#】GraphicsPathの描画

GraphicsPathの特長の一つでもあるアフィン変換を駆使した描画をしてみたいと思います。 パスの描画は、パスをnewしてAddLineなどのメソッドで図形を描画し、DrawPath(輪郭の描画)やFillPath(塗りつぶした描画)で...