(57)【特許請求の範囲】
【請求項１】
撮像手段によって入力された画像中の特徴量を算出処理しようとする対象物画像を含むｍ×ｎの画像領域を２次元的に記憶する手段と、予め設定された先見情報により前記記憶手段に含まれる対象物画像データ以外の画像データの存在を検出・判定する手段と、該検出・判定手段の結果に応じて対象物画像データ以外の画像データを不要データとして処理する手段とを有し、対象物画像データの抽出を行ってから該対象物画像の特徴量の算出処理を行うようにした画像処理装置において、前記対象物画像データ以外の画像データの存在を検出・判定する手段は、対象物画像を含むｍ×ｎの画像領域に含まれる画像データのＸ投影及びＹ投影を行う手段と、ｍ×ｎの画像領域の基準画素から外側に向かって前記Ｘ投影及びＹ投影を検査し、投影データが存在しない座標軸を不連続点とみなし、この座標軸より外側の画像データを対象物画像データ以外の画像データと判定する手段とで構成されていることを特徴とする画像処理装置。
【請求項２】
前記対象物画像データ以外の画像データを不要データとして処理する手段は、前記判定手段で判定された対象物画像データ以外の画像データをマスクする手段で構成されていることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記対象物画像の特徴量の算出処理は、対象物画像の重心算出処理であることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記マスク手段は、前記Ｘ投影あるいはＹ投影の一方の投影に係る前記判定手段の判定結果に基づき、他方の投影に係る、対象物画像データ以外の画像データをマスクすることを特徴とする請求項２記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、２次元画像中に含まれた対象物の重心等の特徴量を算出処理する画像処理装置に関する。
【０００２】
【従来の技術】
従来、２次元画像中に含まれた対象物の重心点を検出する方法としては、次に示す方法が知られている。すなわち、まず対象物画像を各ライン毎に取り込む際に、上記対象物体が占める部分の距離及び前記対象物体の中心までの基準座標からの距離により、対象物体の基準座標からのモーメントを求める。この操作を対象物が存在する各ラインに対して行い、全モーメントの総和を求める。更に、前記対象物体の占める距離について各ラインの総和を求めた後に、全モーメントの総和を全ランレングスの総和で除算した結果より、基準座標に対する対象物体の重心位置を検出する方法である。
【０００３】
この重心点位置検出方法については、例えば、特公昭５６−３０８０２号公報に開示されているが、次に図１１に基づいて、上記従来の重心点位置検出方法を具体的に説明する。図１１において、斜線で示された対象物画像の重心（ｘ，ｙ）は、次式（１）の演算によって求められる。
ｘ＝Σ｛ｌｉ  ×（ａｉ  ＋ｌｉ  ／２）｝／Σｌｉ  
ｙ＝Σ（ｌｉ  ×ｐｉ  ）／Σｌｉ    ・・・・・・・・（１）
ここで、ｌｉ  は各ラインで対象物が占める部分のランレングス、ａｉ  はｙ基準座標軸から対象物が検出されるまでのランレングス、ｐｉ  はｘ基準座標軸から対象物が検出されるまでのランレングスであり、ｉ＝１〜ｎである。
【０００４】
したがって、図１１に示した対象画像においては、上記（１）式より次式（２）に示すように重心（ｘ，ｙ）を算出することができる。
ｘ＝〔｛３×（２＋３／２）｝＋｛５×（１＋５／２）｝＋｛３×（２＋３／２）｝〕／（３＋５＋３）＝３．５
ｙ＝｛（３×１）＋（５×２）＋（３×３）｝／（３＋５＋３）＝２  ・・・・・（２）
【０００５】
【発明が解決しようとする課題】
撮像装置（ＣＣＤカメラ等）を用いた情報処理装置、画像検査装置等においては、撮像された対象物の重心位置を、いかに高速且つ正確に演算するかが課題となっている。
【０００６】
ところで、上記従来の重心点検出方法では、図１２に示すように、対象物に対応する画像に傷などの欠陥が混入した場合には、正確な重心位置を算出するためには、演算処理のコントロールが複雑になり、これを実現するためのハードウェアが大規模になるという問題点があった。また、撮像装置の視野内に複数の対象物が存在し、これらの対象物毎に重心位置等を演算する必要がある場合、各ライン毎に複数の対象物に対するモーメントを求め、これを対象物毎にソーティングして、複数の対象物を分離して行くことは非常に困難であった。
【０００７】
本発明は、従来の画像処理装置における上記問題点を解消するためになされたもので、請求項１記載の発明は、撮像装置が扱う画像の特定のフォーマットより予め設定される先見情報により、入力画像から対象物画像のみを抽出し、対象物画像の特徴量を正確且つ高速に求めることを可能とすると共に、入力画像から切り出した画像データより対象物画像データ以外の画像データを比較的簡単に判定できるようにした画像処理装置を提供することを目的とする。また請求項２記載の発明は、対象物画像データ以外の画像データを不要データとして簡単に処理できるようにした画像処理装置を提供することを目的とし、また請求項３記載の発明は、対象物画像の重心位置を求めることが可能な画像処理装置を提供することを目的とし、また請求項４記載の発明は、対象物画像データ以外の画像データを不要データとして、より一層容易に処理できるようにした画像処理装置を提供することを目的とする。
【０００８】
【課題を解決するための手段及び作用】
上記問題点を解決するため、請求項１記載の発明は、撮像手段によって入力された画像中の特徴量を算出処理しようとする対象物画像を含むｍ×ｎの画像領域を２次元的に記憶する手段と、予め設定された先見情報により前記記憶手段に含まれる対象物画像データ以外の画像データの存在を検出・判定する手段と、該検出・判定手段の結果に応じて対象物画像データ以外の画像データを不要データとして処理する手段とを有し、対象物画像データの抽出を行ってから該対象物画像の特徴量の算出処理を行うようにした画像処理装置において、前記対象物画像データ以外の画像データの存在を検出・判定する手段は、対象物画像を含むｍ×ｎの画像領域に含まれる画像データのＸ投影及びＹ投影を行う手段と、ｍ×ｎの画像領域の基準画素から外側に向かって前記Ｘ投影及びＹ投影を検査し、投影データが存在しない座標軸を不連続点とみなし、この座標軸より外側の画像データを対象物画像データ以外の画像データと判定する手段とで構成されていることを特徴とするものである。
【０００９】
このように構成した画像処理装置においては、予め設定された情報により対象物画像データ以外の隣接する画像データや傷あるいは汚れなどによる誤った画像データを除去でき、対象物画像データの正確な特徴量を高速に算出処理することができる。また、ｍ×ｎの画像領域中の対象物画像データ以外の画像データの存在を検出・判定する手段を簡単な構成で実現することができる。
【００１０】
また請求項２記載の発明は、請求項１記載の画像処理装置において、前記対象物画像データ以外の画像データを不要データとして処理する手段は、前記判定手段で判定された対象物画像データ以外の画像データをマスクする手段で構成するものである。これにより、対象物画像データ以外の画像データを不要データとして処理する手段を、簡単な構成で実現することができる。また請求項３記載の発明は、請求項１又は２記載の画像処理装置において、前記対象物画像の特徴量の算出処理は、対象物画像の重心算出処理とするものである。このように、対象物画像の特徴量を重心とすることにより、複数の対象物画像の重心演算を高速且つ正確に算出することが可能となる。また請求項４記載の発明は、請求項２記載の画像処理装置において、前記マスク手段は、前記Ｘ投影あるいはＹ投影の一方の投影に係る前記判定手段の判定結果に基づき、他方の投影に係る、対象物画像データ以外の画像データをマスクすることを特徴とするものである。このように、一方の投影に係る判定手段の判定結果に基づき他方の投影に係る対象物画像データ以外の画像データをマスクすることにより、不要データをより一層容易に処理することができる。
【００１１】
【実施例】
次に実施例について説明する。本発明による対象物画像における特徴抽出を行う画像処理装置は、比較的簡単なハードウェアあるいはソフトウェアのいずれによっても実現可能であるが、ここではハードウェアによって実現する実施例について具体的に説明する。
【００１２】
まず、本発明に係る画像処理装置が対象とする画像フォーマット例を図１に基づいて説明する。この画像フォーマット例は、図１に示すように、基準画像１Ａ，１Ｂ間に、複数のコードデータ群２が存在し、基準画像１Ａ，１Ｂからコードデータまでの距離Ｌ１及びコードデータ間の距離Ｌ２は、予め定まった値（先見情報）をもったものとする。本実施例においては、全てのコードデータの中心座標及び前記先見情報（Ｌ１，Ｌ２）より推測される基準画像の中心位置を真の中心座標とし、以降の処理を行うものとする。
【００１３】
図２は図１において楕円で囲まれた部分を拡大した画像を示している。図２においては、画像入力装置から入力された２次元画像から、少なくとも１つのコードデータを切出し、この画像信号をマトリックス的に記憶するｍ×ｎ領域として、ｍ＝５，ｎ＝７の場合を示している。図２に示した例においては、重心を求めたい対象コードデータ（Ｂ）の他に、隣接するコードデータ（Ａ）及びコードデータ（Ｃ）が、ｍ×ｎの画像領域に混在している。
【００１４】
ここで、画像フォーマットにより決定される先見情報として、各コードデータは前記５×７のマトリックス画像領域に少なくとも１つは含まれていること、及び隣接するコードデータ間には少なくとも１画素以上のデータの存在しない領域が与えられているものとする。
【００１５】
図３は、本発明の第１実施例を示すブロック構成図である。図３において、１１は入力画像信号から、先見情報保持手段１８により与えられる先見情報にしたがって、対象物画像を含むｍ×ｎのマトリックス画像領域を切り出す手段及び記憶する手段であり、その構成を図９に示す。本実施例では、ｍ×ｎのマトリックス画像領域として、ｍ方向に５画素、ｎ方向に７画素の５×７のマトリックス構成とし、更にこの５×７のマトリックス画像領域の中心を基準画素Ａｉｊとする（この実施例では、Ａｉｊ＝ａ３４）。したがって、上記先見情報保持手段１８には、前記先見情報Ｌ１，Ｌ２，Ａｉｊ＝ａ３４，ｍ＝５，ｎ＝７が保持されているものとする。
【００１６】
また図３において、１２は上記ｍ×ｎのマトリックス画像領域中の対象物画像に対してＹ投影を行う第１の演算手段であり、１３はＹ方向への基準座標からのモーメントを求める第２の演算手段である。更に同様に、１４は上記ｍ×ｎのマトリックス画像領域中の対象物画像に対してＸ投影を行う第３の演算手段であり、１５はＸ方向への基準座標からのモーメントを求める第４の演算手段である。また、１６はｍ×ｎのマトリックス画像領域の記憶手段１１に含まれる基準座標からの対象物画像の中心位置のＹ方向における補正量を、前記第１及び第２の演算手段１２，１３の出力結果より算出する第５の演算手段であり、１７はｍ×ｎのマトリックス画像領域の記憶手段１１に含まれる基準座標からの対象物画像の中心位置のＸ方向における補正量を、前記第３及び第４の演算手段１４，１５の出力結果より算出する第６の演算手段である。
【００１７】
次に、第１の演算手段１２の構成例を図４に基づいて説明する。この演算手段１２は、次式（３）で示すＹ方向における列ベクトルの和（Ｙ投影）を求める第７の演算手段１２−１と、この結果より対象物画像のＹ方向への不連続点の検出及び後述のＸ方向の不連続点から列ベクトルの要素をマスクするマスク回路からなる第８の演算手段１２−２と、この第８の演算手段１２−２のｍ個の演算結果の総和（ΣＹｓ＝ΣＹｓ〔ｉ〕）を求める加算器からなる第９の演算手段１２−３とで構成されている。
Ｙｓ〔１〜５〕′＝（ａ１１＋ａ１２・・・＋ａ１７，ａ２１＋ａ２２・・・＋ａ２７，・・・・・ａ５１＋ａ５２・・・＋ａ５７）  ・・・・・（３）
【００１８】
図５は、第２の演算手段１３の構成例を示す図で、この第２の演算手段１３は、Ｙ方向において、重み付け係数の演算を行うもので、重み付け係数Ｃｙ〔１〜５〕は、基準画素を中心に設定される。本実施例では、Ｃｙ〔１〕＝−２，Ｃｙ〔２〕＝−１、Ｃｙ〔３〕＝０，Ｃｙ〔４〕＝１，Ｃｙ〔５〕＝２に設定する。そして各行の行ベクトルの和に、この重み付け係数の演算を求める第１０の演算手段１３−１と、この第１０の演算手段１３−１のｍ個の演算結果の総和（ΣＹｐ＝ΣＹｐ〔ｉ〕）を求める第１１の演算手段１３−２とで第２の演算手段を構成している。
【００１９】
次に、第３の演算手段１４の構成例を図６に基づいて説明する。この演算手段１４は、次式（４）で示すＸ方向における行ベクトルの和（Ｘ投影）を求める第１２の演算手段１４−１と、この結果から対象画像のＸ方向への不連続点の検出及び前述のＹ方向の不連続点から行ベクトルの要素をマスクするマスク回路からなる第１３の演算手段１４−２と、この第１３の演算手段１４−２のｎ個の演算結果の総和（ΣＸｓ＝ΣＸｓ〔ｉ〕）を求める加算器からなる第１４の演算手段１４−３とで構成されている。。
Ｘｓ〔１〜７〕′＝（ａ１１＋ａ２１・・・＋ａ５１，ａ１２＋ａ２２・・・＋ａ５２，・・・・・ａ１７＋ａ２７・・・＋ａ５７）  ・・・・（４）
【００２０】
図７は、第４の演算手段１５の構成例を示す図で、この第４の演算手段１５はＸ方向において、重み付け係数の演算を行うもので、重み付け係数Ｃｘ〔１〜７〕は、基準画素を中心に設定される。本実施例では、Ｃｘ〔１〕＝−３，Ｃｘ〔２〕＝−２，Ｃｘ〔３〕＝−１，Ｃｘ〔４〕＝０，Ｃｘ〔５〕＝１，Ｃｘ〔６〕＝２，Ｃｘ〔７〕＝３に設定する。そして各列のベクトルの和に、この重み付け係数の演算を求める第１５の演算手段１５−１と、この第１５の演算手段１５−１のｎ個の演算結果の総和（ΣＸｐ＝ΣＸｐ〔ｉ〕）を求める第１６の演算手段１５−２とで第４の演算手段１５を構成している。
【００２１】
図８の（Ａ）は、Ｙ方向において基準画素からの重心位置の補正量ΔＹを求める第５の演算手段１６の構成例を示す図で、第１の演算手段１２の出力結果ΣＹｓを第２の演算手段１３の出力結果ΣＹｐで除算する除算器１６−１で構成されている。また図８の（Ｂ）は、Ｘ方向において基準画素からの重心位置の補正量ΔＸを求める第６の演算手段１７の構成例を示す図で、第３の演算手段１４の出力結果ΣＸｓを第４の演算手段１５の出力結果ΣＸｐで除算する除算器１７−１で構成されている。
【００２２】
次に、対象物画像データの不連続点の検出手段について説明する。図２において、図中のＡｉｊを基準画素とする５×７のマトリックス画像領域を切り出し、記憶手段１１に格納された画像を図９に示す。この中で左斜線で示す部分を対象物画像（黒画像）に、右斜線で示す部分を隣接するコードデータあるいは傷や汚れによる非対象画像とする。本実施例において、記憶手段１１に格納された画像の不連続点の検出は、投影結果によって“０”を検出することによって行われる。この実施例においては、Ｙ投影において、次式（５）で示すように、不連続点は検出されない。
Ｙｓ〔１〜５〕′＝（１，２，３，３，１）  ・・・・・・・（５）
Ｘ投影においては、次式（６）で示されるように、不連続点Ｘｓ〔２〕′及びＸｓ〔６〕′が検出される。
Ｘｓ〔１〜７〕＝（１，０，３，３，２，０，１）  ・・・・（６）
【００２３】
したがって、この結果、画素（ａ１１，ａ２１，ａ３１，ａ４１，ａ５１）及び（ａ１７，ａ２７，ａ３７，ａ４７，ａ５７）の画像信号をマスクするためのコントロール信号が発生する。すなわち、Ｘ投影及びＹ投影の結果が“０”である部分を検出することによって、対象物画像の不連続点を検出し、前記第１及び第３の演算手段１２，１４に含まれるマスク回路からなる第８及び第１３の演算手段１２−２，１４−２に、上記コントロール信号を印加し、次式（７），（８）で示す第８及び第１３の演算手段の演算結果が得られる。
Ｙｓ〔１〜５〕＝（０，２，３，３，０）  ・・・・・・・・（７）
Ｘｓ〔１〜７〕＝（０，０，３，３，２，０，０，）  ・・・（８）
なお、図９において、Ｙｐ（＝Ｃｙ×Ｙｓ），Ｘｐ（＝Ｃｘ×Ｘｓ）は、それぞれ第２，第４の演算手段１３，１５の演算結果を示す。
【００２４】
この結果に対して、重み付け係数の演算結果の総和をΣＸｐ，ΣＹｐとして、基準画素Ａｉｊからの補正量ΔＹ，ΔＸを求めると、次式（９），（１０）のように表される。
ΔＹ＝ΣＹｐ／ΣＹｓ＝１／８＝０．１２５    ・・・・・・・・・（９）
ΔＸ＝ΣＸｐ／ΣＸｓ＝−１／８＝−０．１２５    ・・・・・・・（１０）
この補正量ΔＹ，ΔＸを基準画素Ａｉｊの座標値に加算することにより、対象物画像の正確な中心座標（重心）を算出することができる。
【００２５】
次に、第２実施例を図１０に基づいて説明する。本実施例における入力対象２次元画像及び基本構成は前述の第１実施例と殆ど同一であり、図４及び図６におけるマスク回路からなる第８及び第１３の演算手段１２−２，１４−２の処理を若干変更することで対応できるようにしたものである。この実施例におけるＡｉｊを基準画素とする５×７のマトリックス画像領域を切り出した部分を図１０に示す。この中で左斜線で示す部分を対象物画像（黒画像）に、右斜線で示す部分を隣接するコードデータあるいは傷や汚れによる非対象画像とする。
【００２６】
この実施例においては、Ｙ投影において、次式（１１）で示すように、不連続点Ｙｓ〔２〕′が検出される。
Ｙｓ〔１〜５〕′＝（３，０，３，４，２）  ・・・・・・・（１１）
またＸ投影においては、次式（１２）で示されるように、不連続点Ｘｓ〔６〕′が検出される。
Ｘｓ〔１〜７〕′＝（１，１，３，３，２，０，２）  ・・・（１２）
したがって、この結果、画素（ａ１１，ａ１２，ａ１３，ａ１４，ａ１５，ａ１６，ａ１７）及び（ａ１７，ａ２７，ａ３７，ａ４７，ａ５７）の画像信号をマスクするためのコントロール信号が発生する。すなわち、Ｘ投影及びＹ投影の結果が“０”である部分を検出することによって、対象物画像の不連続点を検出し、前記第１及び第３の演算手段１２，１４に含まれるマスク回路からなる第８及び第１３の演算手段１２−２，１４−２に、上記コントロール信号を印加し、次式（１３），（１４）で示す第８及び第１３の演算手段の演算結果が得られる。
Ｙｓ〔１〜５〕＝（０，０，３，３，１）  ・・・・・・・・（１３）
Ｘｓ〔１〜７〕＝（０，０，２，３，２，０，０，）  ・・・（１４）
【００２７】
この結果に対して、重み付け係数の演算結果の総和をΣＸｐ，ΣＹｐとして、基準画素Ａｉｊからの補正量ΔＹ，ΔＸを求めると、次式（１５），（１６）のように表される。
ΔＹ＝ΣＹｐ／ΣＹｓ＝４／７＝０．５７    ・・・・・・・・・・（１５）
ΔＸ＝ΣＸｐ／ΣＸｓ＝０／７＝０  ・・・・・・・・・・・（１６）
この補正量ΔＹ，ΔＸを基準画素Ａｉｊの座標値に加算することにより、対象物画像の正確な中心座標（重心）を算出することができる。
【００２８】
以上の処理は、前記第１及び第３の演算手段における不連続点検出手段の算出結果を一旦記憶し、マスク信号としてＸ及びＹ方向のマスク回路からなる第８及び第１３の演算手段に、図３に示すようにたすき掛けで与えることによって実現できる。
【００２９】
ところで、上記各実施例では、ｍ×ｎのマトリックス画像領域の記憶手段は、基準画素Ａｉｊをマトリックスの中心に配置しているものを示したが、基準画素はマトリックス上のどこに設定しても構わない。また、上記各実施例では、記憶手段はｍ×ｎの画像信号をマトリックス的に記憶するものであり、ｍ＝５，ｎ＝７の場合について示したが、ｍ×ｎの記憶手段は重心を計算したい対象物画像を含む必要があり、例えば、ｍ＝７，ｎ＝９の場合についても、本実施例と殆ど同一の構成で、図３における各演算手段のビット長を変更することによって、容易に実現することができる。
【００３０】
以上のように、対象物画像の大きさに合わせて、ｍ×ｎのマトリックス記憶手段及び撮像手段から入力される２次元画像記憶手段からｍ×ｎマトリックス記憶手段にデータを読み込むコントロール回路を若干変更することによって、基準画素からの対象物画像の重心補正量を容易に算出することができる。
【００３１】
【発明の効果】
以上実施例に基づいて説明したように、請求項１記載の発明によれば、対象物画像の特徴量を高速に且つ正確に算出することが可能となると共に、対象物画像データ以外の画像データの存在を検出・判定する手段を、簡単な構成で実現することが可能となる。また請求項２記載の発明によれば、対象物画像データ以外の画像データを不要データとして処理する手段を、簡単な構成で実現することができる。また請求項３記載の発明によれば、複数の対象物画像の重心演算を高速且つ正確に行うことが可能となる。また請求項４記載の発明によれば、対象物画像データ以外の画像データを不要データとして処理するマスク手段を、より簡単な構成で実現することができる。
【図面の簡単な説明】
【図１】本発明にかかる画像処理装置が対象とする画像フォーマット例を示す図である。
【図２】図１に示した画像フォーマット例の一部を拡大して示す図である。
【図３】本発明の第１実施例を示すブロック構成図である。
【図４】図３に示した第１実施例における第１の演算手段の構成例を示す図である。
【図５】図３に示した第１実施例における第２の演算手段の構成例を示す図である。
【図６】図３に示した第１実施例における第３の演算手段の構成例を示す図である。
【図７】図３に示した第１実施例における第４の演算手段の構成例を示す図である。
【図８】図３に示した第１実施例における第５及び第６の演算手段の構成例を示す図である。
【図９】図３に示した第１実施例の動作を説明するための説明図である。
【図１０】本発明の第２実施例及びその動作を説明する図である。
【図１１】従来の重心点検出方法を説明するための説明図である。
【図１２】従来の重心点検出方法を説明するための説明図である。
【符号の説明】
１Ａ，１Ｂ  基準画像
２  コードデータ群
Ａ，Ｃ  隣接コードデータ
Ｂ  対象コードデータ
１１  記憶手段
１２  第１の演算手段
１３  第２の演算手段
１４  第３の演算手段
１５  第４の演算手段
１６  第５の演算手段
１７  第６の演算手段
１８  先見情報保持手段
１２−１  第７の演算手段
１２−２  第８の演算手段
１２−３  第９の演算手段
１３−１  第１０の演算手段
１３−２  第１１の演算手段
１４−１  第１２の演算手段
１４−２  第１３の演算手段
１４−３  第１４の演算手段
１５−１  第１５の演算手段
１５−２  第１６の演算手段
１６−１，１６−２  除算器
【図１】
0003562871.tif 000002
【図２】
0003562871.tif 000003
【図３】
0003562871.tif 000004
【図４】
0003562871.tif 000005
【図５】
0003562871.tif 000006
【図６】
0003562871.tif 000007
【図７】
0003562871.tif 000008
【図８】
0003562871.tif 000009
【図９】
0003562871.tif 000010
【図１０】
0003562871.tif 000011
【図１１】
0003562871.tif 000012
【図１２】
0003562871.tif 000013