画像処理ソリューション
これを見れば画像処理の入門から基礎~応用まで全てがわかるのを目指して!
   
翻訳(Translate)

プロフィール

Akira

ニックネーム:Akira
東京都の町田事業所に勤務
画像処理ソフトの開発を行っています。リンクフリーです!
詳細プロフィールは こちら
お問い合わせは、こちら↓

【補助HP】
画像処理ソリューションWeb版 【Newブログ】
イメージングソリューション

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

09 | 2017/10 | 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

趣味のブログ

iPhone萬歳!
iPhoneの情報いろいろ。
ブログ学習帳
ブログ、SEO、アフィリエイト情報など(まだまだこれから)
俺流クラフト日記
ハンドメイド作品の記録(現在、放置中)

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開

新ブログにて、拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開しました。

もし良かったら、触ってみて下さい。


詳しくはこちら↓
拡大鏡+輝度値表示+ルーラー機能アプリ MagnifyEx Ver.1.1.0

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

アフィン変換

メインページ画像処理

画像の拡大縮小、回転、平行移動などをまとめて3×3の行列を使って変換する事をアフィン変換と呼びます。

変換前の座標を(x, y)
変換後の座標を(x',y')

とすると、アフィン変換では
アフィン変換

のように実質的には2行3列の行列を使って変換します。

変換前の画像を以下のようにすると、

  アフィン変換

拡大縮小

X軸方向の拡大率をSx、Y軸方向の拡大率をSyとすると拡大縮小のアフィン変換は

アフィン変換

と表されます。

例)X軸方向に2倍
アフィン変換
  アフィン変換

例)Y軸方向に2倍

アフィン変換
  アフィン変換

例)X軸、Y軸方向に2倍
アフィン変換
  アフィン変換

例)Y軸方向に-1倍
アフィン変換
  アフィン変換
  このように、ある軸(上記の例ではX軸)に対して反転する処理の事を鏡映と呼びます。

平行移動

X軸方向にTx、Y軸方向にTyだけ移動するアフィン変換は

アフィン変換

のように表されます。
アフィン変換

回転

原点を中心に反時計回りにθ°回転する時のアフィン変換は

アフィン変換

のように表されます。
  アフィン変換

スキュー(せん断)

四角形の画像を平行四辺形に変形する処理をスキューまたはせん断といいます。
このアフィン変換は

アフィン変換
  アフィン変換

アフィン変換
    アフィン変換

注意点

アフィン変換では任意の3×3(2×3)の行列で表す事ができるので、任意形状に変換できそうにも思えるのですが、四角形が平行四辺形にまでは変形できるものの、台形には変形できないのでご注意願います。
この台形に変形できる処理は射影変換(ホモグラフィ)と呼びます。

  アフィン変換

また、実際に画像データをアフィン変換にて変換する場合は、アフィン変換の行列の式の両辺に3×3の逆行列を掛け、変換前の座標(x, y)と変換後の座標(x',y')を逆にして、変換後の座標から変換前の座標を求めます。

アフィン変換

このようにして変換すると、変換前の座標は1で割り切れない座標になる場合があるので、biLinear、biCubicなどの補間処理をして、座標と座標の間の輝度値を求めます。
(参考)
画素の補間(Nearest neighbor,Bilinear,Bicubic)
画像の回転

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

パノラマ写真作成ソフト『Image Composite Editor』

メインページ

最近買ったHS10というカメラには、スイングパノラマという機能があり、カメラを上下、もしくは左右にスイングしながら撮影することでパノラマ画像を作成してくれる機能があるのですが、今日、東京スカイツリーのご近所の浅草へ行ってきたのですが、このカメラを持って行くのを忘れてしまい、泣く泣くiPhone3GSにて東京スカイツリーを撮影。

でも、パノラマソフトがきっとあるんじゃないか?と思い、とりあえずパノラマ接合ように写真だけは撮っておいて、パノラマ写真作成ソフトを探してみました。

すると、Microsoft Researchが公開している
  Image Composite Editor
というソフトがあったので、これを使ってみましたが、こいつがなかなかイイ!
(ネタ元)http://d.hatena.ne.jp/TERRAZI/20080925/p1

普通に遠くから撮影した画像はこんな感じ。
パノラマ画像作成ソフト
ちなみに撮影したのは、浅草ビューホテルの蒔絵というフランス料理店より。
2010.11.6現在、497m!

これを近くの業平橋駅のホームから複数枚の写真を撮影してパノラマ合成したのがこちら↓
パノラマ画像作成ソフト
iPhoneで撮影した割には、なかなか迫力のある画像になりました。

使い方はネタ元のリンク先にも書いてありますが、とっても簡単。

パノラマ作成ソフトの入手は下記ページのDownload for ×× をクリックで入手できます。
 Image Composite Editor

まずはパノラマ画像に用いる画像を撮影。
少しずつ重なるように撮影するのがポイント!

パノラマ画像作成ソフトパノラマ画像作成ソフト
パノラマ画像作成ソフトパノラマ画像作成ソフト
パノラマ画像作成ソフト

Image Composite Editorを起動し、パノラマ合成する画像ファイルをDrag&Dropで追加する。
パノラマ画像作成ソフト

ファイルをDrag&Dropすると自動的にパノラマ合成されますが、画像の輪郭が歪んだ状態になっているのでAutomatic Cropをクリックし、画像サイズを調整します。
(自分でマニュアル調整することもできます。)
パノラマ画像作成ソフト

次にExport diskのボタンをクリックします。
必要によっては出力ファイルフォーマット、圧縮率、画像サイズなどを指定します。
パノラマ画像作成ソフト

そして出来たのがこちら↓の画像
パノラマ画像作成ソフト

これができるってことは、iPhoneをスキャナ替わりに使う事もできるし、これから無駄に写真を多く撮ってしまいそうな予感。

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

色相、彩度、明度の計算方法

メインページ画像処理

色相(Hue:色合い)、彩度(Saturation:鮮やかさ)、明度(Brightness,Lightness,Intensity,Value:明るさ)については、以前、変換式には色相、彩度、明度ほかのページにまとめたのですが、実は訳も分からず公式だけをまとめていました。

で、なんだか気持ちが悪かったので色相彩度明度について、よ~く調べてみました。
私なりの理解ですが、以下にまとめました。

R、G、Bの色空間については、下図のようにRGBをXYZのように三次元座標で表すと、一辺の長さが255で表される立方体の範囲内で全ての色を表す事が出来ます。(R,G,B各8bitの場合)
色相、彩度、明度

この立方体を白(255、255、255)に位置から黒(0、0、0)の方向へ見て、R軸を右側に取ると、

色相、彩度、明度の計算方法

のように、正六角形となります。
この時、の方向を0°として、反時計回りにの位置が120°240°色相0~360°(2π)を定めます。
彩度は一番外側の六角形に対して、どの割合の位置に配されているかを0~1.0で表したものが彩度となります。

詳細は後述しますが、色相彩度はカメラやパソコンなどの性能評価(使いやすさ、価格、処理速度など)を表す時に用いるレーダーチャート(クモの巣グラフ)もどきみたいな物?!と思うと、自分の中で少し整理ができました。

さらに、この六角形の高さ方法に明度を割り振ると、HSV(六角錐モデル)HLS(双六角錐モデル)となります。
それぞれの違いは明度の定義が異なり、R、G、Bの最大輝度値をImax、最小輝度値をIminとしたときに

  明度V = Imax

としたものがHSV

  明度L = ( ImaxImin ) / 2

としたものがHLSとなり、明度の値は0~1.0で表されます。

これを立体で表すと

HSV(六角錐モデル)
色相、彩度、明度の計算方法
HLS(双六角錐モデル)
色相、彩度、明度の計算方法

となります。
このHSV、HLSともに、六角錐の斜面の部分が彩度が1.0となります。

以下、色相彩度明度の詳細な計算方法です。

HSVの計算方法

はじめにR、G、Bの輝度値の範囲を0~255から0~1.0となるように変換します。
(R、G、Bのそれぞれの値を255で割ります。)

【色相Hの求め方】
下図のように、0°方向R120°方向G240°方向Bだけ進み、最後の点の位置のR軸に対する角度が色相となります。
色相、彩度、明度の計算方法

この最後の点の座標は中心を(x、y) = (0、0) とすると、R、G、Bの方向のなす角度から
色相、彩度、明度の計算方法

となり、より色相Hが求まります。
色相、彩度、明度の計算方法

ただし、アークタンジェントの計算が出来ない場合など、この方法とは別に、近似的に求める方法もあります。(こちらの方が一般的)

下図を見ても分かる?ようにR、G、Bの成分の比を比べ、
 Rが最大の場合、色相は-60°(300°)~60° (R方向の0°±60°)
 Gが最大の場合、色相は 60°~180°   (G方向の120°±60°)
 Bが最大の場合、色相は 180°~300°   (B方向の240°±60°)
の範囲内に色相は収まります。 
色相、彩度、明度の計算方法

以下、Rの値が最大の場合を例に取って説明したいと思います。

下図のように、2つの矢印の長さが分かれば、その矢印の比で角度60°を分割することで、角度(色相)を近似することが出来ます。
色相、彩度、明度の計算方法

R、G、Bの大きさがR≧G≧Bの場合

色相H = 60° × (G - B) / (R - B)
色相、彩度、明度の計算方法

R、G、Bの大きさがR≧B≧Gの場合

色相H = 60° × (G - B) / (R - G)

色相、彩度、明度の計算方法
となります。
ただし、この場合、色相の値が負となるので、
色相H = 60° × (G - B) / (R - G) + 360°

とします。

と、なる理屈を理解するのに苦労しました...
図中に書いてある黄色い正三角形がポイント!
正三角形なので、三辺の長さが等しい分けで。
R以外のGやBが最大となる場合も理屈は同じです。
120°づつ回転させて考えてみると分かります。

この式を一般的に書くと、R、G、Bの成分のうち、最大の成分をImax、最小の成分をIminとすると

ImaxRのとき
色相、彩度、明度の計算方法
ただし、H<0のとき、H = H + 360° とします。

ImaxGのとき
色相、彩度、明度の計算方法

ImaxBのとき
色相、彩度、明度の計算方法

となります。

明度Vの求め方】
明度は、もともとHSVの定義よりR、G、Bの成分のうち、最大の成分をImaxとすると

  明度V = Imax

とします。
明度Vの範囲は0~1.0となります。

彩度Sの求め方】
R、G、Bの成分のうち、最大の成分をImax、最小の成分をIminとすると

  彩度S = (Imax - Imin) / Imax

となります。
彩度Sの範囲は0~1.0となります。

色相、彩度、明度の計算方法

HLSの計算方法

【色相Hの求め方】
色相HはHSVの色相Hの求め方と同じです。

明度Lの求め方】
明度Lは、もともとHLSの定義よりR、G、Bの成分のうち、最大の成分をImaxとすると

  明度L = ( ImaxImin ) / 2

とします。
明度Lの範囲は0~1.0となります。

【彩度Sの求め方】
R、G、Bの成分のうち、最大の成分をImax、最小の成分をIminとすると

L≦0.5のとき

  彩度S = (Imax - Imin) / (Imax + Imin)

L>0.5のとき

  彩度S = (Imax - Imin) / ( - Imax - Imin)

となります。
彩度Sの範囲は0~1.0となります。

以下、補足説明です。

彩度Sは下図の外側の六角形に対して、内側の六角形の大きさの割合で求められます。

色相、彩度、明度の計算方法

この六角形の大きさはR,G,Bの輝度値が最大となる軸上で考えると比較的分かりやすいと思います。
今回はRの値が最大となる場合とします。

HLSは双六角錐モデルであるため、明度Lが0.5以下の場合、外側の六角形の大きさ(上図のE'の位置)は

  E' = Imax + Imin

で求まります。
色相、彩度、明度の計算方法

明度Lが0.5より大きい場合、外側の六角形の大きさ(上図のE'の位置)は

  E' = 2 - Imax - Imin

となります。
色相、彩度、明度の計算方法

以上のことから、最初の彩度Sの式が求まります。

色相、彩度、明度を使った色判別時の注意点

色相および彩度を用いると、画像の明るさ(明度)が変動しても似た色の領域を抽出する事が可能となりますが、彩度の値が小さい場合、つまりR、G、Bの値がそれぞれ近い場合は色相の値が不安定になります。

例えば、
 (R、G、B) = (121、120、120)の場合、 色相H = 0°
 (R、G、B) = (120、121、120)の場合、 色相H = 120°
 (R、G、B) = (120、120、121)の場合、 色相H = 240°

と、ほんの少しのR、G、Bの値の違いでも色相の値は大きく異なります。

また、色相Hは角度で表されるので、例えば1°も359°も値こそ離れていますが、どちらも0°±1°の範囲内で角度的には近いので、色相Hの値で単純に二値化処理することで色の領域を抽出する場合は注意して下さい。
 

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

UVWステージのしくみ(位置決め用高精度XYθステージ)

メインページ画像処理

画像処理の分野では画像を撮影して検査をするばかりでなく、半導体やFPDの業界では位置決め(アライメント)用途にも応用されています。今回は位置決め用途で用いられているUVWステージという、高精度のステージを紹介したいと思います。

通常のXYθステージUVWステージの基本構造は以下のようになっています。(若干異なる場合もあります。)

【通常のXYθステージ】
XYθステージのしくみ

【UVWステージ】
UVWステージのしくみ

UVWの各軸は、下図のように可動します。
UVWステージのしくみ
UVWステージでXYθの位置決めが出来る原理は、

UVWステージのしくみ

上図のようにU軸を動かすとステージはX方向へ移動し、V軸とW軸を同時に動かすとY方向へ移動します。
さらにU軸、V軸、W軸を同時に動かすとステージは回転します。

UVWステージの特徴は
  • ステージの高さを低く抑えられる
  • モーターが移動しないので、配線が用意(断線する可能性が低い)
  • 高精度
など。
なぜ?UVWステージが高精度の位置決めが可能になるかというと、特に回転方向の位置決めにおいて、同じ移動分解能のモータを使う場合、てこの原理のように、回転中心から離れた位置でステージを動かした方が回転の分解能は向上します。

UVWステージのしくみ

FPDなどの位置決めにおいては、ステージのサイズも大きくなり易いので、ステージの両端で回転方向を制御するUVWステージは有効的に高精度な位置決めを可能としてくれます。

そんな良い事だらけのUVWステージですが、欠点もあります。
  • 移動可能範囲が狭い
  • ステージ制御が難しい
など。
移動可能範囲が狭いのは、もともと位置決め用途で使われる場合の多いUVWステージなので、最初にメカ的に粗調整しておき、UVWステージで精調整する場合が多いので、あまり問題にはならないと思います。

ステージ制御においては、位置決めマークの位置を画像処理で抽出し、ズレ量を算出し、目的の位置へと合わせ込みますが、この時のずれ量は通常、X、Y、θのずれ量で算出されます。
しかし、XYθ軸の移動量からUVW軸の移動量へと変換するには、ちょっと面倒です...


【主なUVWステージメーカ】
ヒーハイスト精工株式会社
 


Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

円形度

メインページ画像処理

輪郭追跡を行うと周囲長を求めることができますが、この周囲長を用いた代表的な特徴量の円形度を紹介します。

円形度とは円らしさを表す値で値が1となる時、もっとも円に近くなります。
定義は面積(画素数)をS周囲長Lとすると、

 円形度 = 4πS/L2

となります。

【円形度の例
円形度面積S = 96
周囲長L = 34.627

円形度 = 1.006
  
円形度面積S = 87
周囲長L = 33.456

円形度 = 0.977

なぜそうなるのか?理屈は簡単で、
円の半径とすると、円の面積Sπr周囲長L2πrより、

円形度 = 4πS / L2 = 4π(πr2) / (2πr)2 = 1

となり、円形度4πS/L2に近いときもっとも円らしいということになります。
Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

輪郭追跡処理アルゴリズム

メインページ画像処理

二値化された画像において、各連結部分の境界部分を求める事を輪郭追跡といいます。
この輪郭追跡を行う事で周囲長や連結領域の高さなどを求めることが出来ます。

以下、この輪郭追跡の処理アルゴリズムを紹介します。

まず、左上からラスタスキャンを行い、白の部分を見つけます。

輪郭追跡処理アルゴリズム

最初の白の部分(上図の赤丸の部分)をスタート地点として、反時計回りに輪郭の部分を検出します。
最初の白の部分は左上からラスタスキャンしたため、スタート地点の右上、上、左上、左には白の部分が無い事が確定しているので、最初に左下の部分から反時計回りに白の部分を検索し、白の部分が見つかったら次の輪郭へ検索を続けます。
最後にスタート地点に戻ったら処理は終了です。

この時、輪郭の向きを下図のように定義しておくと、

輪郭追跡処理アルゴリズム

最初の図の輪郭は

 0→0→1→0→2→3→4→3→2→5→5→6→4→0→6→5

の順で変化しています。(この番号はチェインコードといいます。)
ここにちょっとした規則があります。
例えば、の次にの次に、・・・などは絶対に来ません。(なぜかは、ちょっと考えると分かります。)
一般的に表現すると、
  一つ前の輪郭の向きから時計回りに3つ分の向きには輪郭が存在しない。
という事になります。
この性質を利用して、輪郭を検索するときは、
  一つ前の輪郭の向きの値をVold
  輪郭の検索を開始する向きの値を Vnew
とすると、
  Vnew = (Vold + 6) % 8;  (%は8で割った時の余りの計算)
となるVnew の向きから輪郭を検索すれば効率的に輪郭を検索することが可能となります。

また、輪郭の周囲長を求める時、縦、横方向の輪郭は長さ、斜め方向の輪郭は√2 として
長さを足していくと、周囲長が求まります。

そして、ここからがあまり書かれていない注意点!
スタート地点の白の画素のパターンが以下のパターンとなる場合、スタート地点を2回通る事になるので、ご注意下さい。

輪郭追跡処理アルゴリズム
 
※グレーの部分は白でも黒でもよい部分
 
 

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

ラベリング処理アルゴリズム

メインページ画像処理

二値化画像処理された画像において、白の部分(または黒の部分)が連続した画素に同じ番号を割り振る処理を
ラベリングと言います。

通常、同じ番号ごとの面積(画素数)や幅、高さなどの特徴量を求めて欠陥検査や分類処理などに用いられます。

ラベリングには、二値化された画像の横方向に連続している部分を同じラベルにする4連結と、
縦、横、斜め方向に連続している部分を同じラベルにする8連結との2種類の処理があります。
(4近傍、8近傍という場合もあります。)

【二値化画像】 
ラベリング処理アルゴリズム 

【4連結】

【8連結】
ラベリング処理アルゴリズムラベリング処理アルゴリズム

以下、8連結の場合において、ラベリング処理アルゴリズムを紹介します。

まず、画像全ての画素のラベル番号を0(ゼロ)で初期化しておき、ラベリングで番号を割り付けるための
ラベリング番号のルックアップテーブルを用意しておきます。(テーブルの使い方の詳細は後ほど)

そして、画像の左上からラスタスキャンを行い、画素の色がの位置を検索します。
ラベリング処理アルゴリズム

白の画素の左上、上、右上、左の画素のラベル番号を参照し、全て0(ゼロ)の場合は、最後に割り振った番号+1のラベル番号を割り振ります。
もし、参照した画素のラベル番号が複数存在した場合は、最小の番号を割り振ります。
ラベリング処理アルゴリズム

最初に番号を割り振った様子↓
ラベリング処理アルゴリズム

この処理を左上からラスタスキャンして続けていきます。
ラベリング処理アルゴリズム

新しい番号が割り振られるとき↓
ラベリング処理アルゴリズム

新しい番号が割り振られるとき↓ その2
ラベリング処理アルゴリズム

参照した画素のラベル番号が複数存在した場合、最小の番号を割り振ります。
このとき、用いなかったラベル番号(下図の例では3)のルックアップテーブルの番号を最小の番号に書き換えます。
ラベリング処理アルゴリズム

同様に、処理を続けていきます↓
ラベリング処理アルゴリズム

全ての白の画素に番号が割り振れれた様子↓
ラベリング処理アルゴリズム

ただし、よ~く見ると、ラベル番号の2や3など、連続していない部分が存在している事に気がつきます。
そこで、ルックアップテーブルの出番です。

処理の途中でルックアップテーブルの番号を変更した番号を
 2→1、3→1、6→5
に変更すると、連続した領域は同じ番号になります。

このまま番号を変更しても良いのですが、ラベル番号が虫食いになるのも気持ちが悪いので、以下のようにルックアップテーブルの番号を詰め直してから、ルックアップテーブルを参照し、全画素のラベル番号を修正すると、以下のようになります。

ラベリング処理アルゴリズム

基本的なアルゴリズムは上記、紹介したアルゴリズムで良いのですが、ラベリング処理を行う画像のパターンによってはうまくラベル番号が割り振られない場合があります。
そこは、何とかして(ちょっと説明が難しい部分)うまく割り振られるようにチャレンジしてみて下さい。

参考までに、ラベリング処理をすると失敗しやすい特徴的な画像を添付しておきます。↓

◆Level.1
 ラベリング処理アルゴリズム

◆Level.2
 ラベリング処理アルゴリズム

◆Level.Max!?

 ラベリング処理アルゴリズム
 
ラベリング処理のアルゴリズムには、この手法の他にも輪郭線を追跡し、閉じた領域を1つのラベルとする手法もあります。
Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

パターンマッチング(正規化相関など)

メインページ画像処理

画像の中から指定した画像(テンプレート)と似ている位置を探すことを
テンプレートマッチング
(template matching)
と言います。

パターンマッチング(テンプレートマッチング、正規化相関など)パターンマッチング(テンプレートマッチング、正規化相関など)
テンプレート画像

このとき、テンプレートと画像データがどれだけ似ているか?という評価値(類似度または相違度)にはいくつかあり、次に示すような値を用います。

以下の式において、テンプレートの輝度値の値をT(i,j)、画像の輝度値の値を(i,j)とします。
座標の(i,j)はテンプレートの幅をm画素、高さをn画素としたとき、
左上(もしくは左下)を(0,0)、右下(もしくは右上)を(m-1、n-1)とします。

SSD(Sum of Squared Difference)

SSDはテンプレートをラスタスキャンし、同じ位置の画素の輝度値の差の2乗の合計が用いられます。
SSDの値が小さいほど、似ている位置となります。
  SSD

SAD(Sum of Absolute Difference)

SADはテンプレートをラスタスキャンし、同じ位置の画素の輝度値の差の絶対値の合計が用いられます。
SADの値が小さいほど、似ている位置となります。
  SAD

正規化相互相関【NCC:Normalized Cross-Correlation】

テンプレートと画像との類似度として、以下の正規化相互相関を用いられる場合もあります。
類似度が1に近いほど、似ている位置となります。
  正規化相互相関

ちなみに、この計算式は内積の式をCosθ = の式に変形した式と同じ事にお気づきでしょうか?
上式を以下のように変形すると、M×N次元のIのベクトルとTのベクトルの内積に見えてきませんか?

正規化相互相関


正規化相互相関【ZNCC:Zero-mean Normalized Cross-Correlation】

上記NCCの相互相関係数ではテンプレートや画像の明るさが変動すると、NCCの値もふらついてしまうので、テンプレートおよび画像の輝度値の平均値をそれぞれの値から引いて計算することで、明るさの変動があっても安定的に類似度を計算することができます。
 
  正規化相互相関

ここで、この式はテンプレートの領域内の輝度値の平均値を計算してから、さらに輝度値から平均値を引くため、標準偏差の時にも説明したように、この式でそのままプログラミングすると効率の悪いプログラムとなってしまいます。
そのため、今回も同様にRZNCCの式を変形します。

テンプレートの平均輝度値およびテンプレートと同じ領域の画像の輝度値の平均は

 テンプレートの平均輝度値     画像の平均輝度値

で求まることから、この値をRZNCCの式に代入して整理すると、
 正規化相互相関

となります。
この式を用いると、プログラム的には1パスで済むでの計算効率が良くなります。
 

ΣΣ×××の部分がなんだか難しく見える方は、C言語に置き換えて
Sum = 0;
for(j = 0; j < N; j++){
     for(i = 0; i < M; i++){
           Sum += ×××;
     }
}

と置き換えて読んで下さい。


ここで説明しておきながら、最近の工業用途では、この正規化相関の方法よりもパターンの輪郭に基づき、回転やスケール変動などにも対応したマッチング(輪郭サーチ)が一般的になってきています。
最近では、さらにカメラが動いてもマッチングする三次元マッチングなども登場してきています。

正規化相関では明るさの変動にも強く優れたアルゴリズムのように聞こえるかもしれませんが、パターンが重なった場合や欠けた場合に意外と弱かったりもします。

輪郭ベースのマッチングは、ちょっと難しい(というか、理解できていない、ノウハウが無い)もので...
Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

画像処理用標準画像データ入手、ダウンロード先

メインページ画像処理

画像処理をしていると、一度は見た事があるであろう、マンドリルやレナの画像↓

Mandrill    lenna

ですが、これらは画像処理用の
  標準画像データベースSIDBA(Standard Image Data-BAse)
から用いられています。
このSIDBAの画像データ入手先ですが、SIDBAで検索すると、あちこちで画像が公開されているので、どこが本家なのか?良く分かりませんが、比較的入手しやすいホームページは以下のページでしょうか...

オハイオ州立大学
http://sampl.ece.ohio-state.edu/data/stills/sidba/index.htm
神奈川工科大学
http://www.ess.ic.kanagawa-it.ac.jp/app_images_j.html 
南カリフォルニア大学
http://sipi.usc.edu/database/
Rensselaer Polytechnic Institute
http://www.cipr.rpi.edu/resource/stills/index.html 
Loading...
スポンサーリンク



現在の閲覧者数: / 合計