(57)【特許請求の範囲】
【請求項１】
濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める第１段階と、
前記注目画素を基準として前記最大勾配方向における輝度が高い山側の画素の輝度及び輝度が低い谷側の画素の輝度に基づいてエッジ探索基準値を求める第２段階と、
前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行う第３段階と、
前記エッジ探索終了後、前記最大勾配方向と直交する方向のうち反時計回り又は時計回りの一方向に隣接する画素について前記第１段階から第３段階の処理を繰り返し行うことを特徴とする濃淡画像のエッジ抽出方法。
【請求項２】
前記サブピクセル処理は、前記エッジ探索基準値を超えた画素の輝度をＶｂとし、当該画素の直前画素、すなわち、当該画素の近傍画素であってエッジ探索基準値を下回る輝度を有する画素の輝度をＶｃとし、前記エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を前記エッジ探索基準値を超えた画素の座標値に加算または減算することにより行うものである請求項１に記載の濃淡画像のエッジ抽出方法。
【請求項３】
濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める最大勾配方向算出部と、
前記注目画素を基準として前記最大勾配方向における輝度が高い山側の画素の輝度及び輝度が低い谷側の画素の輝度に基づいてエッジ探索基準値を算出するエッジ探索基準値算出部と、
前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行うサブピクセル処理部を備え、
前記サブピクセル処理部での前記エッジ探索終了後、前記最大勾配方向と直交する方向のうち反時計回り又は時計回りの一方向に隣接する画素について前記最大勾配方向算出部、エッジ探索基準値算出部、及び前記サブピクセル処理部での処理を繰り返し行うことを特徴とする濃淡画像のエッジ抽出装置。
【請求項４】
前記サブピクセル処理部は、前記エッジ探索基準値を超えた画素の輝度をＶｂとし、当該画素の直前画素、すなわち、当該画素の近傍画素であってエッジ探索基準値を下回る輝度を有する画素の輝度をＶｃとし、前記エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を、前記エッジ探索基準値を超えた画素の座標値に加算または減算することにより行うことを特徴とする請求項３に記載の濃淡画像のエッジ抽出装置。
【請求項５】
コンピュータに、
濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める第１段階と、
前記注目画素を基準として前記最大勾配方向における輝度が高い山側の画素の輝度及び輝度が低い谷側の画素の輝度に基づいてエッジ探索基準値を求める第２段階と、
前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行う第３段階と、
前記エッジ探索終了後、前記最大勾配方向と直交する方向のうち反時計回り又は時計回りの一方向に隣接する画素について前記第１段階から第３段階の処理を繰り返し実行させるための濃淡画像のエッジ抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラムに関する。
【背景技術】
【０００２】
従来、ワークをカメラにより撮像し、撮像して得られた濃淡画像を、二値化した後、画像処理によって、ワーク各部の寸法計測や、位置計測を行う場合、まず、ワークのエッジ抽出処理を行っている。本来は、図１２（ａ）に示すように、ワークの滑らかなエッジもカメラの撮像素子で画素単位で量子化されるために図１２（ｂ）に示すように凹凸になる。さらに、この画像を二値化すると、図１２（ｃ）に示すように本来のエッジ位置とは最大±０．５画素の誤差が発生する。このため、例えば、分解能を１ｍｍ／画素に設定して計測を行おうとしても、±０．５ｍｍの誤差が発生することになる。
【０００３】
そこで、１画素以下のレベルでエッジ位置を求めるサブピクセル処理の方法が特許文献１で提案されている。
この方法は、図８に示すように、カメラ１００で撮像して得られた濃淡画像を二値化処理部１０２で二値化して二値画像を生成し、その二値画像を輪郭線追跡処理部１０４では、二値画像の白と黒の境界線を追跡して、図９（ａ）〜（ｃ）に示すようにワークの輪郭画像（エッジ画像）を得る。
【０００４】
次に、この輪郭線に沿って式（１）の処理を順次行って精細なエッジ位置を求める。
ｄ＝（画素Ａの輝度−二値化閾値）／（画素Ａの輝度−画素Ｂの輝度）  …（１）
例えば、図１０（ｂ）に示すように、相互に隣接して画素Ａ，Ｂ，Ｃが並んでいる濃淡画像を、閾値＝１５０で画像を二値化して、図１０（ａ）が得られる。これを、前記式（１）で求めた精細なエッジは、図１０（ｃ）に示す画素Ａから距離ｄ＝０．６２の位置となる。なお、図１０（ａ）〜（ｃ）の画素Ａ，Ｂ，Ｃ内の数値は当該画素の輝度の数値である。仮に画素Ａが１００番目の画素だとすると、このエッジの位置は、１００．６２となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３２６０４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、サブピクセルレベルのエッジを求める場合は、一般的には二値化の前処理が行われている。これは精細エッジを求める際に必要な大まかなエッジ位置把握のための輪郭追跡方法として二値画像を対象にしたものが一般的なためである。このような輪郭追跡方法では、例えば、Ｆｒｅｅｍａｎのチェインコードを使った追跡方法が有名である。
【０００７】
しかしながら、二値化を行う場合、閾値を適切に選定しないと、ワークの切り出しに失敗することがある。図１１（ａ）は、ワークの切り出しに失敗した例を説明する。図１１（ａ）は、濃淡画像全体において上半分の輝度が大きく、下半分の輝度が小さい場合の例であるが、この濃淡画像を二値化した二値画像は、図１１（ｂ）に示すようになり、ワークＢの下半分の切り出しに失敗して、この後のエッジの追跡ができないものとなる。図１１（ａ）に示すように、ワークＷの背景輝度が場所により大きく異なる場合、このような濃淡画像は、ワークに対する照明等を適切に行わないと生ずる。このように従来は、濃淡画像から二値画像を得てエッジ検出を行うため、照明変動等の環境変動に弱い問題がある。
【０００８】
本発明の目的は、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記問題点を解決するために、請求項１に記載の発明は、濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める第１段階と、前記注目画素を基準として前記最大勾配方向における輝度が高い山側の画素の輝度及び輝度が低い谷側の画素の輝度に基づいてエッジ探索基準値を求める第２段階と、前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行う第３段階と、前記エッジ探索終了後、前記最大勾配方向と直交する方向のうち反時計回り又は時計回りの一方向に隣接する画素について前記第１段階から第３段階の処理を繰り返し行うことを特徴とする濃淡画像のエッジ抽出方法を要旨としている。
【００１０】
請求項２の発明は、請求項１において、前記サブピクセル処理は、前記エッジ探索基準値を超えた画素の輝度をＶｂとし、当該画素の直前画素、すなわち、当該画素の近傍画素であってエッジ探索基準値を下回る輝度を有する画素の輝度をＶｃとし、前記エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を前記エッジ探索基準値を超えた画素の座標値に加算または減算することにより行うものである。
【００１１】
請求項３の発明は、濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める最大勾配方向算出部と、前記注目画素を基準として前記最大勾配方向における輝度が高い山側の画素の輝度及び輝度が低い谷側の画素の輝度に基づいてエッジ探索基準値を算出するエッジ探索基準値算出部と、前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行うサブピクセル処理部を備え、前記サブピクセル処理部での前記エッジ探索終了後、前記最大勾配方向と直交する方向のうち反時計回り又は時計回りの一方向に隣接する画素について前記最大勾配方向算出部、エッジ探索基準値算出部、及び前記サブピクセル処理部での処理を繰り返し行うことを特徴とする濃淡画像のエッジ抽出装置を要旨としている。
【００１２】
請求項４の発明は、請求項３において、前記サブピクセル処理部は、前記エッジ探索基準値を超えた画素の輝度をＶｂとし、当該画素の直前画素、すなわち、当該画素の近傍画素であってエッジ探索基準値を下回る輝度を有する画素の輝度をＶｃとし、前記エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を前記エッジ探索基準値を超えた画素の座標値に加算または減算することにより行うことを特徴とする。
【００１３】
請求項５の発明は、コンピュータに、濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める第１段階と、前記注目画素を基準として前記最大勾配方向における輝度が高い山側の画素の輝度及び輝度が低い谷側の画素の輝度に基づいてエッジ探索基準値を求める第２段階と、前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行う第３段階と、前記エッジ探索終了後、前記最大勾配方向と直交する方向のうち反時計回り又は時計回りの一方向に隣接する画素について前記第１段階から第３段階の処理を繰り返し実行させるための濃淡画像のエッジ抽出プログラムを要旨としている。
【発明の効果】
【００１４】
請求項１の発明によれば、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出方法を提供できる。
【００１５】
請求項２の発明によれば、サブピクセル処理は、前記エッジ探索基準値を超えた前記注目画素の近傍画素の輝度をＶｂとし、当該近傍画素の直前画素の輝度をＶｃとし、前記エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を近傍画素の座標値に加算または減算することにより、精細なエッジを求めることができる。
【００１６】
請求項３の発明によれば、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出装置を提供できる。
【００１７】
請求項４の発明によれば、サブピクセル処理は、前記エッジ探索基準値を超えた前記注目画素の近傍画素の輝度をＶｂとし、当該近傍画素の直前画素の輝度をＶｃとし、前記エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を近傍画素の座標値に加算または減算することにより、精細なエッジを求めることができるエッジ抽出装置を提供できる。
【００１８】
請求項５の発明によれば、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出プログラムを提供できる。
【図面の簡単な説明】
【００１９】
【図１】エッジ抽出装置としての画像処理装置の概略図。
【図２】エッジ抽出のフローチャート。
【図３】（ａ）はＦｒｅｅｍａｎチェインコードの説明図、（ｂ）は画素の配置の説明図。
【図４】ワークの濃淡画像の説明図。
【図５】エッジ探索の説明図。
【図６】従来の二値画像のエッジ探索の説明図。
【図７】実施形態の具体例の説明図。
【図８】画像処理装置の概略図。
【図９】（ａ）は濃淡画像の説明図、（ｂ）は二値画像の説明図、（ｃ）はエッジ画像の説明図。
【図１０】（ａ）は、二値画像における画素の説明図、（ｂ）は、濃淡画像の画素の説明図、（ｃ）は、精細なエッジ検出を行った場合の画素の説明図。
【図１１】（ａ）は濃淡画像の説明図、（ｂ）は二値画像の説明図。
【図１２】（ａ）は実際のワークの説明図、（ｂ）はデジタル濃淡画像の説明図、（ｃ）は二値化処理後の二値画像の説明図。
【発明を実施するための形態】
【００２０】
以下、本発明のエッジ抽出方法、エッジ抽出装置、及びエッジ抽出プログラムを具体化した一実施形態について図１〜図７を参照して説明する。
図１に示すように、画像処理装置１０は、ＣＰＵ２０と記憶部３０を備えるコンピュータからなり、撮像部としてのカメラ４０が撮像した濃淡画像を入力する。画像処理装置１０は、エッジ抽出装置に相当する。記憶部３０には、濃淡画像から前処理、エッジ抽出プログラム等の各種の画像処理を行うプログラムが格納されている。また、記憶部３０は、コンピュータのシステムプログラムを記憶するＲＯＭ、前記各種のプログラムの実行処理を行う場合の作業用メモリとなるＲＡＭ、画像メモリ、及びハードディスク等の記憶装置を備えている。また、画像処理装置１０には、表示装置５０が電気的に接続されている。前記画像メモリは、後述する濃淡画像や、エッジ探索が終了した画像を記憶する。
【００２１】
本実施形態において、ＣＰＵ２０は、前処理部、最大勾配方向算出部、エッジ探索基準値算出部及びサブピクセル処理部に相当する。図１では、ＣＰＵ２０内にこれらの機能を機能ブロック図で示し、前処理部、最大勾配方向算出部、エッジ探索基準値算出部及びサブピクセル処理部にそれぞれ符号２１〜２４を付す。
【００２２】
（実施形態の作用）
さて、上記のように構成された画像処理装置１０の作用を説明する。
カメラ４０から、濃淡画像を入力すると前処理部２１では、前処理を行う。前処理は、例えば、入力されたデジタル画像データから、ワーク等が存在する部分領域を、適当な大きさ及び位置で切り出し、ノイズ除去等を行う。前処理部２１から、前処理が終了した濃淡画像を、最大勾配方向算出部２２に送出される。
【００２３】
図２は、最大勾配方向算出部２２、エッジ探索基準値算出部２３、及びサブピクセル処理部２４で行われる、すなわち、ＣＰＵ２０が実行するエッジ抽出プログラムのフローチャートである。
【００２４】
（Ｓ１０）
図２に示すように、まず注目画素へ移動する。最初の注目画素は、濃淡画像中において、例えば、濃淡画像中に検出線を引き、その検出線上おける画素の濃度（輝度）変化を見て、最も輝度変化の大きな画素を、注目画素とする。なお、最初の注目画素を決定する方法は、前記方法に限定するものではなく、公知の方法でよい。
【００２５】
具体例を示す図７の例では、前記方法により注目画素Ａ（５０，８１）に移動するものとする。なお、図７では横軸がＸ座標であり、縦軸がＹ座標である。
（Ｓ２０）
Ｓ２０では、注目画素Ａにおける濃度勾配の向きを調査する。濃度勾配の向きは、Ｆｒｅｅｍａｎ（フリーマン）のチェインコードでは、画素Ａの濃度勾配方向は「３」である。なお、Ｆｒｅｅｍａｎのチェインコードは、図３（ａ）に示すように注目画素を中心とした８方向のうち、注目画素を中心として右方向を０としたとき、反時計回り方向に１〜７が付される。なお、方向を８方向コードで表現する方法は、Ｆｒｅｅｍａｎのチェインコードに限定するものではない。
【００２６】
（最大濃度勾配方向の求め方）
ここで最大濃度勾配方向の求め方について説明する。
Ｆｒｅｅｍａｎのチェインコードで方向０では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｈ，ａ，ｂの各輝度の総和を求める。方向１では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ａ，ｂ，ｃの輝度の総和を求める。方向２では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｂ，ｃ，ｄの輝度の総和を求める。方向３では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｃ，ｄ，ｅの輝度の総和を求める。方向４では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｄ，ｅ，ｆの輝度の総和を求める。方向５では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｅ，ｆ，ｇの輝度の総和を求める。方向６では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｆ，ｇ，ｈの輝度の総和を求める。方向７では、最大勾配方向算出部２２は、図３（ｂ）に示す画素ｇ，ｈ，ａの輝度の総和を求める。このように、注目画素を囲む８個の画素において、チェインコードでの方向に隣接する画素の輝度と、当該画素にそれぞれ隣接する２個の画素の輝度の総和を求める。
【００２７】
このようにそれぞれの方向の輝度の総和を求めた後、輝度の総和が最大となる方向を、求める最大濃度勾配の向きとする。図７の例では、方向３が最大濃度勾配方向となる。
この最大濃度勾配方向を求めるＣＰＵ２０は最大勾配方向算出部２２に相当する。
【００２８】
（Ｓ３０）
Ｓ３０では、ＣＰＵ２０は、注目画素Ａを基準として前記最大勾配方向の山側（輝度が高い側）の輝度、及び谷側（輝度が低い側）の輝度を求める。この求め方は、それぞれの方向に位置する各画素輝度の変化が無くなるまで追跡して、ピーク値を山側の輝度とし、ボトム値を谷側の輝度として求める方法がある。或いは、注目画素を基準にして、山側の２画素（或いは３画素以上の）隣の画素の輝度を山側の輝度とし、谷側の２画素（或いは３画素以上）隣の画素の輝度を谷側の輝度として採用する方法等もある。このように山側の輝度と谷側の輝度の求め方は、限定されるものではない。
【００２９】
なお、以下では、「山側」、及び「谷側」は、全て注目画素を基準として最大勾配方向に沿って「山側」、及び「谷側」と表現する。
（Ｓ４０）
Ｓ４０では、ＣＰＵ２０は、山側の輝度及び谷側の輝度の中間値を算出し、この中間値をエッジ探索基準値Ｊとする。前記Ｓ３０，及びＳ４０で処理を行うＣＰＵ２０は、エッジ探索基準値算出部２３に相当する。
【００３０】
（Ｓ５０）
Ｓ５０では、ＣＰＵ２０は、注目画素の谷側の近傍画素、或いは前記近傍画素を基準としてさらに谷側の近傍画素から、及び注目画素の山側の近傍画素、或いは前記近傍画素を基準としてさらに山側の近傍画素に向かって走査し、どの画素でエッジ探索基準値Ｊを上回るかを調べる。
【００３１】
ここで、輝度がエッジ探索基準値Ｊを上回った画素をＢとし、その座標値を（Ｘｂ，Ｙｂ）とする。また、画素Ｂの輝度をＶｂとする。また、前記上回った画素の直前の画素、すなわち、当該画素Ｂの近傍画素であってエッジ探索基準値Ｊを下回る輝度を有する画素をＣとし、その座標値を（Ｘｃ，Ｙｃ）とする。また、画素Ｃの輝度をＶｃとする。
【００３２】
そして、ＣＰＵ２０は、注目画素Ａ付近を通るエッジのサブピクセル精度の座標値（Ｘ，Ｙ）を、下記式（１）を使用して算出する。
Δ＝（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）
Ｘ＝Ｘｂ＋ｍ・Δ
Ｙ＝Ｙｂ＋ｎ・Δ                    ……（１）
ただし、ｍ，ｎは下記の表１の通りであり、方向に応じた値となる。
【００３３】
【表１】
0005772675.tif 000002
具体例で説明すると、図７の例では、例えば、注目画素Ａ（５０，８１）の谷側の近傍画素（５１，８２）、或いは画素（５２，８３）から、山側の近傍画素（４９，８０）或いは画素（４８，７９）まで向かって走査し、どの画素の輝度がエッジ探索基準値Ｊを上回るかを調べる。
【００３４】
ここで、輝度がエッジ探索基準値Ｊを上回った画素をＢとし、その座標値を（Ｘｂ，Ｙｂ）とする。また、画素Ｂの輝度をＶｂとする。また、前記上回った画素の直前の画素、すなわち、当該画素の近傍画素であってエッジ探索基準値を下回る輝度を有する画素をＣとし、その座標値を（Ｘｃ，Ｙｃ）とする。また、画素Ｃの輝度をＶｃとする。
【００３５】
そして、ＣＰＵ２０は、注目画素Ａ付近を通るエッジのサブピクセル精度の座標値（Ｘ，Ｙ）を、下記式（２）を使用して算出する。なお、式（２）は、最大勾配方向が前記チェインコード「３」のときの座標値を求める式である。
【００３６】
Δ＝（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）
Ｘ＝Ｘｂ＋Δ
Ｙ＝Ｙｂ＋Δ                    ……（２）
Ｓ６０の処理を行うＣＰＵ２０は、サブピクセル処理部２４に相当する。
【００３７】
このようにサブピクセル処理部２４でのサブピクセル処理が行われた結果は、記憶部３０の画像メモリに、格納して更新される。
（Ｓ６０）
ＣＰＵ２０は、Ｓ６０では、エッジ探索を行う場合、予め反時計回り方向においてエッジ探索を行うように設定されており、この反時計回り方向において、最大勾配方向と直交方向に位置する近傍画素を次の注目画素として設定する。
【００３８】
（Ｓ７０）
Ｓ７０では、ＣＰＵ２０は、Ｓ６０で設定した注目画素が、最初にエッジ探索を行った画素（注目画素）であるか否かを判定し、最初にエッジ探索を行った画素でないと判定した場合は、Ｓ１０に戻り、以後の処理を繰り返す。また、ＣＰＵ２０は、Ｓ６０で設定した注目画素が、最初にエッジ探索を行った画素（注目画素）である場合には、このフローチャートを終了する。
【００３９】
ＣＰＵ２０は、このフローチャートを終了すると、記憶部３０の画像メモリに最終的に更新されたサブピクセル精度の座標値に基づくエッジ画像を例えば表示装置５０に出力する。
【００４０】
図４は、上記のように構成された画像処理装置１０が、取得したワークＷの像を有する濃淡画像を示している。この濃淡画像では、ワークＷの背景画像は、上半分は輝度が高く、下半分は輝度が低いものとなっている。
【００４１】
このような濃淡画像に対して前記画像処理装置１０でサブピクセル処理によりエッジ探索を行うと、図５に示すように、エッジ追跡開始点から、反時計回り方向にサブピクセル精度でのエッジ探索ができるものとなる。
【００４２】
それに対して、従来技術では、図４に示す濃淡画像を元にした二値画像では、図６に示すように、下半分が、輝度が低い背景領域とワークの下半分の領域は、同じ「０」の輝度となる、この二値画像に対してエッジ探索を行うと、同図に示すように、背景領域の下半分と上半分の境界に沿ってエッジ探索が行われることになり、ワーク自体のエッジ追跡に失敗したものとなる。
【００４３】
本実施形態によれば、以下のような効果を得ることができる。
（１）  本実施形態の濃淡画像のエッジ抽出方法では、濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求めるようにした。また、前記注目画素を基準として最大勾配方向における山側の画素の輝度及び谷側の画素の輝度に基づいてエッジ探索基準値Ｊを求めるようにした。さらに、注目画素を基準として最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値Ｊに基づくサブピクセル処理でエッジ探索を行うようにした。さらに、エッジ探索終了後、最大勾配方向と直交する方向に隣接する画素についてＳ１０〜Ｓ６０の処理を繰り返し行うようにした。この結果、本実施形態の方法によれば、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出方法を提供できる。
【００４４】
また、本実施形態では、最大勾配方向に直交する方向へエッジが続くことに着目したものとなっており、すなわち、当該注目画素の最大濃度勾配を調べ、この最大濃度勾配に直交する向きの画素を次の処理対象の注目画素として設定することで、輪郭線に沿って、次々にエッジを探索することができる。
【００４５】
（２）  本実施形態のエッジ抽出方法では、サブピクセル処理として、エッジ探索基準値Ｊを超えた画素の輝度をＶｂとし、当該画素の直前画素の輝度をＶｃとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を、エッジ探索基準値Ｊを超えた画素の座標値に加算または減算することにより行うようにした精細なエッジを求めることができる。
【００４６】
（３）  本実施形態の濃淡画像のエッジ抽出装置は、濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める最大勾配方向算出部２２と、注目画素を基準として最大勾配方向における山側の画素の輝度及び谷側の画素の輝度に基づいてエッジ探索基準値を算出するエッジ探索基準値算出部２３と、注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行うサブピクセル処理部２４を備える。そして、エッジ抽出装置は、サブピクセル処理部２４でのエッジ探索終了後、最大勾配方向と直交する方向に隣接する画素について最大勾配方向算出部２２、エッジ探索基準値算出部２３、及びサブピクセル処理部２４での処理を繰り返し行う。この結果、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出装置を提供できる。
【００４７】
（４）  本実施形態のサブピクセル処理部２４は、エッジ探索基準値を超えた画素の輝度をＶｂとし、当該画素の直前画素の輝度をＶｃとし、エッジ探索基準値をＪとしたとき、（Ｖｂ−Ｊ）／（Ｖｂ−Ｖｃ）を、エッジ探索基準値Ｊを超えた画素の座標値に加算または減算することにより行うことにより、精細なエッジを求めることができるエッジ抽出装置を提供できる。
【００４８】
（５）  本実施形態のエッジ抽出プログラムは、コンピュータに、濃淡画像中の注目画素を中心とした輝度の最大勾配方向を求める第１段階と、前記注目画素を基準として前記最大勾配方向における山側の画素の輝度及び谷側の画素の輝度に基づいてエッジ探索基準値を求める第２段階と、前記注目画素を基準として前記最大勾配方向に並ぶ画素の中で、前記エッジ探索基準値に基づくサブピクセル処理でエッジ探索を行う第３段階と、前記エッジ探索終了後、前記最大勾配方向と直交する方向に隣接する画素について前記第１段階から第３段階の処理を繰り返し実行させる。この結果、本実施形態のエッジ抽出プログラムによれば、濃淡画像に対して二値化処理を行うことなく、濃淡画像から直接サブピクセルエッジを求めることができ、また、濃淡画像に対して二値化をしないため、照明変動などによる画像の明るさ変動に対してもロバストなエッジ抽出プログラムを提供できる。
【００４９】
（６）  前記実施形態において、Ｓ３０において、注目画素Ａを基準として前記最大勾配方向の山側（輝度が高い側）の輝度、及び谷側（輝度が低い側）の輝度を求める場合、それぞれの方向に位置する各画素輝度の変化が無くなるまで追跡して、ピーク値を山側の輝度とし、ボトム値を谷側の輝度として求める方法を採用したり、或いは、注目画素を基準にして、山側の２画素（或いは３画素以上の）隣の画素の輝度を山側の輝度とし、谷側の２画素（或いは３画素以上）隣の画素の輝度を谷側の輝度として採用すると、下記の利点がある。
【００５０】
固定の閾値を設定せず、注目画素が変わる毎に、エッジ探索基準値Ｊが変わるため、コントラストの低い画素を有する領域であってもエッジの探索ができる。
なお、本実施形態は以下のように変更してもよい。
【００５１】
・  前記実施形態では、エッジ探索基準値を山側の輝度及び谷側の輝度の中間値としたが、中間値に限定するものではなく、中間値に近い値でもよく、或いは、前回の注目画素と最大勾配方向が同じ方向である場合は、当該注目画素での中間値と、前回で使用したエッジ探索基準値との移動平均を、当該注目画素におけるエッジ探索基準値としてもよい。この場合は、前回の探索されたエッジとの連結性がスムーズになる。
【００５２】
・  前記実施形態では、サブピクセル精度の座標値に基づくエッジ画像を例えば表示装置５０に出力するようにしたが、前記エッジ画像をワークの形状測定処理、パターン認識処理に使用する等他の処理に使用するようにしてもよい。
【００５３】
・  前記実施形態のＳ６０では、エッジ探索を行う場合、予め反時計回り方向においてエッジ探索を行うように設定されていたが、時計回り方向において、最大勾配方向と直交方向に位置する近傍画素を次の注目画素として設定するようにしてもよい。
【符号の説明】
【００５４】
１０…画像処理装置（エッジ抽出装置）、２０…ＣＰＵ、
２２…最大勾配方向算出部、２３…エッジ探索基準値算出部、
２４…サブピクセル処理部、３０…記憶部。
【図１】
0005772675.tif 000003
【図２】
0005772675.tif 000004
【図３】
0005772675.tif 000005
【図４】
0005772675.tif 000006
【図５】
0005772675.tif 000007
【図６】
0005772675.tif 000008
【図７】
0005772675.tif 000009
【図８】
0005772675.tif 000010
【図９】
0005772675.tif 000011
【図１０】
0005772675.tif 000012
【図１１】
0005772675.tif 000013
【図１２】
0005772675.tif 000014