(57)【要約】【課題】カメラで撮影された対象物の画像が有効画像領域においてどこに位置するかを、リアルタイムに高速に決定する。【解決手段】ラインごとに１ライン分の画素データの水平方向加算値が算出され（３１１）、また画素データが取り込まれるごとに、取り込んだ画素位置での画素データの垂直方向加算値が算出される（３１０）。水平方向加算値が得られるごとに、該水平方向加算値が水平閾値と比較され（３０３）、水平閾値より大きくなったときと小さくなったときのそれぞれでラインの垂直方向の位置が生成される（３０４）。また、所定ラインで垂直方向加算値が得られるごとに、垂直方向加算値が垂直閾値と比較され（３０２）、垂直閾値より大きくなったときと小さくなったときのそれぞれで画素の水平方向の位置が生成される（３０７）。これらの生成された位置情報に基づき対象物の画像が有効画像領域で位置するエリアが決定される。【選択図】  図４
2004362367.tif 000002
【特許請求の範囲】
【請求項１】
カメラで撮影された対象物の画像を含む有効画像領域の画像データを、各ラインに沿って画素ごとにカメラから取り込んで処理し、対象物画像の有効画像領域における存在エリアを求める画像処理方法において、
ラインごとに、該ラインの画素データの水平方向加算値を求め、該水平方向加算値が水平閾値より大きくなるときのラインの垂直方向位置を第１の値として、またその後水平方向加算値が水平閾値より小さくなるときのラインの垂直方向位置を第２の値として生成し、
各ラインの画素データを取り込むごとに、取り込んだ画素位置での画素データの垂直方向加算値を求め、所定ラインでの垂直方向加算値が垂直閾値より大きくなるときの画素の水平方向位置を第３の値として、またその後垂直方向加算値が垂直閾値より小さくなるときの画素の水平方向位置を第４の値として生成し、
前記第１から第４の値に基づいて対象物の画像が有効画像領域において位置するエリアを求めることを特徴とする画像処理方法。
【請求項２】
前記水平閾値及び／又は垂直閾値が、対象物の種類に応じて設定可能であることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第１の値を求めるときの水平閾値と、第２の値を求めるときの水平閾値が異なり、また、前記第３の値を求めるときの垂直閾値と、第４の値を求めるときの垂直閾値が異なることを特徴とする請求項１又は２に記載の画像処理方法。
【請求項４】
カメラで撮影された対象物の画像を含む有効画像領域の画像データを、各ラインに沿って画素ごとにカメラから取り込んで処理し、対象物画像の有効画像領域における存在エリアを求める画像処理装置において、
ラインごとに１ライン分の画素データの水平方向加算値を算出する水平加算回路と、
水平方向加算値が水平閾値より大きくなるときのラインの垂直方向位置を第１の値として、またその後水平方向加算値が水平閾値より小さくなるときのラインの垂直方向位置を第２の値として生成する垂直位置生成手段と、
各ラインの画素データを取り込むごとに、取り込んだ画素位置での画素データの垂直方向加算値を算出する垂直加算回路と、
所定ラインでの垂直方向加算値が垂直閾値より大きくなるときの画素の水平方向位置を第３の値として、またその後垂直方向加算値が垂直閾値より小さくなるときの画素の水平方向位置を第４の値として生成する水平位置生成手段とを有し、
前記第１から第４の値に基づいて対象物の画像が有効画像領域に位置するエリアを求めることを特徴とする画像処理装置。
【請求項５】
前記水平閾値及び／又は垂直閾値が、対象物の種類に応じて設定可能であることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第１の値を生成するときの水平閾値と、第２の値を生成するときの水平閾値が異なり、また、前記第３の値を生成するときの垂直閾値と、第４の値を生成するときの垂直閾値が異なることを特徴とする請求項４又は５に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理方法及び装置、さらに詳細には、カメラからの画像データを取り込みながらリアルタイムに対象物の画像に対して、対象物が存在する画像エリアを決定する画像処理方法及び装置に関する。
【０００２】
【従来の技術】
マウンタ等の実装機においてＣＣＤカメラで撮像した部品等の画像をもとに画像認識処理を行い、部品の位置（姿勢）を認識する場合、撮像した画像エリアすべてに対して画像処理認識を行うと、処理データ量が膨大となり、画像処理認識時間が増大する。そのため、画像認識処理が必要な部品等が存在するエリアのみに対し画像認識処理が行われている。部品等が存在するエリアを決定する方法としては、部品等の形状情報により一意的に決定する方法があるが、この方法では、吸着ズレにより実際の部品等の位置が、決定したエリアから外れてしまうという問題があるため、一般的には画像の投影画像を求め、その投影画像により部品等の存在するエリアを決定する方法が用いられる。
【０００３】
投影画像の生成とその投影画像より部品等の存在するエリアを決定する手段として、カメラで撮像した部品の画像を一度メモリに蓄え、投影画像の生成と部品等の存在するエリアの決定をＣＰＵ等で実現することが従来行われていた。
【０００４】
図１には、その一構成例が図示されており、同図において、１０１はＣＰＵ、１０２はメモリ、１５１はＣＰＵアドレスデータバス、１５２は、ＣＣＤカメラで撮影された画像のディジタルビデオ信号である。従来の画像処理装置では、ディジタルビデオ信号１５２をメモリ１０２に書き込み、ＣＰＵ１０１により投影画像の生成を行い、それをメモリ１０２に書き込み、またＣＰＵ１０１によりその投影結果から部品等の存在するエリアを決定している。
【０００５】
このような構成で、図２に図示したように、カメラから部品２０２の画像とともに、全体画像２０１がメモリ１０２に取り込まれる。２０３は垂直ビデオエリアスタートアドレス、２０４は垂直ビデオエリアエンドアドレス、２０５は水平ビデオエリアスタートアドレス、２０６は水平ビデオエリアエンドアドレス、２０７は水平方向投影データグラフ、２０８は垂直方向投影データグラフ、２０９は垂直方向アドレス、２１０は水平方向アドレスである。このとき水平方向投影データグラフ２０７と垂直方向投影データグラフ２０８は各水平、垂直方向の投影結果となり、さらに垂直ビデオエリアスタートアドレス２０３、垂直ビデオエリアエンドアドレス２０４、水平ビデオエリアスタートアドレス２０５、水平ビデオエリアエンドアドレス２０６の４つの情報をもとに、部品２０２の存在するエリアを決定する。
【０００６】
このような構成が、特許文献１にも記載されている。
【０００７】
【特許文献１】
特開昭６３―２０１７８９号公報（２頁左下欄９行から３頁右上欄４行）
【０００８】
【発明が解決しようとする課題】
しかしながら、従来の画像処理装置では、カメラからの画像データを一度メモリに蓄え、その後ＣＰＵ等で投影画像の生成と部品等の存在するエリアの決定を行うため、エリアを決定するまでに多くの時間と投影画像データを格納する余分なメモリエリアを費やすという問題があった。
【０００９】
近年では、マウンタ等の実装機において高解像度化の要求はますます高まり、投影画像データも増大する傾向にあり、さらにタクトスピードの高速化要求により連続的に部品等を撮像する場合も多々あり、部品の存在する画像エリアを決定する時間がタクトのスピードアップの妨げとなる。
【００１０】
本発明は、このような問題点を解決するためになされたもので、カメラで撮影された対象物の画像が有効画像領域においてどの位置に存在するかを、リアルタイムに高速に定めることが可能な画像処理方法及び装置を提供することを課題とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明では、
カメラで撮影された対象物の画像を含む有効画像領域の画像データを、各ラインに沿って画素ごとにカメラから取り込んで処理し、対象物画像の有効画像領域における存在エリアを求める画像処理方法において、
ラインごとに、該ラインの画素データの水平方向加算値を求め、該水平方向加算値が水平閾値より大きくなるときのラインの垂直方向位置を第１の値として、またその後水平方向加算値が水平閾値より小さくなるときのラインの垂直方向位置を第２の値として生成し、
各ラインの画素データを取り込むごとに、取り込んだ画素位置での画素データの垂直方向加算値を求め、所定ラインでの垂直方向加算値が垂直閾値より大きくなるときの画素の水平方向位置を第３の値として、またその後垂直方向加算値が垂直閾値より小さくなるときの画素の水平方向位置を第４の値として生成し、
前記第１から第４の値に基づいて対象物の画像が有効画像領域において位置するエリアを求める構成を採用している。
【００１２】
また、本発明では、
カメラで撮影された対象物の画像を含む有効画像領域の画像データを、各ラインに沿って画素ごとにカメラから取り込んで処理し、対象物画像の有効画像領域における存在エリアを求める画像処理装置において、
ラインごとに１ライン分の画素データの水平方向加算値を算出する水平加算回路と、
水平方向加算値が水平閾値より大きくなるときのラインの垂直方向位置を第１の値として、またその後水平方向加算値が水平閾値より小さくなるときのラインの垂直方向位置を第２の値として生成する垂直位置生成手段と、
各ラインの画素データを取り込むごとに、取り込んだ画素位置での画素データの垂直方向加算値を算出する垂直加算回路と、
所定ラインでの垂直方向加算値が垂直閾値より大きくなるときの画素の水平方向位置を第３の値として、またその後垂直方向加算値が垂直閾値より小さくなるときの画素の水平方向位置を第４の値として生成する水平位置生成手段とを有し、
前記第１から第４の値に基づいて対象物の画像が有効画像領域に位置するエリアを求める構成も採用している。
【００１３】
このような構成では、カメラからの画像データを取り込みながら水平方向並びに垂直方向の投影画像データを生成して対象物の画像が存在するエリアをサーチできるので、リアルタイムにまた高速に対象物の位置するエリアを特定することができる。
【００１４】
【発明の実施の形態】
以下、図面に示す実施の形態に基づいて本発明を詳細に説明する。
【００１５】
図３には、部品１１を、ＣＣＤカメラ１０などの撮像装置で撮像し、その部品の画像を処理する画像処理装置１２が図示されている。部品１１は、部品供給装置から供給され部品実装機で基板上に搭載される電子部品として説明されるが、このような部品に限定されず、工場における組み立てや検査工程で組み立てられ、あるいは検査される部品など、ＣＣＤカメラなどで撮影されその位置が認識される全ての対象物を含むものである。
【００１６】
画像処理装置１２の詳細な回路構成が図４に図示されており、デジタルビデオ信号３６７は、ＣＣＤカメラ１０で撮像された部品１１の画像を含むカメラからのデジタル化されたビデオ信号で、ビデオクロック３５３、水平同期信号３５２、垂直同期信号３５１と同期してＣＣＤカメラ１０から出力され、垂直加算回路３１０と水平加算回路３１１に入力される。
【００１７】
水平垂直カウンタ回路３０６は、ビデオクロック３５３、水平同期信号３５２、垂直同期信号３５１から、水平ビデオカウンタ信号３６１、垂直ビデオカウンタ信号３５５、キャプチャイネーブル信号３６９、ＦＩＦＯコントロール信号３７０を生成し、水平ビデオカウンタ信号３６１を水平ビデオアドレス生成回路３０７に、垂直ビデオカウンタ信号３５５を垂直ビデオアドレス生成回路３０４に、キャプチャイネーブル信号３６９を垂直加算回路３１０と水平加算回路３１１に、またＦＩＦＯコントロール信号３７０をＦＩＦＯコントロール回路３０８にそれぞれ出力する。キャプチャイネーブル信号３６９は、水平及び垂直加算が行われる有効画像領域で出力され、有効画像領域がＣＣＤカメラの全画像領域である場合には、水平及び垂直同期信号とともに出力され、また有効画像領域がＣＣＤカメラの全画像領域の一部である場合には、水平垂直カウンタ回路３０６でその領域を覚えておき、その領域にきたときに、水平垂直カウンタ回路３０６からキャプチャイネーブル信号３６９を出力するようにする。
【００１８】
水平加算回路３１１は、デジタルビデオ信号３６７から１ライン分の画素データをラインごとに水平方向に加算して、該ラインの画素データの水平方向加算値を算出し、ラインの各画素データの加算が終了するごとに、その水平方向加算値に対応する水平ビデオ投影データ信号３６５を、水平閾値比較回路３０３へと出力する。
【００１９】
水平閾値比較回路３０３は、ラインごとの水平方向加算値が得られるごとに、水平方向加算値、すなわちそのラインに対応する水平ビデオ投影データ信号３６５を所定の水平閾値と比較し、該水平閾値より大きくなったとき、水平閾値比較結果信号３５９を垂直ビデオアドレス生成回路３０４に出力し、またその後水平方向加算値が水平閾値より小さくなったときにも、水平閾値比較結果信号３５９を垂直ビデオアドレス生成回路３０４に出力する。
【００２０】
垂直ビデオアドレス生成回路（垂直位置生成手段）３０４は、ラインごとの水平方向加算値が水平閾値より大きくなったときのラインの垂直位置を示す垂直ビデオアドレス情報を、垂直サーチエリアスタートアドレス（第１の値）として生成し、また水平閾値より小さくなったときのラインの垂直方向の位置を示す垂直ビデオアドレス情報を、垂直サーチエリアエンドアドレス（第２の値）として生成し、それぞれ第１と第２の値を垂直ビデオアドレス信号３５８としてメモリ３０５に出力する。そして、メモリ３０５は、これらの値をメモリコントローラ３０１のメモリアドレス信号に従って所定のメモリ領域に格納する。
【００２１】
垂直加算回路３１０は、デジタルビデオ信号３６７から画素データが取り込まれるごとに、取り込んだ画素位置での画素データの垂直方向加算値を算出して、所定のラインで各画素位置での垂直方向加算値に対応する垂直ビデオ投影データ信号３６３を、垂直閾値比較回路３０２へと出力する。ＦＩＦＯメモリ３０９は、ＦＩＦＯコントロール回路３０８からのＦＩＦＯメモリコントロール信号３６０に従って、１ラインの１画素データをＦＩＦＯライトデータ信号３６２としてＦＩＦＯメモリ３０９に書き込むごとに、１ライン分前の画素データをＦＩＦＯリードデータ信号３６４として垂直加算回路３１０に出力し、これにより垂直方向加算値の算出が可能になる。
【００２２】
垂直閾値比較回路３０２は、垂直加算回路３１０から出力される各画素位置での垂直方向加算値を示す垂直ビデオ投影データ信号３６３を、当該ラインの各画素データが取り込まれて垂直方向加算値が算出されるごとに、所定の垂直閾値と比較し、垂直方向加算値が該垂直閾値より大きくなったとき、垂直閾値比較結果信号３５６を水平ビデオアドレス生成回路３０７に出力し、また垂直方向加算値が垂直閾値より小さくなったときにも、垂直閾値比較結果３５６を水平ビデオアドレス生成回路３０７に出力する。
【００２３】
水平ビデオアドレス生成回路（水平位置生成手段）３０７は、垂直方向加算値が垂直閾値より大きくなったときの画素の水平方向の位置を示す水平ビデオアドレス情報を、水平サーチエリアスタートアドレス（第３の値）として生成し、また垂直閾値より小さくなったときの画素の水平方向の位置を示す水平ビデオアドレス情報を、水平サーチエリアエンドアドレス（第４の値）として生成し、それぞれ第３と第４の値を水平ビデオアドレス信号３５７としてメモリ３０５に出力する。メモリ３０５は、これらの値をメモリコントローラ３０１からメモリアドレス信号に従って所定のメモリ領域に格納する。
【００２４】
制御回路３１２は、水平閾値比較回路３０３と垂直閾値比較回路３０２で用いられる水平閾値と垂直閾値を設定し、その場合、上記第１の値を生成するときの水平閾値と、第２の値を生成するときの水平閾値が異なるように、また、第３の値を生成するときの垂直閾値と、第４の値を生成するときの垂直閾値が異なるように設定される。また、各水平閾値及び／又は垂直閾値が、対象物の種類（形状など）に応じて変更して設定される。このように設定された水平閾値と垂直閾値が閾値設定信号３６８としてそれぞれ水平閾値比較回路３０３と垂直閾値比較回路３０２に出力される。
【００２５】
以上のように構成された画像処理装置の動作を以下に説明する。
【００２６】
ＣＣＤカメラ１０から撮影された部品の画像を含む有効画像領域が、図５に示されたように４１で示されている。この有効画像領域４１は、ＣＣＤカメラの有効撮像面積とすることもでき、またＣＣＤカメラで撮影された全画像領域（有効撮像面積）の一部切り出された画像領域とすることもできる。有効画像領域４１は、１ラインからｍラインのｍ個のラインを有し、各ラインがｎ個の画素からなっており、「００」〜「ｍｎ」は、ＣＣＤカメラから読み出される各画素のデジタルビデオ信号データを示している。
【００２７】
このような画像領域で、ビデオクロック３５３、水平同期信号３５２、垂直同期信号３５１と同期して、矢印で図示されたような順序で、各ラインの画素データが、デジタルビデオ信号３６７として順次ＣＣＤカメラ１０から出力される。このデジタルビデオ信号が水平加算回路３１１に入力されて各ラインごとに水平方向の画素データの加算が行われる。この水平方向の加算が図６（Ａ）〜（Ｃ）に図示されており、水平垂直カウンタ回路３０６からのキャプチャイネーブル信号３６９により水平加算回路３１１がイネーブルとされると、１ラインの１クロック目で、デジタルビデオ信号３６７として画素データ「００」が水平加算回路３１１に入力される。これは一つ目の画素データであるため、水平加算回路３１１にて０と加算し（あるいはそのまま出力し）、投影データＨ０を水平ビデオ加算ループデータ信号３６６として出力する。これが、図６（Ａ）で００＝Ｈ０で示されている。
【００２８】
水平ビデオ加算ループデータ信号３６６は、図６（Ｂ）で示したように、水平加算回路３１１に再入力されるので、１ラインの２クロック目では、デジタルビデオ信号３６７の画素データ「０１」と水平ビデオ加算ループデータ信号Ｈ０が水平加算回路３１１で加算され、投影データＨ０＝Ｈ０＋０１が生成される。この投影データが図６（Ａ）で、Ｈ０＋０１＝Ｈ０で示されており、この投影データＨ０が、水平ビデオ加算ループデータ信号３６６として出力され、再度水平加算回路３１１に入力される。以上のような処理を、ｎクロック目まで行うと、１ライン目のすべての画素データ「００」〜「０ｎ」が加算され、水平方向の投影データＨ０＋０ｎ＝Ｈ０＿ＯＵＴが形成される。このデータは、１ライン分の画素データの水平方向加算値を示しており、これが、水平ビデオ投影データ信号３６５として水平加算回路３１１から出力される。
【００２９】
図６（Ｃ）には、以上の処理の流れが波形図として図示されており、各ビデオクロックごとに（すなわち画素ごとに）デジタルビデオ信号「００」〜「０ｎ」が取り込まれて、それが順次加算され、ｎクロック目で画素データ「０ｎ」が取り込まれたときは、水平ビデオ投影データ信号３６５がＨ０＿ＯＵＴとなることが示されている。なお、同図で水平ビデオ加算ループデータ信号の下に記載された（  ）内の数値データは、デジタルビデオ信号の画素データ「００」、「０１」などを数値としてみなして加算がどのようなデータであるかを示したものであり、例えば（１０）は、それまでの画素データ「００」〜「０４」を数値データとした場合の加算値１０を示している。
【００３０】
以上は、１ライン目の処理であったが、２ライン、．．．．．ｍラインの処理も同様に行われ、図６（Ａ）に示したように、各ラインの画素データの水平方向加算値Ｈ１＿ＯＵＴ、．．．．．Ｈｍ−１＿ＯＵＴが、それぞれ水平ビデオ投影データ信号３６５として水平加算回路３１１から出力される。
【００３１】
各ライン分の加算が終了するごとに、各ラインでの水平ビデオ投影データ信号３６５が、水平閾値比較回路３０３へと入力される。水平閾値比較回路３０３は、ラインごとに、制御回路３１２により設定される水平閾値と水平ビデオ投影データ信号３６５との比較を行い、一画面内で初めて水平閾値ｘ１より水平ビデオ投影データ信号３６５のデータが大きくなったら、水平閾値比較結果信号３５９を垂直ビデオアドレス生成回路３０４へと出力する。垂直ビデオアドレス生成回路３０４は、水平閾値比較結果信号３５９が出力されたときのラインの垂直方向の位置を示すビデオアドレス情報を、水平垂直カウンタ回路３０６にて出力される垂直ビデオカウンタ信号３５５から読み取り、それを垂直ビデオアドレス信号３５８として、メモリアドレス信号３５４に従ってメモリ３０５の所定領域に書き込む。この書き込まれたラインの垂直方向の位置を示すアドレスデータが垂直サーチエリアスタートアドレスとなる。
【００３２】
例えば、図８に示したように、ＣＣＤカメラで撮影された有効画像領域が６０１で、部品の画像が６０２であるとすると、Ｙ１番目のラインのときに、そのラインの画素データの水平方向加算値である水平ビデオ投影データ信号３６５が水平閾値（ｘ１）６１１よりも大きくなるので、そのラインＹ１の垂直方向の位置を示す垂直ビデオアドレス信号が垂直方向アドレス６０９における垂直サーチエリアスタートアドレス６０３となる。
【００３３】
以後、同様に各ラインごとに形成される水平ビデオ投影データ信号３６５をラインごとに水平閾値比較回路３０３に入力し、制御回路３１２により設定される水平閾値ｘ２と比較を行うことを繰り返し、水平閾値ｘ２より水平ビデオ投影データ信号３６５が小さくなったときに、水平閾値比較結果信号３５９を垂直ビデオアドレス生成回路３０４に出力する。垂直ビデオアドレス生成回路３０４は、水平閾値比較結果信号３５９が出力されたときのラインの垂直方向の位置を示すビデオアドレス情報を、水平垂直カウンタ回路３０６から出力される垂直ビデオカウンタ信号３５５から読み取り、それを垂直ビデオアドレス信号３５８としてメモリ３０５に書き込む。このアドレスデータが垂直サーチエリアエンドアドレスとなる。
【００３４】
図８では、Ｙ２番目のラインのときに、水平ビデオ投影データ信号３６５が水平閾値（ｘ２）６１２よりも小さくなるので、そのラインＹ２の垂直方向の位置を示す垂直ビデオアドレス信号が垂直方向アドレス６０９における垂直サーチエリアエンドアドレス６０４となる。
【００３５】
以上は、１ライン分の画素データを加算し、その投影データから垂直サーチエリアのスタートアドレスとエンドアドレスをリアルタイムに求めたが、以下に、画素データを垂直方向に加算し、その投影データから水平サーチエリアのスタートアドレスとエンドアドレスをリアルタイムに求める動作を、図７を用いて説明する。
【００３６】
垂直方向の加算においては、図７（Ｂ）に示したように、垂直加算回路３１０とＦＩＦＯメモリ３０９が用いられる。１ライン目の画素データ「００」〜「０ｎ」（図５）がデジタルビデオ信号３６７としてカメラからビデオクロック３５３に同期して取り込まれるとき、垂直加算回路３１０により各画素データと０が加算され（あるいはそのまま出力し）、各画素位置における画素データの垂直方向加算値を示す投影データＶ０〜Ｖｎが、垂直加算回路３１０から出力され、ＦＩＦＯライトデータ信号３６２としてＦＩＦＯメモリ３０９に書き込まれる。この１ライン目の投影データＶ０〜Ｖｎが図７（Ａ）の「１ライン」の欄に図示されている。
【００３７】
ＦＩＦＯメモリ３０９は、１ライン分の画素数に対応する容量をもっているので、２ライン目の画素データ「１０」〜「１ｎ」がビデオクロックに同期して垂直加算回路３１０に取り込まれるとき、ＦＩＦＯメモリ３０９からは、前のラインまでのライン方向にみて同一画素位置での垂直方向加算値が、ＦＩＦＯリードデータ信号３６４として垂直加算回路３１０に入力される。従って、前の１ライン目の各画素位置での投影データＶ０〜Ｖｎと２ライン目の画素データ「１０」〜「１ｎ」が２ライン目の１〜ｎクロックに同期してそれぞれ垂直加算回路３１０に入力されて画素ごとに順次加算されるので、両ラインのライン方向にみて同じ画素位置にある画素データが順次加算され、これにより、取り込んだ画素位置での垂直方向加算値が、順次算出される。この加算が、図７（Ａ）の「２ライン」の欄に図示されている。このように、２ライン目の画素データがクロックに同期して取り込まれるごとに、新たな投影データＶ０〜Ｖｎが順次形成され、これが垂直加算回路３１０から出力されて、ＦＩＦＯライトデータ信号３６２としてＦＩＦＯメモリ３０９に書き込まれる。
【００３８】
以降、各ラインごとに、この処理を繰り返し、上記垂直サーチエリアのエンドアドレス６０４が決定されたライン（図８でＹ２番目のライン）の後の所定ライン（ｋライン）の画素データ「（ｋ−１）０」〜「（ｋ−１）ｎ」がデジタルビデオ信号３６７として垂直加算回路３１０に入力されると、ｋラインの各画素データの取り込みと同期して前の（ｋ−１）ラインまでの投影データＶ０〜Ｖｎが、ＦＩＦＯリードデータ信号３６４として垂直加算回路３１０に入力されるので、図７（Ａ）の「ｋライン」の欄に示したように、ｋラインの１〜ｎクロックに同期して、各画素位置での新たな投影データＶ０〜Ｖｎが形成され、これが垂直ビデオ投影データ信号（３６３）Ｖ０＿ＯＵＴ、Ｖ１＿ＯＵＴ、Ｖ２＿ＯＵＴ、．．．．．Ｖｎ＿ＯＵＴとして垂直加算回路３１０から垂直閾値比較回路３０２へ出力される。
【００３９】
なお、何番目のラインのときに、垂直加算回路３１０から垂直ビデオ投影データ信号３６３を出力するかは、対象物の形状など種類に依存するが、垂直サーチエリアのエンドアドレスが決定されたあとのラインでは、部品の画像が存在しないので、垂直サーチエリアのエンドアドレスが決定されたラインの後の所定ライン、例えば、該エンドアドレスが決定されたラインの次のライン、あるいは、それより２〜３ライン後のラインとする。
【００４０】
図７（Ｃ）には、以上の処理の流れが波形図として図示されており、ビデオクロック信号３５３に同期して、各ラインの各画素データが取り込まれるごとに、取り込んだ画素位置での投影データＶ０、Ｖ１、Ｖ２、．．．．．が算出され、それが、ｋライン目で各投影データが垂直ビデオ投影データ信号３６３として出力されることが図示されている。なお、同図でＦＩＦＯのライト、リード信号の下に記載された（  ）内の数値データは、デジタルビデオ信号の画素データ「００」、「０１」などを数値としてみなして垂直方向の加算値がどのようなデータであるかを示したものであり、例えば２ライン目のＶ０（１０）は、１ライン目の「００」と２ライン目の「１０」のデータを数値データとした場合の垂直方向の加算値１０を示している。
【００４１】
上記求められた垂直ビデオ投影データ信号３６３は、順次垂直閾値比較回路３０２へと入力される。垂直閾値比較回路３０２は、垂直ビデオ投影データ信号３６３を制御回路３１２により設定された垂直閾値ｙ１と比較し、垂直ビデオ投影データ信号３６３が垂直閾値ｙ１より大きくなったら、垂直閾値比較結果信号３５６を水平ビデオアドレス生成回路３０７に出力する。水平ビデオアドレス生成回路３０７は、垂直閾値比較結果信号３５６が出力されたときの画素の水平方向の位置を示すビデオアドレス情報を、水平垂直カウンタ回路３０６にて出力される水平ビデオカウンタ信号３６１から読み取り、それを水平ビデオアドレス信号３５７としてメモリ３０５に書き込む。この書き込まれた画素の水平方向の位置を示すアドレスデータが水平サーチエリアスタートアドレスとなる。
【００４２】
以後、ｋライン目の各画素位置での垂直ビデオ投影データ信号３６３が、垂直閾値比較回路３０２に順次入力されるごとに、制御回路３１２により設定された垂直閾値ｙ２との比較が行われる。この比較で、垂直閾値ｙ２より垂直ビデオ投影データ信号３６３のデータが小さくなったときに、垂直閾値比較結果信号３５６を水平ビデオアドレス生成回路３０７に出力する。水平ビデオアドレス生成回路３０７は、垂直閾値比較結果３５６が出力されたときの画素の水平方向の位置を示すビデオアドレス情報を、水平垂直カウンタ回路３０６にて出力される水平ビデオカウンタ信号３６１から読み取り、それを水平ビデオアドレス信号３５７としてメモリ３０５に書き込む。このアドレスデータが水平サーチエリアエンドアドレスとなる。
【００４３】
図８の例では、ラインＹ２より後の所定ラインの画素データを順次取り込むとき、そのラインのＸ１の画素のところで、垂直ビデオ投影データ信号が垂直閾値ｙ１を超えるので、その画素Ｘ１の水平方向の位置を示す水平ビデオアドレス信号が水平方向アドレス６１０における水平サーチエリアスタートアドレス６０５となり、また同ラインのＸ２の画素のところで、垂直ビデオ投影データ信号が垂直閾値ｙ２を下回るので、その画素Ｘ２の水平方向の位置を示す水平ビデオアドレス信号が水平方向アドレス６１０における水平サーチエリアエンドアドレス６０６となる。
【００４４】
図８において、水平ビデオ投影データ信号３６５の推移を示す水平方向投影データグラフ６０７と、垂直ビデオ投影データ信号３６３の推移を示す垂直方向投影データグラフ６０８は、それぞれ各水平、垂直方向の画素データの投影結果となる。また、求められた垂直サーチエリアスタートアドレス６０３、垂直サーチエリアエンドアドレス６０４、水平サーチエリアスタートアドレス６０５、水平サーチエリアエンドアドレス６０６の４つの情報をもとに、撮像された部品６０２の存在するエリアを決定することができる。例えば、図９に示したように、４のアドレス６０３、６０４、６０５、６０６にそれぞれ左右、上下に所定のマージンを取り、部品６０２の存在するエリアにエリアウィンドウ６２０を設定することができ、このエリアウィンドウ６２０内において、部品６０２の画像を処理し、位置座標などを取得する処理が行われる。
【００４５】
上記実施形態において、水平閾値ｘ１、ｘ２並びに垂直閾値ｙ１、ｙ２は制御回路３１２により部品の形状、大きさなどの種類に応じて、設定するようにする。それにより、さまざまの部品の濃淡画像に対応できるようになる。また、水平閾値ｘ１とｘ２を異なる値とし、また垂直閾値ｙ１とｙ２を異なる値とすることにより、ヒステリシス特性が発生するので、ノイズに強く、異形部品にも対応できる画像処理が可能となる。
【００４６】
また、上記実施形態では、垂直サーチエリアのエンドアドレスが決定されたラインの後の所定ライン（ｋライン）で垂直ビデオ投影データ信号を垂直加算回路から出力させたが、１ライン目から出力させるようにしてもよい。この場合には、ラインの取り込みが進むにつれて部品の画像が左右に次第に大きくなる場合には、垂直方向加算値が、最初に取得された水平サーチエリアのスタートアドレスより小さいアドレスのところで垂直閾値ｙ１を上回り、あるいは、エンドアドレスより大きなアドレスのところで垂直閾値ｙ２を下回る可能性がある。従って、水平サーチエリアのスタートアドレス（第３の値）とエンドアドレス（第４の値）が取得されたら、それを一旦メモリに格納し、その後より小さいスタートアドレスが得られたら、あるいはより大きなエンドアドレスが得られたらそれぞれのアドレスを更新するようにする。これにより、垂直方向加算値が垂直閾値ｙ１より大きくなる画素位置で最も左側の画素位置をスタートアドレスとして、また垂直閾値ｙ２より小さくなる画素位置で最も右側の画素位置をエンドアドレスとして求めることができ、水平サーチエリアのスタートアドレスとエンドアドレスの決定を確実なものにすることができる。
【００４７】
また、上述した実施形態において、垂直及び水平サーチエリアの各エンドアドレスが決定された場合は、それ以降のラインの画素データの取り込みは、必要がないので、キャプチャイネーブル信号３６９の出力を停止して、垂直加算回路３１０と水平加算回路３１１を非アクティブとするようにすることもできる。
【００４８】
【発明の効果】
以上説明したように、本発明によれば、カメラからの画像データを取り込みながら水平方向並びに垂直方向の投影データを生成して、それぞれを対応する所定の水平閾値と垂直閾値と比較し、対象物の画像が存在するエリアをサーチするようにしているので、リアルタイムにまた高速に対象物の存在するエリアを特定することができる。
【００４９】
また、水平閾値並びに垂直閾値を対象物の種類に応じて変更することが可能であるため、さまざまな対象物の濃淡画像に対応でき、また、水平方向加算値と垂直方向加算値を閾値と比較するとき、閾値を上回るかどうかを比較するための閾値と、閾値を下回るかどうかを比較するための閾値を異なるようにしているので、ノイズに強く、異形対象物にも対応できる画像処理が可能となる。
【００５０】
また、本発明では、投影データそのものを格納する必要がないため、メモリ容量を小さくできる、という効果も得られる。
【図面の簡単な説明】
【図１】従来の画像処理装置の回路構成を示したブロック図である。
【図２】従来の画像処理装置において対象物の存在するエリアを認識する状態を示した説明図である。
【図３】カメラで撮影される対象物とその画像を処理する画像処理装置を示した説明図である。
【図４】本発明の画像処理装置の詳細な回路構成を示したブロック図である。
【図５】撮影された有効画像領域における画素データを示した説明図である。
【図６】（Ａ）は、水平方向の加算を示した表図、（Ｂ）は水平ビデオ投影データ信号を生成する回路のブロック図、（Ｃ）は、水平ビデオ投影データ信号を生成する信号のタイミング図である。
【図７】（Ａ）は、垂直方向の加算を示した表図、（Ｂ）は垂直ビデオ投影データ信号を生成する回路のブロック図、（Ｃ）は、垂直ビデオ投影データ信号を生成する信号のタイミング図である。
【図８】本発明における画像処理装置において対象物の存在するエリアを認識する状態を示した説明図である。
【図９】認識された対象物の存在するエリアにエリアウィンドウを設定する状態を示した説明図である。
【符号の説明】
３０１  メモリコントローラ
３０２  垂直閾値比較回路
３０３  水平閾値比較回路
３０４  垂直ビデオアドレス生成回路
３０５  メモリ
３０６  水平垂直カウンタ回路
３０７  水平ビデオアドレス生成回路
３０８  ＦＩＦＯコントロール回路
３０９  ＦＩＦＯメモリ
３１０  垂直加算回路
３１１  水平加算回路
３１２  制御回路
【図１】
2004362367.tif 000003
【図２】
2004362367.tif 000004
【図３】
2004362367.tif 000005
【図４】
2004362367.tif 000006
【図５】
2004362367.tif 000007
【図６】
2004362367.tif 000008
【図７】
2004362367.tif 000009
【図８】
2004362367.tif 000010
【図９】
2004362367.tif 000011