(57)【特許請求の範囲】
【請求項１】
所定の配列に従って配置された複数のパレットを有するカラーチャートが写った画像から、該カラーチャートを検出するカラーチャート検出装置であって、
前記複数のパレットのうちの少なくとも３以上の所定数のパレットのそれぞれについて、当該パレットに相当する色成分を持つ画素を前記画像から抽出するパレット色画素抽出部と、
前記所定数のパレットのうち、少なくとも３個のパレットを第１のグループとし、該第１のグループに含まれるパレットのそれぞれについて抽出された画素の中から、パレットごとに選択した画素の組み合わせが前記所定の配列に従って並んでいる場合、当該組み合わせに含まれる画素を前記第１のグループの対応するパレットが写っている可能性がある候補画素として検出する組み合わせ検出部と、
前記候補画素に基づいて、該候補画素に対応するパレットの前記画像上での色を表す色情報及び当該パレットの前記画像上での位置を表す位置情報を求めるパレット情報算出部と、
を有するカラーチャート検出装置。
【請求項２】
前記所定数のパレットのうち、少なくとも３個のパレットを第２のグループとするとともに、前記第１のグループ及び前記第２のグループの何れも第１のパレットを含み、
前記組み合わせ検出部は、前記第２のグループに含まれるパレットのそれぞれについて抽出された画素の中から、パレットごとに選択した画素の組み合わせが前記所定の配列に従って並んでいる場合、当該組み合わせに含まれる画素を前記第２のグループの対応するパレットが写っている可能性がある候補画素として検出し、
前記第１のグループに関して検出された前記第１のパレットの候補画素のうち、前記第２のグループに関して前記第１のパレットの候補画素として検出された画素を前記第１のパレットが写っている画素と判定する統合判定部をさらに有する、請求項１に記載のカラーチャート検出装置。
【請求項３】
前記組み合わせ検出部は、前記第１のグループに含まれる前記少なくとも３個のパレットのうちの抽出された画素の数が少ない方から順に二つのパレットについて抽出された画素からそれぞれ選択された第１の画素及び第２の画素と前記所定の配列に従って前記第１のグループ内の他のパレットの前記画像上の位置を推定し、該推定した位置の画素が当該他のパレットについて抽出された第３の画素である場合、前記第１、第２及び第３の画素をそれぞれ前記第１のグループに含まれる各パレットの前記候補画素とする、請求項１または２に記載のカラーチャート検出装置。
【請求項４】
前記複数のパレットのうち、前記第１のグループに含まれない未検出パレットの前記画像上の位置及び範囲を、前記第１のグループに含まれる第２及び第３のパレットの前記画像上の位置と前記所定の配列に従って推定し、該推定された位置及び範囲に含まれる前記未検出パレットに相当する色を持つ画素に基づいて当該未検出パレットの前記画像上での色を表す色情報を求める外挿部をさらに有する、請求項１〜３の何れか一項に記載のカラーチャート検出装置。
【請求項５】
前記画像及び前記パレット色画素抽出部により前記所定数のパレットのそれぞれについて抽出された画素の集合を表すパレット候補領域画像の何れかを所定の縮小率で縮小した縮小画像を生成する縮小画像生成部をさらに有し、
前記組み合わせ検出部は、前記縮小画像に基づいて前記第１のグループに含まれるパレットのそれぞれについて前記候補画素を検出し、
前記第１のグループに含まれるパレットのそれぞれについて所定画素数以上の候補画素が検出されない場合、前記縮小画像生成部は、前記縮小率を低下させてさらに前記縮小画像を生成し、前記組み合わせ検出部は、当該低下した縮小率で生成された縮小画像に基づいて前記第１のグループに含まれるパレットのそれぞれについて前記候補画素を検出する、請求項１〜４の何れか一項に記載のカラーチャート検出装置。
【請求項６】
前記組み合わせ検出部は、前記所定数のパレットのうち、前記パレット色画素抽出部により抽出された画素の数が少ない方から順に二つのパレットを前記第１のグループに含める、請求項１〜５の何れか一項に記載のカラーチャート検出装置。
【請求項７】
所定の配列に従って配置された複数のパレットを有するカラーチャートが写った画像から、該カラーチャートを検出するカラーチャート検出方法であって、
前記複数のパレットのうちの少なくとも３以上の所定数のパレットのそれぞれについて、当該パレットに相当する色成分を持つ画素を前記画像から抽出し、
前記所定数のパレットのうち、少なくとも３個のパレットを第１のグループとし、該第１のグループに含まれるパレットのそれぞれについて抽出された画素の中から、パレットごとに選択した画素の組み合わせが前記所定の配列に従って並んでいる場合、当該組み合わせに含まれる画素を前記第１のグループの対応するパレットが写っている可能性がある候補画素として検出し、
前記候補画素に基づいて、該候補画素に対応するパレットの前記画像上での色を表す色情報及び当該パレットの前記画像上での位置を表す位置情報を求める、
ことを含むカラーチャート検出方法。
【請求項８】
所定の配列に従って配置された複数のパレットを有するカラーチャートが写った画像から、前記複数のパレットのうちの少なくとも３以上の所定数のパレットのそれぞれについて、当該パレットに相当する色成分を持つ画素を抽出し、
前記所定数のパレットのうち、少なくとも３個のパレットを第１のグループとし、該第１のグループに含まれるパレットのそれぞれについて抽出された画素の中から、パレットごとに選択した画素の組み合わせが前記所定の配列に従って並んでいる場合、当該組み合わせに含まれる画素を前記第１のグループの対応するパレットが写っている可能性がある候補画素として検出し、
前記候補画素に基づいて、該候補画素に対応するパレットの前記画像上での色を表す色情報及び当該パレットの前記画像上での位置を表す位置情報を求める、
ことをコンピュータに実行させるためのカラーチャート検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、画像に写ったカラーチャートを検出するカラーチャート検出装置、カラーチャート検出方法及びカラーチャート検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、画像の色補正を行うためにカラーチャートが利用されている。カラーチャートは、パレットを複数有し、各パレットには、互いに異なる色が付されている。パレットごとに、カラーチャートが写った画像においてそのパレットが写っている領域の色と、実際のパレットの色とを比較することで、画像生成の際に生じる色合いの変化が測定される。そして、その色合いの変化を打ち消すように画像を色補正することで、画像に写った被写体の色合いが自然な色合いとなる。【０００３】
適切な色補正を行うためには、画像上の各パレットの位置が特定される必要がある。従来、ユーザがディスプレイに表示された画像を視認して、画像上でカラーチャートの各パレットが写っている領域を特定し、個々のパレットが写っている位置及び範囲を指定する情報を色補正を実行する装置に入力していた。しかし、ユーザ自身がパレットの位置及び範囲を指定することは、ユーザにとって煩雑である。そこで、画像に写っているカラーチャートを検出するための様々な技術が提案されている（例えば、特許文献１〜３を参照）。【０００４】
例えば、特許文献１には、カラーチャートが写っている画像に対してパターンマッチングを行ってカラーチャートの位置を検出することが開示されている。【０００５】
また、特許文献２には、サンプリングされた画像信号を色度信号に変換し、その色度信号の分布形状を調べることでカラーチャート画像か否かを判定する技術が開示されている。【０００６】
さらに、特許文献３には、色参照パターンが配置された二次元コードを撮影した画像からその色参照パターンを特定し、その色情報を抽出して色補正に利用する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−１５２７６８号公報
【特許文献２】特開平６−７０３４５号公報
【特許文献３】特開２０１０−２２６５８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、パターンマッチングは演算量が多い。特に、カラーチャートの位置を特定する情報がなければ、カラーチャートを検出する装置は、画像全体を走査するように、画像に対するカラーチャートに対応するテンプレートの位置を変えつつ一致度合いを調べることになる。そのため、カラーチャートの位置を特定するための演算量は膨大になる。一方、携帯電話機といった携帯端末またはデジタルカメラがカラーチャートを検出する場合には、消費電力などの制約により、極力演算量は少ないことが好ましい。また携帯端末またはデジタルカメラでは、カラーチャートの検出に利用可能なハードウェアリソースも限られているので、演算量が多いほど、カラーチャートの検出に要する時間も長くなり、ユーザの利便性が低下する。【０００９】
また、特許文献２に開示されている技術は、色分布の統計量に基づいてカラーチャートが写っているか否かを判定するものであり、画像上のカラーチャートの位置を特定するものではない。さらに、カラーチャートは、他の被写体とともに撮影されることがあり、このような場合、画像上でカラーチャートが占める領域は、他の被写体または背景が占める領域よりも小さくなる。このような画像から求めた色分布の形状は、カラーチャートよりもむしろ他の被写体あるいは背景の色分布に左右されるので、特許文献２に開示されている技術は、カラーチャートが写っているか否かを正確に判定できないおそれがあった。【００１０】
さらに、特許文献３に開示されている技術では、画像上のカラーチャートの位置を特定するために、予め形状が分かっている二次元コードが検出される。しかし、この技術では、二次元コードにカラーチャートを設けることが必要となり、カラーチャートそのものだけでは、画像上のカラーチャートの位置は検出できない。また、カラーチャートが有する個々のパレットは矩形といった一般的な形状を有しており、パレットそのものは一様である。そのため、カラーチャートが有する特徴的な形状としては、各パレットのコーナー程度しかなく、そのようなコーナーは、カラーチャートと一緒に撮影される被写体にも含まれることがある。そのため、カラーチャートをその形状の特徴に基づいて画像から検出しようとすると、十分な検出精度が得られないおそれがあった。【００１１】
そこで本明細書は、演算量を抑制しつつ、画像に写ったカラーチャートを検出可能なカラーチャート検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
一つの実施形態によれば、所定の配列に従って配置された複数のパレットを有するカラーチャートが写った画像からそのカラーチャートを検出するカラーチャート検出装置が提供される。このカラーチャート検出装置は、複数のパレットのうちの少なくとも３以上の所定数のパレットのそれぞれについて、そのパレットに相当する色成分を持つ画素を画像から抽出するパレット色画素抽出部と、所定数のパレットのうち、少なくとも３個のパレットを第１のグループとし、その第１のグループに含まれるパレットのそれぞれについて抽出された画素の中から、パレットごとに選択した画素の組み合わせがパレットの所定の配列に従って並んでいる場合、その組み合わせに含まれる画素を第１のグループの対応するパレットが写っている可能性がある候補画素として検出する組み合わせ検出部と、候補画素に基づいて、その候補画素に対応するパレットの画像上での色を表す色情報及びそのパレットの画像上での位置を表す位置情報を求めるパレット情報算出部とを有する。【００１３】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１４】
本明細書に開示されたカラーチャート検出装置は、演算量を抑制しつつ、画像に写ったカラーチャートを検出できる。
【図面の簡単な説明】
【００１５】
【図１】図１は、カラーチャート検出装置が組み込まれた撮像装置の構成図である。
【図２】図２は、カラーチャートの一例を示す図である。
【図３】図３は、第１の実施形態によるカラーチャート検出装置の構成図である。
【図４】図４は、カラーチャート情報の一例を表す図である。
【図５】図５（Ａ）は、カラーチャートが写った画像の一例を示す図である。図５（Ｂ）は、図５（Ａ）に示された画像から抽出された、緑色が付されたパレットに相当する色成分を持つ画素の集合を表すパレット候補領域画像を示す図である。図５（Ｃ）は、図５（Ａ）に示された画像から抽出された、赤色が付されたパレットに相当する色成分を持つ画素の集合を表すパレット候補領域画像を示す図である。図５（Ｄ）は、図５（Ａ）に示された画像から抽出された、黄色が付されたパレットに相当する色成分を持つ画素の集合を表すパレット候補領域画像を示す図である。
【図６】図６（Ａ）〜図６（Ｃ）は、それぞれ、カラーチャートを撮影した画像から３個のパレットについて抽出された画素の集合を表すパレット候補領域画像の模式図である。図６（Ｄ）は、図６（Ａ）〜図６（Ｃ）に示されたパレット候補領域画像にて抽出されている画素を一つの画像に表した模式図である。
【図７】図７は、組み合わせ検出処理の動作フローチャートである。
【図８】図８（Ａ）は、カラーチャートから選択されるパレットの組み合わせの一例を示す図であり、図８（Ｂ）は、カラーチャートが写った画像の模式図である。
【図９】図９（Ａ）は、３個のパレットk1〜k3を含むパレットの組み合わせに対する組み合わせ検出処理の結果として生成されたパレットk2について生成される出力画像の一例を示す図である。図９（Ｂ）は、パレットk2を含む、他のパレットの組み合わせに対する組み合わせ検出処理の結果として生成されたパレットk2について生成される出力画像の他の一例を示す図である。図９（Ｃ）は、図９（Ａ）に示された出力画像と図９（Ｂ）に示された出力画像との積画像の一例を示す図である。
【図１０】図１０は、第１の実施形態によるカラーチャート検出処理の動作フローチャートである。
【図１１】図１１は、第２の実施形態によるカラーチャート検出装置の構成図である。
【図１２】図１２は、外挿処理の動作フローチャートである。
【図１３】図１３は、第３の実施形態によるカラーチャート検出装置の構成図である。
【図１４】図１４は、第３の実施形態によるカラーチャート検出処理の動作フローチャートである。
【図１５】図１５は、各実施形態またはその変形例によるカラーチャート検出装置の各部の機能を実現するコンピュータプログラムが動作することにより、カラーチャート検出装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００１６】
以下、図を参照しつつ、幾つかの実施形態によるカラーチャート検出装置について説明する。
このカラーチャート検出装置は、カラーチャートが写った画像から、カラーチャートに含まれる複数のパレットのうちの特定のパレットを含む幾つかのパレットに相当する色を持つ領域をそれぞれ抽出する。そしてこのカラーチャート検出装置は、特定のパレットを含むパレットの組み合わせのそれぞれのパレットの色に相当する領域のうち、パレットの配列と一致する領域を実際にパレットが写っている可能性がある領域として検出する。そしてこのカラーチャート検出装置は、特定のパレットを含む複数の組み合わせについて同様の処理を行って、全ての組み合わせについてその特定のパレットが写っている可能性があるとして検出された領域を、その特定のパレットが写っている領域と判定する。
【００１７】
図１は、各実施形態またはその変形例によるカラーチャート検出装置が組み込まれた撮像装置の概略構成図である。撮像装置１は、例えば、カメラを搭載した携帯電話機、あるいはデジタルカメラである。図１に示すように、撮像装置１は、カメラモジュール２と、操作部３と、表示部４と、記憶部５と、カラーチャート検出装置６と、制御部７とを有する。さらに撮像装置１は、撮像装置１をコンピュータ、またはテレビといった他の機器と接続するために、ユニバーサルシリアルバスなどのシリアルバス規格に従ったインターフェース回路（図示せず）を有していてもよい。また制御部７と、撮像装置１のその他の各部とは、例えば、バスにより接続されている。
【００１８】
カメラモジュール２は、２次元状に配置された固体撮像素子のアレイを有するイメージセンサと、そのイメージセンサ上に被写体の像を結像する撮像光学系とを有する。そしてカメラモジュール２は、制御部７から通知された絞り径及びシャッター速度により被写体を撮影して、その被写体の像が写った画像を生成する。そしてカメラモジュール２は、その画像を記憶部５に記憶させる。本実施形態では、被写体にカラーチャートが含まれる。
【００１９】
また、本実施形態では、生成される画像は、RGB表色系で表され、各色ごとに8ビットの階調を持つカラー画像である。
なお、各色成分の階調を表すビット数は8ビットに限られず、例えば、4ビットあるいは10ビットでもよい。またカラーチャート検出の対象となる画像は、他の表色系で表されるカラー画像であってもよい。
【００２０】
図２は、カラーチャートの一例を示す図である。図２に示したカラーチャート２００では、横６列×縦４列に、合計２４個のパレット２０１が配列されている。個々のパレット２０１は、それぞれ、矩形形状を有し、互いに異なる色が付されている。そして、縦方向に隣接する二つのパレットの中心間の距離はaであり、一方、横方向に隣接する二つのパレットの中心間の距離はbである。
【００２１】
操作部３は、例えば、撮像装置１をユーザが操作するための各種の操作ボタンまたはダイヤルスイッチを有する。そして操作部３は、ユーザの操作に応じて、撮影または合焦の開始などの制御信号またはシャッター速度、絞り径などを設定するための設定信号を制御部７へ送信する。
【００２２】
表示部４は、例えば、液晶ディスプレイ装置といった表示装置を有し、制御部７から受け取った各種の情報、またはカメラモジュール２により生成された画像を表示する。なお、操作部３と表示部４とは、例えば、タッチパネルディスプレイを用いて一体的に形成されてもよい。
【００２３】
記憶部５は、例えば、読み書き可能な揮発性または不揮発性の半導体メモリ回路を有する。そして記憶部５は、カメラモジュール２から受け取った画像を記憶する。また記憶部５は、カラーチャート検出装置６からの読み出し要求によって画像をカラーチャート検出装置６へ渡し、また、記憶部５は、カラーチャート検出装置６から受け取った各パレットの色情報及び位置情報を記憶してもよい。さらに、カラーチャート検出装置６が有する各機能が、制御部７が有するプロセッサ上で実行されるコンピュータプログラムにより実現される場合、そのコンピュータプログラム及びカラーチャート検出処理で利用される各種のデータを記憶してもよい。
【００２４】
カラーチャート検出装置６は、カメラモジュール２により生成された画像から、カラーチャートを検出する。そしてカラーチャート検出装置６は、その画像上でのカラーチャートの各パレットの位置情報及び色情報を制御部７へ通知する。なお、カラーチャート検出装置６の詳細については後述する。
【００２５】
制御部７は、少なくとも一つのプロセッサ及びその周辺回路を有し、撮像装置１全体を制御する。例えば、制御部７は、操作部３から受け取った設定信号及び被写体の露光量に応じて、シャッタースピードまたは絞り径を設定する。また制御部７は、カメラモジュール２により生成された画像に対して、エッジ強調またはコントラスト強調といった処理を実行してもよい。あるいは、制御部７は、その画像に対して、カラーチャート検出装置６から受け取った特定のパレットが写っている領域の色情報に基づいて色補正処理を調整してもよい。
【００２６】
以下、カラーチャート検出装置６の各構成要素について説明する。図３に、カラーチャート検出装置６の構成図を示す。カラーチャート検出装置６は、メモリ１０と、色変換部１１と、パレット色画素抽出部１２と、組み合わせ検出部１３と、統合判定部１４と、パレット情報算出部１５とを有する。
カラーチャート検出装置６が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として形成される。また、カラーチャート検出装置６が有するこれらの各部は、それぞれ、別個の回路として形成されてもよい。
【００２７】
メモリ１０は、例えば、読み出し専用の不揮発性の半導体メモリ回路及び読み書き可能な揮発性の半導体メモリ回路を有する。そしてメモリ１０は、カラーチャート検出装置６が画像からカラーチャートを検出するために使用する様々なデータ、例えば、検出対象となるカラーチャートについての情報及びパレットの検出に用いるパレットの組み合わせを表す情報などを記憶する。またメモリ１０は、カラーチャート検出処理の実行中に得られる様々な中間計算結果、例えば、個々のパレットに相当する色を持つ画素の集合であるパレット候補領域を表すパレット候補領域画像を記憶する。なお、上記の各種情報及びパレット候補領域画像の詳細については後述する。
【００２８】
色変換部１１は、カメラモジュール２により生成された画像の表色系をRGB表色系からHSV表色系に変換する。そのために、色変換部１１は、次式に従って画像の各画素の値を変換する。
【数１】
0005843000.tif 000002
ここで、R、G、Bは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分を表す。またMAX、MINは、それぞれ、変換前の画素の赤色成分、緑色成分、青色成分のうちの最大値及び最小値を表す。そしてH、S、Vは、それぞれ、変換後の画素の色相、彩度、明度を表す。
色変換部１１は、HSV表色系で表された画像をパレット色画素抽出部１２へ出力する。
なお、カラーチャート検出装置６が読み込む画像が最初からHSV表色系で表されている場合、色変換部１１は省略されてもよい。
【００２９】
パレット色画素抽出部１２は、パレットごとに、HSV表色系で表され、カラーチャートが写った画像からそのパレットの色に相当する色成分を持つ画素を抽出して、その抽出された画素の集合であるパレット候補領域を表すパレット候補領域画像を生成する。
そのために、パレット色画素抽出部１２は、メモリ１０に記憶されているカラーチャート情報を参照し、そのカラーチャート情報に示される、検出対象パレットのH、S、Vそれぞれの成分の代表値を特定する。
【００３０】
図４は、カラーチャート情報の一例を表す図である。この例では、カラーチャート情報４００は、１次元のベクトルとして表される。そして先頭の要素４０１には、縦方向に隣接する二つのパレットの中心間の距離aに対する横方向に隣接する二つのパレットの中心間の距離bの比、すなわちパレットの縦横比(b/a)が格納される。要素４０１の次から、５個の要素を一組として、例えば、ラスタスキャン順に各パレットの情報が格納される。例えば、要素４０１に後続する５個の要素には、それぞれ、左上端のパレット１のH成分、S成分、V成分の代表値H(1)、S(1)、V(1)と、カラーチャート上の左端からのパレットの配置順及び上端からのパレットの配置順が格納されている。
【００３１】
パレット色画素抽出部１２は、各成分の代表値を中心として検出範囲を設定する。例えば、パレット色画素抽出部１２は、H成分について、H成分の代表値から±10度の範囲を検出範囲とする。同様に、パレット色画素抽出部１２は、S成分について、S成分の代表値から±50の範囲を検出範囲とし、V成分について、V成分の代表値から±80の範囲を検出範囲とする。なお、検出範囲は、カメラモジュール２の特性に応じて、画像上でパレットが写った画素の各成分がその検出範囲内に含まれるように適宜設定されればよく、各成分の代表値に対して対称でなくてもよい。
【００３２】
パレット色画素抽出部１２は、検出対象とするパレットについて、画像の各画素ごとに、その画素の各成分がそのパレットについて設定された検出範囲に含まれるか否か判定する。そして画素の何れの成分も検出範囲に含まれる場合、パレット色画素抽出部１２は、検出対象とするパレットについてその画素を抽出する。
パレット色画素抽出部１２は、検出対象とするパレットについて抽出された各画素を示すために、パレット候補領域画像を生成する。パレット候補領域画像は、例えば、カラーチャートが写った画像と同じサイズのグレー画像または２値画像であり、抽出された画素と同位置の画素の値を'1'とし、その他の画素の値を'0'とする。
【００３３】
図５（Ａ）は、カラーチャートが写った画像の一例を示す図である。図５（Ａ）において、画像５００には、検出対象となるカラーチャート５０１が写っている。カラーチャート５０１には、緑色が付されたパレット５０２と、赤色が付されたパレット５０３と、黄色が付されたパレット５０４とが含まれている。
図５（Ｂ）は、図５（Ａ）に示された画像５００から抽出された、緑色が付されたパレット５０２に相当する色成分を持つ画素の集合を表すパレット候補領域画像５１０を示す。同様に、図５（Ｃ）は、図５（Ａ）に示された画像５００から抽出された、赤色が付されたパレット５０３に相当する色成分を持つ画素の集合を表すパレット候補領域画像５２０を示す。また図５（Ｄ）は、図５（Ａ）に示された画像５００から抽出された、黄色が付されたパレット５０４に相当する色成分を持つ画素の集合を表すパレット候補領域画像５３０を示す。各パレット候補領域画像５１０〜５３０において、白で示されている画素が抽出された画素を表す。図５（Ｂ）〜図５（Ｄ）に示されるように、各パレット候補領域画像では、検出対象となるパレット５０２〜５０４が写っている画素が抽出されている。また、各パレット候補領域画像では、検出対象となるパレットに付された色と近い色を持つ背景が写った画素も抽出されていることが分かる。
【００３４】
パレット色画素抽出部１２は、各パレットについて生成したパレット候補領域画像をメモリ１０に記憶する。
【００３５】
カラーチャートが有するパレットの配列は予め決まっているので、画像上でも、各パレットが写っている画素は、その配列に従っているはずである。一方、カラーチャート以外に画像に写っているものも、何れかのパレットの色と似た色を有していることがある。すると、そのパレットの色と似た色を有しているものが写っている画素も抽出される。しかし、これらの画素は、パレットの配列とは無関係に並んでいる。
【００３６】
この様子を図６（Ａ）〜図６（Ｄ）を参照しつつ説明する。図６（Ａ）〜図６（Ｃ）は、それぞれ、左から順にパレットk1、k2、k3の順に並んでいるカラーチャートを撮影した画像からパレットk1〜k3について抽出された画素の集合を表すパレット候補領域画像６１０〜６３０の模式図である。パレット候補領域画像６１０において、パレットk1が写っている領域６１１と、パレットk1の色に似た色を持つ背景部分が写っている領域６１２が抽出されている。同様に、パレット候補領域画像６２０において、パレットk2が写っている領域６２１と、パレットk2の色に似た色を持つ背景部分が写っている領域６２２が抽出されている。またパレット候補領域画像６３０において、パレットk3が写っている領域６３１と、パレットk3の色に似た色を持つ背景部分が写っている領域６３２が抽出されている。
【００３７】
図６（Ｄ）は、パレット候補領域画像６１０〜６３０にて抽出されている画素を一つの画像６４０に表した模式図である。パレットk1〜k3が写っている領域６１１、６２１及び６３１のそれぞれから取り出された任意の画素６１５、６２５、６３５は、そのパレットk1〜k3の配列に従って、左から順に並んでいる。一方、背景部分が写っている領域６１２、６２２及び６３２のそれぞれから取り出された任意の画素６１６、６２６、６３６は、パレットk1〜k3の配列とは異なる順序で並んでいる。そのため、領域６１２、６２２及び６３２には、パレットk1〜k3が写っていないことが分かる。
【００３８】
そこで組み合わせ検出部１３は、３個以上のパレットを含むパレットの組み合わせ、すなわちパレットのグループについて、パレットごとに抽出された画素からそれぞれ一画素ずつ選択し、選択した画素がそれらパレットの配列に従っているか否かを調べる。これにより、組み合わせ検出部１３は、その組み合わせに含まれる各パレットについて抽出された画素のうち、実際にパレットが写っている可能性のある画素を検出する。
【００３９】
なお、撮像装置１からカラーチャートまでの距離は未知であるため、画像上でのカラーチャートのサイズ及びパレット間の距離は不明である。ただし、ある二つのパレット間の距離と、他の二つのパレット間の距離の比は、撮像装置１からカラーチャートまでの距離によらず、不変である。
【００４０】
そこで、組み合わせ検出部１３は、注目するパレットの組み合わせに含まれるパレットのうちの二つのパレットに対応するパレット候補領域からそれぞれ選択した画素間の距離とパレット間の距離の比に基づいて、他のパレットが写っている画素の位置を推定する。そして組み合わせ検出部１３は、推定した位置の画素が、他のパレットのパレット候補領域に含まれる場合、その選択した画素及び推定した位置の画素は、パレットが写っている可能性が高いと判定する。
【００４１】
図７は、組み合わせ検出部１３により実行される組み合わせ検出処理の動作フローチャートである。
【００４２】
組み合わせ検出部１３は、３個以上のパレットを含むパレットの組み合わせについて、それぞれのパレット候補領域画像の中から、パレット候補領域に含まれる画素数が少ない方から順に二つのパレット候補領域画像を選択する（ステップＳ１０１）。例えば、図６（Ａ）〜図６（Ｃ）に示された各パレット候補領域画像では、パレットk1に対応するパレット候補領域画像６１０とパレットk3に対応するパレット候補領域画像６３０に含まれる画素の数が少ない。したがって、パレット候補領域画像６１０とパレット候補領域画像６３０が選択される。これにより、選択する画素の組の数が最小となるので、組み合わせ検出部１３は、演算量の増加を抑制できる。
【００４３】
組み合わせ検出部１３は、選択した二つのパレット候補領域画像のパレット候補領域のそれぞれから一画素ずつ、未選択の画素の組を選択する（ステップＳ１０２）。そして組み合わせ検出部１３は、選択された二つの画素の位置関係と、それらが含まれる領域に対応するパレットの配列に従って、組み合わせに含まれる残りのパレットの画像上での位置を推定する（ステップＳ１０３）。
【００４４】
ここで、選択された二つの画素から、画像上での残りのパレットが写っている画素の推定位置を算出する方法について説明する。
先ず、組み合わせ検出部１３は、画像上でパレット一つ分だけ横方向にシフトする量を表すベクトル(x1,y1)及び画像上でパレット一つ分だけ縦方向にシフトする量を表すベクトル(x2,y2)を求める。なお、ベクトルの各要素x1、x2、y1、y2は、それぞれ、画素単位で表される。
【００４５】
カラーチャートの横方向が画像の横方向と平行となるようにカラーチャートが配置されている場合、選択された二つの画素から、次式に従って(x1,y1)及び(x2,y2)は算出される。
【数２】
0005843000.tif 000003
ただし、(j1,i1)は、それぞれ、パレットk1について選択された画素の横方向の座標と縦方向の座標を表す。また(j2,i2)は、それぞれ、パレットk2について選択された画素の横方向の座標と縦方向の座標を表す。またPh(k1)、Ph(k2)は、それぞれ、パレットk1、k2のカラーチャート上の左端からのパレット数を表す。そしてPv(k1)、Pv(k2)は、それぞれ、パレットk1、k2のカラーチャート上の上端からのパレット数を表す。
【００４６】
次に、カラーチャートの横方向と画像の横方向が平行でない場合について図を参照しつつ説明する。
図８（Ａ）は、カラーチャート８００から選択されるパレットの組み合わせの一例を示す図であり、図８（Ｂ）は、カラーチャート８００が写った画像８１０の模式図である。この例では、カラーチャート８００の左端から２列目かつ上端から２行目のパレットk1{Ph(k1)=1,Pv(k1)=1}と、左端から６列目かつ上端から３行目のパレットk2{Ph(k2)=5,Pv(k2)=2}と、左端から４列目かつ上端から４行目のパレットk3{Ph(k3)=3,Pv(k3)=3}が選択される。そして、パレットk1についてのパレット候補領域に含まれる画素とパレットk2についてのパレット候補領域に含まれる画素とから、パレットk3が写っている画素の位置が推定される。
【００４７】
ここで、ベクトル(x1,y1)と、パレットk1、k2間の位置ずれ量を表すベクトル(j2-j1,i2-i1)とのなす角θは、次式で表される。
【数３】
0005843000.tif 000004
（３）式で表されるベクトル(x1,y1)及び(j2-j1,i2-i1)と角度θとの関係は、図８（Ｂ）に示されるようにカラーチャート８００が傾いた状態で写った画像８１０上でも成り立つ。また、パレットk1とk2間の距離をLとすれば、k1、k2間の横方向の距離、縦方向の距離は、それぞれ、
L×cos(atan(q×a/b))
L×sin(atan(q×a/b))
となる。したがって、パレット一つ分だけ横方向、縦方向にシフトする距離は、上記の横方向の距離及び縦方向の距離を、それぞれ、k1、k2間の横方向のパレット数及び縦方向のパレット数で除した値となる。また画像８１０上では、Lは、画素(j1,i1)と画素(j2,i2)間の距離に相当する。したがって次式が成立する。
【数４】
0005843000.tif 000005
【００４８】
したがって、{Ph(k2)-Ph(k1)}が0でない場合、ベクトル(x1,y1)は次式で算出される。
【数５】
0005843000.tif 000006
また、{Ph(k2)-Ph(k1)}が0である場合、ベクトル(x1,y1)は次式で算出される。
【数６】
0005843000.tif 000007
また、{Pv(k2)-Pv(k1)}が0でない場合、ベクトル(x2,y2)は次式で算出される。
【数７】
0005843000.tif 000008
また、{Pv(k2)-Pv(k1)}が0である場合、ベクトル(x2,y2)は次式で算出される。
【数８】
0005843000.tif 000009
【００４９】
したがって、パレットk3が写っている画素の推定位置(j,i)は、次式で算出される。
【数９】
0005843000.tif 000010
【００５０】
なお、組み合わせに４個以上のパレットが含まれる場合も同様に、組み合わせ検出部１３は、（９）式にしたがって、選択された二つの画素に対応するパレット以外の残りのパレットごとに、そのパレットが写っている画素の推定位置を求めればよい。
【００５１】
再度図７を参照すると、組み合わせ検出部１３は、推定された位置(j,i)の画素が、組み合わせの残りのパレットについてのパレット候補領域に含まれるか否か判定する（ステップＳ１０４）。なお、組み合わせに４個以上のパレットが含まれる場合には、組み合わせ検出部１３は、残りのパレットごとに、そのパレットに対応する推定位置の画素がそのパレット候補領域に含まれるか否か判定する。推定された位置(j,i)の画素全てがパレット候補領域に含まれれば（ステップＳ１０４−Ｙｅｓ）、選択された２個の画素及び推定された位置の画素は、それぞれ、パレットが写っている可能性がある候補画素となる。そこで組み合わせ検出部１３は、パレットに対応する可能性がある候補画素を表す出力画像において、その選択した二つの画素及び推定された位置の画素の値を、パレットが写っている可能性があることを表す値（例えば'1'）に書き換える（ステップＳ１０５）。なお、出力画像は、例えば、パレットが写っている画像と同サイズの２値画像であり、初期状態では、全ての画素がパレットが写っていないことを表す値（例えば'0'）に設定されている。出力画像は、パレットごとに一つ生成される。
【００５２】
一方、推定された位置の画素の何れか一つでもパレット候補領域に含まれなければ（ステップＳ１０４−Ｎｏ）、選択された二つの画素及び推定された位置の画素のうちの少なくとも何れかにはパレットが写っていない可能性が高い。この場合には、組み合わせ検出部１３は、出力画像を書き換えない。
【００５３】
その後、組み合わせ検出部１３は、選択された二つのパレット候補領域画像について、未選択の画素の組があるか否か判定する（ステップＳ１０６）。未選択の画素の組があれば（ステップＳ１０６−Ｙｅｓ）、組み合わせ検出部１３は、ステップＳ１０１以降の処理を繰り返す。
一方、未選択の画素の組がなければ（ステップＳ１０６−Ｎｏ）、組み合わせ検出部１３は、各パレットの出力画像をメモリ１０に書き込む（ステップＳ１０７）。
【００５４】
組み合わせ検出部１３は、パレットの組み合わせを変えて、上記の組み合わせ検出処理を複数回実行してもよい。その際、少なくとも二つの組み合わせが同一のパレットを含むことが好ましい。例えば、３種類の組み合わせが設定され、一番目の組み合わせG(1)は、パレットk(a)、k(b)、k(c)を含み、二番目の組み合わせG(2)は、パレットk(a)、k(d)、k(e)を含み、三番目の組み合わせG(3)は、パレットk(b)、k(f)、k(g)を含むものとする。この場合には、組み合わせG(1)とG(2)により、パレットk(a)が写っている可能性のある候補画素が調べられ、組み合わせG(1)とG(3)により、パレットk(b)が写っている可能性のある候補画素が調べられる。
また、本実施形態では、組み合わせ検出部１３は、画像上での色及び位置を検出するパレットを何れかの組み合わせに含める。
【００５５】
一方、一つの組み合わせに含まれるパレットの数が多いほど、パレット以外のものが写っている画素を候補画素として検出する可能性が低くなる。そのため、組み合わせ検出処理が実行される組み合わせの数は、一つの組み合わせに含まれるパレットの数が多いほど、少なくすることができる。例えば、一つの組み合わせに含まれるパレットの数がカラーチャートが有するパレットの総数の1/2以上であれば、組み合わせ検出部１３は、一つの組み合わせについてのみ組み合わせ検出処理を実行すればよい。
【００５６】
組み合わせ検出部１３は、組み合わせ検出処理が実行された組み合わせごとに、その組み合わせに含まれるパレットごとの出力画像を生成し、その出力画像をメモリ１０に記憶する。
【００５７】
統合判定部１４は、パレットごとに、そのパレットについて生成された複数の出力画像の同位置の画素の積を求める。そして統合判定部１４は、その積が'1'となる画素をそのパレットが写っている画素と判定する。
【００５８】
再度図６（Ａ）〜図６（Ｄ）を参照する。図６（Ｂ）に示されたパレット候補領域画像６２０において、点線で囲まれた位置にもパレットk2の色に似た色を持つ背景部分が写っている領域６２３があるとする。この場合には、背景部分が写っている領域６１２、６２３及び６３２のそれぞれから取り出された任意の画素６１６、６２７、６３６も、パレットk1〜k3の配列と同じ順序で並んでいる。そのため、パレットk1〜k3のみを含む組み合わせについて組み合わせ検出処理を実行すると、領域６１２、６２３及び６３２も、パレットk1〜k3が写っている可能性があると判定されることになる。
【００５９】
図９（Ａ）は、パレットk1〜k3を含むパレットの組み合わせに対する組み合わせ検出処理の結果として生成されたパレットk2について生成される出力画像の一例を示す。また図９（Ｂ）は、パレットk2を含む、他のパレットの組み合わせに対する組み合わせ検出処理の結果として生成されたパレットk2について生成される出力画像の他の一例を示す。そして図９（Ｃ）は、図９（Ａ）に示された出力画像と図９（Ｂ）に示された出力画像の積画像を示す。
この場合、図９（Ａ）に示されるように、例えば、パレットk2に対する出力画像９００では、領域６２１だけでなく、領域６２３もパレットが写っている可能性がある画素の集合として抽出される。しかし、パレットk2を含む他のパレットの組み合わせについて組み合わせ検出処理が行われると、例えば図９（Ｂ）に示される出力画像９１０のように、領域６２１は抽出されるものの、領域６２３は抽出されない可能性が高くなる。
したがって、出力画像９００と出力画像９１０とで同位置の画素間の積を求めることにより、図９（Ｃ）に示した積画像９２０のように、実際にパレットk2が写っている領域６２１のみが抽出される可能性が高くなる。その結果、パレットの検出精度が向上する。
【００６０】
統合判定部１４は、パレットごとに、そのパレットについて生成された複数の出力画像の積を表す積画像を、そのパレットが写っている画素を表すパレット検出情報としてパレット情報算出部１５へ出力する。なお、一つの出力画像しか生成されていないパレットについては、統合判定部１４は、その一つの出力画像をそのままパレット検出情報としてパレット情報算出部１５へ出力する。
なお、組み合わせ検出部１３が一つの組み合わせについてのみ組み合わせ検出処理を実行する場合には、統合判定部１４は省略されてもよい。
【００６１】
パレット情報算出部１５は、パレットごとに、統合判定部１４から受け取ったパレット検出情報を参照して、画像上でそのパレットの色を表す色情報及び画像上での位置を表す位置情報を求める。そのために、パレット情報算出部１５は、パレット検出情報に示された、パレットが写っている画素のH成分、S成分、V成分のそれぞれについて、平均値または中央値をそのパレットの色情報として算出する。またパレット情報算出部１５は、パレットごとに、パレット検出情報に示される、パレットが写っている画素の重心を求め、その重心をパレットの位置情報とする。
【００６２】
パレット情報算出部１５は、パレットごとに、パレットの識別情報とともに色情報及び位置情報を制御部７へ出力する。なお、パレットの識別情報は、例えば、カラーチャート上で左上端のパレットからのラスタスキャン順のパレットの番号とすることができる。
【００６３】
図１０は、カラーチャート検出装置６により実行されるカラーチャート検出処理の動作フローチャートである。
カラーチャート検出装置６は、記憶部５からカラーチャートが写った画像を読み込む（ステップＳ２０１）。そして色変換部１１は、その画像をRGB表色系からHSV表色系に変換する（ステップＳ２０２）。
【００６４】
パレット色画素抽出部１２は、表色系が変換された画像から、カラーチャートが含む複数のパレットのうちの３以上の所定数のパレットのそれぞれについて、そのパレットに相当する色を持つ画素を抽出する（ステップＳ２０３）。そしてパレット色画素抽出部１２は、パレットごとに、そのパレットの色を持つ画素の集合であるパレット候補領域を表すパレット候補領域画像を生成する。
【００６５】
組み合わせ検出部１３は、３以上のパレットを含む少なくとも一つのパレットの組み合わせに対して組み合わせ検出処理を実行する（ステップＳ２０４）。そして組み合わせ検出部１３は、その組み合わせに含まれるパレットごとに出力画像を生成する。
【００６６】
統合判定部１４は、パレットごとに、そのパレットに対して生成された複数の出力画像間の画素ごとの積を求めることで、そのパレットを含む全ての組み合わせにおいて、そのパレットが写っていると判定された画素を抽出する（ステップＳ２０５）。そして統合判定部１４は、パレットごとに、抽出した画素の位置を表すパレット検出情報をパレット情報算出部１５へ通知する。
【００６７】
パレット情報算出部１５は、パレットごとに、そのパレットが写っている画素のH成分、S成分、V成分のそれぞれについて、平均値または中央値をそのパレットの色情報として算出する。またパレット情報算出部１５は、パレットが写っている画素の重心の座標をパレットの位置情報として算出する（ステップＳ２０６）。そしてパレット情報算出部１５は、各パレットの識別情報とともに、色情報及び位置情報を制御部７へ出力する。その後、カラーチャート検出装置６は、カラーチャート検出処理を終了する。
【００６８】
以上に説明してきたように、このカラーチャート検出装置は、パレットの配列に関する情報を利用して、各パレットに相当する色を持つ画素のうち、パレットの配列と一致する画素を検出する。そのため、このカラーチャート検出装置は、カラーチャートの位置が不明でもカラーチャートの個々のパレットを正確に検出できる。またこのカラーチャート検出装置は、パターンマッチングのような演算量の多い処理を画像全体に対して行わなくてもよいので、演算量を削減できる。
【００６９】
次に、第２の実施形態によるカラーチャート検出装置について説明する。第２の実施形態によるカラーチャート検出装置は、組み合わせ検出の対象とならなかった未検出パレットの位置を、パレットの配列に従って、組み合わせ検出によって特定されたパレットの位置から特定することで、その未検出パレットを検出する。
【００７０】
図１１に、第２の実施形態によるカラーチャート検出装置６１の構成図を示す。カラーチャート検出装置６１は、メモリ１０と、色変換部１１と、パレット色画素抽出部１２と、組み合わせ検出部１３と、統合判定部１４と、パレット情報算出部１５と、外挿部１６とを有する。
カラーチャート検出装置６１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として形成される。また、カラーチャート検出装置６１が有するこれらの各部は、それぞれ、別個の回路として形成されてもよい。
【００７１】
図１１において、カラーチャート検出装置６１が有する各構成要素には、図３に示された第１の実施形態によるカラーチャート検出装置６が有する対応する構成要素の参照番号と同じ参照番号を付した。第２の実施形態によるカラーチャート検出装置６１は、第１の実施形態によるカラーチャート検出装置６と比較して、外挿部１６を有する点で異なる。そこで以下では、外挿部１６及び関連部分について説明する。
【００７２】
外挿部１６は、パレット情報算出部１５によって重心が求められた複数のパレットのうち、二つのパレットの重心位置の座標をそれぞれ(j1,i1)、(j2,i2)として、（５）式または（６）式に入力する。これにより、外挿部１６は、画像上での横方向のパレット一つ分のシフト量(x1,y1)を算出する。同様に、外挿部１６は、その二つのパレットの重心位置の座標(j1,i1)、(j2,i2)を、（７）式または（８）式に入力することで、画像上での縦方向のパレット一つ分のシフト量(x2,y2)を算出する。
【００７３】
次に、外挿部１６は、未検出の任意のパレットkの検出範囲の中心位置の座標(j,i)を、（９）式に従って算出する。ただしこの場合、（９）式におけるPh(k3)、Pv(k3)は、その未検出のパレットkのカラーチャート上での左端からのパレット数及び上端からのパレット数となる。
【００７４】
外挿部１６は、（９）式に従って算出された検出対象のパレットkの検出範囲の中心位置の座標(j,i)に基づいて、次式に従って、画像上でのパレットkの検出範囲を設定する。
【数１０】
0005843000.tif 000011
ただし、関数min(a,b,c,d)は、パラメータa,b,c,dのうちの最小値を出力する関数である。また関数max(a,b,c,d)は、パラメータa,b,c,dのうちの最大値を出力する関数である。そしてXl、Xrは、それぞれ、検出範囲の左端及び右端の座標であり、Yt、Ybは、それぞれ、検出範囲の上端及び下端の座標である。
【００７５】
外挿部１６は、検出対象となるパレットについてのパレット候補領域に含まれる画素のうちで、検出範囲に含まれる画素をそのパレットが写っている画素として検出する。そして外挿部１６は、検出した画素の重心を求め、その重心をパレットの位置情報とする。さらに外挿部１６は、検出した画素のH成分、S成分、V成分のそれぞれについての平均値または中央値をそのパレットの色情報として算出する。そして外挿部１６は、パレットの識別情報とともに、そのパレットの位置情報及び色情報を制御部７へ出力する。
【００７６】
図１２は、外挿部１６により実行される外挿処理の動作フローチャートである。この外挿処理は、例えば、図１０に示されたカラーチャート検出処理のステップＳ２０６に後続して実行される。
【００７７】
外挿部１６は、ステップＳ２０６にて検出されたパレットのうちの二つのパレットの重心に基づいて、横方向のパレット一つ分のシフト量(x1,y1)及び縦方向のパレット一つ分のシフト量(x2,y2)を算出する（ステップＳ３０１）。そして外挿部１６は、未検出のパレットの何れかを注目するパレットに設定する（ステップＳ３０２）。
【００７８】
外挿部１６は、シフト量(x1,y1)及び(x2,y2)と、注目するパレットと検出済みのパレットとの配列に基づいて、画像上での注目するパレットの検出範囲の中心を決定する（ステップＳ３０３）。そして外挿部１６は、検出範囲の中心に基づいて、注目するパレット全体が検出範囲に含まれるように、その検出範囲を設定する（ステップＳ３０４）。
【００７９】
外挿部１６は、注目するパレットについてのパレット候補領域に含まれる画素のうち、検出範囲に含まれる画素を、その注目するパレットが写っている画素として検出する（ステップＳ３０５）。外挿部１６は、検出された画素の重心及び各色成分に基づいてその注目するパレットの位置情報及び色情報を求める（ステップＳ３０６）。そして外挿部１６は、そのパレットの識別情報とともに、位置情報及び色情報を制御部７へ出力する。
【００８０】
その後、外挿部１６は、未検出のパレットがあるか否か判定する（ステップＳ３０７）。未検出のパレットがあれば（ステップＳ３０７−Ｙｅｓ）、外挿部１６は、ステップＳ３０２以降の処理を繰り返す。一方、未検出のパレットがなければ（ステップＳ３０７−Ｎｏ）、外挿部１６は、外挿処理を終了する。
【００８１】
この実施形態によれば、カラーチャート検出装置は、組み合わせ検出処理で検出されていないパレットの位置情報及び色情報を組み合わせ検出処理よりも少ない演算量で求めることができる。
【００８２】
なお、変形例によれば、外挿部１６は、検出範囲内で検出された画素に対してラベリング処理を実行することにより、互いに隣接する検出された画素の集合の中から最大の集合を検出してもよい。そして外挿部１６は、その最大の集合に含まれる画素のみに基づいて、色情報及び位置情報を求めてもよい。これにより、外挿部１６は、検出対象となるパレットの色と近い色のもの（検出対象のパレットに隣接する他のパレットを含む）がそのパレットの近くにある場合でも、検出対象となるパレットが写っている画素のみをより適切に検出できる。
【００８３】
次に、第３の実施形態によるカラーチャート検出装置について説明する。第３の実施形態によるカラーチャート検出装置は、パレット候補領域画像の縮小画像を生成して、その縮小画像に対して組み合わせ検出処理を行うことで、演算量の削減を図る。
【００８４】
図１３に、第３の実施形態によるカラーチャート検出装置６２の構成図を示す。カラーチャート検出装置６２は、メモリ１０と、色変換部１１と、パレット色画素抽出部１２と、組み合わせ検出部１３と、統合判定部１４と、パレット情報算出部１５と、領域サイズ計数部１７と、領域サイズ設定部１８と、縮小画像生成部１９と、補間部２０とを有する。
カラーチャート検出装置６２が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として形成される。また、カラーチャート検出装置６２が有するこれらの各部は、それぞれ、別個の回路として形成されてもよい。
【００８５】
図１３において、カラーチャート検出装置６２が有する各構成要素には、図３に示された第１の実施形態によるカラーチャート検出装置６が有する対応する構成要素の参照番号と同じ参照番号を付した。第３の実施形態によるカラーチャート検出装置６２は、第１の実施形態によるカラーチャート検出装置６と比較して、領域サイズ計数部１７、領域サイズ設定部１８、縮小画像生成部１９及び補間部２０を有する点で異なる。そこで以下では、領域サイズ計数部１７、領域サイズ設定部１８、縮小画像生成部１９、補間部２０及びその関連部分について説明する。
【００８６】
領域サイズ計数部１７は、各パレット候補領域画像について、対応するパレットに相当する色を持つ画素に対してラベリング処理を行って、独立したパレット候補領域ごとに異なるラベルを付す。そして領域サイズ計数部１７は、それぞれのラベルが付されたパレット候補領域ごとに、そのパレット候補領域に属する画素数を、そのパレット候補領域のサイズとして求める。そして領域サイズ計数部１７は、パレット候補領域ごとに、ラベルとその領域のサイズを対応付けるサイズテーブルを生成し、そのサイズテーブルをメモリ１０に格納する。例えば、再度図６（Ａ）を参照すると、パレット候補領域画像６１０では、領域６１１と領域６１２に対してそれぞれ異なるラベルが付される。そして領域６１１に含まれる画素数が領域６１１のサイズとなり、領域６１２に含まれる画素数が領域６１２のサイズとなる。
【００８７】
領域サイズ設定部１８は、縮小画像ごとに、その縮小画像で検出対象とするパレット候補領域のサイズの上限値と下限値とを設定する。例えば、縮小率1/8（長さ単位）となる第１の縮小画像、縮小率1/4（長さ単位）となる第２の縮小画像、縮小率1/2（長さ単位）となる第３の縮小画像、及び縮小率1/1となる第４の縮小画像が用いられる。カラーチャート検出装置６２は、各縮小画像を用いて、カラーチャートが写った元の画像の画素数に対して最大Cmax%からCmin%までの幅を持つカラーチャートを検出する。このとき、縮小率1/8の第１の縮小画像では、一つのパレットについて検出対象サイズの上限値は、{Cmax/100×Total/N}で与えられ、一方、検出対象サイズの下限値は、{Cmax/100×Total/N}/4で与えられる。ただしNは、カラーチャートに含まれるパレットの総数である。またTotalは、カラーチャートが写った元の画像の画素数である。また、縮小率1/4の第２の縮小画像では、一つのパレットについての検出対象サイズの上限値は{Cmax/100×Total/N}/4で与えられ、検出対象サイズの下限値は{Cmax/100×Total/N}/16で与えられる。さらに、縮小率1/2の第３の縮小画像では、一つのパレットについて検出対象サイズの上限値は、{Cmax/100×Total/N}/16で与えられ、検出対象サイズの下限値は{Cmax/100×Total/N}/64で与えられる。最後に、縮小率1/1の第４の縮小画像、すなわち元の画像では、一つのパレットについて検出対象サイズの上限値は{Cmax/100×Total/N}/64で与えられ、検出対象サイズの下限値は{Cmin/100×Total/N}で与えられる。
【００８８】
例えば、Cmaxを100%、Cminを0%とした場合、第１の縮小画像では、検出対象となるサイズは(元の画像の画素数/N)から(元の画像の画素数/N)/4である。また第２の縮小画像では、検出対象となるサイズは(元の画像の画素数/N)/4から(元の画像の画素数/N)/16までである。同様に、第３の縮小画像では、検出対象となるサイズは(元の画像の画素数/N)/16から(元の画像の画素数/N)/64までである。そして第４の縮小画像では、検出対象となるサイズは(元の画像の画素数/N)/64より少ない画素数を持つパレット候補領域が検出対象となる。
【００８９】
縮小画像生成部１９は、それぞれのパレット候補領域画像の縮小画像を生成する。例えば、縮小画像生成部１９は、最初に第１の縮小画像を生成する。その際、縮小画像生成部１９は、パレット候補領域ごとの任意の画素のラベルとサイズテーブルを参照し、このラベルが領域サイズ設定部１８で設定された検出対象サイズを持つパレット候補領域に相当する場合には、縮小画像の対応する画素に'1'を格納する。そして縮小画像生成部１９は、各パレット候補領域画像についての第１の縮小画像をそれぞれメモリ１０に記憶する。
【００９０】
カラーチャート検出装置６２は、第１の縮小画像に対して組み合わせ検出部１３及び統合判定部１４の処理を実行する。これにより、カラーチャートのサイズが画像全体のサイズから、面積比で画像の1/4のサイズまでの範囲に含まれる場合、カラーチャートの各パレットが検出される。またこの場合、各パレットの出力画像のサイズも、第１の縮小画像と同じサイズである。この場合、縮小画像生成部１９にて検出対象サイズの上限または下限から外れるサイズを持つパレット候補領域が削除されており、かつ扱う画素数が1/8×1/8=1/64と小さくなる。そのため、図７に示した組み合わせ検出処理におけるステップＳ１０２〜Ｓ１０６の処理の実行回数が削減される。
【００９１】
補間部２０は、第１の縮小画像に基づいて検出された画素の数が、検出対象サイズの下限値に縮小率(1/8)を乗じた数以上であれば、その各画素の縦方向座標及び横方向座標を、それぞれ、8倍することで、元のサイズの画像における座標を求める。そして補間部２０は、検出された各画素の座標をパレット情報算出部１５へ通知する。パレット情報算出部１５は、パレットごとに、検出された画素から位置情報及び色情報を求める。そしてカラーチャート検出装置６２は、カラーチャート検出処理を終了する。
一方、検出された画素の数が検出対象サイズの下限値に縮小率(1/8)を乗じた数未満の場合には、検出対象サイズを持つパレット候補領域には、実際にはパレットが写っていないと判断される。そこでカラーチャート検出装置６２は、縮小率(1/M)（長さ単位）の分母Mを1/2倍する。
【００９２】
領域サイズ設定部１８は、第２の縮小画像で使用する画像サイズ、検出対象サイズの上限値{Cmax/100×(元の画像の画素数)/N}/4、及び下限値{Cmax/100×(元の画像の画素数)/N}/16を設定する。
【００９３】
その後、縮小画像生成部１９は、各パレット候補領域画像について、縮小率が1/4（長さ単位）となり、領域サイズ設定部１８で設定された検出対象サイズを持つパレット候補領域のみを表す第２の縮小画像を生成する。そして縮小画像生成部１９は、各パレット候補領域画像についての第２の縮小画像をメモリ１０に記憶する。
【００９４】
カラーチャート検出装置６２は、第２の縮小画像に対しても、同様に、組み合わせ検出部１３、統合判定部１４及び補間部２０の処理を実行する。これにより、カラーチャートのサイズが画像全体の1/4から、面積比で画像の1/16のサイズまでの範囲に含まれる場合、カラーチャートの各パレットが検出される。この場合、縮小画像生成部１９にて検出対象サイズの上限または下限から外れるサイズを持つパレット候補領域が削除されており、かつ扱う画素数が元の画像の1/4×1/4=1/16と小さくなっている。そのため、図７に示した組み合わせ検出処理におけるステップＳ１０２〜Ｓ１０６の処理の実行回数が削減される。
【００９５】
補間部２０は、第２の縮小画像に基づいて検出された画素の数が、検出対象サイズの下限値に縮小率(1/4)を乗じた数以上であれば、その各画素の縦方向座標及び横方向座標を、それぞれ、4倍することで、元のサイズの画像における座標を求める。そして補間部２０は、検出された各画素の座標をパレット情報算出部１５へ通知する。パレット情報算出部１５は、パレットごとに、検出された画素から位置情報及び色情報を求める。そしてカラーチャート検出装置６２は、カラーチャート検出処理を終了する。
【００９６】
一方、検出された画素の数が検出対象サイズの下限値に縮小率(1/4)を乗じた数未満の場合には、検出対象サイズを持つパレット候補領域には、実際にはパレットが写っていないと判断される。そこでカラーチャート検出装置６２は、縮小率(1/M)（長さ単位）の分母Mを1/2倍する。その後、縮小画像生成部１９は、各パレット候補領域画像について、縮小率が1/2（長さ単位）となり、領域サイズ設定部１８にて第３の縮小画像に対して設定された検出対象サイズを持つパレット候補領域のみを表す第３の縮小画像を生成する。そして縮小画像生成部１９は、各パレット候補領域画像についての第３の縮小画像をメモリ１０に記憶する。
【００９７】
カラーチャート検出装置６２は、第３の縮小画像に対しても、組み合わせ検出部１３、統合判定部１４及び補間部２０の処理を実行する。これにより、カラーチャートのサイズが画像全体の1/16から、面積比で画像の1/64のサイズまでの範囲に含まれる場合、カラーチャートの各パレットが検出される。
【００９８】
補間部２０は、第３の縮小画像に基づいて検出された画素の数が、検出対象サイズの下限に縮小率(1/2)を乗じた数以上であれば、その各画素の縦方向座標及び横方向座標を、それぞれ、2倍することで、元のサイズの画像における座標を求める。そして補間部２０は、検出された各画素の座標をパレット情報算出部１５へ通知する。パレット情報算出部１５は、パレットごとに、検出された画素から位置情報及び色情報を求める。そしてカラーチャート検出装置６２は、カラーチャート検出処理を終了する。
【００９９】
一方、検出された画素の数が検出対象サイズの下限値に縮小率(1/2)を乗じた数未満の場合には、検出対象サイズを持つパレット候補領域には、実際にはパレットが写っていないと判断される。そこでカラーチャート検出装置６２は、縮小率(1/M)（長さ単位）の分母Mを1/2倍する。その後、カラーチャート検出装置６２は、実画像サイズの第４の縮小画像を用い、かつ、領域設定部１８にて第４の縮小画像に対して設定された検出対象サイズを持つパレット候補領域のみを対象として、組み合わせ検出部１３、統合判定部１４及び補間部２０の処理を実行する。これにより、画像全体の1/64のサイズよりも小さいカラーチャートの各パレットが検出される。
【０１００】
図１４は、第３の実施形態によるカラーチャート検出装置６２により実行されるカラーチャート検出処理の動作フローチャートである。
カラーチャート検出装置６２は、記憶部５からカラーチャートが写った画像を読み込む（ステップＳ４０１）。そして色変換部１１は、その画像をRGB表色系からHSV表色系に変換する（ステップＳ４０２）。
【０１０１】
パレット色画素抽出部１２は、表色系が変換された画像から、カラーチャートが含む複数のパレットのうちの３以上の所定数のパレットのそれぞれについて、そのパレットに相当する色を持つ画素を抽出する（ステップＳ４０３）。そしてパレット色画素抽出部１２は、パレットごとに、そのパレットの色を持つ画素の集合であるパレット候補領域を表すパレット候補領域画像を生成する。
【０１０２】
領域サイズ計数部１７は、各パレット候補領域画像について、対応するパレットに相当する色を持つ画素に対してラベリング処理を行って、独立したパレット候補領域ごとに異なるラベルを付す。そして領域サイズ計数部１７は、それぞれのラベルが付されたパレット候補領域ごとに、そのパレット候補領域に属する画素数を、そのパレット候補領域のサイズとして求める（ステップＳ４０４）。そして領域サイズ計数部１７は、パレット候補領域ごとに、ラベルとその領域のサイズを対応付けるサイズテーブルを生成し、そのサイズテーブルをメモリ１０に格納する。
【０１０３】
領域サイズ設定部１８は、縮小画像で検出対象とするパレット候補領域のサイズの上限値と下限値とを設定する（ステップＳ４０５）。
【０１０４】
縮小画像生成部１９は、各パレット候補領域画像に対して、それぞれ、検出対象サイズの上限値と下限値の範囲内に含まれるサイズを持つパレット候補領域のみを表す縮小率(1/M)の縮小画像を生成する（ステップ４０６）。
【０１０５】
組み合わせ検出部１３は、縮小画像を用いて、少なくとも一つのパレットの組み合わせに対して組み合わせ検出処理を実行する（ステップＳ４０７）。そして組み合わせ検出部１３は、その組み合わせに含まれるパレットごとに出力画像を生成する。
【０１０６】
統合判定部１４は、パレットごとに、そのパレットに対して生成された複数の出力画像間の画素ごとの積を求めることで、そのパレットを含む全ての組み合わせにおいて、そのパレットが写っていると判定された画素を抽出する（ステップＳ４０８）。そして統合判定部１４は、パレットごとに、抽出した画素の位置を表すパレット検出情報を補間部２０へ通知する。
【０１０７】
補間部２０は、検出対象サイズの下限に縮小率(1/M)を乗じた数以上の画素がパレット検出情報に含まれているか、または縮小率(1/M)が1か否か判定する（ステップＳ４０９）。検出対象となるサイズの下限値に相当する数の画素がパレット位置情報に含まれておらず、かつ、縮小率(1/M)が1でなければ（ステップＳ４０９−Ｎｏ）、カラーチャート検出装置６２は、Mを1/2に低下させる（ステップＳ４１０）。その後、カラーチャート検出装置６２は、ステップＳ４０５以降の処理を繰り返す。
【０１０８】
一方、検出対象となるサイズの下限値に相当する数の画素がパレット位置情報に含まれているか、縮小率(1/M)が1であれば（ステップＳ４０９−Ｙｅｓ）、補間部２０はパレット位置情報に含まれる各画素の縦方向及び横方向の座標をM倍する（ステップＳ４１１）。そして補間部２０は、それら画素の座標をパレット情報算出部１５へ通知する。
【０１０９】
パレット情報算出部１５は、パレットごとに、通知された画素のH成分、S成分、V成分のそれぞれについての平均値または中央値をそのパレットの色情報として算出する。またパレット情報算出部１５は、パレットが写っている画素の重心の座標をパレットの位置情報として算出する（ステップＳ４１２）。そしてパレット情報算出部１５は、各パレットの色情報及び位置情報を制御部７へ出力する。その後、カラーチャート検出装置６２は、カラーチャート検出処理を終了する。
【０１１０】
第３の実施形態によるカラーチャート検出装置は、縮小画像に対して組み合わせ検出処理などを実行するので、パレットの配列と一致しているか否かを調べる画素の組み合わせの数を削減できる。その結果として、このカラーチャート検出装置は、演算量を削減できる。
【０１１１】
なお、第３の実施形態の変形例によれば、縮小画像生成部１９は、色変換部１１により作成されたHSV表色系の画像に対して、第１の縮小画像を生成してもよい。この場合には、第１の縮小画像に対して、パレット色画素抽出部１２、組み合わせ検出部１３及び統合判定部１４の処理が実行される。そしてパレットが写っている画素が検出されるまで、縮小画像生成部１９は、縮小率を順次低下させて、第２、第３の縮小画像を生成し、その縮小画像に対して上記の各部の処理が実行される。
【０１１２】
また他の変形例によれば、第３の実施形態によるカラーチャート検出装置も、第２の実施形態による外挿部を有してもよい。
【０１１３】
また、上記の各実施形態の変形例によれば、組み合わせ検出部１３は、図７に示された組み合わせ検出処理のステップＳ１０５において、パレット候補領域画像の選択された二つの画素及び推定された位置の画素の値を'2'にしてもよい。これにより、パレット候補領域画像と別個に出力画像を生成しなくても、組み合わせ検出部１３は、パレットが写っている可能性がある画素と可能性が無い画素とを区別できる。そしてステップＳ１０６にて未選択の画素の組がなくなると、組み合わせ検出部１３は、注目するパレットの組み合わせに含まれる各パレットに対応するそれぞれのパレット候補領域画像の画素のうち、正の値を持つ画素の値から1を減じる。これにより、出力画像と同様に、パレット候補領域画像も、パレットの配列を考慮してパレットが写っている可能性のある画素だけが、'1'の値を持つことになる。
このような処理を行うことにより、カラーチャート検出装置は、パレット候補領域画像と別個に出力画像を生成しなくてもよくなるので、メモリ１０のメモリ容量を削減することが可能となる。
【０１１４】
さらに、組み合わせ検出部１３は、一つのパレットの組み合わせに対して組み合わせ検出処理が行われたパレット候補領域画像を、他のパレットの組み合わせに対して利用してもよい。これにより、２回目以降の組み合わせ検出処理では、パレット候補領域から、パレットの配列を考慮することでパレットが写っていないと判断された画素が削除されているので、組み合わせ検出処理で調べられる画素の組の数が削減できる。
【０１１５】
またこの場合、統合判定部で行われる処理も併せて実行していることになるので、パレットの組み合わせの全てについて組み合わせ検出処理が終了したときのパレット候補領域画像は、統合判定部が出力する積画像と同等のものとなっている。そのため、統合判定部も省略されてよい。その結果としてカラーチャート検出処理全体の演算量も削減される。
【０１１６】
さらに他の変形例によれば、組み合わせ検出部１３は、全てのパレット候補領域画像の中から、パレット候補領域に含まれる画素の数が少ない方から順に二つのパレット候補領域画像を選択してもよい。そして組み合わせ検出部１３は、その二つのパレット候補領域画像に対応する二つのパレットを含む組み合わせに対して組み合わせ検出処理を行ってもよい。これにより、組み合わせ検出部１３は、パレットの配列と一致しているか否かを調べる画素の組の数を最小にできるので、演算量をより削減できる。
【０１１７】
上記の実施形態またはその変形例によるカラーチャート検出装置の各部の機能は、プロセッサ上で実行されるコンピュータプログラムにより実現されてもよい。そのようなコンピュータプログラムは、磁気記録媒体、光記録媒体といったコンピュータ読み取り可能な記録媒体に記録された形で提供されてもよい。
【０１１８】
図１５は、上記の実施形態またはその変形例によるカラーチャート検出装置の各部の機能を実現するコンピュータプログラムが動作することにより、カラーチャート検出装置として動作するコンピュータの構成図である。
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【０１１９】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、カラーチャートを検出する対象となる画像を選択する信号、及びカラーチャート検出処理を開始させる操作信号をプロセッサ１０５へ出力する。
【０１２０】
通信インターフェース部１０２は、コンピュータ１００を撮像装置（図示せず）と接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）とすることができる。
さらに、通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、カラーチャートが写った画像を取得し、その画像を記憶部１０３に記憶させる。また通信インターフェース部１０２は、プロセッサ１０５から受け取ったカラーチャートの各パレットの識別情報、位置情報及び色情報を通信ネットワークを介して他の機器へ出力してもよい。
【０１２１】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行されるカラーチャート検出処理を実行するためのコンピュータプログラム、及びそのカラーチャート検出処理の途中で得られる中間計算結果などを記憶する。また記憶部１０３は、通信インターフェース部１０２から受け取った画像、またはプロセッサ１０５により検出されたカラーチャートの各パレットの識別情報、位置情報及び色情報などを記憶する。
【０１２２】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、カラーチャート検出処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【０１２３】
プロセッサ１０５は、上記の実施形態または変形例によるカラーチャート検出処理用コンピュータプログラムを実行することにより、画像上のカラーチャートの各パレットの位置情報及び色情報を求める。そしてプロセッサ１０５は、各パレットの識別情報、位置情報及び色情報を記憶部１０３に保存し、または通信インターフェース部１０２を介して他の機器へ出力する。
【０１２４】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１２５】
１    撮像装置
２    カメラモジュール
３    操作部
４    表示部
５    記憶部
６、６１、６２    カラーチャート検出装置
７    制御部
１０    メモリ
１１    色変換部
１２    パレット色画素抽出部
１３    組み合わせ検出部
１４    統合判定部
１５    パレット情報算出部
１６    外挿部
１７    領域サイズ計数部
１８    領域サイズ設定部
１９    縮小画像生成部
２０    補間部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
１０６    記憶媒体
【図１】
0005843000.tif 000012
【図２】
0005843000.tif 000013
【図３】
0005843000.tif 000014
【図４】
0005843000.tif 000015
【図６】
0005843000.tif 000016
【図７】
0005843000.tif 000017
【図８】
0005843000.tif 000018
【図９】
0005843000.tif 000019
【図１０】
0005843000.tif 000020
【図１１】
0005843000.tif 000021
【図１２】
0005843000.tif 000022
【図１３】
0005843000.tif 000023
【図１４】
0005843000.tif 000024
【図１５】
0005843000.tif 000025
【図５】
0005843000.tif 000026