画像処理基本用語
知っておきたい画像処理用語をまとめてみました。最低限これだけは頭に叩き込んでおきたいものです。
用語 | 用語説明 |
解像度 | レンズの焦点面に結像した画像で1mm辺り何本の線を識別できるかの指標 |
有効画素数 | CCDの総画素の中から実際に処理に使う画素数 |
焦点距離 | 平行な光が焦点を結ぶ位置とレンズ中心の距離
広角レンズほど焦点距離が短い |
被写界深度 | ピントの合う範囲のこと
アイリスを絞ると被写界深度は深くなる |
ディストーション | 歪曲収差
ディストーションが大きいと、レンズ周辺部にいくほど歪曲して結像する |
視野 | FOV
使用カメラで見える物体側の範囲 |
光学倍率 | CCD寸法と実視野との比較倍率
光学倍率2倍のレンズとは画像がCCD寸法の2倍に拡大されるレンズで視野は1/2になる |
モニタ倍率 | モニタ上の撮像寸法と実視野との比較倍率
モニタ倍率100倍のモニタであれば実視野の100倍でモニタに映すことができる |
シャッター時間 | シャッターを開放する時間(露光時間)
移動物体のスピード゙、ライティング状態に合わせて決める シャッター時間を短くすると高速移動物体を静止画像として処理できるが、CCDがチャージする光量が減るので撮像画像が暗くなる 反対にシャッター時間を長くすると撮像画像は明るくなるが、移動物体がブレて鮮明に映らない可能性がある |
プログレッシブスキャン | 1回の画面表示を1回の走査で行なうスキャン方式
全画素読出し方式・ノンインターレース方式・順次走査方式ともいう |
インターレーススキャン | 1回の画面表示を奇数列と偶数列に分けて行なうスキャン方式
飛越し走査方式ともいう プログレッシブ方式に比べ画質は落ちるが、情報量が少ないため転送時間が1/2になる |
ワーキングディスタンス | 被写体距離
レンズ鏡胴の先端からワークまでの距離。WDと表記する |
接写リング | 延長バレルともいう
レンズとカメラの間に装着し最近接撮影距離(WD)を短くし、拡大率を上げる事が出来ます ただし、長くなる程、暗くなります |
エクステンダー | マスターレンズとカメラの間に装着し、 被写体距離(WD:WORKING DISTANCE)を変えることなく撮影倍率を上げます
ただし、F値が暗くなり、被写体深度が浅くなります |
バリフォーカル・レンズ | 簡易型のズームレンズ
ズームレンズとの違いはズーミングするとピントの再調整が必要という点です |
ズームレンズ | 1本で単体レンズ数本分の焦点距離をカバーする可変焦点レンズ
フォーカス(距離・ピント)・ズーム(画角)・アイリス(絞り)を全て手動で行うタイプ(手動ズーム)と、アイリス(絞り)が自動調整型(DC駆動/Video駆動)のタイプ、全てを電動でコントロールする電動ズームがあります |
撮像素子と波長感度を考える
撮像素子と言えば、CCD、 CMOSと答えるのが一般的でしょう。その素子っていったい何でできているのでしょうか?
答えは、シリコン(Si)です。さらに言えば、Siの半導体受光素子を使います。ここまで答えられる人が普通でしょう。
半導体を知っている人ならさらに深堀する内容を知っておられるはずです。p型半導体とn型半導体の接合部での光電変換により撮像することができます。Siの感度特性は、200nm~1100nmであり、ちょうど人間の目と同じ可視領域をカバーすることができます。
ここのところ近赤外カメラが仕事であがってきていますが、Siは得意分野ではないです。ここで素子のキーワードとして登場してくるのがInGaAsカメラとなります。InGaAsとは元素のことを指しており、イリジウム・ガリウム・ヒ素の素子で、近赤外である800nm~2umのカメラです。
その他素子として撮像に用いられるものは、
・可視の400nmから600nmターゲットとするGaAsP(ガリウム・ヒ素・リン)
・紫外から近可視の200nmから500nmターゲットとするGaP(ガリウム・リン)
・近赤外の2umから5umターゲットとするInSb(イリジウム・アンチモン)
・赤外の2um~20umターゲットとするHgCdTe(水銀・カドミウム・テルル)
等があります。
ここまで読んでこられている方で納得していない方がいるはずです。それは赤外のセンサを使ったことがありそんな高価な素子は使っていないだろうと思っている感覚の持ち主です。今まで紹介したものは光子の入射で電荷を検出するタイプであり、もう一つのタイプは受光によって熱を感知するタイプです。このタイプは前者より検出感度や反応速度が劣りますが、波長に依存しない、熱雑音の影響を受けにくい、価格が安いという面もありこちらのタイプの方が目にすることが多いと思います。
amazonで赤外カメラを調べると4000円台で購入することができます。赤外カメラは身近なものになっていると思います。通勤している道路に設置されており、見えないだろうと思う夜間に監視されているかもしれません。
ボルダリング部特別編!? (IN 秋葉原B-PUMP)
ボルダリング部部長の細木です。
リオ五輪、盛り上がってますね。
皆さんはどの名勝負が記憶に残りましたか?
帝国データバンクの日刊紙に当社記事が掲載されました!
キーマンズネット様でMendixをご紹介&超高速開発ツール特集ページが公開されました!
キーマンズネット様でMendixの紹介ページが公開されましたので是非ご覧ください。
また、超高速開発を特集した記事が掲載されました。
当社から資料等提供をしており、
Mendixに関連する情報が記載されておりますのでご一読いただければ幸いです。
Mendixご紹介セミナー終了致しました!
遠藤でリオに渡ります ©手倉森監督
ごきげんよう。ビルドシステムの菊川です。
#この記事をいつ見てるか分からないので、汎用的な挨拶を使ってみました^^
Webサービスで画像転送-2
前回WebサービスでHTTP GETで画像を取得するコードを実装し、IEから取得できることを確認しました。
ではWebアプリ(C#)から画像を取得するコードを書いてみます。
.NET Framework4.5で使用できるHttpClientクラスを使うことにします。
URIは、VS.NET for Webのデバックモードなのでlocalhost:xxxxで接続しています。GET処理でHTTPのレスポンスオブジェクトを取得し、レスポンスがあった場合に処理をしています。繰り返しデータを取得するならばHttpResponseMessage response …の前にwhileループを記述してください。次にDynamicJsonを使ってjson形式のデータをパースしてbase64形式のデータを作成します。そのデータをデコードしてバイナリデータに変換します。データは8bitモノクロ画像だと予め分かっているのでWindows Bitmapオブジェクトを生成し、ヘッダ情報を整えてデータをセットします(Bitmap8クラスの説明は割愛)。最後にFormのPictureBoxにセットして画面表示しています。
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(“http://localhost:3683/”);
// アクセプト設定
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(“application/json”));
// GET処理
HttpResponseMessage response = await client.GetAsync(“api/ImageTransfer”);
// レスポンスがあった場合
if (response.IsSuccessStatusCode) {
// データ取得
string content = response.Content.ReadAsStringAsync().Result;
// Json変換
dynamic JsonValues = DynamicJson.Parse(content);
byte[] data = null;
foreach (var value in JsonValues) {
string base64Data = (string)value.Base64Data;
data = Convert.FromBase64String(base64Data);
}
Bitmap8 bitmap8 = new Bitmap8();
bitmap8.width = IMAGE_LENGTH;
bitmap8.height = IMAGE_LENGTH;
Bitmap bitmap;
bitmap8.WriteBitmapData(data, out bitmap);
bitmap8 = null;
data = null;
if (_form._form1.pictureBox1.Image != null) {
_form._form1.pictureBox1.Image.Dispose();
}
_form._form1.pictureBox1.Image = bitmap;
} else {
;
}
// レスポンスクリア
response.Dispose();
このような感じで実装すればWebサービスから画像データを取得することができます。
またGETの特性としてデータ容量の問題があるのでPOSTも実装したいと思います。次回はPOSTのWEBサービス側をレポートします。