(57)【要約】【課題】画像における二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にする。【解決手段】  対象画像３０に示される二次元点群を識別するためのデータを生成する画像処理システムとしての画像処理装置１は、二次元点群抽出部１２によって、対象画像３０から二次元点群を抽出し、三角形分割部１３によって、二次元点群のそれぞれを頂点とした三角形分割を行い、格子領域定義部１４によって、二次元点群を識別するためのデータとして格子領域を定義する際に、三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの格子領域として判定することで、単位格子の共有に基づく点群自動グループ化方法を行う。【選択図】図１
2020135818.tif 000002
【特許請求の範囲】
【請求項１】
画像に示される二次元点群を識別するためのデータを生成する画像処理方法であって、
前記画像から前記二次元点群を抽出する工程と、
前記二次元点群のそれぞれを頂点とした三角形分割を行う工程と、
前記二次元点群を識別するための前記データとして格子領域を定義する工程において、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの前記格子領域として判定する工程と、を含み、
これらの工程により前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする点群自動グループ化方法。
【請求項２】
画像に示される二次元点群を識別するためのデータを生成する画像処理システムであって、
前記画像から前記二次元点群を抽出し、
前記二次元点群のそれぞれを頂点とした三角形分割を行い、
前記二次元点群を識別するための前記データとして格子領域を定義する際に、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの前記格子領域として判定することで、前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする画像処理システム。
【請求項３】
前記三角形分割としてＤｅｌａｕｎａｙ三角形分割を用いることを特徴とする請求項２に記載の画像処理システム。
【請求項４】
前記複数の三角形の内、共通辺を有する２つの三角形において、前記共通辺の中点に対して前記２つの三角形が点対称の関係にある場合、又は、前記共通辺の何れかの頂点に位置する前記２つの三角形の内角が直角であると共に前記共通辺に対して前記２つの三角形が線対称の関係にある場合、前記２つの三角形が共通の前記単位格子を有すると判定することを特徴とする請求項２ないし３の何れか１項に記載の画像処理システム。
【請求項５】
前記複数の三角形の全てについて前記格子領域との関連付けを終了した後、前記二次元点群のそれぞれの特徴点について、前記特徴点を頂点とする全ての前記三角形に関連付けられた前記格子領域の内、最も多くの三角形に関連付けられている前記格子領域を前記特徴点に関連付けることを特徴とする請求項２ないし４の何れか１項に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に示される二次元点群を識別するためのデータを生成するものであって、単位格子の共有に基づく点群自動グループ化方法および画像処理システムに関する。
【背景技術】
【０００２】
例えば、ＢＧＡ（ボール・グリッド・アレイ）等の電子部品は、基板上に複数のボール端子を有する。マシンビジョンシステム等の画像処理システムでは、実装や検査の対象となる電子部品について、複数のボール端子の配列の画像を撮影し、画像における各ボール端子の位置を識別可能に把握する必要がある（特許文献１参照）。また、電子部品毎に、各ボール端子の配列が異なるので、画像処理システムでは、各ボール端子の配列を把握することで、電子部品を識別することもできる。
【０００３】
電子部品の画像において、複数のボール端子や複数のホールは、二次元点群で示されるところ、二次元点群の配列を識別可能に表す記述をできるだけ少なくすることが要求されている。そこで、規則的に配置されたボール端子の画像において、各ボール端子の中心を格子点にして各格子点を結んだ二次元格子を特定し、二次元点群を格子の規則的な配列に基づいて検出することが可能となる。例えば、複数のボール端子の中心のＸＹ座標は、電子部品の画像にブロブ解析を行うことで、二次元点群の座標として求めることができる。また、同じ規則性（パターン）で配列されたボール端子の単位格子は、二次元点群の座標にフーリエ変換等の周波数解析を行うことで求めることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−２５４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＢＧＡ等の電子部品には、複数のボール端子が、異なる領域では異なる規則性で配列され、即ち、複数のボール端子を示す二次元点群が、異なる単位格子が混在するように配列されることがある。その場合、二次元点群についてフーリエ解析を行っても、異なる単位格子毎に異なる周波数が計測されるので、全ての単位格子の基本周波数を特定することが困難である。従って、異なる規則性が混在して複数のボール端子が配列されている場合、周波数解析を行っても、二次元点群の格子の配列を適切に検出することができず、二次元点群を適切に識別することができない。
【０００６】
本発明は上記した課題を解決すべくなされたものであり、画像における二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にすることを目的とするものである。
【課題を解決するための手段】
【０００７】
上記した目的を達成するため、本発明の方法は、画像に示される二次元点群を識別するためのデータを生成する画像処理方法であって、前記画像から前記二次元点群を抽出する工程と、前記二次元点群のそれぞれを頂点とした三角形分割を行う工程と、前記二次元点群を識別するための前記データとして格子領域を定義する工程において、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの前記格子領域として判定する工程と、を含み、これらの工程により前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする。
【０００８】
また、本発明の画像処理システムは、画像に示される二次元点群を識別するためのデータを生成する画像処理システムであって、前記画像から前記二次元点群を抽出し、前記二次元点群のそれぞれを頂点とした三角形分割を行い、前記二次元点群を識別するための前記データとして格子領域を定義する際に、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの前記格子領域として判定することで、前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする。
【０００９】
例えば、前記三角形分割としてＤｅｌａｕｎａｙ三角形分割を用いるとよい。
【００１０】
更に、前記複数の三角形の内、共通辺を有する２つの三角形において、前記共通辺の中点に対して前記２つの三角形が点対称の関係にある場合、又は、前記共通辺の何れかの頂点に位置する前記２つの三角形の内角が直角であると共に前記共通辺に対して前記２つの三角形が線対称の関係にある場合、前記２つの三角形が共通の前記単位格子を有すると判定するとよい。
【００１１】
また、前記複数の三角形の全てについて前記格子領域との関連付けを終了した後、前記二次元点群のそれぞれの特徴点について、前記特徴点を頂点とする全ての前記三角形に関連付けられた前記格子領域の内、最も多くの三角形に関連付けられている前記格子領域を前記特徴点に関連付けるとよい。
【発明の効果】
【００１２】
本発明によれば、画像における二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る画像処理装置を示すブロック図である。
【図２】本発明の一実施形態に係る画像処理装置において、対象画像における複数のボール端子を概要的に示す平面図である。
【図３】本発明の一実施形態に係る画像処理装置において、対象画像における二次元点群のグループ化処理を示すフローチャートである。
【図４】本発明の一実施形態に係る画像処理装置において、対象画像から抽出された二次元点群の各特徴点の点情報のテーブルを示す表である。
【図５】本発明の一実施形態に係る画像処理装置において、対象画像の二次元点群から得られた各三角形の三角形情報のテーブルを示す表である。
【図６】本発明の一実施形態に係る画像処理装置において、対象画像の二次元点群から定義された各格子領域の格子領域情報のテーブルを示す表である。
【図７】本発明の一実施形態に係る画像処理装置において、グループ化処理における格子領域定義処理を示すフローチャートである。
【図８】本発明の一実施形態に係る画像処理装置において、点対称の状態にある対象三角形と隣接三角形とを示す説明図である。
【図９】本発明の一実施形態に係る画像処理装置において、線対称の状態にある対象三角形と隣接三角形とを示す説明図である。
【図１０】本発明の一実施形態に係る画像処理装置において、グループ化処理における点情報調整処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ、本発明の実施形態について説明する。本発明の画像処理システムとしての画像処理装置１（図１参照）は、画像に示される二次元点群を識別可能なデータを生成する画像処理を行うように構成される。例えば、画像処理装置１は、図２に示すように、基板上に複数のボール端子３１を配列したＢＧＡ（ボール・グリッド・アレイ）等の電子部品を平面的に撮影した画像を対象画像３０とし、換言すれば、電子部品の平面視の対象画像３０には、複数のボール端子３１の配列が二次元で示される。
【００１５】
なお、画像処理装置１は、様々な装置やコンピュータ、システムの一部として構成されてよい。例えば、画像処理装置１は、電子部品の対象画像３０を入力してこの対象画像３０に基づいて電子部品の検査を行うマシンビジョンシステムに適用される。また、画像処理装置１は、他の画像処理システムや撮像システム等のシステムの一部として組み込まれてもよく、あるいは、パーソナルコンピュータ等の独立したコンピュータに適用されてもよい。
【００１６】
図１に示すように、画像処理装置１は、対象画像入力部１０と、二値化処理部１１と、二次元点群抽出部１２と、三角形分割部１３と、格子領域定義部１４と、点情報調整部１５とを備える。また、画像処理装置１は、ＣＰＵ等からなる制御部２０と、ＲＯＭやＲＡＭ等からなる記憶部２１とを備える。画像処理装置１は、撮像システムに組み込まれる場合には、制御部２０及び記憶部２１として、撮像システムに備わる制御部及び記憶部を使用してもよい。画像処理装置１は、ハードディスクや外部メモリ等の記録媒体２２を備えてもよく、また、画像処理を操作するためのキーボードやマウス等の操作部２３や、画像処理を確認するためのディスプレイ等の表示部２４を備えてもよい。
【００１７】
画像処理装置１は、制御部２０がバス等を介して接続された各部を制御することで動作するように構成される。記憶部２１は、画像処理装置１の機能を制御するためのプログラムやデータを記憶している。そして、制御部２０は、記憶部２１に記憶された各プロクラム等に従って演算処理を実行して、制御部２０に接続された各部を制御する。なお、以下では、対象画像３０等のデータを記憶部２１に記憶しつつ制御部２０による画像処理を行う例を説明するが、記憶部２１に代えて記録媒体２２を利用してもよい。
【００１８】
例えば、対象画像入力部１０と、二値化処理部１１と、二次元点群抽出部１２と、三角形分割部１３と、格子領域定義部１４と、点情報調整部１５とは、記憶部２１に記憶されて制御部２０に実行される画像処理プログラムで構成されてよい。本実施形態の画像処理プログラムは、対象画像３０における二次元点群のグループ化処理を行い、図３に示すように、対象画像３０に対して、二値化処理部１１による二値化処理（ステップＳ１）、二次元点群抽出部１２による二次元点群抽出処理（ステップＳ２）、三角形分割部１３による三角形分割処理（ステップＳ３）、格子領域定義部１４による格子領域定義処理（ステップＳ４）、点情報調整部１５による点情報調整処理（ステップＳ５）を順次、行うように構成される。
【００１９】
対象画像入力部１０は、対象画像３０を入力するインタフェースであり、ソフトウェア及びハードウェアの何れで構成されてもよい。本実施形態において、対象画像入力部１０は、上記したように、基板上に複数のボール端子３１を配列した電子部品について、複数のボール端子３１を二次元配列で撮影した対象画像３０を入力する。例えば、対象画像入力部１０は、撮像システム等に備わるカメラ等の撮像装置で撮影された画像を入力してもよく、記録媒体２２に記録された画像を読み取って入力してもよく、あるいは、他の装置との通信によって画像を入力してもよい。対象画像入力部１０は、入力した対象画像３０を記憶部２１に記憶する。
【００２０】
二値化処理部１１は、対象画像３０に二値化処理を行って、白画素部分と黒画素部分とから構成される二値化画像の対象画像３０を生成する。
【００２１】
二次元点群抽出部１２は、二値化処理後の対象画像３０に二次元点群抽出処理を行って、対象画像３０から特徴点の集合である二次元点群を抽出する。具体的には、二次元点群抽出部１２は、対象画像３０にブロブ解析を行うことによって、図２に示すように、対象画像３０における各ボール端子３１のブロブ（小塊）を特定し、各ブロブの中心を算出することで、各ボール端子３１の中心のＸＹ座標を特徴点の座標として算出する。これにより、対象画像３０の多数（例えば、４つ以上）のボール端子３１から、多数（例えば、４つ以上）の特徴点が抽出される。
【００２２】
そして、二次元点群抽出部１２は、二次元点群の各特徴点について、特徴点ＩＤを付与し、図４に示すように、特徴点ＩＤ、座標及び格子領域ＩＤを含む点情報のテーブルを、記憶部２１に記憶する。例えば、各特徴点は、対象画像３０において左上に位置するものから順に、特徴点ＩＤを付与される。格子領域ＩＤは、後述するように特徴点に関連付けられる格子領域を識別するものであり、−１の格子領域ＩＤは、格子領域を関連付けられていないことを示す。
【００２３】
三角形分割部１３は、二次元点群抽出部１２で抽出した二次元点群に三角形分割処理を行って、対象画像３０において二次元点群が配列された領域を、各特徴点を頂点とした三角形で分割する。具体的には、三角形分割部１３は、各特徴点の座標に基づいてＤｅｌａｕｎａｙ（ドロネー）三角形分割を行う。例えば、図２に示すように、対象画像３０の多数の特徴点に対して、複数（例えば、２つ以上）の三角形が得られる。
【００２４】
そして、三角形分割部１３は、三角形分割で分割された各三角形について、三角形ＩＤを付与し、図５に示すように、三角形ＩＤ、三角形を構成する３頂点の特徴点ＩＤ（頂点ＩＤ）及び格子領域ＩＤを含む三角形情報のテーブルを、記憶部２１に記憶する。例えば、各三角形は、対象画像３０において左上に位置するものから順に、三角形ＩＤを付与される。格子領域ＩＤは、後述するように三角形に関連付けられる格子領域を識別するものであり、−１の格子領域ＩＤは、格子領域を関連付けられていないことを示す。
【００２５】
また、三角形情報は、隣接三角形ＩＤ及び対向頂点ＩＤを含む。隣接三角形ＩＤは、後述するように、三角形と共通辺を有して直接的に接している他の三角形を識別する三角形ＩＤであり、三角形が３辺からなるので、３つの隣接三角形ＩＤが存在する。対向頂点ＩＤは、後述するように、隣接三角形ＩＤの頂点の内、共通辺の２つの頂点以外の頂点を識別する特徴点ＩＤであり、隣接三角形ＩＤに対応して存在する。
【００２６】
格子領域定義部１４は、対象画像３０に示される二次元点群に格子領域定義処理を行って、二次元点群を識別するためのデータとして格子領域を定義し、図６に示すように、格子領域情報のテーブルを、記憶部２１に記憶する。三角形分割部１３によって得られた複数の三角形をそれぞれ格子とした場合、同じ規則性（パターン）で配列された三角形は、共通の単位格子を有すると言える。そこで、格子領域定義部１４は、格子領域を定義する際、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの格子領域として判定し、各三角形に格子領域を関連付けて（割り当てて）、図５に示すように、各三角形の三角形情報に格子領域ＩＤを記憶する。図５において、−１の格子領域ＩＤは、格子領域を関連付けられていないことを示す。
【００２７】
なお、二次元点群は、異なる規則性が混在して配列され、異なる単位格子が混在することがあるので、格子領域は、１つに限定されず、２つ以上定義されてよい。また、所定の三角形に連続する三角形とは、所定の三角形と共通辺を有して直接的に接している三角形に限定されず、所定の三角形との間に１つ以上の三角形を介して間接的に接している三角形を含む。即ち、三角形分割部１３によって二次元点群から得られた複数の三角形は、全て連続している。従って、連続していても単位格子が共通していない三角形は、異なる格子領域として定義され、また、単位格子が共通していても連続していない三角形は、異なる格子領域として定義される。
【００２８】
具体的には、格子領域定義部１４は、図７のフローチャートに示すような格子領域定義処理を行い、複数の三角形の三角形情報を順次（例えば、三角形ＩＤ順に）、処理し（ステップＳ１１）、格子領域を関連付けられていない（格子領域ＩＤを記憶されていない）三角形を未処理の定義三角形とする（ステップＳ１１：ＹＥＳ）。格子領域定義部１４は、その定義三角形を単位格子として新規の格子領域を定義し、その新規の格子領域に対して格子領域ＩＤを付与し、図６に示すように、格子領域ＩＤ、格子領域の原点ＩＤ及び格子領域に属する三角形数を含む格子領域情報のテーブルを、記憶部２１に記憶する。例えば、格子領域は、定義順に、格子領域ＩＤを付与され、原点ＩＤは、その定義三角形の最も左上の頂点の特徴点ＩＤで示される。
【００２９】
そして、格子領域定義部１４は、定義三角形に新規の格子領域を関連付けて、対応する格子領域ＩＤを定義三角形の三角形情報に記憶する（ステップＳ１２）。このとき、格子領域情報の三角形数もカウントアップして更新する。また、格子領域定義部１４は、定義三角形の各頂点にこの定義三角形と同一の格子領域を関連付けて、対応する格子領域ＩＤを各頂点の点情報に記憶する（ステップＳ１３）。
【００３０】
更に、格子領域定義部１４は、定義三角形と共通の単位格子を有すると共に定義三角形に連続して配列されている１つ以上の三角形（連続三角形）を検出する。先ず、格子領域定義部１４は、定義三角形を対象三角形として追加し、対象三角形の三角形ＩＤを記憶部２１の処理スタックに入れる（ステップＳ１４）。処理スタックに入れられた対象三角形は、順次処理されて（ステップＳ１５）、対象三角形と共通辺（共通の２頂点）を有して対象三角形に直接的に接している三角形（隣接三角形）が共通の単位格子を有するか否かを判定される。
【００３１】
例えば、格子領域定義部１４は、記憶部２１に記憶された三角形情報のテーブルを参照して、対象三角形と共通の２頂点を有する三角形を隣接三角形として検索し、隣接三角形の三角形ＩＤと、共通の２頂点以外の頂点（対向頂点）の特徴点ＩＤとを、対象三角形の三角形情報に記憶する。なお、上記のような各三角形に対する隣接三角形に関する情報は、三角形分割部１３によって三角形に分割する際に検出されて、各三角形の三角形情報に記憶されてもよい。
【００３２】
そして、格子領域定義部１４は、対象三角形の隣接三角形を順次、処理して（ステップＳ１６）、対象三角形と隣接三角形とが共通の単位格子を有するか否かを判定する。例えば、図８に示すように、対象三角形Ｔ１及び隣接三角形Ｔ２の共通辺Ｌ０の中点に対して隣接三角形Ｔ２が対象三角形Ｔ１と点対称の関係にある場合（ステップＳ１７：ＹＥＳ）、格子領域定義部１４は、この隣接三角形Ｔ２が対象三角形Ｔ１と共通の単位格子を有すると判定する。
【００３３】
なお、対象三角形Ｔ１の共通辺Ｌ０の中点に対して正確に点対称に配置された点対称三角形Ｔ０において、共通辺Ｌ０の２頂点以外の頂点は、隣接三角形の点対称を判定するための理想点Ｐ０である。隣接三角形Ｔ２の対向頂点Ｐ２が、理想点Ｐ０に位置する場合に限らず、理想点Ｐ０を中心とする所定の円の理想範囲Ｒ０内に位置する場合にも、隣接三角形Ｔ２が対象三角形Ｔ１と点対称の関係にあるとみなして、隣接三角形Ｔ２が対象三角形Ｔ１と共通の単位格子を有すると判定してよい。
【００３４】
また、隣接三角形Ｔ２が対象三角形Ｔ１と点対称の関係にない場合において（ステップＳ１７：ＮＯ）、図９に示すように、対象三角形Ｔ１及び隣接三角形Ｔ２の共通辺Ｌ３の何れかの頂点に位置する対象三角形Ｔ１又は隣接三角形Ｔ２の内角が直角であると共に共通辺Ｌ３に対して隣接三角形Ｔ２が対象三角形Ｔ１と線対称の関係にある場合（ステップＳ１８：ＹＥＳ）、格子領域定義部１４は、隣接三角形Ｔ２が対象三角形Ｔ１と共通の単位格子を有すると判定する。
【００３５】
なお、対象三角形Ｔ１の共通辺Ｌ３に対して正確に線対称に配置された線対称三角形Ｔ３において、共通辺Ｌ３の２頂点以外の頂点は、隣接三角形Ｔ２の線対称を判定するための理想点Ｐ３である。隣接三角形Ｔ２の対向頂点Ｐ２が、理想点Ｐ３に位置する場合に限らず、理想点Ｐ３を中心とする所定の円の理想範囲Ｒ３内に位置する場合にも、隣接三角形Ｔ２が対象三角形Ｔ１と線対称の関係にあるとみなして、隣接三角形Ｔ２が対象三角形Ｔ１と共通の単位格子を有すると判定してよい。
【００３６】
そして、格子領域定義部１４は、対象三角形と共通の単位格子を有すると判定した隣接三角形を、定義三角形に対する連続三角形であると判定し、この隣接三角形に定義三角形と同一の格子領域を関連付けて、対応する格子領域ＩＤを隣接三角形の三角形情報に記憶する（ステップＳ１９）。このとき、格子領域情報の三角形数もカウントアップして更新する。また、格子領域定義部１４は、隣接三角形の各頂点に定義三角形と同一の格子領域を関連付けて、対応する格子領域ＩＤを隣接三角形の各頂点の点情報に記憶する（ステップＳ２０）。
【００３７】
更に、格子領域定義部１４は、対象三角形と共通の単位格子を有すると（連続三角形であると）判定した隣接三角形を対象三角形として追加し、対象三角形の三角形ＩＤを処理スタックに入れる（ステップＳ２１）。即ち、連続三角形である隣接三角形についても、上記と同様にして、更なる隣接三角形が共通の単位格子を有するか否か、即ち、連続三角形であるか否かを判定されることになる。
【００３８】
格子領域定義部１４は、対象三角形の全ての（３つの）隣接三角形について、共通の単位格子を有するか否かの判定を繰り返し、終了すると、その対象三角形の三角形ＩＤを処理スタックから削除する（ステップＳ２２）。隣接三角形が共通の単位格子を有するか否かの判定は、処理スタックが空になるまで繰り返される。
【００３９】
このようにして、定義三角形と共通の単位格子を有すると共に定義三角形に連続して配列されている１つ以上の連続三角形が検出されて、１つの格子領域が定義される。
【００４０】
また、格子領域定義部１４は、定義された格子領域に属する三角形、即ち、同一の格子領域ＩＤを三角形情報に記憶した三角形の内、格子領域の端部に位置する三角形、例えば、原点ＩＤを頂点に有する三角形や、右上端、左下端、右下端等に配置される三角形に基づいて、格子領域における三角形の拡がりを示す単位ベクトルを算出し、格子領域情報に記憶する。
【００４１】
また、格子領域定義部１４は、一の定義三角形を対象三角形とした場合の処理スタックが空になって格子領域が確定すると、複数の三角形のループにおいて、次の定義三角形について上記と同様に処理を繰り返す。
【００４２】
点情報調整部１５は、格子領域定義部１４によって複数の三角形の全てについて格子領域との関連付けが終了した後、二次元点群のそれぞれの特徴点に関連付けられた格子領域を適切に調整する。
【００４３】
具体的には、点情報調整部１５は、図１０のフローチャートに示すような点情報調整処理を行い、複数の三角形について順次（例えば、三角形ＩＤ順に）、処理を行い（ステップＳ３１）、点情報調整を行っていない三角形を未処理の調整三角形とする。そして、点情報調整部１５は、調整三角形の三角形情報に基づいて、調整三角形に関連付けられた格子領域の格子領域ＩＤを取得すると共に、調整三角形の各頂点の頂点ＩＤを取得して各頂点の点情報を参照可能になる。
【００４４】
また、点情報調整部１５は、調整三角形の各頂点について順次、処理を行い（ステップＳ３２）、点情報調整を行っていない頂点を未処理の調整頂点とする。そして、点情報調整部１５は、調整頂点の点情報に基づいて、調整頂点に関連付けられた格子領域の格子領域ＩＤを取得する。
【００４５】
そして、点情報調整部１５は、調整三角形の格子領域ＩＤと調整頂点の格子領域ＩＤとが同じである場合、その調整頂点については、格子領域の調整を行わずに、調整三角形の他の頂点又は他の三角形の処理に移行する。
【００４６】
一方、点情報調整部１５は、調整三角形の格子領域ＩＤと調整頂点の格子領域ＩＤとが異なる場合（ステップＳ３３：ＹＥＳ）、格子領域に属する三角形数を比較する。即ち、三角形の格子領域ＩＤに基づいて、記憶部２１に記憶された格子領域情報のテーブルを参照して、三角形に関連付けられた格子領域に属する三角形数を取得する。また、頂点の格子領域ＩＤに基づいて、記憶部２１に記憶された格子領域情報のテーブルを参照して、頂点に関連付けられた格子領域に属する三角形数を取得する。
【００４７】
そして、点情報調整部１５は、三角形の格子領域の三角形数が頂点の格子領域の三角形数以下である場合、その頂点については、格子領域の調整を行わずに、次の頂点又は次の三角形の処理に移行する。
【００４８】
一方、点情報調整部１５は、三角形の格子領域の三角形数が頂点の格子領域の三角形数より多い場合（ステップＳ３４：ＹＥＳ）、その頂点に三角形と同一の格子領域を関連付けて、頂点の点情報における格子領域ＩＤを、三角形の格子領域ＩＤで更新する（ステップＳ３５）。そして、次の頂点又は次の三角形の処理に移行する。
【００４９】
点情報調整部１５が複数の三角形の各頂点に対して上記のような処理を繰り返すことによって、特徴点に関連付けられる格子領域は、特徴点を頂点とする全ての三角形に関連付けられた格子領域の内、最も多くの三角形に関連付けられている格子領域になる。
【００５０】
本実施形態によれば、上記したように、対象画像３０に示される二次元点群を識別するためのデータを生成する画像処理システムとしての画像処理装置１は、二次元点群抽出部１２によって、対象画像３０から二次元点群を抽出し、三角形分割部１３によって、二次元点群のそれぞれを頂点とした三角形分割を行い、格子領域定義部１４によって、二次元点群を識別するためのデータとして格子領域を定義する際に、三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの格子領域として判定し、これにより、単位格子の共有に基づく点群自動グループ化を行う。
【００５１】
換言すれば、本発明は、対象画像に示される二次元点群を識別するためのデータを生成する画像処理方法であって、対象画像から二次元点群を抽出する工程と、二次元点群のそれぞれを頂点とした三角形分割を行う工程と、二次元点群を識別するためのデータとして格子領域を定義する工程において、三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する１つ以上の三角形を１つの格子領域として判定する工程とを含み、これらの工程により単位格子の共有に基づく点群自動グループ化を行う。
【００５２】
例えば、三角形分割部１３は、三角形分割としてＤｅｌａｕｎａｙ三角形分割を用いるとよい。
【００５３】
このように、本実施形態では、対象画像３０に含まれる二次元点群の各特徴点の配列に異なる規則性が存在する場合でも、二次元点群の少なくとも一部において同じ規則性で配列された特徴点の集合を１つの格子領域として定義することができる。そのため、対象画像３０の二次元点群の特徴を、格子領域に関する情報に基づいて識別することができる。このように、本発明は、二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にすることが可能となる。
【００５４】
例えば、ＢＧＡ等の電子部品の対象画像３０において、複数のボール端子３１が、異なる規則性が混在しつつ配列されている場合でも、各ボール端子３１を二次元点群に対応させて格子領域を把握することにより、各ボール端子３１の配列の特徴を把握することができ、各ボール端子３１の配列に基づいて電子部品を識別することができる。なお、格子領域に関する情報として、格子領域の形状及び位置や、単位格子の形状及び頂点数や、格子領域間の相互関係を記憶することができる。従って、様々な電子部品についてボール端子３１の格子領域の情報を予め登録しておけば、入力した対象画像３０が示す電子部品の種別を特定することが可能となる。
【００５５】
また、本実施形態によれば、格子領域定義部１４は、格子領域を定義する際に、複数の三角形の内、まだ格子領域を関連付けてない定義三角形に、新規の格子領域を関連付けると共に、定義三角形の頂点に定義三角形と同一の格子領域を関連付け、更に、定義三角形と共通の単位格子を有すると共に連続する１つ以上の連続三角形を検出し、連続三角形に定義三角形と同一の格子領域を関連付けると共に、連続三角形の頂点に定義三角形と同一の格子領域を関連付けることによって、１つ以上の三角形を１つの格子領域として判定する。
【００５６】
これにより、二次元点群から得られた複数の三角形のそれぞれについて、何れの単位格子に関するものであるか、また、何れの格子領域に属するものであるかを、より適切に判定することができる。
【００５７】
更に、本実施形態によれば、格子領域定義部１４は、複数の三角形の内、共通辺を有する２つの三角形において、共通辺の中点に対して２つの三角形が点対称の関係にある場合、又は、共通辺の何れかの頂点に位置する２つの三角形の内角が直角であると共に共通辺に対して２つの三角形が線対称の関係にある場合、２つの三角形が共通の単位格子を有すると判定する。
【００５８】
これにより、二次元点群から得られた複数の三角形の内、連続する２つの三角形について、共通の単位格子を有するか否かを、より正確に判定することができる。
【００５９】
更に、画像処理装置１において、点情報調整部１５は、複数の三角形の全てについて格子領域との関連付けを終了した後、二次元点群のそれぞれの特徴点について、特徴点を頂点とする全ての三角形に関連付けられた格子領域の内、最も多くの三角形に関連付けられている格子領域を特徴点に関連付ける。
【００６０】
これにより、格子領域の境界において、特徴点が何れの格子領域に属するかを、より適切に判定することができる。
【００６１】
なお、上記した例では、点情報調整部１５は、複数の三角形について順次処理を行い、各三角形の各頂点について順次処理を行うことで、特徴点に関連付けられた格子領域を調整する例を説明したが、本発明はこの例に限定されない。例えば、他の実施形態では、点情報調整部１５は、記憶部２１に記憶された点情報のテーブルを参照して、全ての特徴点について順次上記と同様の処理を行うことで、特徴点に関連付けられた格子領域を調整してもよい。
【００６２】
また、本発明は、請求の範囲及び明細書全体から読み取ることのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う画像処理方法や画像処理装置、画像処理システム、画像処理プログラムもまた本発明の技術思想に含まれる。
【符号の説明】
【００６３】
１  画像処理装置
１０  対象画像入力部
１１  二値化処理部
１２  二次元点群抽出部
１３  三角形分割部
１４  格子領域定義部
１５  点情報調整部
２０  制御部
２１  記憶部
２２  記録媒体
３０  対象画像
３１  ボール端子
【図１】
2020135818.tif 000003
【図２】
2020135818.tif 000004
【図３】
2020135818.tif 000005
【図４】
2020135818.tif 000006
【図５】
2020135818.tif 000007
【図６】
2020135818.tif 000008
【図７】
2020135818.tif 000009
【図８】
2020135818.tif 000010
【図９】
2020135818.tif 000011
【図１０】
2020135818.tif 000012