(57)【要約】【課題】四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出方法を提供する。【解決手段】画像領域検出方法は、第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、各開始点から第２の画像の縁部に向かってエッジを検出し、第２の画像の上下左右の各方向に行われたエッジ検出線のうち、同一方向の各エッジ検出線から１つずつ取得した１組のエッジに基づいて辺を生成し、各方向で該生成した辺のうち、開始点に最も近い辺を辺の候補として検出し、検出された４つの辺の候補により形成される四角形に基づいて、辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、辺の候補の再検出を行うことにより、上記課題の解決を図る。【選択図】図１
2008084014.tif 000002
【特許請求の範囲】
【請求項１】
四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出方法であって、
前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出し、
前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出し、
前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う、
ことを特徴とする画像領域検出方法。
【請求項２】
前記辺の候補の再検出を行う場合、
前記検出された４つの辺の候補により形成される四角形の形状の検証を行うことにより、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行い、
前記４辺により形成される四角形の四隅に関する特徴の検証を行うことにより、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行う、
ことを特徴とする請求項１に記載の画像領域検出方法。
【請求項３】
前記辺の候補の再検出を行う場合、さらに、
前記誤検出辺が特定された場合、該誤検出辺より前記第２の画像の縁部側にある直近の組の変化点に基づいて生成された辺を前記辺の候補として再検出する
ことを特徴とする請求項２に記載の画像領域検出方法。
【請求項４】
前記画像領域検出方法は、さらに、
前記誤検出辺がなければ、前記４つの辺により形成される四角形の四隅の座標を検出する
ことを特徴とする請求項１に記載の画像領域検出方法。
【請求項５】
前記変化点の検出において、
同一の変化点検出線上において隣接する画素間の画素値の差分の算出をする場合、各画素のコンポーネント毎に所定の順序で該差分の算出を行う
ことを特徴とする請求項１に記載の画像領域検出方法。
【請求項６】
前記４辺の候補の検出において、
辺の候補は、前記各組の変化点に基づいて生成される近似直線であって、該近似直線が、該近似直線の生成元となった変化点から所定の誤差範囲内の距離にあり、かつ、前記開始点に最も近い近似直線である
ことを特徴とする請求項１に記載の画像領域検出方法。
【請求項７】
前記四角形の形状の検証において、
前記検出された４つの辺の候補により形成される四角形の内角の角度が所定の範囲内であるかに基づいて、前記４つの辺のいずれかに前記誤検出辺があるかを判定する
ことを特徴とする請求項２に記載の画像領域検出方法。
【請求項８】
前記四隅の特徴の検証において、
前記４辺により形成される四角形の四隅に関する特徴は、該四隅の形態、又は前記第１の画像を特定するために前記四角形領域の四隅に付与された所定のマークである
ことを特徴とする請求項２に記載の画像領域検出方法。
【請求項９】
四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する処理をコンピュータに実行させる画像領域検出プログラムであって、
前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出する変化点検出処理と、
前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出する４辺候補検出処理と、
前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う辺再検出制御処理と、
をコンピュータに実行させる画像領域検出プログラム。
【請求項１０】
四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出装置であって、
前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出する変化点検出手段と、
前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出する４辺候補検出手段と、
前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う辺再検出制御手段と、
を備えることを特徴とする画像領域検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のコードの埋め込まれた画像の印刷画像を画像入力装置より入力し，入力画像中からコードの埋め込まれた四角形領域を検出する画像領域検出方法に関する。
【背景技術】
【０００２】
近年、デジタルデータや印刷画像などに対して見えないコードを埋め込む技術の開発が行われている。携帯電話のカメラやスキャナといった画像入力装置を用いて、所定のコード（以下、単に「コード」という）の埋め込まれた画像を撮影し、その入力画像中からコード情報を読み取るためには、入力画像内にてコードの埋め込まれた四角形領域の四隅座標を特定し、その四隅座標を基にデコードを行う。
【０００３】
従来の四隅座標を特定する画像領域検出方法（例えば、特許文献１、特許文献２。）では、入力画像の外側を領域検出の開始座標とし、その開始座標から入力画像の内側に向かって、四角形領域の辺を検出し、四隅の座標を求めて領域検出を行う。
【特許文献１】特開２００５−２７７７３２号公報
【特許文献２】特開２００５−１８２１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の四角形領域の四隅を検出する技術では、入力画像の外側からその四角形領域の辺を探索していた。そのため、その四角形領域の外側に、該領域を囲む四角形がレイアウトされた場合、必ず外側の四角形を検出するため、本来検出すべき内側の四角形領域が検出できない問題があった。
【０００５】
上記課題に鑑み、本発明は、所定の四角形領域を囲むように四角形がレイアウトされた場合でも、内側の正しい四角形領域を検出することができる画像領域検出方法を提供する。さらに、携帯端末のように処理能力の低い機器でも高速に四隅座標を検出することができる画像領域検出方法を提供する。
【課題を解決するための手段】
【０００６】
本発明にかかる、四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出方法は、前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出し、前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出し、前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行うことを特徴とする。
【０００７】
このように構成することにより、画像内の四角形領域の内側から変化点検出（エッジ検出）による辺検出を行うことができる。そのため、背景領域（四角形領域の外側の領域）に別途四角形がデザインされていても、正しい四角形領域を先に検出できるため、背景領域にある四角形を誤検出することがない。また、各方向に対して、複数ライン分のみエッジ検出を行うことで、エッジ検出を高速に行うことができる。
【０００８】
前記画像領域検出方法において、前記辺の候補の再検出を行う場合、前記検出された４つの辺の候補により形成される四角形の形状の検証を行うことにより、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行い、前記４辺により形成される四角形の四隅に関する特徴の検証を行うことにより、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行うことを特徴とする。
【０００９】
このように構成することにより、辺を検出する際には、検出した４辺によって形成される四角形の形状及び四隅の検証を行い、双方の検証にて正しいと判断された４辺に形成された領域を四角形領域とすることができる。
【００１０】
前記画像領域検出方法において、前記辺の候補の再検出を行う場合、さらに、前記誤検出辺が特定された場合、該誤検出辺より前記第２の画像の縁部側にある直近の組の変化点に基づいて生成された辺を前記辺の候補として再検出することを特徴とする。
【００１１】
このように構成することにより、辺の誤検出を特定した場合には、次の辺の候補を検出することができる。
前記画像領域検出方法は、さらに、前記誤検出辺がなければ、前記４つの辺により形成される四角形の四隅の座標を検出することを特徴とする。
【００１２】
このように構成することにより、四角形領域を特定する辺が確定し、その確定した辺の交点を四角形の四隅の座標とするができる。
前記画像領域検出方法において、前記変化点の検出時に、同一の変化点検出線上において隣接する画素間の画素値の差分の算出をする場合、各画素のコンポーネント毎に所定の順序で該差分の算出を行うことを特徴とする。
【００１３】
このように構成することにより、変化点検出処理の速度の向上、及び検出効率の向上を図ることができる。
前記画像領域検出方法において、前記４辺の候補の検出する場合、辺の候補は、前記各組の変化点に基づいて生成される近似直線であって、該近似直線が、該近似直線の生成元となった変化点から所定の誤差範囲内の距離にあり、かつ、前記開始点に最も近い近似直線であることを特徴とする。
【００１４】
このように構成することにより、一直線上に並ぶ変化点（エッジ）の組み合わせが複数個あった場合でも、変化点検出結果から，四角形領域の辺の候補を絞ることができる。
前記画像領域検出方法において、前記四角形の形状の検証を行う場合、前記検出された４つの辺の候補により形成される四角形の内角の角度が所定の範囲内であるかに基づいて、前記４つの辺のいずれかに前記誤検出辺があるかを判定することを特徴とする。
【００１５】
このように構成することにより、第１の画像を斜めから撮影して、第２の画像中の四角形領域が台形状になった場合でも、その四角形領域を形成する辺を検出することができる。
【００１６】
前記画像領域検出方法において、前記四隅の特徴の検証を行う場合、前記４辺により形成される四角形の四隅に関する特徴は、該四隅の形態、又は前記第１の画像を特定するために前記四角形領域の四隅に付与された所定のマークであることを特徴とする。
【００１７】
このように構成することにより、検出された４辺により形成させる四隅と、第１の画像に対応する四角形領域との四隅とが実際に一致しているか否かを確認できる。
本発明にかかる、四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する処理をコンピュータに実行させる画像領域検出プログラムは、前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出する変化点検出処理と、前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出する４辺候補検出処理と、前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う辺再検出制御処理と、をコンピュータに実行させる。
【００１８】
このように構成することにより、画像内の四角形領域の内側から変化点検出（エッジ検出）による辺検出を行うことができる。そのため、背景領域（四角形領域の外側の領域）に別途四角形がデザインされていても、正しい四角形領域を先に検出できるため、背景領域にある四角形を誤検出することがない。また、各方向に対して、複数ライン分のみエッジ検出を行うことで、エッジ検出を高速に行うことができる。
【００１９】
本発明にかかる、四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出装置は、前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出する変化点検出手段と、前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出する４辺候補検出手段と、前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う辺再検出制御手段と、を備えることを特徴とする。
【００２０】
このように構成することにより、画像内の四角形領域の内側から変化点検出（エッジ検出）による辺検出を行うことができる。そのため、背景領域（四角形領域の外側の領域）に別途四角形がデザインされていても、正しい四角形領域を先に検出できるため、背景領域にある四角形を誤検出することがない。また、各方向に対して、複数ライン分のみエッジ検出を行うことで、エッジ検出を高速に行うことができる。
【発明の効果】
【００２１】
本発明を用いることにより、所定の四角形領域を囲むように四角形がレイアウトされた場合でも、内側の正しい四角形領域を検出することができる。また、携帯端末のように処理能力の低い機器でも高速に四隅座標を検出することができる。
【発明を実施するための最良の形態】
【００２２】
本発明では、入力画像中にある四角形領域の内側からその入力画像の縁部に向かって特定幅のラインに限定したエッジ検出結果を基に上下左右４辺の検出を行い、その検出した４辺によって作られる四角形の形状の検証、四隅の検証を行う。その結果、４辺中に誤検出辺があれば、該辺の外側に辺を再検出することで、高速に正しい矩形領域を検出できる。
【００２３】
図１は、本発明にかかる画像領域検出プログラムの構成を示す。画像領域検出プログラム１は、四角形画像が撮像された画像からその四角形画像の領域を検出する。画像領域検出プログラムは、変化点検出処理（Ｓ１）、４辺候補検出処理（Ｓ２）、形状検証処理（Ｓ３）、四隅検証処理（Ｓ４）、辺再検出処理（Ｓ５）、再検出制御処理（Ｓ６）、四隅座標検出処理（Ｓ７）の工程からなる。
【００２４】
変化点検出処理（Ｓ１）は、入力画像の中心座標から所定の範囲に位置する画素を開始点とし、入力画像の外側に向かって上下左右４方向に対して、画素値の変化が所定の条件を満たす変化点（エッジ）を検出する。
【００２５】
また、変化点検出処理（Ｓ１）は、同じ検出位置において、予め決めておいた順序でコンポーネントを順に選択し、変化点が検出された時点で該検出位置における検出を終了することもできる。これにより、複数色のコンポーネント（画素を構成する色成分）を優先順位に基づいて、変化点が検出できるまで変化点検出処理が実行される。
【００２６】
４辺候補検出処理（Ｓ２）は、変化点の検出結果に基づいて各方向で最も内側にある辺を独立に検出する。より具体的には、４辺候補検出処理（Ｓ２）は、変化点検出処理（Ｓ１）にて各方向で検出した変化点の組み合わせのうち、各変化点の座標からの距離が所定の誤差範囲内にある近似直線で、かつ変化点検出の開始点となる内側に最も近い近似直線を、四角形領域の辺の候補とする（すなわち、内側から複数個の変化点を組み合わせて辺を特定する）。これにより、四角形領域の内側から複数個の変化点を取得し、その取得した変化点の組み合わせにより辺を特定することができる。
【００２７】
形状検証処理（Ｓ３）は、４辺候補検出処理（Ｓ２）で検出した４辺により形成される四角形の形状を検証する。さらに、形状検証処理（Ｓ３）は、その検証結果に基づいて、４辺中の誤検出辺の有無の判定と、誤検出辺があれば誤検出辺の特定を行う。より具体的には、形状検証処理（Ｓ３）は、４辺候補検出処理（Ｓ２）にて検出した上下左右４辺で隣接する２辺の交点により形成される角の位置、入力画像の中心側にある角の角度が所定の範囲内であるか否かに基づいて、その検出した４辺に誤検出辺があるか否かを決定する。これにより、四隅の角度により、誤検出辺を特定することができる。
【００２８】
四隅検証処理（Ｓ４）は、検出した４辺により形成される四角形の各四隅について、隅らしさを検証する。さらに、四隅検証処理（Ｓ４）は、その検証結果に基づいて、４辺中の誤検出の有無の判定と、誤検出辺があれば誤検出辺の特定を行う。例えば、四隅検証処理（Ｓ４）は、四隅近辺に配置された四隅そのものもしくは別途画像のコーナーを特定するために付与されたマークの検出成功可否に基づいて、４辺に誤検出辺があるか否かを決定することができる。これにより、四隅の目印などの四隅らしさにより誤検出辺を特定することができる。
【００２９】
辺再検出処理（Ｓ５）は、形状検証処理（Ｓ３）及び四隅検証処理（Ｓ４）による誤検出辺の特定結果と、前記変化点検出結果とに基づいて、誤検出辺の検出方向に対して、１つ外側の辺を新たに検出する。
【００３０】
再検出制御処理（Ｓ６）は、検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う。具体的には、形状検証処理（Ｓ３）及び四隅検証処理（Ｓ４）にて誤検出辺が検出されなくなるまで、形状検証処理（Ｓ３）、四隅検証処理（Ｓ４）、辺再検出処理（Ｓ５）を繰り返す制御を行う。
【００３１】
四隅座標検出処理（Ｓ７）は、再検出制御処理（Ｓ６）を経て最終的に誤検出辺なしと判断された４辺を基に、四角形領域を検出する。
それでは、以下に本発明の原理について詳述する。
【００３２】
図２は、本発明における、所定領域を検出対象とする画像の紙面レイアウト図である。該画像１１は四角形領域１２を持ち、その外側に所定幅の余白１３があり、余白外側には背景領域１４としてデザイン、レイアウトに制約のない紙面がある。
【００３３】
図３は、本実施形態における撮影画像の一例を示す（画像の出典ＪＩＳ  Ｘ  ９２０１  ＣＭＹＫ／ＳＣＩＤ）。このレイアウトの紙面を撮影した入力画像１１には、図３に示すように、領域検出対象となるべき四角形領域１２と、その外側の余白１３と、背景領域の一部１４と、が写っている。このように背景領域１４に四角形領域１２を囲む四角形１５がデザインされている場合には、従来、背景領域（符号１５で示す四角形領域）を四角形領域と誤検出した。
【００３４】
図４Ａは、本発明の原理を説明するための図である。図４Ｂは、図４Ａを簡略化した図である。図５は、辺の誤検出を説明するための図である。本発明では、図４Ａ及び図４Ｂのように、四角形領域１２の内側からエッジ検出による辺検出を行うため、背景領域１４に四角形１５がデザインされていても、正しい四角形領域１２を先に検出できるため背景領域１４にある四角形１５を誤検出しない。
【００３５】
また、四角形領域１２の内側から外側に向かって辺を検出すると、図５に示すように、画像の模様に依っては、四角形領域の内側で辺を誤検出することがある。
したがって、辺を検出する際には、検出した４辺によってできる四角形の形状と、４辺によってできる四隅の検証を行う。そして、双方の検証にて正しい辺であると判断された場合、その４辺に形成された領域を暫定の四角形領域とする。もし、誤検出の辺が特定された場合には、該辺より入力画像の縁側にある次の辺候補を検出することにより、四角形領域を修正することができる。これにより、四角形領域の内側、四角形領域の外側の双方において、四角形領域を誤検出することなく、正しい四隅座標を検出できる。
【００３６】
次に、再検出制御手段の構成要素である、変化点検出処理（Ｓ１）、形状検証処理（Ｓ３）、四隅検証処理（Ｓ４）、辺再検出処理（Ｓ５）について、さらに、より具体的に説明する。
【００３７】
まず、変化点検出処理（Ｓ１）について説明する。上述のように、変化点検出処理（Ｓ１）では、エッジ検出を画像の内側から外側に向かって行う。変化点検出処理（Ｓ１）において、四角形領域４辺の画素値と余白画素値との間に一定量以上の差分があると想定すると、着目画素とその近傍画素との画素値の差分を求めるエッジ検出により、４辺の位置を特定できる。
【００３８】
しかしながら、入力画像の全画素に対してエッジ検出を行うと、計算量が大きく、低速になる。従来技術では、入力画像外側から、少数のライン分のみエッジ検出を行っていた。そして、エッジを検出した場合、エッジ検出の探索方向を変え、エッジに沿ってさらにエッジ検出を行うことで辺を特定していた。この方式は、外側から内側に向かってエッジを探索した場合、４辺に到達するまでに、４辺以外でのエッジを検出する回数が少なければ高速である。しかし、四角形領域の内側から外側に向かってエッジ検出を行うと、四角形領域内部の模様をエッジとしてとってしまい、エッジ検出の回数が増えるため、低速となる。
【００３９】
そこで、本発明では、四角形領域の内側から上下左右４方向に対してエッジ検出を行う場合、同一の探索方向のうち複数ライン分（例えば、５ライン分）のみについてエッジ検出を行うことで、エッジ検出を高速に行える。
【００４０】
次に、４辺候補検出処理（Ｓ２）について説明する。四角形領域４辺は、余白との画素値の差分が一定量以上あるため、辺上のどの位置でエッジ検出を行ってもエッジが検出できる。したがって、前記の方法で４方向に各方向複数ライン分エッジ検出を行うと、各方向にある四角形領域の辺はいずれのライン上にもエッジとして存在する。
【００４１】
そこで、複数ラインで検出した複数個のエッジを各ライン１個ずつ取り出したエッジの組み合わせのうち、座標がほぼ一直線上に並ぶエッジの組み合わせを入力画像の中央に近い方から選ぶようにする。そうすると、一直線上に並ぶエッジの組み合わせが複数個あった場合でもその中に正しい四角形領域４辺上のエッジの組み合わせが存在することになる。これにより、エッジ検出結果から、四角形領域の辺の候補を絞ることができる。
【００４２】
次に、形状検証処理（Ｓ３）について説明する。Ｓ２で検出した４辺が正しければ、４辺によって形成される四隅のなす角度は、四角形画像をカメラで撮影した場合に想定される台形の歪みの範囲内にある。したがって、四隅のなす角度が許容範囲内であるかを検証し、許容範囲外である場合には最も誤検出している可能性の高い辺を特定する。
【００４３】
具体的には、各辺の２個の隣接角の角度が２個とも許容範囲外の辺が１個ある場合には、該辺を誤検出辺と特定する。また、隣接角の角度が１個もしくは２個とも許容範囲外の辺が２個ある場合には、該２辺のうち、対辺との角度がより大きいほうの辺を誤検出辺と特定する。また、許容範囲外の角度が存在し、かつ前記２条件のどちらも満たさない場合には、四角形領域は入力画像に対して真っ直ぐに撮影されていると想定し、入力画像４辺との角度が最も大きい辺を誤検出辺と特定する。これにより、誤検出辺を正確に特定することで四角形領域の検出精度が向上する。
【００４４】
次に、四隅検証処理（Ｓ４）について説明する。その検出した４辺によって形成される四隅に対して、四角形領域の四隅そのものの特徴量（各隅の形状等）、もしくは四隅近傍に付与されている四隅を示すマークの有無を検証する。誤検出辺が存在する場合には、該誤検出辺の隣接の隅は検証に失敗することになる。そこで、隣接の隅がいずれも検証に失敗する辺を誤検出辺と特定する。誤検出辺を正確に特定することにより、四角形領域の検出精度が向上する。
【００４５】
次に、辺再検出処理（Ｓ５）について説明する。図５に示すように、Ｔ１，Ｂ１，Ｌ１，Ｒ１によってできる四角形領域がある。この四角形領域において、形状検証処理（Ｓ３）、四隅検証処理（Ｓ４）により誤検出辺Ｒ１が特定されると、誤検出辺の生成元になったエッジが検出されたエッジ検出ラインと同じ方向で、該後検出辺の次に、入力画像の内側にある辺Ｒ２を新たな辺候補とする。そうして、Ｔ１，Ｂ１，Ｌ１，Ｒ２による四角形領域を新たに検出する。これにより、検出すべき四角形領域の内側で四角形を誤検出することなく四隅座標が検出できる。
【００４６】
以下では、本発明により、余白外側の背景領域に四角形が存在していてもそれを検出することなく、コードの埋め込まれた四角形領域を正しく領域検出する実施形態について説明する。
【００４７】
図６は、本実施形態における最初に埋め込まれたコードのデコード処理の一実施例を示す。画像領域検出プログラムが記憶された記憶装置を有するコンピュータにおいて、ＣＰＵ（中央処理演算装置）は、その画像領域検出プログラムを記憶装置より読み出して図６のフローを実行する。
【００４８】
カメラやスキャナ等でコードの埋め込まれた画像を撮影することにより、電子的な画像データが生成される。画像取得処理（Ｓ１１）では、その画像データを入力画像として取得する。
【００４９】
次に、コード埋め込み領域検出処理（Ｓ１２）では、後述するフローに従い入力画像中から所定のコードの埋め込まれた画像の四角形領域の四隅の座標を特定する。
それから、埋め込みコード読み取り処理（Ｓ１３）では、その四隅の座標を基に、その四角形画像についての埋め込みコードを取り出す。
【００５０】
次に、コード埋め込み領域検出処理（Ｓ１２）の詳細なフロー（実施例１、実施例２）を、図７または図８を用いて説明する。
図７は、本実施形態（実施例１）におけるコード埋め込み領域検出処理（Ｓ１２）のフローを示す。まず、Ｓ１１で取得した画像データに対して、上下左右４方向に変化点検出（エッジ検出）を行う（Ｓ２１）。その検出した変化点（エッジ）を基に４辺の候補を検出する（Ｓ２２）。
【００５１】
次に、再検出制御処理を行う（Ｓ２３）。再検出制御処理（Ｓ２３）では、Ｓ２４〜Ｓ２８の処理を制御している。再検出制御処理（Ｓ２３）について、以下に詳述する。
まず、Ｓ２２で検出した４辺候補によって構築される四角形について形状検証を行う（Ｓ２４）。Ｓ２４にて誤検出辺が特定された場合には（Ｓ２５で「ｙｅｓ」へ進む）、辺の再検出を行い（Ｓ２８）、再び形状検証（Ｓ２４）を行う。Ｓ２４にて、四角形の形状が正しく、誤検出辺が無いと判断されれば（Ｓ２５で「ｎｏ」へ進む）、四隅検証を行う（Ｓ２６）。
【００５２】
四隅検証（Ｓ２６）にて、誤検出辺が特定されれば（Ｓ２７で「ｙｅｓ」へ進む）、辺の再検出を行う（Ｓ２８）。誤検出辺が無いと判断されるまでＳ２４〜Ｓ２７の処理を繰り返す。
【００５３】
図８は、本実施形態（実施例２）におけるコード埋め込み領域検出処理（Ｓ１２）のフローを示す。本フローは、図８のフローに、さらに、四隅座標（４辺交点）検出処理（Ｓ２９）を加えたものである。Ｓ２７において、誤検出辺が無いと判断されれば（Ｓ２７で「ｎｏ」へ進む）、その時点での四隅座標を埋め込み四角形領域の四隅座標と決定してもよい。
【００５４】
次に、図７、図８のフロー内の各処理について説明する。
［４方向への変化点検出（Ｓ２１）について］
図９は、本実施形態における変化点検出の一例を示す。四角形領域１２の４辺と四角形領域外側の余白１３との間に画素値の差が出ていることを利用し、探索位置にある画素（現在、エッジ検出を行っている位置にある画素）とその周辺画素との画素値の差分が所定の閾値を超えた場合に、その探索位置にある画素を変化点（エッジ）とする。図９において、エッジ検出ライン上にある「●」は、画素値が「暗→明」へと変化するエッジ（変化点）を示す。
【００５５】
変化点検出（エッジ検出）は、四角形領域１２の内側から入力画像１１の縁側に向けて上下左右４方向行う。例えば、四角形領域１２が入力画像１１の中央の一定領域に必ず存在するとして、入力画像１１の中央の一定領域を上下左右４方向についてのエッジ検出の開始座標とする。このようなエッジ検出を上下左右４方向に対して各方向複数ライン、例えば図９に示すように５ライン分行う。
【００５６】
なお、エッジの検出個数を減らして以後の辺検出をより正確に行うために、エッジから画像外側に向けて入力画像１１で想定される最低の余白１３の幅分のエッジの無い平坦な画素のあるエッジ（すなわち、エッジが検出されて、そのエッジ後に探索位置にある画素とその周辺画素との画素値の差分がほとんどない領域が所定幅分存在したときのエッジ）のみを検出するようにしてもよい。
【００５７】
図１０は、本実施形態における変化点検出の他の実施例（３コンポーネントの場合）のフローを示す。この実施例によれば、変化点検出処理の速度の向上、及び検出効率の向上を図ることができる。
【００５８】
各画素は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の３つの色成分（コンポーネント）から構成されている。そこで、同図のフローでは、コンポーネント毎に変化点（エッジ）を検出する。同図のフローを説明する都合上、例えば、右方向へのエッジ検出ラインにおいて、探索対象となる画素の座標をＸ１（ｘ，ｙ）とし、この座標に隣接する座標をＸ２（ｘ−１，ｙ）とする。
【００５９】
まず、Ｘ１とＸ２のコンポーネント１についての変化点（エッジ）を検出する（Ｓ２１−１）。変化点（エッジ）の検出は、上記と同様に、Ｘ１とＸ２の各画素のコンポーネント１の画素値の差分が所定の閾値を超えた場合に、その探索位置にある画素を変化点（エッジ）とする。
【００６０】
Ｓ２１−１で変化点が検出された場合、すなわち、Ｘ１とＸ２のコンポーネント１の画素値の差分が所定の閾値を超えた場合（Ｓ２１−２で「ｙｅｓ」へ進む）、その変化点の位置を記録する（Ｓ２１−９）。その後、Ｓ２１−７の処理へ進む。
【００６１】
Ｓ２１−１で変化点が検出されない場合、すなわち、Ｘ１とＸ２のコンポーネント１の画素値の差分が所定の閾値を超えない場合（Ｓ２１−２で「ｎｏ」へ進む）、Ｘ１とＸ２のコンポーネント２についての変化点（エッジ）を検出する（Ｓ２１−３）。
【００６２】
Ｓ２１−３で変化点が検出された場合、すなわち、Ｘ１とＸ２のコンポーネント２の画素値の差分が所定の閾値を超えた場合（Ｓ２１−４で「ｙｅｓ」へ進む）、その変化点の位置を記録する（Ｓ２１−９）。その後、Ｓ２１−７の処理へ進む。
【００６３】
Ｓ２１−３で変化点が検出されない場合、すなわち、Ｘ１とＸ２のコンポーネント２の画素値の差分が所定の閾値を超えない場合（Ｓ２１−４で「ｎｏ」へ進む）、Ｘ１とＸ２のコンポーネント３についての変化点（エッジ）を検出する（Ｓ２１−５）。
【００６４】
Ｓ２１−５で変化点が検出された場合、すなわち、Ｘ１とＸ２のコンポーネント３の画素値の差分が所定の閾値を超えた場合（Ｓ２１−６で「ｙｅｓ」へ進む）、その変化点の位置を記録する（Ｓ２１−９）。その後、Ｓ２１−７の処理へ進む。
【００６５】
Ｓ２１−５で変化点が検出されない場合、すなわち、Ｘ１とＸ２のコンポーネント３の画素値の差分が所定の閾値を超えない場合（Ｓ２１−６で「ｎｏ」へ進む）、探索位置（すなわち、Ｘ１の位置）が入力画像１１の端まで到達したかを判断する（Ｓ２１−７）。
【００６６】
Ｓ２１−７で探索位置（すなわち、Ｘ１の位置）が入力画像１１の端まで到達していない場合（Ｓ２１−７で「ｎｏ」へ進む）、探索位置Ｘ１をエッジ検出ラインに沿って１画素右方向に移動させて、Ｘ１（ｘ＋１，ｙ）、Ｘ２（ｘ，ｙ）とする。この新しいＸ１、Ｘ２について、Ｓ２１−１の処理を再び実行する。
【００６７】
Ｓ２１−７で探索位置（すなわち、Ｘ１の位置）が入力画像１１の端まで到達すると（Ｓ２１−７で「ｙｅｓ」へ進む）、本フローは終了する。
［４辺候補検出（Ｓ２２）について］
図１１は、本実施形態における辺検出の一例を示す。例えば右方向に対して行った５ラインでのエッジ検出座標は、四角形領域の辺部分では、図９にしめすように、辺に沿ってほぼ１直線上に並ぶはずである。
【００６８】
よって、各方向の各エッジ検出ライン上で検出された変化点座標（エッジ座標）の組み合わせを選択し、その選択された組み合わせの変化点座標から、最小二乗法により近似線を算出し、その近似線と各変化点座標との距離が所定値以下となる近似線を辺の候補として検出する。
【００６９】
例えば、図１１のように、右辺の候補が複数存在する場合には、エッジ検出の開始座標に近い順に、Ｒ１、Ｒ２、Ｒ３として辺候補の優先順位を決定し、最初はＲ１を四角形領域の右辺として採用する。
【００７０】
以上の手順を上下左右４方向行い、上下左右４辺を検出することにより、暫定の四角形領域が検出できる。この処理について図１１、図１２を用いて説明する。
図１２は、本実施形態における４辺候補検出処理（Ｓ２２）の詳細なフローを示す。図１２において、上辺、下辺、左辺、右辺の各辺について、図１３に示す辺候補検出を行う（Ｓ２２−１，Ｓ２２−２，Ｓ２２−３，Ｓ２２−４）。なお、Ｓ２２−１，Ｓ２２−２，Ｓ２２−３，Ｓ２２−４の処理順は、任意である。
【００７１】
図１３は、図１２の各辺についての辺候補検出処理の詳細を示す。まず、各方向に対して検出した変化点座標の組み合わせの内、各エッジ検出ラインから最も内側（入力画像１１の中央寄り）の変化点座標を取得して、それらの変化点座標の組み合わせを選択する（Ｓ２２−ｎ１）（ｎ＝１〜４）。
【００７２】
次に、その選択した変化点座標の組み合わせを基に、最小二乗法を用いて近似直線を計算する（Ｓ２２−ｎ２）。
次に、各変化点座標と近似直線との距離が許容誤差の範囲内にあるか否かを判定する（Ｓ２２−ｎ３）。各変化点座標と近似直線との距離＞許容誤差の場合（Ｓ２２−ｎ３で「ｎｏ」へ進む）、当該変化点座標の組み合わせの次に内側の変化点座標の組み合わせを選択し（Ｓ２２−ｎ４）、Ｓ２２−ｎ２の処理を行う。なお、変化点座標の組み合わせを選択する場合には、例えば、その１セットの変化点座標のうち「変化点座標と近似直線との距離＞許容誤差」に該当する変化点座標のみを、その変化点の次に内側にある同一エッジ検出ライン上の変化点座標に置き換えて新たな１セットの変化点座標としてもよいし（すなわち、点単位で置き換えて、新たな変化点の組み合わせを生成する）、その近似直線の基のなった１セットの変化点座標のそれぞれの変化点座標の次に内側にある同一エッジ検出ライン上の変化点座標の組み合わせを新たな１セットの変化点座標としてもよい（すなわち、現在選択されている組み合わせを組み合わせ単位で置き換えて、近似直線を生成する）。
【００７３】
各変化点座標と近似直線との距離≦許容誤差の場合（Ｓ２２−ｎ３で「ｙｅｓ」へ進む）、その近似線を辺の候補として決定する（Ｓ２２−ｎ５）。
［形状検証（Ｓ２４）について］
図１４は、本実施形態における形状検証の一例を示す。形状検証処理（Ｓ２４）では、まず暫定の四角形領域を構成している４辺Ｔ１，Ｂ１，Ｌ１，Ｒ１によってできる四隅の角度ａ，ｂ，ｃ，ｄを求める。
【００７４】
カメラを使用した所定の撮影方法でコードの埋め込まれた画像を撮影した場合に、被写体に対するカメラの傾きによって生じるコードの埋め込まれた画像の四隅９０度の角度の変化が、例えば８０度から１００度の間とする。このとき、検出辺の交点における角が８０度から１００度の範囲にある場合を形状検証に成功する四隅角度許容範囲とする。
【００７５】
許容範囲外の角度が存在する場合には、角度検証失敗とし、該角の２個の隣接辺のどちらかが誤検出しているとする。
さらに、別の角について角度検証に失敗し、かつ両角に共通する隣接辺がある場合には該辺を誤検出辺と決定する。
【００７６】
角度検証に失敗する角があり、かつ誤検出辺を１つに絞れない場合には、対辺との平行度、辺の入力画像との平行度によって最も誤検出の可能性の高い１辺を特定し、誤検出辺の再検出を行う。
【００７７】
図１４において、Ｌ１とＴ１のなす角ａ、Ｌ１とＢ１のなす角ｂの角度は四隅角度許容範囲であるため、角度検証に成功している。一方、Ｔ１とＲ１のなす角ｃ、Ｂ１とＲ１のなす角ｄの角度は四隅角度許容範囲外であるため、隣接角の検証失敗によりＲ１は誤検出辺と特定される。この処理について、図１５を用いて説明する。
【００７８】
図１５は、本実施形態における形状検証処理（Ｓ２４）の詳細なフローを示す。まず、４辺により形成された四角形の四隅の角度が計算される（Ｓ２４−１）。
次に、四隅の角度が全て許容範囲内であるか、あるいは１辺に隣接しない２角度が許容範囲外であるか（条件１−１）を判断する。条件１−１を満たす場合には（Ｓ２４−２で「ｙｅｓ」へ進む）、誤検出なしと判断する（Ｓ２４−６）。
【００７９】
条件１−１を満たさない場合（Ｓ２４−２で「ｎｏ」へ進む）、１辺に隣接する２角度が許容範囲外であるか（条件１−２）を判断する。条件１−２を満たす場合には（Ｓ２４−３で「ｙｅｓ」へ進む）、その１辺を誤検出辺と特定する（Ｓ２４−７）。
【００８０】
条件１−２を満たさない場合（Ｓ２４−３で「ｎｏ」へ進む）、１角の角度あるいは３角の角度が許容範囲外であるか（条件１−３）を判断する（Ｓ２４−４）。条件１−３を満たす場合には（Ｓ２４−４で「ｙｅｓ」へ進む）、対辺との角度計算により誤検出辺を特定する（Ｓ２４−８）。すなわち、向き合う辺同士の平行度（向かい合う辺同士のなす角度が所定角度以上の場合）によって最も誤検出の可能性の高い１辺を特定する。
【００８１】
条件１−３を満たさない場合（Ｓ２４−４で「ｎｏ」へ進む）、全角度が許容範囲外であるか（条件１−４）を判断する（Ｓ２４−５）。条件１−４を満たす場合には（Ｓ２４−５で「ｙｅｓ」へ進む）、入力画像との角度計算により誤検出辺を特定する（Ｓ２４−９）。すなわち、四角領域の四隅を形成するそれぞれの辺と入力画像のフレームを形成する辺と平行度によって最も誤検出の可能性の高い１辺を特定する。
【００８２】
条件１−４を満たさない場合（Ｓ２４−５で「ｎｏ」へ進む）、またはＳ２４−６〜Ｓ２４−９の処理が終了した場合、本フローは終了する。
［四隅検証（Ｓ２６）について］
図１６は、本実施形態における四隅検証の一例を示す。四隅検証を行うことにより、４辺のうち四角形領域１２内部で誤検出された辺が存在し、かつ４辺によってできる四角形領域が形状検証にて正しいと判断され、誤検出辺が特定できない場合にも、誤検出辺を特定できる。
【００８３】
四隅検証では、埋め込み領域四隅そのものの特徴量（例えば、その四隅の各角を形成しているＬ字状の形状パターン）もしくは四隅近傍に付与されたマークを検出する。
図１７は、本実施形態における四隅近傍に付与されたマークの一例である。この十字マークのような特徴量の有無を四隅に関してパターンマッチング等の方法で検証する。特徴量が無い隅が存在する場合には、四隅検証失敗とし、２個の隣接辺のどちらかが誤検出しているとする。さらに別の隅について四隅検証に失敗し、かつ両隅に共通する隣接辺がある場合には該辺を誤検出辺と決定する。四隅検証に失敗する角があり、かつ誤検出辺を１つに絞れない場合には、形状検証と同様に、対辺との平行度、辺の入力画像との平行度によって最も誤検出の可能性の高い１辺を特定し、誤検出辺の再検出を行う。
【００８４】
図１８は、本実施形態における四隅検証処理（Ｓ２６）の詳細なフローを示す。まず、４辺により形成された四角形の四隅の特徴量を検出する（Ｓ２６−１）。この特徴量の検出とは、例えば、各隅の形状がＬ字であるかどうかを検出したり、四隅近傍に十字マーク等の所定のパターンのマークがあるかを検出したりする。
【００８５】
次に、四隅全てについて特徴量の検出が成功したか、あるいは１辺に隣接しない２隅について特徴量の検出が失敗したか（条件２−１）を判断する。条件２−１を満たす場合には（Ｓ２６−２で「ｙｅｓ」へ進む）、誤検出なしと判断する（Ｓ２６−６）。
【００８６】
条件２−１を満たさない場合（Ｓ２６−２で「ｎｏ」へ進む）、１辺に隣接する２隅について特徴量の検出が失敗したか（条件２−２）を判断する。条件２−２を満たす場合には（Ｓ２６−３で「ｙｅｓ」へ進む）、その辺を誤検出辺と特定する（Ｓ２４−７）。
【００８７】
条件２−２を満たさない場合（Ｓ２６−３で「ｎｏ」へ進む）、１隅あるいは３隅について特徴量の検出が失敗したか（条件２−３）を判断する（Ｓ２６−４）。条件２−３を満たす場合には（Ｓ２６−４で「ｙｅｓ」へ進む）、対辺との角度計算により誤検出辺を特定する（Ｓ２６−８）。すなわち、向き合う辺同士の平行度（向かい合う辺同士のなす角度が所定角度以上の場合）によって最も誤検出の可能性の高い１辺を特定する。
【００８８】
条件２−３を満たさない場合（Ｓ２６−４で「ｎｏ」へ進む）、四隅全てについて特徴量の検出が失敗したか（条件２−４）を判断する（Ｓ２６−５）。条件２−４を満たす場合には（Ｓ２６−５で「ｙｅｓ」へ進む）、入力画像との角度計算により誤検出辺を特定する（Ｓ２６−９）。すなわち、四角領域の四隅を形成するそれぞれの辺と入力画像のフレームを形成する辺と平行度によって最も誤検出の可能性の高い１辺を特定する。
【００８９】
条件２−４を満たさない場合（Ｓ２６−５で「ｎｏ」へ進む）、またはＳ２６−６〜Ｓ２６−９の処理が終了した場合、本フローは終了する。
［辺再検出（Ｓ２８）について］
図１９は、本実施形態における辺再検出の一例を示す。同図に示すように、検出された４辺について、形状検証（Ｓ２４）、四隅検証（Ｓ２６）にて誤検出辺があると判断され、該誤検出辺Ｒ１が特定されると、誤検出辺Ｒ１より入力画像の縁側にある辺であって、このＲ１の次に辺検出により検出される辺Ｒ２を新たな辺として、暫定の四角形領域をＴ１，Ｂ１，Ｌ１，Ｒ２による四角形領域に修正する。
【００９０】
図２０は、本実施形態における辺再検出処理（Ｓ２８）の詳細なフローを示す。まず、その誤検出辺の基となった変化点座標の組み合わせを記憶する（Ｓ２８−１）。次に、各エッジ検出ラインからＳ２８−１で記憶した変化点座標の次に内側にある変化点座標を取得し、それらの変化点座標の組み合わせを選択する（Ｓ２８−２）。
【００９１】
次に、その選択した変化点座標の組み合わせを基に、最小二乗法を用いて近似直線を計算する（Ｓ２８−３）。
次に、各変化点座標と近似直線との距離が許容誤差の範囲内にあるか否かを判定する（Ｓ２８−４）。各変化点座標と近似直線との距離＞許容誤差の場合（Ｓ２８−４で「ｎｏ」へ進む）、当該変化点座標の組み合わせの次に内側にある変化点座標の組み合わせを選択し（Ｓ２８−２）、Ｓ２８−３の処理を行う。なお、変化点座標の組み合わせを選択する場合には、例えば、その１セットの変化点座標のうち「変化点座標と近似直線との距離＞許容誤差」に該当する変化点座標を、その変化点の次に内側にある同一エッジ検出ライン上の変化点座標に置き換えて新たな１セットの変化点座標としてもよいし、その近似直線の基のなった１セットの変化点座標のそれぞれの変化点座標の次に内側にある同一エッジ検出ライン上の変化点座標の組み合わせを新たな１セットの変化点座標としてもよい。
【００９２】
各変化点座標と近似直線との距離≦許容誤差の場合（Ｓ２８−４で「ｙｅｓ」へ進む）、その近似線を辺の候補として決定する（Ｓ２８−５）。
図２１は、本実施形態における画像領域検出プログラムを実行するコンピュータのハードウェア環境の構成ブロック図である。同図においてコンピュータ２０は、ＣＰＵ２２、リードオンリメモリ（ＲＯＭ）２３、ランダムアクセスメモリ（ＲＡＭ）２６、通信インターフェース（以下、インターフェースをＩ／Ｆという）２４、記憶装置２７、出力Ｉ／Ｆ２１、入力Ｉ／Ｆ２５、可搬型記憶媒体の読み取り装置２８、およびこれらの全てが接続されたバス２９、出力Ｉ／Ｆ２１に接続している出力装置３０、入力Ｉ／Ｆ２５に接続している入力装置３１によって構成されている。
【００９３】
記憶装置２７としてはハードディスク、磁気ディスク、フラッシュメモリなど様々な形式の記憶装置を使用することができる。このような記憶装置２７、またはＲＯＭ２３には、上記の実施形態で用いたフローのプログラムが格納されている。また、記憶装置２７には、上記の実施形態で用いた閾値、形状検出や特徴量検出のためのパターン等が格納されている。
【００９４】
本実施形態にかかるプログラムは、プログラム提供者側からネットワーク３２、および通信Ｉ／Ｆ２４を介して、例えば記憶装置２７に格納してもよい。また、このプログラムは、市販され、流通している可搬型記憶媒体に格納され、読み取り装置２８にセットされて、ＣＰＵ２２によって実行してもよい。可搬型記憶媒体としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＩＣカードなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読み取り装置９８によって読み取られる。
【００９５】
また、入力装置３１には、キーボード、マウス、または電子カメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力装置３０には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク３２は、インターネット、ＬＡＮ、ＷＡＮ、専用線、有線、無線、公衆回線等の通信網であってよい。
【００９６】
本実施形態によれば、コードの埋め込まれた画像の画像領域検出方法に関して、従来技術では特定の背景領域のデザイン、レイアウトによって領域検出できない場合があった。しかしながら、本発明による画像領域検出方法によれば、背景領域のデザイン、レイアウトに依らないで正しく領域が検出できる利点があり、コード埋め込み画像入りの紙面のデザイン、レイアウトの自由度が向上する。また、計算量も少なく高速に領域検出できるため、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話のように処理能力の低い機器にも搭載可能である。
【００９７】
なお、本実施形態では、主として、コードの埋め込まれた第１の画像が撮像された第２の画像から第１の画像に対応する四角形領域を検出する場合を例にして説明した。しかしながら、上記「四隅検証（Ｓ２６）について」でも説明したように、その例に限定されず、その第１の画像を検出する際に、四隅の特徴量で検出する場合には、第１の画像にコードが埋め込まれている必要はない。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または態様を取ることができる。
【００９８】
（付記１）  四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出方法であって、
前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出し、
前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出し、
前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う、
ことを特徴とする画像領域検出方法。
【００９９】
（付記２）  前記辺の候補の再検出を行う場合、
前記検出された４つの辺の候補により形成される四角形の形状の検証を行うことにより、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行い、
前記４辺により形成される四角形の四隅に関する特徴の検証を行うことにより、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行う、
ことを特徴とする付記１に記載の画像領域検出方法。
【０１００】
（付記３）  前記辺の候補の再検出を行う場合、さらに、
前記誤検出辺が特定された場合、該誤検出辺より前記第２の画像の縁部側にある直近の組の変化点に基づいて生成された辺を前記辺の候補として再検出する
ことを特徴とする付記２に記載の画像領域検出方法。
【０１０１】
（付記４）  前記画像領域検出方法は、さらに、
前記誤検出辺がなければ、前記４つの辺により形成される四角形の四隅の座標を検出する
ことを特徴とする付記１に記載の画像領域検出方法。
【０１０２】
（付記５）  前記変化点の検出において、
同一の変化点検出線上において隣接する画素間の画素値の差分の算出をする場合、各画素のコンポーネント毎に所定の順序で該差分の算出を行う
ことを特徴とする付記１に記載の画像領域検出方法。
【０１０３】
（付記６）  前記４辺の候補の検出において、
辺の候補は、前記各組の変化点に基づいて生成される近似直線であって、該近似直線が、該近似直線の生成元となった変化点から所定の誤差範囲内の距離にあり、かつ、前記開始点に最も近い近似直線である
ことを特徴とする付記１に記載の画像領域検出方法。
【０１０４】
（付記７）  前記四角形の形状の検証において、
前記検出された４つの辺の候補により形成される四角形の内角の角度が所定の範囲内であるかに基づいて、前記４つの辺のいずれかに前記誤検出辺があるかを判定する
ことを特徴とする付記２に記載の画像領域検出方法。
【０１０５】
（付記８）  前記四隅の特徴の検証において、
前記４辺により形成される四角形の四隅に関する特徴は、該四隅の形態、又は前記第１の画像を特定するために前記四角形領域の四隅に付与された所定のマークである
ことを特徴とする付記２に記載の画像領域検出方法。
【０１０６】
（付記９）  四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する処理をコンピュータに実行させる画像領域検出プログラムであって、
前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出する変化点検出処理と、
前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出する４辺候補検出処理と、
前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う辺再検出制御処理と、
をコンピュータに実行させる画像領域検出プログラム。
【０１０７】
（付記１０）  前記辺再検出制御処理は、
前記検出された４つの辺の候補により形成される四角形の形状に基づいて、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行う形状検証処理と、
前記４辺により形成される四角形の四隅に関する特徴に基づいて、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行う四隅検証処理と、
をコンピュータに実行させる付記９に記載の画像領域検出プログラム。
【０１０８】
（付記１１）  前記辺再検出制御処理は、さらに、
前記誤検出辺が特定された場合、該誤検出辺より前記第２の画像の縁部側にある直近の組の変化点に基づいて生成された辺を前記辺の候補として再検出する辺再検出処理
をコンピュータに実行させる付記１０に記載の画像領域検出プログラム。
【０１０９】
（付記１２）  前記画像領域検出プログラムは、さらに、
前記誤検出辺がなければ、前記４つの辺により形成される四角形の四隅の座標を検出する四隅座標検出処理
をコンピュータに実行させる付記９に記載の画像領域検出プログラム。
【０１１０】
（付記１３）  前記変化点検出処理は、同一の変化点検出線上において隣接する画素間の画素値の差分の算出をする場合、各画素のコンポーネント毎に所定の順序で該差分の算出を行う
ことを特徴とする付記９に記載の画像領域検出プログラム。
【０１１１】
（付記１４）  前記４辺候補検出処理において、辺の候補は、前記各組の変化点に基づいて生成される近似直線であって、該近似直線が、該近似直線の生成元となった変化点から所定の誤差範囲内の距離にあり、かつ、前記開始点に最も近い近似直線である
ことを特徴とする付記９に記載の画像領域検出プログラム。
【０１１２】
（付記１５）  前記形状検証処理は、
前記検出された４つの辺の候補により形成される四角形の内角の角度が所定の範囲内であるかに基づいて、前記４つの辺のいずれかに前記誤検出辺があるかを判定する
ことを特徴とする付記１０に記載の画像領域検出プログラム。
【０１１３】
（付記１６）  前記四隅検証処理において、前記４辺により形成される四角形の四隅に関する特徴は、該四隅の形態、又は前記第１の画像を特定するために前記四角形領域の四隅に付与された所定のマークである
ことを特徴とする付記１０に記載の画像領域検出プログラム。
【０１１４】
（付記１７）  四角形の第１の画像を撮像して得られた第２の画像であり、該第１の画像に対応する画像領域である四角形領域を含む該第２の画像から該四角形領域を検出する画像領域検出装置であって、
前記第２の画像の中心から所定の範囲に位置する複数の画素を開始点とし、該各開始点から該第２の画像の縁部に向かって一定方向に、隣接する画素間の画素値の差分が閾値を超えている場合に一方の画素を変化点として検出する変化点検出手段と、
前記第２の画像の上下左右の各方向に行われた前記変化点検出による変化点検出線のうち、同一方向の前記各変化点検出線から１つずつ取得した変化点の組み合わせを１組の変化点とすると、各組の変化点に基づいて辺を生成し、各方向で該生成した辺のうち、前記開始点に最も近い辺を辺の候補として検出する４辺候補検出手段と、
前記検出された４つの辺の候補により形成される四角形に基づいて、該辺が誤って検出された誤検出辺であるか否かを判定し、誤検出辺であれば、前記辺の候補の再検出を行う辺再検出制御手段と、
を備えることを特徴とする画像領域検出装置。
【０１１５】
（付記１８）  前記辺再検出制御手段は、
前記検出された４つの辺の候補により形成される四角形の形状に基づいて、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行う形状検証手段と、
前記４辺により形成される四角形の四隅に関する特徴に基づいて、該４辺中に前記誤検出辺があるか否かを判定し、該誤検出辺があれば誤検出辺の特定を行う四隅検証手段と、
を備えることを特徴とする付記１７に記載の画像領域検出装置。
【０１１６】
（付記１９）  前記辺再検出制御手段は、さらに、
前記誤検出辺が特定された場合、該誤検出辺より前記第２の画像の縁部側にある直近の組の変化点に基づいて生成された辺を前記辺の候補として再検出する辺再検出手段
を備えることを特徴とする付記１８に記載の画像領域検出装置。
【０１１７】
（付記２０）  前記画像領域検出装置は、さらに、
前記誤検出辺がなければ、前記４つの辺により形成される四角形の四隅の座標を検出する四隅座標検出手段
を備えることを特徴とする付記１７に記載の画像領域検出装置。
【図面の簡単な説明】
【０１１８】
【図１】本発明にかかる画像領域検出プログラムの構成を示す。
【図２】本発明における、所定領域を検出対象とする画像の紙面レイアウト図である。
【図３】本実施形態における撮影画像の一例を示す。
【図４Ａ】本発明の原理を説明するための図である。
【図４Ｂ】図４Ａを簡略化した図である。
【図５】本発明における辺の誤検出を説明するための図である。
【図６】本実施形態における最初に埋め込まれたコードのデコード処理の一実施例を示す。
【図７】本実施形態（実施例１）におけるコード埋め込み領域検出処理（Ｓ１２）のフローを示す。
【図８】本実施形態（実施例２）におけるコード埋め込み領域検出処理（Ｓ１２）のフローを示す。
【図９】本実施形態における変化点検出の一例を示す。
【図１０】本実施形態における変化点検出の他の実施例（３コンポーネントの場合）のフローを示す。
【図１１】本実施形態における辺検出の一例を示す。
【図１２】本実施形態における４辺候補検出処理（Ｓ２２）の詳細なフローを示す。
【図１３】図１２の各辺についての辺候補検出処理の詳細を示す。
【図１４】本実施形態における形状検証の一例を示す。
【図１５】本実施形態における形状検証処理（Ｓ２４）の詳細なフローを示す。
【図１６】本実施形態における四隅検証の一例を示す。
【図１７】本実施形態における四隅近傍に付与されたマークの一例である。
【図１８】本実施形態における四隅検証処理（Ｓ２６）の詳細なフローを示す。
【図１９】本実施形態における辺再検出の一例を示す。
【図２０】本実施形態における辺再検出処理（Ｓ２８）の詳細なフローを示す。
【図２１】本実施形態における画像領域検出プログラムを実行するコンピュータのハードウェア環境の構成ブロック図である。
【符号の説明】
【０１１９】
Ｓ１      変化点検出処理
Ｓ２      ４辺候補検出処理
Ｓ３      形状検証処理
Ｓ４      四隅検証処理
Ｓ５      辺再検出処理
Ｓ６      再検出制御処理
Ｓ７      四隅座標検出処理
１１      入力画像
１２      四角形領域
１３      余白
１４      背景領域
【図１】
2008084014.tif 000003
【図２】
2008084014.tif 000004
【図３】
2008084014.tif 000005
【図４Ａ】
2008084014.tif 000006
【図４Ｂ】
2008084014.tif 000007
【図５】
2008084014.tif 000008
【図６】
2008084014.tif 000009
【図７】
2008084014.tif 000010
【図８】
2008084014.tif 000011
【図９】
2008084014.tif 000012
【図１０】
2008084014.tif 000013
【図１１】
2008084014.tif 000014
【図１２】
2008084014.tif 000015
【図１３】
2008084014.tif 000016
【図１４】
2008084014.tif 000017
【図１５】
2008084014.tif 000018
【図１６】
2008084014.tif 000019
【図１７】
2008084014.tif 000020
【図１８】
2008084014.tif 000021
【図１９】
2008084014.tif 000022
【図２０】
2008084014.tif 000023
【図２１】
2008084014.tif 000024