(57)【要約】【課題】画像内における光源領域を特定すること。【解決手段】光源領域特定部１０３ａは、画像内から輝度値が第1の閾値以上の領域を第1の領域として抽出し、画像内から輝度値が第1の閾値よりも小さい第２の閾値以上の領域を第２の領域として抽出し、第1の領域と第２の領域とに基づいて、画像内における光源を含む光源領域を特定する。【選択図】図１
2008305081.tif 000002
【特許請求の範囲】
【請求項１】
画像内から輝度値が第1の閾値以上の領域を第1の領域として抽出する第1の領域抽出手順と、
画像内から輝度値が前記第1の閾値よりも小さい第２の閾値以上の領域を第２の領域として抽出する第２の領域抽出手順と、
前記第1の領域および前記第２の領域の特徴量に基づいて、画像内の光源を含む光源領域を特定する光源領域特定手順とをコンピュータで実行するための画像処理プログラム。
【請求項２】
請求項１に記載の画像処理プログラムにおいて、
前記光源領域特定手順は、前記第２の領域の面積と前記第２の領域内に含まれる前記第１の領域の面積との比、および前記第２の領域の重心と前記第２の領域内に含まれる前記第１の領域の重心との位置関係に基づいて、前記第２の領域が前記光源領域であるか否かを特定することを特徴とする画像処理プログラム。
【請求項３】
請求項２に記載の画像処理プログラムにおいて、
前記光源領域特定手順は、前記第２の領域の重心と、前記第２の領域内に含まれる前記第１の領域の重心との位置関係に基づいて、前記光源領域内に含まれる光源位置を特定することを特徴とする画像処理プログラム。
【請求項４】
請求項３に記載の画像処理プログラムにおいて、
前記光源領域特定手順で特定した前記光源位置を起点として複数方向に輝線を描画する輝線描画手順をさらに含むことを特徴とする画像処理プログラム。
【請求項５】
請求項４に記載の画像処理プログラムにおいて、
画像の大きさ、および前記光源領域の面積を加味して、描画する前記輝線の太さおよび長さを決定する輝線サイズ決定手順をさらに含むことを特徴とする画像処理プログラム。
【請求項６】
請求項４または５のいずれか一項に記載の画像処理プログラムにおいて、
前記光源領域の重心から所定距離以上離れた点の色情報に基づいて、描画する前記輝線の色を決定する輝線色決定手順をさらに含むことを特徴とする画像処理プログラム。
【請求項７】
請求項４に記載の画像処理プログラムにおいて、
画像の大きさ、および前記光源領域の面積を加味して、描画する前記輝線の太さおよび長さを決定する輝線サイズ決定手順と、
前記光源領域の重心から所定距離以上離れた点の色情報に基づいて、描画する前記輝線の色を決定する輝線色決定手順とをさらに含み、
前記輝線描画手順は、前記輝線サイズ決定手順で決定した前記輝線の長さ、および前記輝線色決定手順で決定した前記輝線の色に基づいて、前記輝線の描画方法を変更することを特徴とする画像処理プログラム。
【請求項８】
請求項７に記載の画像処理プログラムにおいて、
前記輝線描画手順は、前記輝線の長さが所定の長さ未満である場合には、前記輝線の輝度が前記光源位置から離れるに従って単純減衰するように描画し、前記輝線の長さが所定の長さ以上である場合には、前記輝線の輝度が前記光源位置から離れるに従って周期的に減衰と増幅を繰り返すように描画することを特徴とする画像処理プログラム。
【請求項９】
請求項７または８に記載の画像処理プログラムにおいて、
前記輝線描画手順は、前記輝線の色が白色である場合には、前記輝線の色相を周期的に変化させることを特徴とする画像処理プログラム。
【請求項１０】
請求項４〜９のいずれか一項に記載の画像処理プログラムにおいて、
前記輝線描画手順は、複数の前記輝線が交差する部分に光の拡散効果を付与することを特徴とする画像処理プログラム。
【請求項１１】
請求項１〜１０のいずれか一項に記載の画像処理プログラムを実行する実行手段を備えた画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、および画像処理装置に関する。
【背景技術】
【０００２】
次のような輝線描画処理方法が知られている。この輝線描画処理方法では、画像内の輝点画素を検出し、その輝点画素から輝線を描画する（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００５−９２７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の輝線描画処理方法においては、輝度値に基づいて画像内の輝点を検出している。そのため、実際に光源が写っている点とは異なる点を輝点として検出する可能性があり、画像内の光源を含む領域を精度高く検出することができなかった。
【課題を解決するための手段】
【０００５】
本発明による画像処理プログラムは、画像内から輝度値が第1の閾値以上の領域を第1の領域として抽出し、画像内から輝度値が第1の閾値よりも小さい第２の閾値以上の領域を第２の領域として抽出し、第1の領域および第２の領域の特徴量に基づいて、画像内の光源を含む光源領域を特定する。
本発明では、第２の領域の面積と第２の領域内に含まれる第１の領域の面積との比、および第２の領域の重心と第２の領域内に含まれる第１の領域の重心との位置関係に基づいて、第２の領域が光源領域であるか否かを特定するようにしてもよい。
第２の領域の重心と、第２の領域内に含まれる第１の領域の重心との位置関係に基づいて、光源領域内に含まれる光源位置を特定するようにしてもよい。
光源領域に基づいて画像内における光源位置を特定し、光源位置を起点として複数方向に輝線を描画するようにしてもよい。
画像の大きさ、および光源領域の面積を加味して、描画する輝線の太さおよび長さを決定するようにしてもよい。
光源領域の重心から所定距離以上離れた点の色情報に基づいて、描画する輝線の色を決定するようにしてもよい。
画像の大きさ、および光源領域の面積を加味して、描画する前記輝線の太さおよび長さを決定し、光源領域の重心から所定距離以上離れた点の色情報に基づいて、描画する輝線の色を決定し、決定した輝線の長さ、および輝線の色に基づいて、輝線の描画方法を変更するようにしてもよい。
例えば、輝線の長さが所定の長さ未満である場合には、輝線の輝度が光源位置から離れるに従って単純減衰するように描画し、輝線の長さが所定の長さ以上である場合には、輝線の輝度が光源位置から離れるに従って周期的に減衰と増幅を繰り返すように描画するようにしてもよい。
また、輝線の色が白色である場合には、輝線の色相を周期的に変化させるようにしてもよく、あるいは複数の輝線が交差する部分に光の拡散効果を付与するようにしてもよい。
本発明による画像処理装置は、上記画像処理プログラムを実行することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像内の光源位置を精度高く検出することができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本実施の形態における画像処理装置の一実施の形態の構成を示すブロック図である。画像処理装置１００は、例えばパソコン（パーソナルコンピュータ）であって、操作部材１０１と、接続ＩＦ（インターフェース）１０２と、制御装置１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、モニタ１０５とを備えている。
【０００８】
操作部材１０１は、使用者によって操作される種々の装置、例えばキーボードやマウスを含む。接続ＩＦ１０２は、デジタルカメラなどの外部機器を接続するためのインターフェースであって、例えばデジタルカメラと有線接続を行うためのＵＳＢインターフェースや、無線接続を行うための無線ＬＡＮモジュールなどが使用される。本実施の形態では、例えば、この接続ＩＦ１０２を介してデジタルカメラから画像データが取り込まれる。
【０００９】
ＨＤＤ１０４は、接続ＩＦ１０２を介して取り込まれた画像データや、制御装置１０３で実行される種々のプログラム等を記録するための記録装置である。モニタ１０５は、例えば液晶モニタであって、制御装置１０３から出力される種々の表示用データが表示される。
【００１０】
制御装置１０３は、ＣＰＵ、メモリ、およびその他の周辺回路によって構成され、光源領域特定部１０３ａと、クロスサイズ決定部１０３ｂと、クロス色決定部１０３ｃと、クロス描画部１０３ｄとを機能的に備えている。本実施の形態では、制御装置１０３は、ＨＤＤ１０４に記録されている画像を読み込んで、その画像内に含まれる光源位置にクロス（輝線）を描画する。クロスとは、画像内の光源位置から複数方向に輝線を描画したものであり、例えば、４方向、６方向、または８方向に輝線を描画したものをいう。なお、ここでは、ＨＤＤ１０４には、ＲＧＢ色空間で表される画像データが記録されているものとして説明を行う。
【００１１】
光源領域特定部１０３ａは、画像内における光源を含む領域（光源領域）を特定する。具体的には、光源領域特定部１０３ａは、画像の輝度値Ｙを基準に光源領域の抽出を行う。このために、画像の画素値（Ｒ，Ｇ，Ｂ）（０≦Ｒ，Ｇ，Ｂ≦２５５）に基づいて、次式（１）で定義される輝度値Ｙを算出する。
Ｙ＝０．２９９０Ｒ＋０．５８７０Ｇ＋０．１１４０Ｂ  ・・・（１）
【００１２】
画像内から式（１）で算出した輝度値Ｙが所定値以上の画素で構成される領域を抽出することによって光源領域を抽出することができるようにも思われる。しかしながら、画像内に白い壁が存在する場合など、光源領域以外の領域も輝度値Ｙが所定値以上となる可能性があり、単純に輝度値Ｙが所定値以上の画素で構成される領域を抽出しただけではその領域に必ずしも光源が含まれているとは限らない。そこで、本実施の形態では、精度高く光源領域を特定するために、次のような処理を行う。
【００１３】
光源領域特定部１０３ａは、式（１）で算出した輝度値Ｙが所定の輝度値Ｙ１以上（例えば、Ｙ１＝２５０）である画素で構成される領域を抽出する。ここで、画像内に輝度値Ｙが所定の輝度値Ｙ１以上である画素で構成される領域が複数ある場合には、複数の領域が抽出される。なお、ここで抽出した領域を、後に説明する領域と区別するために第１の抽出領域と呼ぶ。
【００１４】
光源領域特定部１０３ａは、抽出した第１の抽出領域のそれぞれについて、その領域の面積、重心位置を算出する。重心位置は、例えば、画像全体をｘｙ座標系で表した場合の座標値（ｘ座標値およびｙ座標値）として算出する。さらに、光源領域特定部１０３ａは、第１の抽出領域のそれぞれについて、その領域の外形と接する外形枠を特定し、第１の抽出領域と外形枠との接点の座標値（ｘ座標値およびｙ座標値）を算出する。例えば、図２に示すように第１の抽出領域２ａが抽出された場合には、光源領域特定部１０３ａは、その外形枠２ｂを特定し、領域と接点の接点２ｃ〜２ｆのそれぞれの座標値を算出する。
【００１５】
また、光源領域特定部１０３ａは、図３に示すように、第１の抽出領域の重心３ａから上下左右および斜め方向の８方向を対象として、領域の縁までの距離ａｉ（ｉ＝１〜８）を算出する。そして、光源領域特定部１０３ａは、算出した領域の面積、重心位置の座標値、領域と外形枠との接点の座標値、および重心から領域の縁までの距離をメモリ内に保持しておく。
【００１６】
次に、光源領域特定部１０３ａは、式（１）で算出した輝度値Ｙが所定の輝度値Ｙ２以上（例えば、Ｙ２＝２４０）である画素で構成される領域を抽出する。ここで、画像内に輝度値Ｙが所定の輝度値Ｙ２以上である画素で構成される領域が複数ある場合には、複数の領域が抽出される。なお、ここで抽出した領域を、上述した第１の抽出領域と区別するために第２の抽出領域と呼ぶ。
【００１７】
光源領域特定部１０３ａは、抽出した第２の抽出領域のそれぞれについて、その領域の面積、重心位置の座標値（ｘ座標値およびｙ座標値）を算出する。さらに、光源領域特定部１０３ａは、図３で上述した第１の抽出領域の場合と同様に、第２の抽出領域の重心から上下左右および斜め方向の８方向を対象として、領域の縁までの距離ｂｉ（ｉ＝１〜８）を算出する。そして、光源領域特定部１０３ａは、算出した領域の面積、重心位置の座標値、および重心から領域の縁までの距離をメモリ内に保持しておく。
【００１８】
このように、Ｙ１＞Ｙ２として第２の抽出領域を抽出したときには、図４（ａ）に示すように、第２の抽出領域４ａ内に第１の抽出領域２ａが１つ含まれる場合と、図４（ｂ）に示すように、第２の抽出領域４ａ内に第１の抽出領域２ａが複数含まれる場合とがある。本実施の形態では、光源領域特定部１０３ａは、第２の抽出領域４ａ内に第１の抽出領域２ａを１つ含む場合と、複数含む場合とに場合を分けて、光源領域の特定を行う。
【００１９】
なお、上述したように、画像内から複数の第２の抽出領域が抽出されていることも考えられるが、本実施の形態では、そのうちの１つの第２の抽出領域４ａについて、その領域を光源領域として特定するか否かを判定する例について説明する。すなわち、第２の抽出領域４ａが複数ある場合には、以下に説明する処理をそれぞれの第２の抽出領域ごとに行うようにすれば、各第２の抽出領域４ａについて、それぞれ光源領域であるか否かを判定することが可能となる。
【００２０】
（Ａ）第２の抽出領域４ａ内に第１の抽出領域２ａを１つ含む場合
この場合には、第２の抽出領域は、光源領域としての独立性が高いと判断できることから、領域の形状がいびつでなければその領域を光源領域をみなすようにする。このため、光源領域特定部１０３ａは、上述した重心から領域の縁までの８方向の距離ｂｉを用いて、次式（２）および（３）によって、第２の抽出領域を光源領域として特定するか否かを判定する。なお、次式（２）および（３）において、ｍａｘｂｉは、ｂ１〜ｂ８の中の最大値を表し、ｍｉｎｂｉは、ｂ１〜ｂ８の中の最小値を表す。
ｍａｘｂｉ／ｍｉｎｂｉ≦３．０  →  光源領域として特定する  ・・・（２）
ｍａｘｂｉ／ｍｉｎｂｉ＞３．０  →  光源領域として特定しない  ・・・（３）
【００２１】
光源領域特定部１０３ａは、第２の抽出領域を光源領域として特定した場合には、その中に含まれる第１の光源領域の重心位置を光源位置として特定する。
【００２２】
（Ｂ）第２の抽出領域４ａ内に第１の抽出領域２ａを複数含む場合
この場合には、抽出した第２の抽出領域４ａをＢと表し、第２の抽出領域４ａ内に含まれる１つまたは複数（ｎ個）の第１の抽出領域２ａをＡｉ（ｉ＝１，２，・・・ｎ）と表す。そして、Ｂの重心をｇＢ、Ａｉ（ｉ＝１，２，・・・ｎ）の重心をそれぞれｇｉ（ｉ＝１，２，・・・ｎ）と表す。
【００２３】
ここで、第２の抽出領域４ａ（Ｂ）内に第１の抽出領域２ａ（Ａｉ）が複数含まれることとなった原因について考える。上述したように、領域を抽出する際に用いる輝度値Ｙの基準値（閾値）をＹ１（例えば２５０）からＹ２（例えば２４０）に少しだけ低下させたことにより、このような現象が発生していることから、考えられる理由は次の２つである。原因１：そもそも大きな領域Ｂは光源領域ではなく、個々のＡｉはその一部に過ぎない。
原因２：大きな領域Ｂが光源領域ではあるものの、基準値Ｙ１の選び方により、領域Ｂ内に複数のＡｉが現れただけである。
【００２４】
上記原因１および原因２のいずれの場合でも、大半のＡｉは光源領域ではないと判断してよく、仮に原因２のようにＢが光源領域である場合には、後述するクロスの描画時に、Ｂの重心ｇＢ、あるいはｇＢにある程度近いＡｉの重心ｇｉ（ｉ＝１，２，・・・ｎ）からクロスを発生させれば十分である。この点を踏まえ、光源領域特定部１０３ａは、以下のような処理を行って、第２の抽出領域４ａ、すなわちＢが光源領域であるか否かを判定する。
【００２５】
まず、光源領域特定部１０３ａは、Ｂ内に含まれる複数のＡｉの重心ｇｉ（ｉ＝１，２，・・・ｎ）のうち、Ｂの重心ｇＢから最も近い位置に存在するものを重心Ｇとして抽出する。なお、本実施の形態では、Ｂが光源領域であると判定した場合に、この重心Ｇを光源位置として特定し、重心Ｇからのみクロスを発生させるようにし、他の重心ｇｉからはクロスを発生させないこととする。
【００２６】
ここで、Ｂが光源領域である場合には、Ｂの重心ｇＢの位置と、抽出した重心Ｇの位置とは、図５（ａ）に示すように大きく異ならないはずであるが、Ｂが光源領域ではない場合には、両者の間の位置は、図５（ｂ）に示すように大きく異なることになる。よって、本実施の形態では、このことを加味してＢが光源領域として適当であるか否かを判定する。具体的には、光源領域特定部１０３ａは、ＧとｇＢとの間の距離が許容範囲より大きいときは、Ｂを光源領域としては不適当であると判定する。これに対して、ＧとｇＢとの間の距離が許容範囲を以下である場合には、Ｂを光源領域として適当であると判定する。
【００２７】
光源領域特定部１０３ａは、Ｂが光源領域として適当であるか否かを、例えば、次式（４）により判定する。すなわち、光源領域特定部１０３ａは、ＧとｇＢとの間の距離が次式（４）に示す条件を満たす場合には、Ｂは光源領域として不適当であると判定し、満たさない場合には適当であると判定する。
ＧとｇＢとの間の距離＞２×ｍｉｎａｉ  ・・・（４）
【００２８】
光源領域特定部１０３ａは、式（４）を用いた判定の結果、Ｂが光源領域として適当であると判定した場合には、さらに次式（５）および（６）を用いて、Ｂを光源領域として特定するか否かを判定する。すなわち、光源領域特定部１０３ａは、次式（５）および（６）に示すいずれか一方の条件を満たす場合には、Ｂは光源領域としては不適当であると判定してＢを光源領域として特定しないようにする。一方、光源領域特定部１０３ａは、次式（５）および（６）に示す条件のいずれも満たさない場合には、Ｂは光源領域として適当であると判定してＢを光源領域として特定する。
ｍａｘｂｉ／ｍｉｎｂｉ＞３．０  ・・・（５）
領域Ｂの面積／Ｇを含む領域Ａｉの面積＞１．０＋（Ｙ１／Ｙ２）  ・・・（６）
【００２９】
光源領域特定部１０３ａは、Ｂを光源領域として特定した場合には、Ｂ内に含まれる複数のＡｉの重心ｇｉ（ｉ＝１，２，・・・ｎ）のうち、Ｂの重心ｇＢから最も近い位置に存在する重心Ｇを光源位置として特定する。以上の処理によって、光源領域特定部１０３ａは、画像内の光源領域、および光源位置を精度高く特定することができる。
【００３０】
クロスサイズ決定部１０３ｂは、上述した光源領域特定部１０３ａによって特定された光源位置を起点として描画するクロスのサイズ、すなわちクロスの太さと長さを決定する。クロスの太さは、原則として光源領域の面積Ｓや光源領域の拡がりに応じて求めるのが適当である。なお、光源領域の拡がりは、上述した処理で光源領域特定部１０３ａで算出した領域の縁までの８方向の距離ｂｉ（ｉ＝１〜８）に相当する。
【００３１】
しかしながら、画像が光学フィルターを用いて撮影されている場合には、実際の光源サイズが大きくなれば、画像内における光源の大きさは増すものの、実際の光源のサイズがある一定の大きさを超えると、画像内に発生するクロスの太さは太くならない。よって、光源領域に描画するクロスの太さｗｉｄｔｈは、光源領域の面積Ｓや光源の拡がりｂｉを加味して算出しつつ、一定の上限値ｗｉｄｔｈ＿ｌｉｍｉｔを設けておくのが適切である。実質的にも画像のサイズが比較的小さい場合には、描画するクロスの太さに上限を設けておかないと、画像サイズに比してアンバランスに太いクロスを描画することになってしまうので、上限値ｗｉｄｔｈ＿ｌｉｍｉｔの設定には画像のサイズも考慮に入れることが好ましい。
【００３２】
また、極端に細いクロスも不自然であるのでｗｉｄｔｈの下限値Ｍｉｎ＿ｗｉｄｔｈも設定するようにし、例えば、Ｍｉｎ＿ｗｉｄｔｈ＝３（ｐｉｘｅｌ）としておく。さらに、クロスの中心軸からの対称性を考慮して最終的なｗｉｄｔｈの値は奇数になるようにする。
【００３３】
具体的には、クロスサイズ決定部１０３ｂは、次のようにしてクロスのサイズを決定する。まず、クロスサイズ決定部１０３ｂは、画像サイズＷ（ｐｉｘｅｌ）×Ｈ（ｐｉｘｅｌ）に対して、次式（７）〜（９）に示す条件式を用いて、クロスの太さの上限値ｗｉｄｔｈ＿ｌｉｍｉｔ（ｐｉｘｅｌ）を設定する。
ｍｉｎ（Ｗ，Ｈ）＜１０００  →  ｗｉｄｔｈ＿ｌｉｍｉｔ＝５  ・・・（７）
１０００≦ｍｉｎ（Ｗ，Ｈ）≦２０００  →  ｗｉｄｔｈ＿ｌｉｍｉｔ＝７  ・・・（８）
２０００＜ｍｉｎ（Ｗ，Ｈ）  →  ｗｉｄｔｈ＿ｌｉｍｉｔ＝９  ・・・（９）
【００３４】
次に、クロスサイズ決定部１０３ｂは、光源領域の面積Ｓに基づく仮想半径Ｔｅｍｐ＿Ｒを次式（１０）によって算出する。
【数１】
2008305081.tif 000003
【００３５】
さらに、クロスサイズ決定部１０３ｂは、クロスの太さを決定するための仮想太さＴｅｍｐ＿ｗｉｄｔｈ（ｐｉｘｅｌ）を次式（１１）で算出する。
Ｔｅｍｐ＿ｗｉｄｔｈ＝２×ｍｉｎ（ｍｉｎｂｉ，Ｔｅｍｐ＿Ｒ）  ・・・（１１）
【００３６】
そして、クロスサイズ決定部１０３ｂは、次式（１２）に示すように、算出したＴｅｍｐ＿ｗｉｄｔｈがクロスの太さの下限値Ｍｉｎ＿ｗｉｄｔｈより小さい場合には、クロスの太さｗｉｄｔｈを下限値Ｍｉｎ＿ｗｉｄｔｈとする。また、次式（１３）に示すように、算出したＴｅｍｐ＿ｗｉｄｔｈがクロスの太さの上限値ｗｉｄｔｈ＿ｌｉｍｉｔより大きい場合には、クロスの太さｗｉｄｔｈを上限値ｗｉｄｔｈ＿ｌｉｍｉｔとする。
Ｔｅｍｐ＿ｗｉｄｔｈ＜Ｍｉｎ＿ｗｉｄｔｈ  →  ｗｉｄｔｈ＝Ｍｉｎ＿ｗｉｄｔｈ  ・・・（１２）
Ｔｅｍｐ＿ｗｉｄｔｈ＞ｗｉｄｔｈ＿ｌｉｍｉｔ  →  ｗｉｄｔｈ＝ｗｉｄｔｈ＿ｌｉｍｉｔ  ・・・（１３）
【００３７】
また、クロスサイズ決定部１０３ｂは、算出したＴｅｍｐ＿ｗｉｄｔｈが式（１２）および（１３）のいずれの条件にも当てはまらない場合、すなわちＭｉｎ＿ｗｉｄｔｈ≦Ｔｅｍｐ＿ｗｉｄｔｈ≦ｗｉｄｔｈ＿ｌｉｍｉｔである場合には、算出したＴｅｍｐ＿ｗｉｄｔｈの小数点以下を切り捨てて整数値にする。そして、その整数値が奇数である場合には、その整数値をクロスの太さｗｉｄｔｈとし、整数値が偶数である場合には、その整数値に１を加算した値をクロスの太さｗｉｄｔｈとする。
【００３８】
次に、クロスの長さの決定方法について説明する。原則として、実際の光源のサイズが大きいほど長いクロスを描画するようにする。このため、クロスの長さ光源領域の面積Ｓに応じて決めればよい。この場合、概ねｌｏｇＳに比例させてクロスの長さを決めると、各光源のサイズに応じたバランスのよい長さになることが知られている。しかしながら、単純にクロスの長さｌｅｎｇｔｈ（ｐｉｘｅｌ）を次式（１４）により算出した場合には、光源領域の面積Ｓが小さいときは、クロスの長さが短すぎてしまいバランスを失する可能性がある。なお、次式（１４）において、Ａはあらかじめ設定された比例定数である。
ｌｅｎｇｔｈ＝Ａ×ｌｏｇＳ  ・・・（１４）
【００３９】
そこで、本実施の形態では、クロスの最低長を定めておき、常に一定の長さ以上のクロスを描画できるようにする。この最低長も画像のサイズＷ（ｐｉｘｅｌ）×Ｈ（ｐｉｘｅｌ）に応じて決めるのが妥当である。このとき、太いクロスほど長めのクロスを描画したほうがバランスがよいので、クロスの太さが上述した下限値Ｍｉｎ＿ｗｉｄｔｈ（＝３ｐｉｘｅｌ）よりも太いときには、クロスの長さが若干長くなるように補正するようにする。
【００４０】
以上のことを加味して、クロスサイズ決定部１０３ｂは、例えば、次式（１５）によりクロスの長さｌｅｎｇｔｈを算出する。
【数２】
2008305081.tif 000004
なお、式（１５）において、ｍｉｎ（Ｗ，Ｈ）／２０は、画像サイズに応じたクロスの最低長Ｍｉｎ＿Ｌｅｎｇｔｈであり、αは、上述したように、クロスの太さに応じてクロスの長さを補正するためのパラメーターである。
【００４１】
クロス色決定部１０３ｃは、上述した光源領域特定部１０３ａによる処理で特定された光源位置を起点として描画するクロスの色を決定する。画像内における光源の中心部においては、その色は光源の色に関わらず白色となるため、その位置におけるＲ、Ｇ、Ｂの値はいずれも２５５に近くなり、クロスの色を決定するための情報として用いるには不適当である。本実施の形態では、特定した光源領域内の外側部分、すなわち重心から所定距離離れた点の色情報に基づいて、クロスの色を決定する場合について説明する。例えば、クロス色決定部１０３ｃは、図６に示す光源領域６ａにおいて、中心部分の領域６ｂではなく、その外側の領域６ｃ内の点の色情報を用いてクロスの色を決定する。
【００４２】
具体的には、クロス色決定部１０３ｃは、次のように処理を行う。まず、クロス色決定部１０３ｃは、外側の領域６ｃ内の点の色情報を得るために、光源領域の重心、すなわち上述した第２の抽出領域の重心ｇＢから上下左右および斜め方向の８方向を対象として、次式（１６）または（１７）のいずれかを満たす点を走査し、条件を満たす点を各方向から１点ずつ、すなわち８点抽出する。
ｍａｘ（Ｒ，Ｇ，Ｂ）−ｍｉｎ（Ｒ，Ｇ，Ｂ）＞１４０  ・・・（１６）
Ｙ＜１００  ・・・（１７）
【００４３】
クロス色決定部１０３ｃは、抽出した８点に対して、色相環の角度の分布を調べ、分布から大きく外れている点を排除する。そして、クロス色決定部１０３ｃは、残った点の色相環の角度の平均に基づいてクロスの色（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）を決定する。
【００４４】
クロス描画部１０３ｄは、光源領域特定部１０３ａで特定した光源位置を起点として、クロスサイズ決定部１０３ｂで決定した太さおよび長さで、かつクロス色決定部１０３ｃで決定した色のクロスを描画する。なお、本実施の形態では、クロス描画部１０３ｄは、実際にクロスフィルターを使用して光源を撮影した場合に現れる現象を再現して、より自然なクロスを描画できるように処理を行う。
【００４５】
例えば、実際にクロスフィルターを使用して光源を撮影した場合には、発生するクロスは光源から離れるにつれて減衰していく。すなわちクロスは光源から離れるにつれて細くなり、輝度は徐々に低下していく。このときクロスは必ずしも単純に減衰するとは限らず、クロスが十分長い場合には減衰→増幅→減衰と周期的に減衰する部分が現れる。図７は、クロスフィルターを使用した場合に画像内に発生するクロスの減衰の状況を模式的に表した図である。なお、この図７は、説明の簡略化のために光源に発生するクロスのうち、光源から右方向に延びる輝線のみを抽出して表している。
【００４６】
例えば、発生するクロスの長さが短い場合には、図７（ａ）に示すように、クロスは徐々に減衰して消滅する（単純減衰）が、クロスの長さが長い場合には、図７（ｂ）に示すように、クロスは減衰と増幅を繰り返した後に消滅する（周期的減衰）。本実施の形態では、このような実際にクロスフィルターを使用して撮影した場合と同様の効果が得られるように、クロス描画部１０３ｄは、クロスサイズ決定部１０３ｂで決定した描画するクロスの長さに基づいて、クロスの減衰のさせ方を単純減衰と周期的減衰のいずれにするかを決定する。
【００４７】
また、図７に示したように、クロスフィルターを使用することによって発生するクロスは、光源から離れるに従って細くなっていく。よって、図８（ａ）に示すように、クロスサイズ決定部１０３ｂで決定したクロスの太さ（ｗｉｄｔｈ）を、クロスの長さ（ｌｅｎｇｔｈ）分保つように描画した場合には、クロスが不自然になってしまう。このため、本実施の形態では、クロス描画部１０３ｄは、図８（ｂ）に示すように、光源から離れるにつれてクロスが細くなるように、クロスの中心軸上の画素に描画するクロスの長さは算出したｌｅｎｇｔｈとするが、その上下の画素上に描画するクロスの長さは、中心軸から離れるにつれて短くなるようにする。
【００４８】
また、光源が白色光源である場合には、実際にクロスフィルターを用いて撮影を行うと、クロスには虹色が現れるので、クロス描画部１０３ｄは、この現象を再現するためにクロスの色が白色か否かで減衰処理を変えるようにする。以下、クロス描画部１０３ｄによる処理の具体例について説明する。
【００４９】
クロス描画部１０３ｄは、まず、クロス色決定部１０３ｃで決定したクロスの色（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）に基づいて、描画するクロスの色が白色であるか否かを判定する。具体的には、クロスの色（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）が次式（１８）の条件を満たす場合には、クロスの色は白色であると判定し、条件を満たさない場合には、クロスの色は非白色であると判定する。
ｍａｘ（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）―ｍｉｎ（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）＜３０  ・・・（１８）
【００５０】
クロス描画部１０３ｄは、判定したクロスの色に応じたクロスの描画処理を行う。まず、クロスの色が非白色である場合の描画処理について説明する。なお、本実施の形態では、描画するクロスのうち、この図７に示したような光源から右方向に延びる輝線を描画する処理の具体例について説明する。他の方向（例えば、上、下、左など）に延びる輝線については、以下に説明する処理と同様の処理で各方向に描画を行えばよいため説明を省略する。
【００５１】
クロス描画部１０３ｄは、まず、クロスの太さｗｉｄｔｈに基づいて、クロスの中心軸の上下に、それぞれ何画素分のクロスを描画する必要があるかを、次式（１９）によって算出する。ここで、クロスの中心軸の上および下にそれぞれ描画する必要がある画素数をｎとする。
ｎ＝（ｗｉｄｔｈ−１）／２  ・・・（１９）
例えば、図８に示した例では、ｗｉｄｔｈ＝５であるため、クロスの中心軸の上下に、それぞれ２画素ずつのクロスを描画する必要がるため、ｎ＝２が算出される。
【００５２】
なお、ここでは光源から右側に延びる輝線を描画する場合を想定しているため、クロスの中心軸の上下に、それぞれ何画素分のクロスを描画する必要があるかを算出するが、光源から上側または下側に延びる輝線を描画する場合には、クロスの中心軸の左右に、それぞれ何画素分のクロスを描画する必要があるかを算出する必要がある。
【００５３】
次に、クロス描画部１０３ｄは、クロスの中心軸上の画素、およびその上下の画素のそれぞれに描画するクロスの長さを算出する。すなわち、クロスの長さｌｅｎｇｔｈは既に算出済みであるが、図８で上述したように、クロスの中心軸上の画素に描画するクロスの長さはｌｅｎｇｔｈとするが、その上下の画素上に描画するクロスの長さは中心軸から離れるにつれて短くする必要がある。このため、中心軸からｋ番目（ｋ＝０，１，２，・・・・ｎ）のクロスの長さをｅｎｄｋとし、式（１５）における第３項をＬとして、ｅｎｄｋを次式（２０）および（２１）により算出する。
【００５４】
なお、クロスの中心軸上の画素に描画するクロスの長さはｅｎｄ０と表し、中心軸から上方向に１番目の画素、および下方向に１番目の画素にそれぞれ描画するクロスの長さはｅｎｄ１と表す。以下、同様に中心軸から上および下方向に２番目の画素にそれぞれ描画するクロスの長さはｅｎｄ２と表し、上下方向にｎ番目の画素にそれぞれ描画するクロスの長さはｅｎｄｎと表す。
【００５５】
ｗｉｄｔｈ＝３  →  ｅｎｄ０＝ｌｅｎｇｔｈ，
ｅｎｄ１＝ｌｅｎｇｔｈ−（Ｌ／２）  ・・・（２０）
ｗｉｄｔｈ＞３  →  ｅｎｄ０＝ｅｎｄ１＝ｌｅｎｇｔｈ，
ｅｎｄｋ＝ｌｅｎｇｔｈ−（Ｌ／２）×（（ｋ−１）／ｎ）  ・・・（２１）
【００５６】
さらに、クロス描画部１０３ｄは、上述したように、クロスの長さｌｅｎｇｔｈに基づいて、クロスの減衰のさせ方を単純減衰と周期的減衰のいずれにするかを決定する。具体的には、次式（２２）および（２３）により決定する。
ｌｅｎｇｔｈ＜３×Ｍｉｎ＿Ｌｅｎｇｔｈ  →  単純減衰  ・・・（２２）
ｌｅｎｇｔｈ≧３×Ｍｉｎ＿Ｌｅｎｇｔｈ  →  周期的減衰  ・・・（２３）
【００５７】
まず、クロスの減衰のさせ方を単純減衰とする場合のクロスの描画方法について説明する。この場合は、クロス描画部１０３ｄは、光源位置から右方向への変位をｘとし、ｘ＝Ｙ＿ｂｒとなる点を次式（２４）により定義する。
Ｙ＿ｂｒ＝Ｍｉｎ＿Ｌｅｎｇｔｈ＋ｍａｘａｉ＋（Ｌ／３）  ・・・（２４）
【００５８】
そして、図９に示すように、輝度値Ｙが０≦ｘ≦Ｙ＿ｂｒの範囲においては２次式、Ｙ＿ｂｒ≦ｘ≦ｅｎｄｋにおいては１次式を用いて減衰させるような関数Ｙ（ｘ）を設定する。図９において、Ｙ＿ＭＡＸ、Ｙ＿ＭＩＤ１、Ｙ＿ＭＩＤ２、Ｙ＿ＭＩＮ１、およびＹ＿ＭＩＮ２は、クロスの減衰のさせ方を決めるパラメーターであり、例えば、Ｙ＿ＭＡＸ＝２５０、Ｙ＿ＭＩＤ１＝２００、Ｙ＿ＭＩＤ２＝１５０、Ｙ＿ＭＩＮ１＝８０、Ｙ＿ＭＩＮ２＝３０程度の値が設定される。
【００５９】
例えば、中心軸からｋ番目のクロスの輝度の減衰式は、２点（Ｙ＿ｂｒ，Ｙ＿ＭＩＤ１−（（Ｙ＿ＭＩＤ１−Ｙ＿ＭＩＤ２）／ｎ）・ｋ）、および（ｅｎｄｋ，Ｙ＿ＭＩＮ１−（（Ｙ＿ＭＩＮ１−Ｙ＿ＭＩＮ２）／ｎ）・ｋ）を通るように求めればよい。
【００６０】
そして、ＣｋおよびＤｋを次式（２５）および（２６）に示すように定義すると、０≦ｘ≦Ｙ＿ｂｒにおける２次式は次式（２７）のようになり、Ｙ＿ｂｒ≦ｘ≦ｅｎｄｋにおける１次式は次式（２８）のようになる。
【数３】
2008305081.tif 000005
【数４】
2008305081.tif 000006
【数５】
2008305081.tif 000007
【数６】
2008305081.tif 000008
【００６１】
以上をもとに、ｘにおけるクロスの各ＲＧＢ値(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)は、（Ｉｎｉｔ＿Ｒ，ＩｎｉｔＧ，ＩｎｉｔＢ）から、ＹＣｂＣｒ色空間における色差ＣｒおよびＣｂの値をそれぞれ求めた後、（Ｙ（ｘ），Ｃｒ，Ｃｂ）から(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)へ変換することにより求められる。なお、ＲＧＢ色空間からＹＣｂＣｒ色空間への変換式は次式（２９）〜（３１）で表され、ＹＣｂＣｒ色空間からＲＧＢ色空間への色変換は、次式（２９）〜（３１）の逆変換式を用いて行う。
Ｙ＝０．２９９０Ｒ＋０．５８７０Ｇ＋０．１１４０Ｂ  ・・・（２９）
Ｃｒ＝０．４９７８Ｒ−０．４１８５Ｇ−０．０８１３Ｂ  ・・・（３０）
Ｃｂ＝−０．１６８６Ｒ−０．３３１１Ｇ＋０．４９９７Ｂ  ・・・（３１）
【００６２】
なお、(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)を算出した結果、Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）のいずれかに０未満または２５５より大きい値が算出された場合には、０未満の場合は０に、２５５より大きい場合には２５５にそれぞれ補正する。
【００６３】
次に入力画像の（Ｒ，Ｇ，Ｂ）の値と(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)の混合比率Ｒａｔｉｏ（ｘ）を定め、ｘ位置における画素値(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)を次式（３２）により算出する。
【数７】
2008305081.tif 000009
ここで混合比率Ｒａｔｉｏ（ｘ）は、図１０に示すようなＲａｔｉｏ＿ｂｒを分岐点とする１次関数を用いる。
【００６４】
図１０においては、例えば、Ｒａｔｉｏ＿ＭＡＸ＝１．０、Ｒａｔｉｏ＿ＭＩＤ＝０．８０、Ｒａｔｉｏ＿ＭＩＮ１＝０．４０、およびＲａｔｉｏ＿ＭＩＮ２＝０．２０とすればよい。また、中心軸からｋ番目のクロスの輝度のＲａｔｉｏ（ｘ）の具体的な１次式は、２点（Ｒａｔｉｏ＿ｂｒ，Ｒａｔｉｏ＿ＭＡＸ−（Ｒａｔｉｏ＿ＭＡＸ−Ｒａｔｉｏ＿ＭＩＤ）／ｎ）・ｋ）、および（ｅｎｄｋ，Ｒａｔｉｏ＿ＭＩＮ１−（（Ｒａｔｉｏ＿ＭＩＮ１−Ｒａｔｉｏ＿ＭＩＮ２）／ｎ）・ｋ）を通るように求めればよい。
【００６５】
そして、ＥｋおよびＦｋを次式（３３）および（３４）に示すように定義すると、０≦ｘ≦Ｒａｔｉｏ＿ｂｒにおける１次式は、次式（３５）のようになり、Ｒａｔｉｏ＿ｂｒ≦ｘ≦ｅｎｄｋにおける１次式は、次式（３６）のようになる。
【数８】
2008305081.tif 000010
【数９】
2008305081.tif 000011
【数１０】
2008305081.tif 000012
【数１１】
2008305081.tif 000013
【００６６】
クロス描画部１０３ｄは、上述した式（３２）を用いて、ｘ位置における画素値（Ｒ（ｘ），Ｇ（ｘ），Ｂ（ｘ））を算出し、光源領域特定部１０３ａで特定した光源位置を起点としてクロスを描画することにより、クロスの色が非白色である場合の単純減衰するクロスを画像内に描画することができる。
【００６７】
次に、クロスの減衰のさせ方を周期的減衰とする場合のクロスの描画方法について説明する。この場合も単純減衰の場合と同様に、Ｙ（ｘ）およびＲａｔｉｏ（ｘ）を設定し、クロス描画部１０３ｄは、式（３２）を用いて、ｘ位置における画素値（Ｒ（ｘ），Ｇ（ｘ），Ｂ（ｘ））を算出し、光源領域特定部１０３ａで特定した光源位置を起点とするクロスを描画することにより画像内にクロスを描画することができる。なお、上述した単純減衰の場合の処理と同様の処理については、説明を省略する。
【００６８】
この場合における輝度値Ｙを減衰させるための関数Ｙ（ｘ）は、図１１に示すようになる。すなわち、Ｙ＿ｂｒ１で極小となり、Ｙ＿ｂｒ２≦ｘでは単純に減衰するように設定する。ここで、例えば、Ｙ＿ＭＡＸ＝２５０、Ｙ＿ＭＩＤ１＝２００、Ｙ＿ＭＩＤ２＝１８０、Ｙ＿ＬＯＣ＿ＭＩＮＩ１＝１００、Ｙ＿ＬＯＣ＿ＭＩＮＩ２＝５０、Ｙ＿ＭＩＮ１＝４０、およびＹ＿ＭＩＮ２＝２０程度の値が設定される。また、Ｙ＿ｂｒ１＝ｌｅｎｇｔｈ／３、Ｙ＿ｂｒ２＝ｌｅｎｇｔｈ／２とする。
【００６９】
なお、関数Ｙ（ｘ）は、輝度値Ｙが０≦ｘ≦Ｙ＿ｂｒ１、およびＹ＿ｂｒ１≦ｘ≦Ｙ＿ｂｒ１の範囲においては２次式、Ｙ＿ｂｒ２≦ｘ≦ｅｎｄｋにおいては１次式を用いて減衰させるように設定される。例えば、中心軸からｋ番目のクロスの輝度の減衰式は、３点（Ｙ＿ｂｒ１，Ｙ＿ＬＯＣ＿ＭＩＤ１−（（Ｙ＿ＬＯＣ＿ＭＩＤ１−Ｙ＿ＬＯＣ＿ＭＩＤ２）／ｎ）・ｋ）、（Ｙ＿ｂｒ２，Ｙ＿ＭＩＤ１−（（Ｙ＿ＭＩＤ１−Ｙ＿ＭＩＤ２）／ｎ）・ｋ）、および（ｅｎｄｋ，Ｙ＿ＭＩＮ１−（（Ｙ＿ＭＩＮ１−Ｙ＿ＭＩＮ２）／ｎ）・ｋ）を通るように求めればよい。
【００７０】
そして、Ｌｋ、Ｍｋ、およびＮｋを次式（３７）、（３８）、および（３９）に示すように定義すると、０≦ｘ≦Ｙ＿ｂｒ１における２次式は次式（４０）のようになり、Ｙ＿ｂｒ１≦ｘ≦Ｙ＿ｂｒ１における２次式は次式（４１）のようになり、Ｙ＿ｂｒ２≦ｘ≦ｅｎｄｋにおける１次式は、次式（４２）のようになる。
【数１２】
2008305081.tif 000014
【数１３】
2008305081.tif 000015
【数１４】
2008305081.tif 000016
【数１５】
2008305081.tif 000017
【数１６】
2008305081.tif 000018
【数１７】
2008305081.tif 000019
【００７１】
また、混合比率Ｒａｔｉｏ（ｘ）は、図１２に示すようなＲａｔｉｏ＿ｂｒ１、およびＲａｔｉｏ＿ｂｒ２を分岐点とする１次関数を用いる。図１２において、分岐点Ｒａｔｉｏ＿ｂｒ１、およびＲａｔｉｏ＿ｂｒ２は、それぞれ上述したＹ＿ｂｒ１、およびＹ＿ｂｒ２とほぼ同じでよい。また、Ｒａｔｉｏ＿ＭＡＸ＝１．０、Ｒａｔｉｏ＿ＭＩＤ１＝０．９０、Ｒａｔｉｏ＿ＬＯＣ＿ＭＩＤ１＝０．８０、Ｒａｔｉｏ＿ＭＩＤ２＝０．６０、Ｒａｔｉｏ＿ＬＯＣ＿ＭＩＤ２＝０．４０、Ｒａｔｉｏ＿ＭＩＮ１＝０．３０、およびＲａｔｉｏ＿ＭＩＮ２＝０．２０程度とすればよい。
【００７２】
また、中心軸からｋ番目のクロスの輝度のＲａｔｉｏ（ｘ）の具体的な１次式は、３点（Ｒａｔｉｏ＿ｂｒ１，Ｒａｔｉｏ＿ＬＯＣ＿ＭＩＤ１−（（Ｒａｔｉｏ＿ＬＯＣ＿ＭＩＤ１−Ｒａｔｉｏ＿ＬＯＣ＿ＭＩＤ２）／ｎ）・ｋ）、（Ｒａｔｉｏ＿ｂｒ２，Ｒａｔｉｏ＿ＭＩＤ１−（（Ｒａｔｉｏ＿ＭＩＤ１−Ｒａｔｉｏ＿ＭＩＤ２）／ｎ）・ｋ）、および（ｅｎｄｋ，Ｒａｔｉｏ＿ＭＩＮ１−（（Ｒａｔｉｏ＿ＭＩＮ１−Ｒａｔｉｏ＿ＭＩＮ２）／ｎ）・ｋ）を通るように求めればよい。
【００７３】
そして、Ｓｋ、Ｔｋ、およびＵｋを次式（４３）、（４４）、および（４５）に示すように定義すると、０≦ｘ≦Ｒａｔｉｏ＿ｂｒ１における２次式は次式（４６）のようになり、Ｒａｔｉｏ＿ｂｒ１≦ｘ≦Ｒａｔｉｏ＿ｂｒ２における２次式は次式（４７）のようになり、Ｒａｔｉｏ＿ｂｒ２≦ｘ≦ｅｎｄｋにおける１次式は、次式（４８）のようになる。
【数１８】
2008305081.tif 000020
【数１９】
2008305081.tif 000021
【数２０】
2008305081.tif 000022
【数２１】
2008305081.tif 000023
【数２２】
2008305081.tif 000024
【数２３】
2008305081.tif 000025
【００７４】
次に、クロスの色が白色である場合の処理について説明する。なお、クロスの色が白色である場合も、関数Ｙ（ｘ）およびＲａｔｉｏ（ｘ）は、非白色の場合と同様であるため、これらの説明については省略する。一方、クロスの色が白色である場合には、ｘ位置における画素値(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)の算出方法が、非白色の場合と異なるため、この算出方法について説明する。
【００７５】
上述したように、クロスの色が白色である場合には、実際にクロスフィルターを用いて撮影を行った場合に、クロスに虹色が現れる現象を再現する。虹色のクロスは、ｘ位置における色相Ｈを周期的に変化させることにより実現することができる。具他的には、クロス描画部１０３ｄは、まず、暫定的にｘ位置でのＲＧＢ値を（Ｙ（ｘ），Ｙ（ｘ），Ｙ（ｘ））とし、（Ｙ（ｘ），Ｙ（ｘ），Ｙ（ｘ））からＨＳＶ色空間に変換して（Ｈ，Ｓ，Ｖ）を得る。そして、（Ｈ，Ｓ，Ｖ）におけるＨを、次式（４９）で表されるＨ（ｘ）に置き換えた後、（Ｈ（ｘ），Ｓ，Ｖ）からＲＧＢ値に変換して、このＲＧＢ値をｘ位置における(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)とする。
【数２４】
2008305081.tif 000026
【００７６】
クロス描画部１０３ｄは、このように算出したｘ位置における(Ｃｒｏｓｓ＿Ｒ（ｘ），Ｃｒｏｓｓ＿Ｇ（ｘ），Ｃｒｏｓｓ＿Ｂ（ｘ）)を用いて、式（３２）を用いてｘ位置における画素値（Ｒ（ｘ），Ｇ（ｘ），Ｂ（ｘ））を算出し、光源領域特定部１０３ａで特定した光源位置を起点とするクロスを画像上に描画すれば、虹色を再現したクロスを描画することができる。
【００７７】
また、クロス描画部１０３ｄは、クロスの中心部分、すなわち複数の輝線が交差する部分の光が拡散するような効果を付すための補正も行う。例えば、上述した処理によって、光源位置を起点とし、上下左右の４方向に延びるクロスを描画した場合には、図１３（ａ）に示すように、クロスの中心部分には角が目立つことになる。そこで、本実施の形態では、図１３（ｂ）に示すように、クロスの中心部分に拡散を付与して、実際にクロスフィルターを用いて撮影した場合と同様の効果を得る。
【００７８】
具体的には、クロス描画部１０３ｄは、図１４に示すように、光源位置を原点Ｏとするｘｙ座標系をとり、第一象限、第二象限、第三象限、および第四象限のそれぞれに拡散効果を付与していく。ここでは、第一象限に対して拡散効果を付与する場合について説明するが、その他の象限についても同様に処理を行えばよい。
【００７９】
まず、クロス描画部１０３ｄは、第１象限内に次式（５０）で表される、ｎ＝（ｗｉｄｔｈ−１）／２に対して２点（ｎ，２ｎ）および（２ｎ，ｎ）を通るアステロイドの式を用いた曲線を設定する。
【数２５】
2008305081.tif 000027
そして、設定した曲線の下側の領域であって、ｘ≧ｎかつｙ≧ｎを満たす領域を拡散光の効果を付与する領域として特定する。
【００８０】
クロス描画部１０３ｄは、特定した領域内における各点（ｘ，ｙ）における輝度Ｙ（ｘ，ｙ）を、次式（５１）によって算出する。
【数２６】
2008305081.tif 000028
特定した領域内における入力画像との混合比率Ｒａｔｉｏ（ｘ，ｙ）を、所定の値、例えば０．９０に設定し、式（３２）を適用して領域内の各画素のＲＧＢ値を算出して、描画する。これによって、クロスの中心部分に拡散効果を付与することができる。
【００８１】
図１５は、本実施の形態における画像処理装置の処理を示すフローチャートである。図１５に示す処理は、使用者によって画像に対してクロス効果を付与するように指示された場合に起動するプログラムとして、制御装置１０３によって実行される。
【００８２】
ステップＳ１０において、制御装置１０３は、クロスを描画する対象の画像データをＨＤＤ１０４から読み込んで、ステップＳ２０へ進む。ステップＳ２０では、光源領域特定部１０３ａは、図１６で後述する処理を実行して、画像内における光源領域を特定する。その後、ステップＳ３０へ進み、クロスサイズ決定部１０３ｂは、図１７で後述する処理を実行して、画像内に描画するクロスのサイズ、すなわちクロスの太さおよび長さを決定する。その後、ステップＳ４０へ進む。
【００８３】
ステップＳ４０では、クロス色決定部１０３ｃは、図１８で後述する処理を実行して、画像内に描画するクロスの色を決定する。その後、ステップＳ５０へ進み、クロス描画部１０３ｄは、ステップＳ２０で特定した光源位置に、ステップＳ３０で決定したサイズ、およびステップＳ４０で決定した色のクロスを描画する。その後、処理を終了する。
【００８４】
図１６は、ステップＳ２０で実行される光源領域特定処理の流れを示すフローチャートである。ステップＳ２１において、光源領域特定部１０３ａは、輝度値Ｙが所定の輝度値Ｙ１以上（例えば、Ｙ１＝２５０）である画素で構成される領域（第１の抽出領域）を抽出する。その後、ステップＳ２２へ進み、光源領域特定部１０３ａは、輝度値Ｙが所定の輝度値Ｙ２以上（例えば、Ｙ２＝２４０）である画素で構成される領域（第２の抽出領域）を抽出する。その後、ステップＳ２３へ進む。
【００８５】
ステップＳ２３では、光源領域特定部１０３ａは、ステップＳ２１およびステップＳ２２で抽出した各領域の包含関係をチェックする。すなわち、上述したように、第２の抽出領域内に第１の抽出領域を複数含むか否かをチェックする。その後、ステップＳ２４へ進み、上述したように、第２の抽出領域の重心とその内部に含まれる第１の抽出領域の重心との位置関係、および第２の抽出領域の面積とその内部に含まれる第１の抽出領域の面積との比に基づいて、第２の抽出領域が光源を含む光源領域であるか否かを判定して、画像内における光源領域を特定する。その後、図１５に示した処理に復帰する。
【００８６】
図１７は、ステップＳ３０で実行されるクロスサイズ決定処理の流れを示すフローチャートである。ステップＳ３１において、クロスサイズ決定部１０３ｂは、上述したように、画像サイズＷ（ｐｉｘｅｌ）×Ｈ（ｐｉｘｅｌ）に基づいて、クロスの太さの下限値Ｍｉｎ＿ｗｉｄｔｈを決定する。その後、ステップＳ３２へ進み、クロスサイズ決定部１０３ｂは、光源領域の重心から縁までの長さｂｉを算出して、ステップＳ３３へ進む。
【００８７】
ステップＳ３３では、クロスサイズ決定部１０３ｂは、上述した式（１０）によって、光源領域の面積Ｓに基づく仮想半径Ｔｅｍｐ＿Ｒを算出する。その後、ステップＳ３４へ進み、クロスサイズ決定部１０３ｂは、式（１１）で算出したＴｅｍｐ＿ｗｉｄｔｈと、クロスの太さの下限値Ｍｉｎ＿ｗｉｄｔｈとの大小関係を比較して、クロスの太さを決定する。その後、ステップＳ３５へ進む。
【００８８】
ステップＳ３５では、クロスサイズ決定部１０３ｂは、上述したように、画像のサイズＷ（ｐｉｘｅｌ）×Ｈ（ｐｉｘｅｌ）に応じてクロスの最低長を算出する。その後、ステップＳ３６へ進み、クロスサイズ決定部１０３ｂは、上述した式（１５）により、クロスの長さｌｅｎｇｔｈを算出する。その後、図１５に示した処理に復帰する。
【００８９】
図１８は、ステップＳ４０で実行されるクロス色決定処理の流れを示すフローチャートである。ステップＳ４１では、クロス色決定部１０３ｃは、光源領域の外側領域、すなわち図６に示した外側の領域６ｃ内の点の色情報を得るために、光源領域の重心から上下左右および斜め方向の８方向を対象として、式（１６）または（１７）のいずれかを満たす点を走査し、条件を満たす点を各方向から１点ずつ、すなわち８点抽出する。
【００９０】
その後、ステップＳ４２へ進み、クロス色決定部１０３ｃは、抽出した８点に対して、色相環の角度の分布を調べ、ステップＳ４３へ進む。ステップＳ４３では、色相環の角度の分布を調べた結果、分布から大きく外れている点を排除し、残った点の色相環の角度の平均に基づいてクロスの色（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）を決定する。その後、図１５に示した処理に復帰する。
【００９１】
図１９は、ステップＳ５０で実行されるクロス描画処理の流れを示すフローチャートである。ステップＳ５１において、クロス描画部１０３ｄは、クロスの長さｌｅｎｇｔｈが一定の長さ以上であるか否かを判断する。肯定判断した場合には、ステップＳ５２へ進み、クロス描画部１０３ｄは、クロスの色は白色であるか否かを判断する。否定判断した場合には、ステップＳ５３へ進み、クロス描画部１０３ｄは、上述したように、ＹＣｂＣｒ色空間を用いて、周期的に減衰するクロスの描画を行って、ステップＳ５５へ進む。ステップＳ５５では、クロス描画部１０３ｄは、上述したように、クロスの中心部分に拡散効果を付与して、図１５に示した処理に復帰する。
【００９２】
これに対して、ステップＳ５２で肯定判断した場合には、ステップＳ５４へ進み、クロス描画部１０３ｄは、上述したように、ＨＳＶ色空間を用いて、周期的に減衰するクロスの描画を行って、上述したステップＳ５５へ進む。その後、図１５に示した処理に復帰する。
【００９３】
また、ステップＳ５１で否定判断した場合には、ステップＳ５６へ進む。ステップＳ５６では、クロス描画部１０３ｄは、クロスの色は白色であるか否かを判断する。否定判断した場合には、ステップＳ５７へ進み、クロス描画部１０３ｄは、上述したように、ＹＣｂＣｒ色空間を用いて、単純減衰するクロスの描画を行って、上述したステップＳ５５へ進む。その後、図１５に示した処理に復帰する。
【００９４】
これに対して、ステップＳ５６で肯定判断した場合には、ステップＳ５８へ進み、クロス描画部１０３ｄは、上述したように、ＨＳＶ色空間を用いて、単純減衰するクロスの描画を行って、上述したステップＳ５５へ進む。その後、図１５に示した処理に復帰する。
【００９５】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）光源領域特定部１０３ａは、画像内から輝度値Ｙが所定の輝度値Ｙ１以上の領域を第1の抽出領域として抽出し、画像内から輝度値ＹがＹ１よりも小さい所定の輝度値Ｙ２以上の領域を第２の抽出領域として抽出し、第1の抽出領域および第２の抽出領域の特徴量に基づいて、画像内の光源を含む光源領域を特定するようにした。これによって、１つの輝度値を用いて光源を特定する場合と比較して、光源の特定精度を向上することができる。
【００９６】
（２）光源領域特定部１０３ａは、第２の抽出領域の面積と第２の抽出領域内に含まれる第１の抽出領域の面積との比、および第２の抽出領域の重心と第２の抽出領域内に含まれる第１の抽出領域の重心との位置関係に基づいて、第２の抽出領域が光源領域であるか否かを特定するようにした。すなわち、第1の抽出領域および第２の抽出領域の特徴量として面積および重心を用いるようにした。これによって、画像内における光源領域を精度高く特定することができる。
【００９７】
（３）光源領域特定部１０３ａは、第２の抽出領域の重心と、第２の抽出領域内に含まれる第１の抽出領域の重心との位置関係に基づいて、光源領域内に含まれる光源位置を特定するようにした。これによって、画像内における光源位置を精度高く特定することができる。
【００９８】
（４）クロス描画部１０３ｄは、光源領域特定部１０３ａで特定した光源領域を起点として複数方向に輝線を描画することで画像上にクロスを描画するようにした。これによって、画像に光源領域を中心としたクロス効果を付与することができる。
【００９９】
（５）クロスサイズ決定部１０３ｂは、画像の大きさ、および光源領域の面積を加味して、描画する輝線の太さおよび長さを決定するようにした。これによって、画像の大きさと光源領域の面積とを加味した、バランスの良いサイズのクロスを描画することが可能となる。
【０１００】
（６）クロス色決定部１０３ｃは、光源領域内の重心から所定距離以上離れた点の色情報に基づいて、描画する輝線の色を決定するようにした。これによって、画像内における光源の中心部においては、その色は光源の色に関わらず白色となるため、クロスの色を決定するための情報として用いるには不適当であるが、光源領域内の外側部分の色情報に基づいて輝線の色を決定することで、光源の色に合った最適な色を決定することができる。
【０１０１】
（７）クロス描画部１０３ｄは、輝線の長さ、および輝線の色に基づいて、輝線の描画方法を変化させるようにした。具体的には、輝線の長さが所定の長さ未満である場合には、輝線の輝度が光源領域の重心から離れるに従って単純減衰するように描画するようにし、輝線の長さが所定の長さ以上である場合には、輝線の輝度が光源領域の重心から離れるに従って周期的に減衰と増幅を繰り返すように描画するようにした。また、輝線の色が白色である場合には、輝線の色相を周期的に変化させるようにした。これによって、描画するクロスに、実際にクロスフィルターを使用して白色光源を撮影した場合に得られる画像と同様の効果を付与することができる。
【０１０２】
（８）クロス描画部１０３ｄは、複数の輝線が交差する部分、すなわちクロスの中心部分に光の拡散効果を付与するようにした。これによって、描画するクロスに、実際にクロスフィルターを使用して光源を撮影した場合に得られる画像と同様の効果を付与することができる。
【０１０３】
―変形例―
なお、上述した実施の形態の画像処理装置は、以下のように変形することもできる。
（１）上述した実施の形態では、第２の抽出領域内に含まれる複数の第１の抽出領域の重心ｇｉのうち、第２の抽出領域の重心ｇＢから最も近い位置に存在するものを重心Ｇとして抽出し、これを光源位置として特定した。そして、この光源位置を起点としてクロスを描画する例について説明した。しかしながら、第２の抽出領域の重心ｇＢから一定の範囲内にある第１の抽出領域の重心ｇｉを全て光源位置として特定し、それぞれの光源位置を起点としてクロスを描画するようにしてもよい。また、第２の抽出領域の重心ｇＢを光源位置として特定してもよい。
【０１０４】
（２）上述した実施の形態では、クロス色決定部１０３ｃは、第２の抽出領域の重心ｇＢから上下左右および斜め方向の８方向を対象として、式（１６）または（１７）のいずれかを満たす点を走査して各方向から１点ずつ、すなわち８点を抽出した。そして、抽出した８点に対して、色相環の角度の分布を調べ、分布から大きく外れている点を排除し、残った点の色相環の角度の平均に基づいてクロスの色（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）を決定する例について説明した。しかしながら、これに限定されず、クロス色決定部１０３ｃは、例えば、抽出した８点のうち、任意の４点、例えば輝度値Ｙの大きさが３番目、４番目、５番目、および６番目となる４点を抽出し、その４点のＲ、Ｇ、Ｂの各値の平均をとってクロスの色（Ｉｎｉｔ＿Ｒ，Ｉｎｉｔ＿Ｇ，Ｉｎｉｔ＿Ｂ）としてもよい。
【０１０５】
（３）上述した実施の形態では、光源領域特定部１０３ａで特定した光源位置にクロスを描画する例について説明した。しかしながら、光源領域特定部１０３ａで特定した光源領域、または光源位置を他の画像処理で用いるようにしてもよい。例えば、画像内における光源領域、または光源位置の分布状況を解析して、画像の明るさを自動的に判別するような画像処理に用いるようにしてもよい。
【０１０６】
（４）光源領域特定部１０３ａは、第1の抽出領域および第２の抽出領域の特徴量として面積および重心を用いて画像内の光源を含む光源領域を特定する例について説明した。しかしながら、第1の抽出領域および第２の抽出領域の特徴量として他の情報を用いて光源領域を特定するようにしてもよい。例えば、第1の抽出領域および第２の抽出領域の重心に代えて、第1の抽出領域および第２の抽出領域内の輝度値が最も高い点を特徴量として用いてもよい。また、第1の抽出領域および第２の抽出領域の重心に代えて、第1の抽出領域の外接長方形の中心点、および第２の抽出領域の外接長方形の中心点をそれぞれ特徴量として用いてもよい。
【０１０７】
（５）上述した実施の形態では、画像処理装置１００としてパソコンを用いる例について説明した。しかしながら、画像処理装置１００として、画像を記録する他の情報機器、例えばデジタルカメラや携帯電話を用いることも可能である。
【０１０８】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【図面の簡単な説明】
【０１０９】
【図１】画像処理装置の一実施の形態の構成を示すブロック図である。
【図２】第１の抽出領域と外形枠との接点の具体例を示す図である。
【図３】第１の抽出領域の重心から領域の縁までの８方向の距離の具体例を示す図である。
【図４】第２の抽出領域内に含まれる第１の抽出領域の具体例を示す図である。
【図５】第２の抽出領域が光源領域である場合とそうでない場合の具体例を示す図である。
【図６】光源の中心部分の領域と外側の部分の領域の具体例を示す図である。
【図７】クロスフィルターを使用した場合に画像内に発生するクロスの減衰の状況を模式的に表した図である。
【図８】描画するクロスの太さおよび長さを模式的に表した図である。
【図９】クロスの減衰のさせ方を単純減衰とする場合のＹ（ｘ）の具体例を示す図である。
【図１０】クロスの減衰のさせ方を単純減衰とする場合のＲａｔｉｏ（ｘ）の具体例を示す図である。
【図１１】クロスの減衰のさせ方を周期的減衰とする場合のＹ（ｘ）の具体例を示す図である。
【図１２】クロスの減衰のさせ方を周期的減衰とする場合のＲａｔｉｏ（ｘ）の具体例を示す図である。
【図１３】クロスの中心部分に付与する拡散効果を模式的に示した図である。
【図１４】クロスの中心部分に拡散効果を付加する方法を具体的に示した図である。
【図１５】画像処理装置の処理を示すフローチャート図である。
【図１６】光源領域特定処理の流れを示すフローチャート図である。
【図１７】クロスサイズ決定処理の流れを示すフローチャート図である。
【図１８】クロス色決定処理の流れを示すフローチャート図である。
【図１９】クロス描画処理の流れを示すフローチャート図である。
【符号の説明】
【０１１０】
１００  画像評価装置、１０１  操作部材、１０２  接続ＩＦ、１０３  制御装置、１０３ａ  光源領域特定部、１０３ｂ  クロスサイズ決定部、１０３ｃ  クロス色決定部、１０３ｄ  クロス描画部、１０４  ＨＤＤ、１０５  モニタ
【図１】
2008305081.tif 000029
【図２】
2008305081.tif 000030
【図３】
2008305081.tif 000031
【図４】
2008305081.tif 000032
【図５】
2008305081.tif 000033
【図６】
2008305081.tif 000034
【図７】
2008305081.tif 000035
【図８】
2008305081.tif 000036
【図９】
2008305081.tif 000037
【図１０】
2008305081.tif 000038
【図１１】
2008305081.tif 000039
【図１２】
2008305081.tif 000040
【図１３】
2008305081.tif 000041
【図１４】
2008305081.tif 000042
【図１５】
2008305081.tif 000043
【図１６】
2008305081.tif 000044
【図１７】
2008305081.tif 000045
【図１８】
2008305081.tif 000046
【図１９】
2008305081.tif 000047