(57)【要約】【課題】実際にはエッジではないパーツをエッジ部として誤検出することなく、さらにはエッジ部を検出した場合にのみエッジ位置を検出する処理を行うようにする被撮像物のエッジ位置検出方法を提供する。【解決手段】ＣＣＤカメラ１により濃淡画像データを取得し、この濃淡画像データに対して２値化処理を行うことにより２値画像データを作成し、この２値画像データに対して収縮処理を行うことにより混入したノイズを排除した収縮画像データを作成し、この収縮画像データ中の白画素及び黒画素のそれぞれの割合を算出し、算出された白画素及び黒画素のそれぞれの割合がいずれも予め設定された規定値以上の場合にのみエッジ位置の検出処理を行うようにした。これにより、エッジ部を検出した場合にのみエッジ位置を検出する処理が行われ、処理時間が短縮される。【選択図】　図１
2004062266.tif 000002
【特許請求の範囲】
【請求項１】
ＣＣＤカメラにより濃淡画像データを取得し、
該濃淡画像データに対して２値化処理を行うことにより２値画像データを作成し、
該２値画像データに対して収縮処理を行うことにより収縮画像データを作成し、
該収縮画像データ中の白画素及び黒画素のそれぞれの割合を算出し、
該算出された白画素及び黒画素のそれぞれの割合がいずれも予め設定された規定値以上の場合にのみエッジ位置の検出処理を行うようにしたことを特徴とする被撮像物のエッジ位置検出方法。
【請求項２】
ＣＣＤカメラにより濃淡画像データを取得し、
該濃淡画像データに対して２値化処理を行うことにより第１の２値画像データを作成し、
該第１の２値画像データに対して収縮処理を行うことにより収縮画像データを作成し、
該収縮画像データ中の白画素及び黒画素のそれぞれの割合を算出し、
該算出された白画素及び黒画素のそれぞれの割合がいずれも予め設定された規定値以上の場合は、
前記濃淡画像データを微分することにより微分画像データを作成し、
該微分画像データに対して２値化処理を行うことにより第２の２値画像データを作成し、
該第２の２値画像データ中の白画素群を抽出し、
該抽出された白画素群のうち最大の白画素群中の前記微分画像データに対してエッジ位置の検出処理を行うようにしたことを特徴とする被撮像物のエッジ位置検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，画像処理技術を適用した被撮像物のエッジ位置の検出方法に関し、特に、入力された濃淡画像にエッジ部が含まれている場合にのみエッジ位置の検出を行うことを可能にしたエッジ位置検出方法に関する。
【０００２】
【従来の技術】
ＣＣＤカメラなどで撮像された被撮像物に関して、その濃淡画像中に含まれるエッジ位置の検出を行う場合、濃淡画像を微分することにより微分画像データを作成し、この微分画像データに対して２値化処理を行うことにより２値画像データを作成し、この２値画像データ中の白画素群を抽出（パーツ化）し、この抽出された白画素群のうち最大の白画素群（最大パーツ）をエッジ部として検出し、このエッジ部内（最大パーツ内）の微分画像データからエッジ位置を検出するようにしている。この方法では、２値画像データ中の最大パーツをエッジ部として検出するようにしているため、２値化時の閾値の設定が重要となる。この閾値の設定においては、画像のコントラストに左右されることなく最大パーツ（エッジ部）を検出する必要があるため、微分画像データ中の濃度最大値に対して予め設定された割合（濃度最大値の３０〜５０％）を乗算した値を閾値とするようにしている。そして、微分画像データにおいて閾値以上の画素が白画素となり閾値以下の画素が黒画素となるように、２値画像データが作成されることになる。
【０００３】
しかし、この方法の場合、濃淡画像中にエッジ部が存在しない場合で、しかも濃度値が小さい画像（暗い画像）の場合、微分画像データ中に含まれる雑音成分の影響により、実際にはエッジではないパーツをエッジ部として誤検出するという問題があった。この問題を解決するための方法としては、２値化の閾値を雑音に左右されない固定の値に設定する方法や、パターンマッチングにより濃淡画像中にエッジ部が存在するか否かを判定する方法があった。
【０００４】
【発明が解決しようとする課題】
しかし、前者の方法すなわち２値化の閾値を雑音に左右されない固定の値に設定する方法では、雑音に左右されない２値化の閾値としては一般に高い値を設定することになるため、濃淡画像のコントラストが低い場合などは、濃淡画像中にエッジ部が存在していたとしても、エッジ位置を検出できないという問題がある。また、後者の方法すなわちパターンマッチングにより濃淡画像中にエッジ部が存在するか否かを判定する方法では、被撮像物のエッジ形状が常に同じ状態や条件で撮像される場合には有効であるが、エッジ部形状が都度変化するような場合にはエッジ部を検出できないという問題がある。
【０００５】
本発明は、係る従来技術の問題点を解決するためになされたものであり、実際にはエッジではないパーツをエッジ部として誤検出することなく、さらにはエッジ部を検出した場合にのみエッジ位置を検出する処理を行うようにする被撮像物のエッジ位置検出方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
前述の目的を達成するために、請求項１に係る発明では、ＣＣＤカメラにより濃淡画像データを取得し、この濃淡画像データに対して２値化処理を行うことにより２値画像データを作成し、この２値画像データに対して収縮処理を行うことにより収縮画像データを作成し、この収縮画像データ中の白画素及び黒画素のそれぞれの割合を算出し、算出された白画素及び黒画素のそれぞれの割合がいずれも予め設定された規定値以上の場合にのみエッジ位置の検出処理を行うようにしたことを特徴とする被撮像物のエッジ位置検出方法を提供した。
【０００７】
濃淡画像データにノイズ（雑音）が混入していた場合、２値画像データにおいて、本来は黒画素となる領域が部分的（１画素単位で）に白画素となることがある。そこで、請求項１に係る構成では、２値画像データに対して収縮処理を行うことにより、濃淡画像データに混入したノイズ（雑音）を排除するようにしている。ここで言う収縮処理とは、２値化された画面において、白画素について、その画素の周囲８方向がすべて白画素でない場合、その画素を黒画素に変換する処理をいう。ノイズ（雑音）の混入により白画素となった画素については、その画素の周囲８方向の画素がすべて白画素ということはまず無いので、収縮処理を行うことによりノイズ（雑音）の混入により白画素となった画素が本来の黒画素に変換されることになる。したがって、２値画像データに対して収縮処理を行うことにより、濃淡画像データに混入したノイズ（雑音）が排除されることになる。
【０００８】
一般に、エッジ位置の検出を行う際は、ウィンドウ領域を設定したうえで、このウィンドウ領域内でエッジ位置の検出処理を行うようにし、これをＣＣＤカメラにより取得した濃淡画像データのすべての領域において行うようにしている。しかし、明らかにエッジ位置が存在しないと判断されるウィンドウ領域内においてもエッジ位置の検出処理を行うことは、全体の処理時間の増加を招くことになる。そこで、請求項１に係る発明では、濃淡画像データに対して２値化処理を行うことにより２値画像データを作成したときに、ウィンドウ領域内に明らかにエッジ位置が存在しない場合は、そのウィンドウ領域内は全体が白画素あるいは黒画素のいずれかになることに着目することにした。すなわち、２値画像データに対して収縮処理を行うことにより混入したノイズ（雑音）を排除した収縮処理データについて、ウィンドウ領域内の白画素及び黒画素のそれぞれの割合を算出し、白画素の割合と黒画素の割合のいずれもが予め設定された規定値以上の場合にのみ、そのウィンドウ領域内にエッジ位置が存在するものと判断し、そのウィンドウ領域内におけるエッジ位置の検出処理を行うようにした。これにより、明らかにエッジ位置が存在しないウィンドウ領域内においてはエッジ位置の検出処理が行われなくなるので、全体の処理時間の短縮を図ることができる。
【０００９】
請求項２に係る発明では、請求項１に係る発明において、算出された白画素及び黒画素のそれぞれの割合がいずれも予め設定された規定値以上の場合は、濃淡画像データを微分することにより微分画像データを作成し、この微分画像データに対して２値化処理を行うことにより第２の２値画像データを作成し、この第２の２値画像データ中の白画素群を抽出し、この抽出された白画素群のうち最大の白画素群中の前記微分画像データに対してエッジ位置の検出を行うようにした。係る構成としたことにより、エッジ位置が存在するものと判断したウィンドウ領域内についてのみエッジ位置の検出処理、すなわち微分処理、２値化処理、白画素群（パーツ）の抽出処理が行われることになる。
【００１０】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を参照して説明する。なお、本実施形態では、検査台は透明で、検査台の下部には照明が設けられ、検査台の上部に設けられたＣＣＤカメラ１により被撮像物を撮影するものとする。図２は、本発明におけるエッジ位置検出方法が適用される画像処理システムの一例を示すブロック図である。図２において、１はＣＣＤカメラ、２はコンピュータ本体、３はマウス、４はキーボード、５はＣＲＴ画面を示す。ＣＣＤカメラ１は、図示しない検査台上に載置された被撮像物を撮影する。ＣＣＤカメラ１により撮像された濃淡画像データは、インタフェース（以下「Ｉ／Ｆ」と記す）６を介して濃淡画像メモリ９に格納される。濃淡画像メモリ９に格納された濃淡画像データは、表示制御部１０を介してＣＲＴ画面５に表示される。また、データ入力機器としてのマウス３及びキーボード４から入力される位置情報は、それぞれＩ／Ｆ７、Ｉ／Ｆ８を介してＣＰＵ３１に入力される。
【００１１】
ＣＰＵ３１は、プログラムメモリ３２に格納されたプログラムに従って、マウス３やキーボード４で指定された矩形領域をウィンドウとして表示するためのデータを作成し、このウィンドウ内部の濃淡画像データを濃淡画像メモリ９から抽出し、後述する２値画像の作成、収縮画像の作成、白画素及び黒画素のそれぞれの面積比の算出といった、ウィンドウ内に含まれるエッジ位置の検出に関する一連の処理を遂次実行する。なお、ワークメモリ３３は、ＣＰＵ３１での各種処理のための作業領域用のメモリである。
【００１２】
次に、図１に示すフローチャートを参照して、本発明の一実施形態に係るエッジ位置検出方法の処理の流れについて説明する。画像処理を行うウィンドウがマウス３あるいはキーボード４により指定されると、ＣＰＵ３１はウィンドウ領域内の濃淡画像データを濃淡画像メモリ９より取得する（ステップ１１）。前述したように、本実施形態では、検査台は透明で、検査台の下部には照明が設けられ、検査台の上部に設けられたＣＣＤカメラ１により被撮像物を撮影するものとしているので、ステップ１１で取得する濃淡画像データとしては、被撮像物が存在する箇所は黒あるいはこれに近いデータとなり、その一方被撮像物が存在しない箇所は白あるいはこれに近いデータとなる。
【００１３】
次に、ステップ１１において取得した濃淡画像データの各画素について、予め設定された閾値に基づいて２値化処理を行うことにより、第１の２値画像データを作成する（ステップ１２）。前述したように、本実施形態では、濃淡画像データとしては、被撮像物が存在する箇所は黒あるいはこれに近いデータとなり、その一方被撮像物が存在しない箇所は白あるいはこれに近いデータとなっているので、ステップ１２で作成される第１の２値画像データとしては、被撮像物が存在する箇所は概ね黒画素となり、その一方被撮像物が存在しない箇所は白画素となっている。
【００１４】
ところで、本実施形態に係る画像処理システムにおいてもランダムに発生するノイズ（雑音）の混入は避けられない。そして、このノイズ（雑音）の影響により、ステップ１２で作成した第１の２値画像データにおいて、本来は黒画素となる領域が部分的（１画素単位で）に白画素となることがある。そこで、ステップ１２において作成した第１の２値画像データについて、収縮処理により黒画素の近傍画素をすべて黒にすることにより、ノイズ（雑音）の影響を排除した収縮画像データを作成することにする（ステップ１３）。なお、ここで言う収縮処理とは、２値化された画面において、白画素について、その画素の周囲８方向がすべて白画素でない場合、その画素を黒画素に変換する処理をいう。このステップ１３における処理により、例えば、ランダムに発生する雑音等によって本来は黒画素となる画素が白画素となっていたとしても、この白画素が本来の黒画素に変換されることになるので、ランダムに発生する雑音等の影響を排除することができるようになる。
【００１５】
続いて、ステップ１３において作成した収縮画像データについて、ウィンドウ領域内の白画素及び黒画素のそれぞれの数をカウントし、これによりウィンドウ領域内の白画素領域及び黒画素領域のそれぞれの面積を算出する（ステップ１４）。次いで、ウィンドウ領域全体の面積に対する、ステップ１４において算出した白画素領域及び黒画素領域のそれぞれの面積の比を算出する（ステップ１５）。
【００１６】
このステップ１５において算出した２つの面積比、すなわちウィンドウ領域全体の面積に対する白画素領域の面積比とウィンドウ領域全体の面積に対する黒画素領域の面積比の双方が予め設定された比率以上か否かにより、被撮像物のエッジとして有効なものか否かを判定することにする（ステップ１６）。すなわち、ステップ１５において算出した２つの面積比のうち、いずれか一方でも予め設定された比率に満たない場合は、ウィンドウ領域内にはエッジ部が存在しないものと判定し（ステップ１６Ｎ）、このウィンドウ領域内における処理を終了する。一方、ステップ１５において算出した２つの面積比の双方とも予め設定された比率以上であった場合には、ウィンドウ領域内にエッジ部が存在するものと判定し（ステップ１６Ｙ）、以下のステップ１７以降の処理を行う。なお、前述した予め設定する比率については、エッジ位置の検出を行う際に、被撮像物のエッジ部として有効な面積で、正確かつ安定してエッジ位置の検出を行うことができる比率を設定するようにする。
【００１７】
すなわち、ステップ１１において取得した濃淡画像データの各画素を微分することにより、微分画像データを作成する（ステップ１７）。次に、ステップ１７において作成した微分画像データについて、微分画像データの濃度最大値を基準にして閾値を設定し、この閾値に基づいて微分画像データに対して２値化処理を行い、これにより第２の２値画像データを作成する（ステップ１８）。なお、このステップ１８における閾値の設定方法としては、被撮像物のエッジ部の撮像状態に応じて、エッジ部を誤検出することなく、正確かつ安定してエッジ位置の検出を行うことができる閾値（濃度値）を設定するようにする。具体的には、被撮像物の形状や測定条件等にもよるが、微分画像データの濃度最大値の３０〜５０％の範囲内で設定することが好ましい。
【００１８】
ステップ１８において作成した第２の２値画像データについて、白画素群を抽出し、抽出した各白画素群それぞれを一つのパーツとするパーツ化を行う（ステップ１９）。次いで、ステップ１９においてパーツ化されたウィンドウ領域内にあるすべてのパーツの中から最大パーツを検出する（ステップ２０）。最後に、ステップ２０において検出した最大パーツにおいて、そのパーツ内のステップ１７において作成した微分画像データに対してエッジ位置を検出する（ステップ２１）。
【００１９】
以上、本発明の一実施形態について説明した。本実施形態では、前述したように、検査台は透明で、検査台の下部には照明が設けられ、検査台の上部に設けられたＣＣＤカメラにより被撮像物を撮影するものとしていたが、本発明はこの形態に限定されるものではない。例えば、検査台はその表面が鏡面となっており、検査台の上部に照明が設けられ、検査台の上部に設けられたＣＣＤカメラにより被撮像物を撮影する形態のものであってもよい。係る形態においては、前述した本実施形態と同様に、濃淡画像データとしては、被撮像物が存在する箇所は黒あるいはこれに近いデータとなり、その一方被撮像物が存在しない箇所は白あるいはこれに近いデータとなる。また、別の形態として、表面が鏡面状態の被撮像物であった場合は、検査台の表面を光の反射の少ないものとし、検査台の上部に照明が設けられ、検査台の上部に設けられたＣＣＤカメラにより被撮像物を撮影するものとすればよい。係る形態においては、前述した本実施形態とは異なり、被撮像物が存在する箇所は白あるいはこれに近いデータとなり、その一方被撮像物が存在しない箇所は黒あるいはこれに近いデータとなるが、エッジ位置の検出における処理の流れは前述した本実施形態と同様である。
【００２０】
【発明の効果】
本発明によれば、ＣＣＤカメラにより濃淡画像データを取得し、この濃淡画像データに対して２値化処理を行うことにより２値画像データを作成し、この２値画像データに対して収縮処理を行うことにより混入したノイズ（雑音）を排除した収縮画像データを作成し、この収縮画像データ中の白画素及び黒画素のそれぞれの割合を算出し、算出された白画素及び黒画素のそれぞれの割合がいずれも予め設定された規定値以上の場合にのみエッジ位置の検出処理を行うようにしたので、ノイズ（雑音）により実際にはエッジではないパーツがエッジ部として誤検出されることはなくなり、さらにはエッジ部を検出した場合にのみエッジ位置を検出する処理が行われ、処理時間の短縮が図られるものとなった。
【図面の簡単な説明】
【図１】本発明におけるエッジ位置検出方法の処理の流れを示すフローチャートである。
【図２】本発明におけるエッジ位置検出方法が適用される画像処理システムの一例を示すブロック図である。
【符号の説明】
１　ＣＣＤカメラ
２　コンピュータ本体
３　マウス
４　キーボード
５　ＣＲＴ画面
６、７、８　Ｉ／Ｆ
９　濃淡画像メモリ
１０　表示制御部
３１　ＣＰＵ
３２　プログラムメモリ
３３　ワークメモリ
【図１】
2004062266.tif 000003
【図２】
2004062266.tif 000004