(57)【要約】【課題】画像に含まれる円形などの所定の形状を効率的に検出することを可能とすることができる画像処理装置などを提供する。【解決手段】画像処理装置１は、処理対象の画像の情報から所定の画像の情報を抽出する前処理部５１と、前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定するパターン判定部５２と、所定のペアの規則にしたがって、パターン判定部によりそれぞれのパターンと合致すると判定された画像部分のペアを判定するペア判定部５３と、ペア判定部により判定されたペアに基づいて、前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行う投票部５４と、投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定する画像特定部７１と、を備える。【選択図】図１
2015090592.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像の情報から所定の画像の情報を抽出する前処理部と、
前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定するパターン判定部と、
所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定するペア判定部と、
前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行う投票部と、
前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定する画像特定部と、
を備える画像処理装置。
【請求項２】
前記前処理部は、前記処理対象の画像の情報から所定の色の画像の情報を抽出し、抽出した所定の色の画像の情報を二値化し、二値化した所定の色の画像の情報に対して膨張処理を行い、
前記パターン判定部は、前記前処理部により取得された膨張処理後の二値化した所定の色の画像の情報について、前記２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定し、
前記ペア判定部は、画像の水平方向または垂直方向である前記所定の一方向に沿った２個の異なるパターンをペアとする前記所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定し、
前記投票部は、前記ペア判定部により判定されたペアに基づいて、前記前処理部により取得された膨張処理後の二値化した所定の色の画像の情報について、画像の水平方向または垂直方向である前記所定の一方向に関する中央の位置について投票を行う、
請求項１に記載の画像処理装置。
【請求項３】
前記投票部は、投票対象とする画像の前記所定の一方向における画素位置の数と同数の値を格納する領域を有するメモリを用いて、投票する画素位置に対応する値を更新する、
請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記画像特定部は、前記投票部による投票の結果に基づいて、標識に関する前記所定の形状に関する特徴の情報を特定する、
請求項１から請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
前記前処理部、前記パターン判定部、前記ペア判定部および前記投票部は、ハードウェアの回路を用いて構成され、
前記画像特定部は、ソフトウェアを用いて構成される、
請求項１から請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前処理部が、処理対象の画像の情報から所定の画像の情報を抽出し、
パターン判定部が、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定し、
ペア判定部が、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定し、
投票部が、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行い、
画像特定部が、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定する、
画像処理方法。
【請求項７】
前処理部が、処理対象の画像の情報から所定の画像の情報を抽出するステップと、
パターン判定部が、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定するステップと、
ペア判定部が、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定するステップと、
投票部が、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行うステップと、
画像特定部が、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定するステップと、
をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
一般的に、画像内の円形を検出するためには、ハフ変換と呼ばれるアルゴリズムや、対象物の色情報が使用される。一例として、車両に搭載されたカメラで撮影された画像内の円形を検出することで、当該円形の標識を検出することが行われる（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４１９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ハフ変換のアルゴリズムあるいは色情報を使用する画像処理では、ハードウェアに実装するために、メモリやフリップフロップ（ＦＦ）などについて多くのリソースが必要となるという問題があった。例えば、ハフ変換のアルゴリズムでは、円の中心値、円の半径値、投票処理における投票値という三次元のメモリ空間が必要であった。また、色情報を使用する画像処理は、処理負荷が高かった。
【０００５】
本発明は、このような事情を考慮してなされたもので、画像に含まれる円形などの所定の形状を効率的に検出することを可能とすることができる画像処理装置、画像処理方法および画像処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
（１）上記の課題を解決するために、本発明の一態様に係る画像処理装置は、処理対象の画像の情報から所定の画像の情報を抽出する前処理部と、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定するパターン判定部と、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定するペア判定部と、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行う投票部と、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定する画像特定部と、を備える。
【０００７】
（２）本発明の一態様は、上記した（１）に記載の画像処理装置において、前記前処理部は、前記処理対象の画像の情報から所定の色の画像の情報を抽出し、抽出した所定の色の画像の情報を二値化し、二値化した所定の色の画像の情報に対して膨張処理を行い、前記パターン判定部は、前記前処理部により取得された膨張処理後の二値化した所定の色の画像の情報について、前記２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定し、前記ペア判定部は、画像の水平方向または垂直方向である前記所定の一方向に沿った２個の異なるパターンをペアとする前記所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定し、前記投票部は、前記ペア判定部により判定されたペアに基づいて、前記前処理部により取得された膨張処理後の二値化した所定の色の画像の情報について、画像の水平方向または垂直方向である前記所定の一方向に関する中央の位置について投票を行う、構成が用いられてもよい。
【０００８】
（３）本発明の一態様は、上記した（１）または上記した（２）に記載の画像処理装置において、前記投票部は、投票対象とする画像の前記所定の一方向における画素位置の数と同数の値を格納する領域を有するメモリを用いて、投票する画素位置に対応する値を更新する、構成が用いられてもよい。
【０００９】
（４）本発明の一態様は、上記した（１）から上記した（３）のいずれか１つに記載の画像処理装置において、前記画像特定部は、前記投票部による投票の結果に基づいて、標識に関する前記所定の形状に関する特徴の情報を特定する、構成が用いられてもよい。
【００１０】
（５）本発明の一態様は、上記した（１）から上記した（４）のいずれか１つに記載の画像処理装置において、前記前処理部、前記パターン判定部、前記ペア判定部および前記投票部は、ハードウェアの回路を用いて構成され、前記画像特定部は、ソフトウェアを用いて構成される、構成が用いられてもよい。
【００１１】
（６）上記の課題を解決するために、本発明の一態様に係る画像処理方法は、前処理部が、処理対象の画像の情報から所定の画像の情報を抽出し、パターン判定部が、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定し、ペア判定部が、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定し、投票部が、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行い、画像特定部が、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定する。
【００１２】
（７）上記の課題を解決するために、本発明の一態様に係る画像処理プログラムは、前処理部が、処理対象の画像の情報から所定の画像の情報を抽出するステップと、パターン判定部が、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定するステップと、ペア判定部が、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定するステップと、投票部が、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行うステップと、画像特定部が、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定するステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、画像に含まれる円形などの所定の形状を効率的に検出することを可能とすることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る画像処理装置の概略的な構成を示すブロック図である。
【図２】本発明の一実施形態に係る画像処理装置において行われる処理の手順の一例を示すフローチャート図である。
【図３】（Ａ）は処理対象となる画像（原画像）の一例を示す図であり、（Ｂ）は赤色画像の一例を示す図であり、（Ｃ）は二値化赤色画像の一例を示す図であり、（Ｄ）は膨張処理後の二値化赤色画像の一例を示す図である。
【図４】パターンの例を示す図である。
【図５】（Ａ）はパターンＡの一例を示す図であり、（Ｂ）はパターンＢの一例を示す図であり、（Ｃ）はパターンＣの一例を示す図であり、（Ｄ）はパターンＤの一例を示す図である。
【図６】ペア判定の例を示す図である。
【図７】（Ａ）は投票の一例を示す図であり、（Ｂ）は投票メモリの記憶情報の一例を示す図である。
【図８】（Ａ）は中心の探索の一例を示す図であり、（Ｂ）は投票メモリの記憶情報の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照し、本発明の実施形態について説明する。
本実施形態では、車両に搭載される車載用の画像処理装置を示す。この車両には、当該車両の前方などの画像を撮影する撮影装置（例えば、カメラ）が搭載される。
ここで、この撮影装置と本実施形態に係る画像処理装置は、一体として構成されてもよく、または、別体として構成されてもよい。
【００１６】
［本実施形態に係る画像処理装置の概要］
図１は、本発明の一実施形態に係る画像処理装置１の概略的な構成を示すブロック図である。
本実施形態に係る画像処理装置１は、入力部１１と、出力部１２と、記憶部１３と、ＦＰＧＡ処理部１４と、プロセッサ処理部１５を備える。
記憶部１３は、共有メモリ１０１を備える。共有メモリ１０１は、画像メモリ３１と、投票メモリ３２を備える。
ＦＰＧＡ処理部１４は、前処理部５１と、パターン判定部５２と、ペア判定部５３と、投票部５４を備える。
【００１７】
入力部１１は、外部から情報を入力する。入力部１１は、一例として、キーボードやマウスなどの操作部を有しており、ユーザにより当該操作部に対して行われた操作に応じた情報を受け付けて入力する。入力部１１は、他の例として、外部の装置（記録媒体を含む。）と通信して、当該装置から情報を入力する。
出力部１２は、外部へ情報を出力する。出力部１２は、一例として、ディスプレイなどの表示部を有しており、当該表示部の画面に情報を表示出力する。出力部１２は、他の例として、外部の装置（記録媒体を含む。）と通信して、当該装置へ情報を出力する。
【００１８】
記憶部１３は、情報を記憶する。
共有メモリ１０１は、本実施形態では、ＦＰＧＡ処理部１４とプロセッサ処理部１５により共有されて使用されるメモリである。
画像メモリ３１は、画像の情報を記憶する。
投票メモリ３２は、投票の情報を記憶する。
【００１９】
ＦＰＧＡ処理部１４は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いて構成されている。ＦＰＧＡ処理部１４が備える各処理部（前処理部５１、パターン判定部５２、ペア判定部５３、投票部５４）の処理の機能は、ＦＰＧＡを用いて構成されている。
前処理部５１は、画像に対して所定の前処理を実行する。
パターン判定部５２は、前処理の結果に対して所定のパターン判定の処理を実行する。
ペア判定部５３は、パターン判定の結果に対して所定のペア判定の処理を実行する。
投票部５４は、ペア判定の結果に対して所定の投票の処理を実行する。
【００２０】
プロセッサ処理部１５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて構成されている。プロセッサ処理部１５が備える処理部（画像特定部７１）の処理の機能は、ＣＰＵが所定のプログラムを実行することで実現される。このプログラムは、例えば、記憶部１３に記憶される。
画像特定部７１は、ＦＰＧＡ処理部１４による処理結果に対して所定の画像特定の処理を実行する。
【００２１】
［本実施形態に係る画像処理装置において行われる処理］
図２は、本実施形態に係る画像処理装置１において行われる処理の手順の一例を示すフローチャート図である。
本実施形態に係る画像処理装置１では、まず、ＦＰＧＡ処理部１４により、画像入力の処理を実行し（ステップＳ１）、前処理（本実施形態では、画像の二値化などの処理）を実行し（ステップＳ２）、パターン判定の処理を実行し（ステップＳ３）、ペア判定の処理を実行し（ステップＳ４）、投票の処理を実行する（ステップＳ５）。
本実施形態に係る画像処理装置１では、次に、プロセッサ処理部１５により、中心の探索の処理を実行する（ステップＳ６）。
【００２２】
なお、図２には、共有メモリ１０１の使用方法を分かり易くするために、共有メモリ１０１およびそれに含まれる画像メモリ３１、投票メモリ３２を示してある。
ここで、本実施形態に係るＦＰＧＡ処理部１４は、ステップＳ２〜ステップＳ５の各処理をパイプラインのように流れ作業的に実行することが可能であり、各処理を並行して実行することが可能である。
【００２３】
＜画像入力の処理：ステップＳ１の処理＞
ＦＰＧＡ処理部１４は、処理対象となる画像の情報を入力する。
ここで、本実施形態では、入力部１１が、車両に搭載された撮影装置により撮影された画像の情報を入力する。そして、ＦＰＧＡ処理部１４は、処理対象となる画像の情報として、入力部１１により入力された画像の情報を入力する。
【００２４】
＜前処理：ステップＳ２の処理＞
図３（Ａ）、図３（Ｂ）、図３（Ｃ）、図３（Ｄ）を参照して、前処理部５１により実行する前処理を説明する。
図３（Ａ）は、処理対象となる画像（原画像２０１）の一例を示す図である。
図３（Ｂ）は、赤色画像２０２の一例を示す図である。
図３（Ｃ）は、二値化赤色画像２０３の一例を示す図である。
図３（Ｄ）は、膨張処理後の二値化赤色画像２０４の一例を示す図である。
【００２５】
前処理部５１は、ＦＰＧＡ処理部１４に入力された画像の情報に対して、所定の前処理を実行する。
図３（Ａ）に示される原画像２０１の情報は、ＦＰＧＡ処理部１４に入力された画像の情報の一例である。本例の原画像２０１には、赤色の円を含む道路標識２２１の画像および赤色の三角形を含む道路標識２２２の画像が含まれる。
本実施形態では、赤色の円を含む道路標識２２１を検出する場合を示す。
【００２６】
前処理部５１は、まず、原画像２０１の情報から、検出対象とする色の画像の情報を抽出する。本実施形態では、検出対象とする色は、赤色である。
図３（Ｂ）に示される赤色画像２０２の情報は、前処理部５１により抽出された赤色の画像の情報の一例である。本例の赤色画像２０２には、赤色の円からなる赤色部２３１の画像および赤色の三角形からなる赤色部２３２の画像が含まれる。
ここで、本実施形態では、赤色の部分を含むもの（全体が赤色でもよい。）を検出対象としたが、他の色の部分を含むもの（全体がその色でもよい。）を検出対象とする場合には、検出対象とする色の画像を抽出する。他の色としては、例えば、青色、緑色、黄色など、任意であってよい。
【００２７】
前処理部５１は、次に、抽出した赤色画像２０２の情報に対して、二値化を行い、その結果である二値化した赤色画像（二値化赤色画像）の情報を取得する。二値化の処理としては、例えば、各画素について、画素値が所定の閾値以上である場合には１値（白）とし、画素値が当該閾値未満である場合には０値（黒）とする処理を行う。
図３（Ｃ）に示される二値化赤色画像２０３の情報は、前処理部５１により二値化された赤色画像の情報の一例である。本例の二値化赤色画像２０３には、赤色の円からなる二値化された赤色部（二値化赤色部２４１）の画像および赤色の三角形からなる二値化された赤色部（二値化赤色部２４２）の画像が含まれる。
【００２８】
前処理部５１は、次に、二値化赤色画像２０３の情報に対して、膨張処理を行い、その結果である膨張処理後の二値化赤色画像２０４の情報を取得する。膨張処理としては、例えば、１値（白）で形成される形状（本実施形態では、円や三角形）の内側と外側の両方または一方を拡大（膨張）する処理を行う。膨張処理としては、例えば、任意の公知の技術が用いられてもよい。
図３（Ｄ）に示される膨張処理後の二値化赤色画像２０４の情報は、前処理部５１により膨張処理が行われた二値化赤色画像の情報の一例である。本例の膨張処理後の二値化赤色画像２０４には、赤色の円からなる膨張処理後の二値化赤色部２５１の画像および赤色の三角形からなる膨張処理後の二値化赤色部２５２の画像が含まれる。
前処理部５１は、膨張処理後の二値化赤色画像２０４の情報を共有メモリ１０１の画像メモリ３１に記憶する。
【００２９】
ここで、本実施形態では、膨張処理を行うことで、画像のノイズを減らして二値化赤色部の形状（本例では、円の輪郭の形状や、三角形の輪郭の形状）を明確化することを図ったが、他の構成例として、膨張処理を行わない構成が用いられてもよい。
【００３０】
＜パターン判定の処理：ステップＳ３の処理＞
図４および図５（Ａ）、図５（Ｂ）、図５（Ｃ）、図５（Ｄ）を参照して、パターン判定部５２により実行するパターン判定の処理を説明する。
図４は、パターンの例を示す図である。図４には、膨張処理後の二値化赤色画像３０１を示してある。図４に示される膨張処理後の二値化赤色画像３０１は、説明を分かり易くするために示したものであり、図３（Ｄ）に示される膨張処理後の二値化赤色画像２０４に含まれる赤色の円からなる膨張処理後の二値化赤色部２５１を含みかつ三角形からなる膨張処理後の二値化赤色部２５２を含まない画像部分を抽出したものである。
【００３１】
図４を見たときにおける上下左右の向きを用いて説明する。
図４に示されるように、幅を持った円からなる膨張処理後の二値化赤色部２５１が存在する場合、当該円の左上の外側の輪郭については、左上方向の外側の０値（黒）とその右下方向の内側の１値（白）とが隣接する画素ブロック３１１が存在し、これをパターンＡとする。当該円の右上の外側の輪郭については、右上方向の外側の０値（黒）とその左下方向の内側の１値（白）とが隣接する画素ブロック３１２が存在し、これをパターンＢとする。当該円の左下の外側の輪郭については、左下方向の外側の０値（黒）とその右上方向の内側の１値（白）とが隣接する画素ブロック３１３が存在し、これをパターンＣとする。当該円の右下の外側の輪郭については、右下方向の外側の０値（黒）とその左上方向の内側の１値（白）とが隣接する画素ブロック３１４が存在し、これをパターンＤとする。
【００３２】
図５（Ａ）、図５（Ｂ）、図５（Ｃ）、図５（Ｄ）は、画素ブロックの大きさとして（縦に３個の画素×横に３個の画素）である計９個の画素を用いる場合におけるパターンＡ、Ｂ、Ｃ、Ｄの例である。
図５（Ａ）は、パターンＡの一例を示す図である。パターンＡの画素ブロック４０１（図４の例では、画素ブロック３１１に対応する。）では、最上位の段の左側の画素および真ん中の画素と、上から二番目の段の左側の画素が、０値（黒）となっており、最上位の段の右側の画素と、上から二番目の段の真ん中の画素と、最下位の段の左側の画素が、１値（白）であり、残りの画素は任意（Ｎｏｔ  ｃａｒｅ）の値である。この例では、任意の値とは、０値（黒）であってもよく、１値（白）であってもよい。
図５（Ｂ）は、パターンＢの一例を示す図である。パターンＢの画素ブロック４０２（図４の例では、画素ブロック３１２に対応する。）では、最上位の段の右側の画素および真ん中の画素と、上から二番目の段の右側の画素が、０値（黒）となっており、最上位の段の左側の画素と、上から二番目の段の真ん中の画素と、最下位の段の右側の画素が、１値（白）であり、残りの画素は任意（Ｎｏｔ  ｃａｒｅ）の値である。この例では、任意の値とは、０値（黒）であってもよく、１値（白）であってもよい。
【００３３】
図５（Ｃ）は、パターンＣの一例を示す図である。パターンＣの画素ブロック４０３（図４の例では、画素ブロック３１３に対応する。）では、最下位の段の左側の画素および真ん中の画素と、上から二番目の段の左側の画素が、０値（黒）となっており、最上位の段の左側の画素と、上から二番目の段の真ん中の画素と、最下位の段の右側の画素が、１値（白）であり、残りの画素は任意（Ｎｏｔ  ｃａｒｅ）の値である。この例では、任意の値とは、０値（黒）であってもよく、１値（白）であってもよい。
図５（Ｄ）は、パターンＤの一例を示す図である。パターンＤの画素ブロック４０４（図４の例では、画素ブロック３１４に対応する。）では、最下位の段の右側の画素および真ん中の画素と、上から二番目の段の右側の画素が、０値（黒）となっており、最上位の段の右側の画素と、上から二番目の段の真ん中の画素と、最下位の段の左側の画素が、１値（白）であり、残りの画素は任意（Ｎｏｔ  ｃａｒｅ）の値である。この例では、任意の値とは、０値（黒）であってもよく、１値（白）であってもよい。
【００３４】
パターン判定部５２は、前処理部５１により取得された膨張処理後の二値化赤色画像２０４の情報に対して、それぞれのパターン（パターンＡ、Ｂ、Ｃ、Ｄ）の画素ブロックについてパターンが合致（一致）するか否かの判定（パターン判定）を行い、これにより、それぞれのパターン（パターンＡ、Ｂ、Ｃ、Ｄ）の画素ブロックと合致する画素ブロックを探索して検出する。ここで、それぞれのパターン（パターンＡ、Ｂ、Ｃ、Ｄ）の画素ブロックは、例えば、あらかじめ、記憶部１３に記憶される。
また、本実施形態では、パターン判定の処理を、画像フレームの走査に沿って順次行う。本実施形態では、画像フレームにおいて、左上から右下へ向かって横方向に順次走査される走査方向であるとする。
【００３５】
パターン判定部５２により検出される画素ブロックは、一例として、赤色の円からなる膨張処理後の二値化赤色部２５１については、図４に示される画素ブロック３１１、３１２、３１３、３１４（および、それぞれの周囲の同様な画素ブロック）となる。
さらに、図４の例において、幅を持った円の左上の内側の輪郭の領域４５１については、パターンＤに合致する画素ブロックが検出される可能性がある。幅を持った円の右上の内側の輪郭の領域４５２については、パターンＣに合致する画素ブロックが検出される可能性がある。幅を持った円の左下の内側の輪郭の領域４５３については、パターンＢに合致する画素ブロックが検出される可能性がある。幅を持った円の右下の内側の輪郭の領域４５４については、パターンＡに合致する画素ブロックが検出される可能性がある。
【００３６】
ここで、本実施形態では、パターン判定を行う画素ブロックとして、３×３の画素ブロックを用いたが、画素ブロックの大きさは任意であってもよく、他の構成例として、２×２の画素ブロックや、４×４以上の画素ブロックが用いられてもよい。また、２×３や、３×４のように、縦と横の画素数が異なる画素ブロックが用いられてもよい。また、複数のパターンＡ、Ｂ、Ｃ、Ｄのうちの１つ以上について、画素ブロックの大きさが異なる構成が用いられてもよい。
【００３７】
＜ペア判定の処理：ステップＳ４の処理＞
本実施形態では、パターンＡとパターンＢをペア（対）とし、パターンＣとパターンＤをペア（対）とする。
図６は、ペア判定の例を示す図である。図６には、図４に示されるものと同様な膨張処理後の二値化赤色画像３０１を示してある。図６に示される膨張処理後の二値化赤色画像３０１は、説明を分かり易くするために示したものであり、左上から右下へ向かって横方向に順次走査される走査方向であるとする。図６には、パターンＡと判定された画素ブロック５１１と、パターンＢと判定された画素ブロック５１２を示してあり、本実施形態では、これらの画素ブロック５１１、５１２をペアとして判定する。
【００３８】
ペア判定部５３は、パターン判定部５２により検出されたそれぞれのパターン（パターンＡ、Ｂ、Ｃ、Ｄ）の画素ブロックと合致する画素ブロックについて、パターンのペア（画素ブロックのペア）を判定する。
一例として、ペア判定部５３は、パターン判定部５２によりパターン判定の処理が行われる際に、現在において最新に検出されたパターン（画素ブロック）を記憶部１３などに記憶しておき、次に当該パターンと対になるパターン（画素ブロック）が検出された場合に、これらのパターンをペアであると判定する。この例では、ペア判定部５３は、まず、４個のパターン（パターンＡ、Ｂ、Ｃ、Ｄ）のうちのいずれかのパターンが検出された場合に、そのパターンの検出結果を、次回のパターン判定が行われるまで記憶（保持）し、そして、次回のパターン判定において当該記憶している前回のパターンと対になるパターンが検出された場合に、これら２個のパターンをペアとして判定する。つまり、例えば、パターンＡの次にパターンＢが検出された場合にペアであると判定し、パターンＣの次にパターンＤが検出された場合にペアであると判定する。
【００３９】
ここで、図４を例とすると、幅を持った円からなる膨張処理後の二値化赤色部２５１が存在する場合、当該円の外側の輪郭のパターンの画素ブロック（例えば、図４に示される画素ブロック３１１〜３１４など）ばかりでなく、当該円の内側の輪郭のパターンの画素ブロック（例えば、図４に示される領域４５１〜４５４などの画素ブロック）もパターン判定部５２が検出する構成では、円の外側の輪郭線と内側の輪郭線の両方を通る走査線上では、ペアとなるパターン（パターンＡとパターンＢ、パターンＣとパターンＤ）が連続で検出されずに、パターンＡ、パターンＤ、パターンＣ、パターンＢの順で検出されることや、パターンＣ、パターンＢ、パターンＡ、パターンＤの順で検出されることもある。この場合、パターンＡ、パターンＤ、パターンＣ、パターンＢの順で検出されたときには、当該パターンＡと当該パターンＢのペアを判定し、当該パターンＤと当該パターンＣのペアを判定し、また、パターンＣ、パターンＢ、パターンＡ、パターンＤの順で検出されたときには、当該パターンＣと当該パターンＤのペアを判定し、当該パターンＢと当該パターンＡのペアを判定する構成が用いられてもよい。
【００４０】
また、他の構成例として、図４を例とすると、幅を持った円からなる膨張処理後の二値化赤色部２５１が存在する場合、当該円の外側の輪郭のパターンの画素ブロック（例えば、図４に示される画素ブロック３１１〜３１４など）と、当該円の内側の輪郭のパターンの画素ブロック（例えば、図４に示される領域４５１〜４５４などの画素ブロック）とのうちの一方のみについてパターン判定部５２によりパターン判定の処理を行う構成、または、これらのうちの一方のみについてペア判定部５３によりペア判定の処理を行う構成が用いられてもよい。
【００４１】
また、本実施形態では、水平方向の同じ走査線上にある２個のパターンをペアとして判定するが、他の構成例として、異なる走査線（例えば、垂直方向に多少ずれた走査線）上にある２個のパターンをペアとして判定することが行われてもよい。
また、本実施形態では、パターンＡとパターンＢをペアとし、パターンＣとパターンＤをペアとしたが、他の構成例として、パターンＡとパターンＣをペアとし、パターンＢとパターンＤをペアとする構成が用いられてもよい。この場合、概略的には、図４を例とすると、本実施形態においてはペアの方向が水平方向であるものを、他の構成例として垂直方向へ置き換えて、本実施形態と同様な処理を適用することができる。
【００４２】
＜投票の処理：ステップＳ５の処理＞
図７（Ａ）および図７（Ｂ）を参照して、投票の処理を説明する。
図７（Ａ）は、投票の一例を示す図である。
図７（Ｂ）は、投票メモリ３２の記憶情報の一例を示す図である。
図７（Ａ）には、図４および図６に示されるものと同様な膨張処理後の二値化赤色画像３０１を示してある。図７（Ａ）に示される膨張処理後の二値化赤色画像３０１は、説明を分かり易くするために示したものであり、画像フレームの水平方向の軸をＸ軸とし垂直方向の軸をＹ軸としてある。
【００４３】
投票部５４は、ペア判定部５３によりペアであると判定された２個のパターン（画素ブロック）の位置に基づいて、これら２個の位置の中央の位置に対して投票を行う。本実施形態では、投票として、投票対象となる位置（本実施形態では、ペアと判定された２個のパターンの中央の位置）に対応する値を所定の分だけ増加させる（加算する）ことを行う。この場合、複数のペアについて投票を行い、投票により増加される値を累積すると、最終的に最も大きい値に対応する位置が、中央の位置としての確からしさが最も大きい位置である、と判定（例えば、推測でもよい。）することができる。
【００４４】
図７の例では、ペア判定部５３によりパターンＡの画素ブロック５１１とパターンＢの画素ブロック５１２がペアであると判定され、この場合、投票部５４は、これら２個の画素ブロック５１１、５１２の中心のＸ座標の位置に対して投票を行う。具体的には、図７（Ｂ）に示されるように、投票メモリ３２には、処理対象となる画像のフレームに合わせて、ペアを判定する方向（本実施形態では、水平方向）の各画素の位置に、投票結果の値を格納する領域が設けられる。そして、投票部５４は、投票を行うたびに、投票メモリ３２における該当する画素の位置に対応する値を更新していく（本実施形態では、初期値である０から１ずつ増加させていく）。
【００４５】
本実施形態では、投票メモリ３２は、（処理対象となる画像のフレームの幅の画素数）×（各画素ごとに投票結果として取り得る最大値のビット幅）の記憶容量を有する。
ここで、投票により加算する値としては、本実施形態では、１を用いたが、他の構成が用いられてもよい。
また、各画素ごとに投票結果として取り得る最大値のビット幅としては、様々なビット幅が用いられてもよく、例えば、８ビット分のビット幅などを用いることができる。
【００４６】
また、本実施形態では、ペアの中央にある１個の画素の位置に対して投票を行うが、他の構成例として、ペアの中央にある１個およびその左右にある各１個ずつの計３個の画素に対して投票を行う構成や、あるいは、ペアの中央にある１個を含む任意の複数の画素に対して投票を行う構成が用いられてもよい。
また、例えば、ペアの中央の位置が１個の画素の位置に定まらず２個の画素の位置になるような場合には、これら２個の画素の位置を中央の位置として処理する構成や、または、あらかじめ定められた条件にしたがって一方の画素の位置のみを中央の位置として処理する構成などが用いられてもよい。
【００４７】
また、２個の画素ブロックの中央を定める場合に、画素ブロックのうちのいずれの画素の位置を当該画素ブロックの中心とみなすかについては、任意に定められてもよく、例えば、画素ブロックの中心の画素の位置またはそれに近い画素の位置を中心とみなして、２個の画素ブロックの中央を定めることができる。
また、本実施形態では、投票結果の値として、所定の分ずつ増加していく値を用いたが、他の構成例として、所定の分ずつ減少していく値などが用いられてもよい。
また、投票の処理としては、例えば、任意の公知の技術が用いられてもよい。
【００４８】
＜中心の探索の処理：ステップＳ６の処理＞
ＦＰＧＡ処理部１４により記憶される画像メモリ３１における画像（本実施形態では、二値化画像）の情報および投票メモリ３２における投票結果の情報は、プロセッサ処理部１５により使用することが可能に、ＦＰＧＡ処理部１４からプロセッサ処理部１５に渡される。
【００４９】
図８（Ａ）および図８（Ｂ）を参照して、中心の探索の処理を説明する。
図８（Ａ）は、中心の探索の一例を示す図である。
図８（Ｂ）は、投票メモリ３２の記憶情報の一例を示す図である。
図８（Ａ）には、図４、図６および図７（Ａ）に示されるものと同様な膨張処理後の二値化赤色画像３０１を示してある。図８（Ａ）に示される膨張処理後の二値化赤色画像３０１は、説明を分かり易くするために示したものであり、画像フレームの水平方向の軸をＸ軸とし垂直方向の軸をＹ軸としてある。
【００５０】
画像特定部７１は、画像特定の処理として、まず、中心の探索の処理を行う。本実施形態では、中心の探索の処理として、特定対象とする形状（本実施形態では、円）の中心の位置を探索して決定する。
そして、本実施形態では、画像特定部７１は、画像特定の処理の続きとして、決定した中心の位置に基づいて、特定対象とする形状（本実施形態では、円）を特定する。形状の特定の方法としては、例えば、円であれば中心と半径の長さというように、特定対象とする形状の特徴の情報を特定することを行い、例えば、任意の公知の技術が用いられてもよい。また、形状の特定は、例えば、その形状の候補の特定とみなされてもよく、その後に、さらに、その候補が正当なものであるか否かを判定してもよい。
【００５１】
図８（Ａ）および図８（Ｂ）を参照して、中心の探索の処理の一例として（中心の探索の手順例１）〜（中心の探索の手順例４）を示す。
【００５２】
（中心の探索の手順例１）
画像特定部７１は、投票メモリ３２に記憶された投票結果の情報を参照し、あらかじめ定められた閾値以上の値（投票結果の値）を有する画素の位置について、中心の探索を実行する。投票結果の情報の参照は、例えば、投票の処理が１画像フレームの全体の走査について完了した後に行う。
図８（Ｂ）の例では、投票メモリ３２において、円の水平方向のある位置の値が５となっており、その左隣の位置の値が１となっており、その他の位置の値が０となっている。閾値が４である場合には、値が５である位置のみが閾値以上となり、その位置について中心の探索を実行する。
ここで、本実施形態では、投票結果の値が閾値以上となる位置が２個以上ある場合には、その全ての位置について中心の探索を実行するが、他の構成例として、閾値を用いずにまたは閾値以上となるものの中で、投票結果の値が最も大きい位置のみについて中心の探索を実行する構成が用いられてもよい。
【００５３】
（中心の探索の手順例２）
画像特定部７１は、中心の探索を実行する位置を基準として、投票メモリ３２の画素の方向（本実施形態では、Ｘ軸の方向）とは垂直な方向（本実施形態では、Ｙ軸の方向）において、画素値が互いに逆向きの勾配となる画素の位置の組（対）を検出する。画素値が互いに逆向きの勾配としては、本実施形態では、画素値が０値（黒）から１値（白）へ変化する勾配と、画素値が１値（白）から０値（黒）へ変化する勾配を用いることができる。
図８（Ａ）の例では、画像特定部７１は、投票メモリ３２における投票結果の値が５である画素の位置のＸ座標上において、下方向の勾配（上から下へ向かって黒から白へ変化する勾配）を持つ画素と、上方向の勾配（下から上へ向かって黒から白へ変化する勾配）を持つ画素の組を検出する。図８（Ａ）の例では、円の上側に１組の逆向きの勾配が検出され、円の下側に１組の逆向きの勾配が検出される。
【００５４】
（中心の探索の手順例３）
画像特定部７１は、逆向きの勾配の組を複数（本実施形態では、２個）検出した場合に、各組における逆向きの勾配を持つ画素の位置の間の距離ｄｓｔ１、ｄｓｔ２を求め、これらの距離ｄｓｔ１、ｄｓｔ２を比較して、これらの距離ｄｓｔ１、ｄｓｔ２が所定以上に近いと判定した場合（つまり、これらの差の絶対値｜ｄｓｔ１−ｄｓｔ２｜が所定の正の閾値以下であると判定した場合）に、これら複数の組が同一の形状（本実施形態では、円）に存在すると判定する。
図８（Ａ）の例では、画像特定部７１は、円の上側の組に関する距離ｄｓｔ１と円の下側の組に関する距離ｄｓｔ２を求め、これらの距離ｄｓｔ１、ｄｓｔ２が所定以上に近いと判定し、これら２個の組が同一の形状（本実施形態では、円）に存在すると判定する。
【００５５】
（中心の探索の手順例４）
画像特定部７１は、同一の形状に存在すると判定した２個の組について、一方の組と他方の組とで互いに逆方向の勾配の画素の位置の間の中心の画素の位置を、当該形状の中心の位置として検出する。
図８（Ａ）の例では、一例として、画像特定部７１は、円の上側の組における下方向の勾配の画素の位置と円の下側の組における上方向の勾配の画素の位置との間の中心の位置を、円の中心の位置として検出する。または、他の例として、画像特定部７１は、円の上側の組における上方向の勾配の画素の位置と円の下側の組における下方向の勾配の画素の位置との間の中心の位置を、円の中心の位置として検出する。または、画像特定部７１は、これら両方の検出を行って、検出結果の平均値を円の中心の位置として検出する。
【００５６】
なお、画像特定部７１は、特定対象とする形状（本実施形態では、円）の中心の位置を検出して決定した後に、その中心の位置および画像メモリ３１に記憶された画像の情報に基づいて、その形状の他の特徴の情報を求めることができる。図８（Ａ）の例では、幅を持った円の中心の位置と、幅を持った円の当該幅の中心位置（幅を持った白い輪郭線の中心位置）との間の距離またはそれに近い距離を、円の半径として検出することができる。
【００５７】
［本実施形態のまとめ］
以上のように、本実施形態に係る画像処理装置１では、ＦＰＧＡからなるハードウェアと、ＣＰＵにより実行されるプログラムからなるソフトウェアとを、効果的に強調させて、全体の処理を行う。
具体的には、本実施形態に係る画像処理装置１では、ハードウェアにより、前処理、パターン判定の処理、ペア判定の処理、投票の処理を行い、これにより、画像において所定の形状（本実施形態では、円）の中央が存在し得る一方向上の位置（本実施形態では、Ｘ軸方向の位置）を検出する。そして、この検出結果に基づいて、ソフトウェアにより、画像特定の処理を行い、これにより、前記一方向とは直交する方向（本実施形態では、Ｙ軸方向）も含めて、平面上における特徴の情報（本実施形態では、例えば、中心の位置の情報）を検出する。
【００５８】
したがって、本実施形態に係る画像処理装置１では、全体の処理をハードウェア、ソフトウェアの処理に効果的に分割することで、全体的な処理時間の短縮や、全体的な処理負荷の低減や、回路リソースの削減を実現することが可能である。
具体例として、ＦＰＧＡなどのハードウェア回路は並列処理により画像の一方向（本実施形態では、Ｘ軸方向）の処理を行うことに適しており、ＣＰＵなどを使用するソフトウェア処理は逐次的な処理により画像の平面上（本実施形態では、ＸＹ平面上）における処理を行うことに適している。
本実施形態では、ハードウェアで必要な投票メモリ３２の容量は例えば（画像の一方向の幅×投票結果の値の幅）に相当する分のみでよく、二次元のメモリ空間で実装が可能である。本実施形態では、ハードウェアに必要なリソース（例えば、メモリ、ＦＦなど）を非常に小さくすることが可能であり、実装性が高い。本実施形態では、ソフトウェアの処理時間を小さくすることが可能である。
このように、本実施形態では、画像に含まれる円形などの所定の形状を効率的に検出することを可能とすることができる。
【００５９】
なお、本実施形態では、例えば、ハフ変換を使用してソフトウェアのみで円などを検出する方法と比較して、低負荷な演算で円などを検出することが可能である。
また、本実施形態では、例えば、ハフ変換を使用してハードウェア（例えば、ＦＰＧＡ）のみで円などを検出する方法と比較して、少ないリソースで円などを検出することが可能である。
【００６０】
ここで、従来技術に係るハフ変換の処理をＦＰＧＡのみで行って円の半径ごとに情報を持つような処理と本実施形態の処理とを比較する。画像フレームのサイズとして、画像の幅がＷ（画素）であり、画像の高さがＨ（画素）であり、検出可能な円の最大の半径がＲ（画素）であり、投票結果の値の取り得る最大値がＭ（ビット）であるとする。この場合、従来技術に係るハフ変換の処理では、投票の処理に必要なメモリリソースは、Ｗ×Ｈ×Ｒ×Ｍ（ビット）となる。一方、本実施形態の処理では、投票の処理に必要なメモリリソースは、Ｗ×Ｍ（ビット）となり、従来技術に係るハフ変換の処理と比べて１／ＨＲになり、少なくなる。
なお、本実施形態の処理では、画素値がｎ（ビット）で構成される場合には、画像メモリの１画像フレーム当たりに必要なメモリリソースは、Ｗ×Ｈ×ｎ（ビット）となる。二値の画像については、ｎ＝２となる。
【００６１】
ここで、本実施形態の処理は、例えば、画像に含まれる所定の形状の画像部分を検出してから所定の対象物の画像部分を特定（認識）する処理に適用して有効である。一例として、ＴＳＲ（Ｔｒａｆｆｉｃ  Ｓｉｇｎ  Ｒｅｃｏｇｎｉｔｉｏｎ）のように道路標識の認識処理の前処理に適用して有効である。
なお、本実施形態では、車両に搭載された画像処理装置１を例としたが、これに限られず、例えば、画像処理装置１が、車両に搭載されずに、車両に搭載された撮影装置により撮影された画像の情報を入力して処理する構成が用いられてもよい。他の構成例として、画像処理装置１が、車両以外の分野の装置として構成されてもよい。
【００６２】
また、本実施形態では、ＦＰＧＡ処理部１４の前処理部５１において画像の二値化の処理を行って、その後、二値化画像を処理したが、他の構成例として、画像の三値化以上の多値化の処理を行って、その後、三値化以上の多値化画像を処理する構成が用いられてもよい。
【００６３】
また、本実施形態では、ハードウェアとして、ＦＰＧＡを示したが、他の構成例として、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、あるいは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などの回路を用いることもできる。この回路は、例えば、専用の処理を実行するように組まれた専用処理回路である。
また、本実施形態では、ソフトウェアとして、ＣＰＵが処理するプログラムを示したが、他の構成例として、ＣＰＵの代わりに、マイクロコンピュータ、あるいは、他のコンピュータなどを用いることもできる。
【００６４】
また、本実施形態では、説明の便宜上、主に、画像に含まれる１個の円の形状に着目して説明したが、実際の画像には複数の円の形状や円に似た形状が含まれ得る。この場合、例えば、これら複数の円の形状などのそれぞれについて本実施形態の処理を行う。
また、本実施形態では、円を例としたが、本実施形態と同様な処理により、三角形や、正方形や、菱形などのように、中心線に対して左右対称な他の形状も特定され得る。このため、本実施形態の処理は、円以外の形状を特定する場合に適用されてもよい。また、本実施形態の処理は、内部が塗りつぶされた円などの形状を特定する場合に適用されてもよい。
【００６５】
［以上の実施形態に係る構成例］
一構成例として、処理対象の画像（本実施形態では、図３（Ａ）に示される原画像２０１）の情報から所定の画像（本実施形態では、図３（Ｂ）に示される赤色画像２０２）の情報を抽出する前処理部（本実施形態では、前処理部５１）と、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターン（本実施形態では、図４および図５（Ａ）、図５（Ｂ）、図５（Ｃ）、図５（Ｄ）に示されるパターンＡ、Ｂ、Ｃ、Ｄ）に関して、それぞれのパターンと合致する画像部分（本実施形態では、画素ブロック３１１〜３１４、５１１〜５１２）を判定するパターン判定部（本実施形態では、パターン判定部５２）と、所定のペアの規則（本実施形態では、パターンＡ、Ｂがペアであり、パターンＣ、Ｄがペアであるという規則）にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定するペア判定部（本実施形態では、ペア判定部５３）と、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向（本実施形態では、Ｘ軸の方向）に関する位置について投票を行う投票部（本実施形態では、投票部５４）と、前記投票部による投票の結果に基づいて、所定の形状（本実施形態では、円）に関する特徴（本実施形態では、例えば、円の中心の位置）の情報を特定する画像特定部（本実施形態では、画像特定部７１）と、を備える画像処理装置（本実施形態では、画像処理装置１）である。
【００６６】
一構成例として、画像処理装置において、前記前処理部は、前記処理対象の画像の情報から所定の色（本実施形態では、赤色）の画像の情報を抽出し、抽出した所定の色の画像の情報を二値化し（本実施形態では、図３（Ｃ）の処理）、二値化した所定の色の画像の情報に対して膨張処理を行い（本実施形態では、図３（Ｄ）の処理）、前記パターン判定部は、前記前処理部により取得された膨張処理後の二値化した所定の色の画像の情報について、前記２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定し、前記ペア判定部は、画像の水平方向または垂直方向である前記所定の一方向に沿った２個の異なるパターンをペアとする前記所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定し、前記投票部は、前記ペア判定部により判定されたペアに基づいて、前記前処理部により取得された膨張処理後の二値化した所定の色の画像の情報について、画像の水平方向または垂直方向である前記所定の一方向に関する中央の位置について投票を行う。
【００６７】
一構成例として、画像処理装置において、前記投票部は、投票対象とする画像の前記所定の一方向における画素位置の数と同数の値を格納する領域を有するメモリ（本実施形態では、投票メモリ３２）を用いて、投票する画素位置に対応する値を更新する（本実施形態では、１ずつ増加させていく）。
【００６８】
一構成例として、画像処理装置において、前記画像特定部は、前記投票部による投票の結果に基づいて、標識に関する前記所定の形状に関する特徴の情報を特定する。
【００６９】
一構成例として、画像処理部において、前記前処理部、前記パターン判定部、前記ペア判定部および前記投票部は、ハードウェアの回路（本実施形態では、ＦＰＧＡ）を用いて構成され、前記画像特定部は、ソフトウェア（本実施形態では、ＣＰＵにより実行されるプログラムの機能）を用いて構成される。
【００７０】
一構成例として、前処理部が、処理対象の画像の情報から所定の画像の情報を抽出し、パターン判定部が、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定し、ペア判定部が、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定し、投票部が、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行い、画像特定部が、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定する、画像処理方法（本実施形態では、画像処理装置１において行われる画像処理の方法）である。
【００７１】
一構成例として、前処理部が、処理対象の画像の情報から所定の画像の情報を抽出するステップと、パターン判定部が、前記前処理部により抽出された画像の情報について、２個以上の異なる所定のパターンに関して、それぞれのパターンと合致する画像部分を判定するステップと、ペア判定部が、所定のペアの規則にしたがって、前記パターン判定部により前記それぞれのパターンと合致すると判定された画像部分のペアを判定するステップと、投票部が、前記ペア判定部により判定されたペアに基づいて、前記前処理部により抽出された画像の情報について、所定の一方向に関する位置について投票を行うステップと、画像特定部が、前記投票部による投票の結果に基づいて、所定の形状に関する特徴の情報を特定するステップと、をコンピュータに実行させるためのプログラム（画像処理プログラム）である。
このように、コンピュータがプログラムを実行することで全体の処理（ステップ）を実行する構成とすることも可能である。
【００７２】
［以上の実施形態のまとめ］
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７３】
また、以上に示した実施形態に係る装置（例えば、画像処理装置１）の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。
【００７４】
なお、ここでいう「コンピュータシステム」とは、オペレーティング・システム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００７５】
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００７６】
１…画像処理装置、１１…入力部、１２…出力部、１３…記憶部、１４…ＦＰＧＡ処理部、１５…プロセッサ処理部、３１…画像メモリ、３２…投票メモリ、５１…前処理部、５２…パターン判定部、５３…ペア判定部、５４…投票部、７１…画像特定部、１０１…共有メモリ、２０１…原画像、２０２…赤色画像、２０３…二値化赤色画像、２０４、３０１…膨張処理後の二値化赤色画像、２２１〜２２２…標識、２３１〜２３２…赤色部、２４１〜２４２…二値化赤色部、２５１〜２５２…膨張処理後の二値化赤色部、３１１〜３１４、５１１〜５１２…画素ブロック、４０１〜４０４…パターン（画素ブロック）、４５１〜４５４…領域
【図１】
2015090592.tif 000003
【図２】
2015090592.tif 000004
【図３】
2015090592.tif 000005
【図４】
2015090592.tif 000006
【図５】
2015090592.tif 000007
【図６】
2015090592.tif 000008
【図７】
2015090592.tif 000009
【図８】
2015090592.tif 000010