(57)【要約】【課題】  物体への塗装を行う前であっても、塗装後に生じる光輝感を疑似的に表現するための画像処理を提供することを目的とする。【解決手段】  フレークを複数含む塗料を用いた塗装を物体に対して行う場合の、前記フレークにおける光の反射によって生じる輝点を含む画像を表す画像データを生成する画像処理装置であって、前記塗料に関する情報を取得する取得手段と、前記情報に基づいて、前記輝点を含む画像を表す画像データを生成する生成手段と、を有することを特徴とする画像処理装置。【選択図】  図８
2019102058.tif 000002
【特許請求の範囲】
【請求項１】
フレークを複数含む塗料を用いた塗装を物体に対して行う場合の、前記フレークにおける光の反射によって生じる輝点を含む画像を表す画像データを生成する画像処理装置であって、
前記塗料に関する情報を取得する取得手段と、
前記塗料に関する情報に基づいて、前記輝点を含む画像を表す画像データを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記塗料に関する情報に基づいて、前記塗料の層の厚みと、前記フレークのサイズ及び量と、を表す第１データを取得する第２取得手段をさらに有し、
前記生成手段は、前記第１データに基づいて、前記輝点を含む画像を表す画像データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データが表す画像における、前記フレークに対応する輝点のランダムな配置を表す配置データを取得する第３取得手段をさらに有し、
前記生成手段は、前記配置データにさらに基づいて、前記輝点を含む画像を表す画像データを生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記輝点を含む画像を表す画像データは、画像における前記フレークに対応する輝点のランダムな配置と、前記フレークの向きに関する情報と、前記フレークのサイズと、の対応関係を表すデータであることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記第２取得手段は、前記層の厚みと、前記フレークのサイズの度数分布と、を表す前記第１データを取得することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記塗料に関する情報に基づいて、前記フレークの向きに関する情報を算出する算出手段をさらに有し、
前記生成手段は、前記フレークの向きに関する情報に基づいて、前記輝点を含む画像を表す画像データを生成することを特徴とする請求項２乃至請求項５のいずれか一項に記載の画像処理装置。
【請求項７】
前記算出手段は、前記フレークの向きに関する情報として、前記フレークの表面に対する法線を算出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
光源が前記物体に照射する光の強度と前記光源の位置とを表す第２データと、前記物体を観察する位置を表す第３データと、前記物体の表面に対する法線の分布を表す第４データと、を取得する第４取得手段をさらに有し、
前記生成手段は、前記第２データと、前記第３データと、前記第４データと、に基づいて、前記フレークの位置に対応する前記画像の画素に記録するための反射強度を算出することによって、前記画像データを生成することを特徴とする請求項３に記載の画像処理装置。
【請求項９】
前記第４取得手段は、前記第２データに基づいて、前記フレークの位置から前記光源の位置への方向を表す第１ベクトルを算出し、前記第３データに基づいて、前記フレークの位置から前記観察する位置への方向を表す第２ベクトルを算出し、
前記生成手段は、前記第１ベクトルと前記第２ベクトルと前記光の強度とに基づいて、前記フレークの位置に対応する前記画像の画素に記録するための反射強度を算出することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記算出手段は、前記層の厚みと前記フレークのサイズとに基づいて、前記フレークが傾くことができる方向を決定し、前記傾くことができる方向に基づいて、前記フレークの向きに関する情報を算出することを特徴とする請求項６又は請求項７に記載の画像処理装置。
【請求項１１】
前記算出手段は、前記層の厚みと前記フレークのサイズとに基づいて、前記フレークの表面に対する法線が傾くことができる方向を決定し、前記傾くことができる方向に基づいて、前記フレークの表面に対する法線を算出することを特徴とする請求項７に記載の画像処理装置。
【請求項１２】
前記算出手段は、前記層の厚みと前記フレークのサイズとに基づいて、前記フレークの表面に対する法線が傾くことができる方向を決定し、前記傾くことができる方向のうちからランダムに前記フレークの表面に対する法線の方向を決定することを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記物体の表面における拡散反射の反射強度を表す第５データを取得する第５取得手段をさらに有し、
前記生成手段は、前記第５データにさらに基づいて、前記画像データを生成することを特徴とする請求項８又は請求項９に記載の画像処理装置。
【請求項１４】
前記生成手段は、前記フレークの位置に対応する前記画像の画素に記録するための反射強度に、前記拡散反射の反射強度を加算することによって、前記画像データを生成すること特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記物体の表面における鏡面反射の反射強度を表す第６データを取得する第６取得手段をさらに有し、
前記生成手段は、前記第６データにさらに基づいて、前記画像データを生成することを特徴とする請求項８、請求項９、請求項１３、請求項１４のいずれか一項に記載の画像処理装置。
【請求項１６】
前記生成手段は、前記フレークの位置に対応する前記画像の画素に記録するための反射強度に、前記鏡面反射の反射強度を加算することによって、前記画像データを生成することを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記生成手段は、生成した前記輝点を含む画像を表す画像データをディスプレイに出力することを特徴とする請求項１乃至請求項１６のいずれか一項に記載の画像処理装置。
【請求項１８】
前記フレークは金属であることを特徴とする請求項１乃至請求項１７のいずれか一項に記載の画像処理装置。
【請求項１９】
前記フレークはマイカであることを特徴とする請求項１乃至請求項１７のいずれか一項に記載の画像処理装置。
【請求項２０】
前記物体の周囲の環境における照明分布を表す環境光データと、前記物体を観察する位置を表す第３データと、前記物体の表面に対する法線の分布を表す第４データと、を取得する第４取得手段をさらに有し、
前記生成手段は、前記環境光データと、前記第３データと、前記第４データと、に基づいて、前記フレークの位置に対応する前記画像の画素に記録するための反射強度を算出することによって、前記画像データを生成することを特徴とする請求項３に記載の画像処理装置。
【請求項２１】
フレークを複数含む層を有する物体について、前記フレークにおける反射によって生じる光輝感を表現するためのデータを生成する画像処理装置であって、
前記層の厚みと、前記フレークのサイズと、を表すデータを取得する第１取得手段と、
前記データが表す前記層の厚み及び前記フレークのサイズに基づいて、前記フレークの傾きに関する情報を取得する第２取得手段と、
前記情報に基づいて、前記光輝感を表現するためのデータを生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２２】
フレークを複数含む層を有する物体について、前記フレークにおける反射によって生じる輝点を含む画像を表す画像データを生成する画像処理装置であって、
前記フレークのサイズを表すフレークサイズデータを取得する取得手段と、
前記フレークサイズデータに基づいて、前記層の厚みを複数変化させた場合の、前記輝点を含む画像を表す画像データをそれぞれ生成する生成手段と、
を有することを特徴とする画像処理装置。
【請求項２３】
コンピュータを請求項１乃至請求項２２のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項２４】
フレークを複数含む塗料を用いた塗装を物体に対して行う場合の、前記フレークにおける光の反射によって生じる輝点を含む画像を表す画像データを生成する画像処理方法であって、
前記塗料に関する情報を取得する取得ステップと、
前記塗料に関する情報に基づいて、前記輝点を含む画像を表す画像データを生成する生成ステップと、
を有することを特徴とする画像処理方法。
【請求項２５】
フレークを複数含む層を有する物体について、前記フレークにおける反射によって生じる光輝感を表現するためのデータを生成する画像処理方法であって、
前記層の厚みと、前記フレークのサイズと、を表すデータを取得する第１取得ステップと、
前記データが表す前記層の厚み及び前記フレークのサイズに基づいて、前記フレークの傾きに関する情報を取得する第２取得ステップと、
前記情報に基づいて、前記光輝感を表現するためのデータを生成する生成ステップと、
を有することを特徴とする画像処理方法。
【請求項２６】
フレークを複数含む層を有する物体について、前記フレークにおける反射によって生じる輝点を含む画像を表す画像データを生成する画像処理方法であって、
前記フレークのサイズを表すフレークサイズデータを取得する取得ステップと、
前記フレークサイズデータに基づいて、前記層の厚みを複数変化させた場合の、前記輝点を含む画像を表す画像データをそれぞれ生成する生成ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光輝感を表現するための画像処理技術に関する。
【背景技術】
【０００２】
工業デザインの分野においては、塗装や加飾加工を施すことによって製品の表面に質感を付与したり、製品に付与する質感をＣＧ（コンピュータグラフィックス）によって表示したりすることが多くなっている。特に、製品に高級感を与えるために、照明の位置や観察角度の変化に応じて、微小な輝点の位置がきらきらと変化する特性を表面に付与することがある。以下、微小な輝点の位置がきらきらと変化する特性によって生じる感覚を光輝感と呼ぶ。特許文献１においては、輝点の大きさや数を表す情報に基づいて、光輝感を疑似的に表現するための構造体を記録媒体上に形成する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１５６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１が開示する技術においては、輝点の大きさや数を表す情報に基づいて光輝感を表現する。しかし、輝点の大きさや数は、物体への塗装を行った後にその物体を観察することによって得られる情報である。したがって、塗装後に生じる光輝感を疑似的に表現することしかできないという課題がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、物体への塗装を行う前であっても、塗装後に生じる光輝感を疑似的に表現するための画像処理を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、フレークを複数含む塗料を用いた塗装を物体に対して行う場合の、前記フレークにおける光の反射によって生じる輝点を含む画像を表す画像データを生成する画像処理装置であって、前記塗料に関する情報を取得する取得手段と、前記情報に基づいて、前記輝点を含む画像を表す画像データを生成する生成手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、物体への塗装を行う前であっても、塗装後に生じる光輝感を疑似的に表現することができる。
【図面の簡単な説明】
【０００８】
【図１】光輝感を生じさせるために形成される塗膜の層構造を示す図
【図２】画像処理装置のハードウェア構成を示すブロック図
【図３】フレークサイズごとの塗膜の層構造を示す図
【図４】塗膜を構成するメタリック層に関するパラメータを説明するための図
【図５】画像処理装置の論理構成を示すブロック図
【図６】画像処理装置が実行する処理を示すフローチャート
【図７】ＵＩの一例を示す図
【図８】光輝感画像データを生成するための処理を示すフローチャート
【図９】メタリック層におけるフレークの傾きを説明するための図
【図１０】画像処理装置の論理構成を示すブロック図
【図１１】画像処理装置が実行する処理を示すフローチャート
【図１２】反射特性を算出する処理を示すフローチャート
【図１３】光輝感を表現するための処理を示すフローチャート
【図１４】出力画像データを生成する処理を示すフローチャート
【図１５】画像処理装置の論理構成を示すブロック図
【図１６】画像処理装置が実行する処理を示すフローチャート
【図１７】ＵＩの一例を示す図
【図１８】光輝感データのデータ構造を示す図
【図１９】画像処理装置の論理構成を示すブロック図
【図２０】画像処理装置が実行する処理を示すフローチャート
【図２１】ＵＩの一例を示す図
【図２２】光輝感画像データを生成するための処理を示すフローチャート
【図２３】ディスプレイに表示された出力画像の一例を示す図
【図２４】画像処理装置の論理構成を示すブロック図
【図２５】画像処理装置が実行する処理を示すフローチャート
【図２６】ＵＩの一例と環境マップとを示す図
【図２７】光輝感画像データを生成するための処理を示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面を参照して詳細に説明する。尚、以下の実施形態は本発明を必ずしも限定するものではない。また、以下の実施形態において説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、同一の構成については、同一の符号を付して説明する。
【００１０】
［第１実施形態］
＜光輝感を表現する方法＞
図１は、塗装によって形成される塗料の層の一例を示す図である。図１に示す塗料の層は、色を付与するための発色層と、光沢を付与するためのクリア層と、光輝感を表現するためのメタリック層と、を有する。メタリック層は、アルミなどの金属の薄いかけら（フレーク）を複数含んでいる。フレークはメタリック層においてさまざまな方向を向いているため、観察位置に応じてフレークにおいて鏡面反射（正反射）した光が視認される位置が変化する。この特性によって観察者は、塗装された物体がきらきらと光っているという感覚（光輝感）を得ることができる。尚、上述した塗装は、例えば、車体に対するスプレー塗装や、メタリックインクを塗料として用いるプリンタによる塗装などがある。
【００１１】
メタリック層に含まれるフレークの向きは、層の厚みとフレークのサイズとによって制限される。図３は、フレークサイズごとの塗膜の層構造を示す図である。図３（ａ）はメタリック層の厚みに対してフレークサイズが小さい場合を示しており、図３（ｂ）はメタリック層の厚みに対してフレークサイズが大きい場合を示している。図３（ａ）のようにフレークサイズが層の厚みに対して小さい場合は、フレークは自由にさまざまな方向を向くことができる。一方、図３（ｂ）のようにフレークサイズが層の厚みに対して大きい場合は、層の厚みによってフレークの向きは制限される。この観点に基づいて、本実施形態においては、メタリック層の厚みとフレークサイズとを表す情報を用いた処理によって、光輝感を表現するためのデータを生成する。具体的には、メタリック層の厚みとフレークサイズの度数分布とを表す情報に基づいてフレークの表面に対する法線の方向を算出し、算出された法線方向に基づいて所定の幾何条件において鏡面反射する方向を特定する。図４は、塗膜を構成するメタリック層に関するパラメータを説明するための図である。図４（ａ）に示すメタリック層の厚みＤとフレークサイズＳとを用いて、フレークの表面に対する法線ｎｆを算出する。ただし、層の中にはサイズが異なる複数のフレークが含まれているため、フレークサイズＳとフレークサイズＳごとのフレークの量とを両方得るために、図４（ｂ）に示すフレークサイズの度数分布Ｆ（Ｓ）を法線ｎｆの算出に用いる。尚、本実施形態におけるフレークは、円盤状のフレークであり、フレークのサイズは円の直径とする。
【００１２】
上述したメタリック層の厚みとフレークサイズの度数分布とを表す情報を用いた処理によって、幾何条件ごとに輝点の大きさや輝点の数などのパラメータを入力することなく、光輝感の表現が可能となる。このため、ユーザは、塗装を行う前か後かに関わらず、塗膜の厚みと塗装に用いる塗料に含まれるフレークサイズとを入力することによって、塗装後に生じる光輝感を確認することができる。
【００１３】
＜画像処理装置１のハードウェア構成＞
図２は、画像処理装置１のハードウェア構成例である。画像処理装置１は、例えばコンピュータであり、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、汎用Ｉ／Ｆ（インターフェース）１０４、ＳＡＴＡ（シリアルＡＴＡ）Ｉ／Ｆ１０５、ＶＣ（ビデオカード）１０６を備える。ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとして、ＲＯＭ１０２、ＨＤＤ（ハードディスクドライブ）１７などに格納されたＯＳ（オペレーティングシステム）や各種プログラムを実行する。また、ＣＰＵ１０１は、システムバス１０７を介して各構成を制御する。尚、後述するフローチャートによる処理は、ＲＯＭ１０２やＨＤＤ１７などに格納されたプログラムコードがＲＡＭ１０３に展開され、ＣＰＵ１０１によって実行される。汎用Ｉ／Ｆ１０４には、シリアルバス１２を介して、マウスやキーボードなどの入力デバイス１３やプリンタ１４が接続される。ＳＡＴＡＩ／Ｆ１０５には、シリアルバス１６を介して、ＨＤＤ１７や各種記録メディアの読み書きを行う汎用ドライブ１８が接続される。ＣＰＵ１０１は、ＨＤＤ１７や汎用ドライブ１８にマウントされた各種記録メディアを各種データの格納場所として使用する。ＶＣ１０６には、ディスプレイ１５が接続される。ＣＰＵ１０１は、プログラムによって提供されるＵＩ（ユーザインターフェース）をディスプレイ１５に表示し、入力デバイス１３を介して得られたユーザの指示を表す入力情報を受信する。尚、画像処理装置１は、ディスプレイ１５やプリンタ１４に含まれていてもよい。
【００１４】
＜画像処理装置１の論理構成＞
図５は、画像処理装置１の論理構成を示すブロック図である。以下に示す各部の処理は、ＣＰＵ１０１がＲＯＭ１０２等からＲＡＭ１０３上に読み込んだコンピュータプログラムを実行することによって、ソフトウェアとして実施される。尚、以下に示す処理のすべてがＣＰＵ１０１によって実行される必要はなく、処理の一部または全部がＣＰＵ１０１以外の一つまたは複数の処理回路によって行われるように画像処理装置１が構成されていてもよい。
【００１５】
画像処理装置１は、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、第５取得部５０５、第１生成部５０６、第２生成部５０７、第３生成部５０８、合成部５０９を有する。第１取得部５０１は、物体の表面に対する法線の分布を表す法線データを取得する。第２取得部５０２は、物体から光源への方向を示す光源ベクトルや光源が照射する光の強度を表す光源条件データを取得する。第３取得部５０３は、物体から観察者（カメラ）への方向を示す観察ベクトルを表す観察条件データを取得する。第４取得部５０４は、物体の拡散反射の反射強度と鏡面反射の反射強度とを表す反射強度データを取得する。第５取得部５０５は、塗膜の厚みとフレークサイズの度数分布とを表す光輝感データを取得する。第１生成部５０６は、法線データ、光源条件データ、反射強度データに基づいて、ユーザが設定した幾何条件において得られる拡散反射光の強度を表す拡散反射画像データを生成する。拡散反射画像データが表す拡散反射画像の各画素に拡散反射光の強度が記録されている。第２生成部５０７は、法線データ、光源条件データ、観察条件データ、反射強度データに基づいて、ユーザが設定した幾何条件において得られる鏡面反射光の強度を表す鏡面反射画像データを生成する。鏡面反射画像データが表す鏡面反射画像の各画素には鏡面反射光の強度が記録されている。第３生成部５０８は、法線データ、光源条件データ、観察条件データ、光輝感データに基づいて、光輝感を表現するための光輝感画像データを生成する。光輝感画像データが表す光輝感画像の各画素には、ユーザが設定した幾何条件においてフレーク上で鏡面反射した光の強度が記録されている。合成部５０９は、拡散反射画像データ、鏡面反射画像データ、光輝感画像データに基づいて、反射光の拡散反射成分及び鏡面反射成分と、光輝感を表現するための光輝感成分と、の和を算出する。また、算出した和を各画素に記録した出力画像を表す出力画像データを生成する。具体的には、画像データそれぞれの各画素値を足し合わせることによって、出力画像の画素値を算出する。尚、光輝感をより強調したい場合などには、重み付けを行ってから加算してもよい。
【００１６】
＜画像処理装置１が実行する処理＞
図６は画像処理装置１において実行される処理を示すフローチャートである。以下、図６を用いて画像処理装置１における処理の詳細を説明する。尚、下記処理は入力デバイス１３を介したユーザからの指示を受け付けることによって開始する。以下、各ステップ（工程）は符号の前にＳをつけて表す。
【００１７】
Ｓ５１０において、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４及び第５取得部５０５は、ユーザからの指示に基づいてデータを取得する。具体的には、第１取得部５０１は、法線データを取得する。第２取得部５０２は、光源条件データを取得する。第３取得部５０３は、観察条件データを取得する。第４取得部は、反射強度データを取得する。第５取得部５０５は、光輝感データを取得する。ここで、法線データは、位置（ｘ，ｙ，ｚ）における面の傾きを表す３次元ベクトルの分布を表す法線マップｎ（ｘ，ｙ，ｚ）＝（ｎｘ，ｎｙ，ｎｚ）である。法線マップは、予め特定のパターン光が投影された物体を撮像する方法やレーザスキャナを用いる方法を利用して物体の形状を取得し、物体の形状から法線を算出することによって生成しておく。光源条件データは、物体における位置から光源の位置への向きを表す光源ベクトルｌ＝（ｌｘ，ｌｙ，ｌｚ）及び光源から照射される光の強度Ｅを表すデータである。光源ベクトルは、図７に示すＵＩを介して得られた光源の位置、向き及び種類に基づいて算出される。例えば、光源の種類が点光源である場合は、光源の位置を用いて光源ベクトルを算出し、光源が面光源などの平行光源である場合は、光源の方向を用いて光源ベクトルを算出する。尚、ＵＩを介して入力された光源ベクトルを直接取得してもよい。観察条件データは、物体における位置から観察する位置への向きを表す観察ベクトルｖ＝（ｖｘ，ｖｙ，ｖｚ）を表すデータである。観察ベクトルは、図７のＵＩを介して入力されたカメラの位置、向き及び画角に基づいて算出される。具体的には、カメラの位置、向き及び画角を用いて位置（ｘ，ｙ，ｚ）に対応する画像上の画素位置（ｕ，ｖ）を算出することによって、観察ベクトルを算出する。尚、ＵＩを介して入力された観察ベクトルを直接取得してもよい。反射強度データは、拡散反射の反射強度Ｒｄと鏡面反射の反射強度Ｒｓとを表すデータである。光輝感データは、メタリック層の厚みＤとフレークサイズの度数分布Ｆ（Ｓ）とを表すデータである。
【００１８】
Ｓ５２０において、第１生成部５０６は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ及び拡散反射強度Ｒｄに基づいて、拡散反射画像Ｉｄを表す拡散反射画像データを生成する。拡散反射画像Ｉｄの画素値は、Ｉｄ（ｕ，ｖ）によって表す。ここで（ｕ，ｖ）は、位置（ｘ，ｙ，ｚ）に対応する画像上の画素位置を表す。拡散反射画像データの生成処理の詳細については後述する。
【００１９】
Ｓ５３０において、第２生成部５０７は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ及び鏡面反射強度Ｒｓに基づいて、鏡面反射画像Ｉｓを表す鏡面反射画像データを生成する。鏡面反射画像Ｉｓの画素値は、Ｉｓ（ｕ，ｖ）によって表す。鏡面反射画像データの生成処理の詳細については後述する。
【００２０】
Ｓ５４０において、第３生成部５０８は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ、メタリック層の厚みＤ及びフレークサイズの度数分布Ｆ（Ｓ）に基づいて、光輝感画像データを生成する。光輝感画像データが表す光輝感画像Ｉｆの画素値は、Ｉｆ（ｕ，ｖ）によって表す。光輝感画像データの生成処理の詳細については後述する。
【００２１】
Ｓ５５０において、合成部５０９は、各画素についてＩｄ（ｕ，ｖ）とＩｓ（ｕ，ｖ）とＩｆ（ｕ，ｖ）との和を算出し、算出した和Ｉｏｕｔ（ｕ，ｖ）を各画素に記録した出力画像Ｉｏｕｔを表す出力画像データを生成する。また、合成部５０９は、生成した出力画像データをディスプレイ１５に出力する。出力画像データの生成処理の詳細については後述する。
【００２２】
＜拡散反射画像データの生成処理＞
Ｓ５２０において、第１生成部５０６は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ及び拡散反射強度Ｒｄに基づいて、拡散反射画像Ｉｄの各画素値Ｉｄ（ｕ，ｖ）を算出する。具体的には、ランバートの余弦則に基づいた式（１）を用いて、Ｉｄ（ｕ，ｖ）を算出する。
Ｉｄ（ｕ，ｖ）＝Ｅ×Ｒｄ×ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｌ）・・・式（１）
ここで、ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｌ）は法線マップｎ（ｘ，ｙ，ｚ）と光源ベクトルｌとの内積演算を表し、内積が負になる場合は０に置きかえる。
【００２３】
＜鏡面反射画像データの生成処理＞
Ｓ５３０において、第２生成部５０７は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ及び鏡面反射強度Ｒｓに基づいて、鏡面反射画像Ｉｓの各画素値Ｉｓ（ｕ，ｖ）を算出する。具体的には、Ｂｌｉｎｎ−Ｐｈｏｎｇのモデルに基づいた式（２）を用いて、Ｉｓ（ｕ，ｖ）を算出する。
Ｉｓ（ｕ，ｖ）＝Ｅ×Ｒｓ×ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｈ）ｎ・・・式（２）
ここで、ｈは光源ベクトルｌと観察ベクトルｖとの中間のベクトル（ハーフベクトル）であり、ｈ＝（１＋ｖ）／｜１＋ｖ｜によって算出される。定数ｎは鏡面反射の拡がり度合いを表す値であり、値が大きくなると鏡面反射の拡がりは小さくなる。定数ｎには、図７に示すＵＩを介したユーザの指示に基づいた値を用いてもよいし、予め決められた値を用いてもよい。
【００２４】
＜光輝感画像データの生成処理＞
Ｓ５４０において、第３生成部５０８は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ、メタリック層の厚みＤ及びフレークサイズの度数分布Ｆ（Ｓ）に基づいて、画素値Ｉｆ（ｕ，ｖ）を算出する。具体的には、フレークの向きについてメタリック層の厚みによる物理的な制約がある状態において、メタリック層に含まれる各フレークの位置と向きとをランダムに決定することによって、層構造を考慮した光輝感画像データを生成する。図８は、Ｓ５４０において第３生成部５０８が実行する処理を示すフローチャートである。以下、図８を用いて光輝感画像データの生成処理を詳細に説明する。
【００２５】
Ｓ５４１において、第３生成部５０８は、Ｓ５１０において取得されたフレークサイズの度数分布Ｆ（Ｓ）を参照し、Ｓ５４２〜Ｓ５４７をフレークサイズＳごとに実行する。
【００２６】
Ｓ５４２において、第３生成部５０８は、Ｓ５４１において参照しているフレークサイズＳ及びＳ５１０において取得されたメタリック層の厚みＤに基づいて、フレークの表面に対する法線（以下、フレーク法線と呼ぶ）の確率分布を算出する。フレーク法線の確率分布は、フレークサイズＳのフレークが層内においてとりえる向きを表す。フレークの向きは層の厚みにより制限されるため、まず、層内においてフレークが傾くことができる最大の角度を算出する。フレーク法線ｎｆは球面座標系の天頂角θおよび方位角φにより、式（３）を用いて表す。
ｎｆ＝（ｃｏｓφｓｉｎθ，ｓｉｎφｓｉｎθ，ｃｏｓθ）・・・式（３）
層内においてフレークが傾くことができる最大の角度は、図９に示すように、メタリック層の上面と下面とにフレークの両端が接するように配置された場合の角度である。これにより、フレーク法線ｎｆが取りえる天頂角の最大値θｍａｘは式（４）により算出される。
【００２７】
【数１】
2019102058.tif 000003
【００２８】
方位角φについては、メタリック層の厚みによる制限はない。以上より、フレーク法線ｎｆは、式（５）が示す天頂角θ、方位角φの範囲内に存在する。
【００２９】
【数２】
2019102058.tif 000004
【００３０】
フレークは、この値の範囲において自由に向きをとることができるため、天頂角θの確率分布ｐ（θ）及び方位角φの確率分布ｐ（φ）は式（６）によって表される。
【００３１】
【数３】
2019102058.tif 000005
【００３２】
Ｓ５４３において、第３生成部５０８は、Ｓ５４２において算出した確率分布ｐ（θ）及びｐ（φ）に基づいてランダムにθとφとを決定することによって、フレーク法線ｎｆを算出する。θとφとについて独立に０〜１の範囲の乱数値ｒθ、ｒφを設定し、それぞれの確率分布の累積分布関数と乱数値とが一致するθ、φを選択することによって、確率分布ｐ（θ）及びｐ（φ）に応じたθ、φを得ることができる。確率分布ｐ（θ）及び確率分布ｐ（φ）の累積分布関数と乱数値ｒθ、ｒφとの関係を式（７）に示す。
【００３３】
【数４】
2019102058.tif 000006
式（７）に示した乱数値と累積分布関数との関係によって、θとφとを式（８）に示すように算出する。
【００３４】
θ＝ｒθθｍａｘ
φ＝ｒφ２π
・・・式（８）
式（８）を用いて算出したθ及びφを式（１）に代入し、フレークの向きを表すフレーク法線ｎｆを算出する。
【００３５】
Ｓ５４４において、第３生成部５０８は、Ｓ５４３において算出したフレーク法線ｎｆに基づいて、フレーク上で反射した光の強度（反射強度）を算出する。フレークにおいては金属と同様に鏡面反射が起こるため、反射光の拡がりは考慮せずに、式（９）が示すモデルに基づいて反射強度ｉｆを算出する。
ｉｆ＝Ｅ×δ（｜ｎｆ−ｈ｜）・・・式（９）
ここで、δ（ｘ）はデルタ関数であり、式（１０）に示す値をとる。
【００３６】
【数５】
2019102058.tif 000007
【００３７】
式（９）に示すモデルにより、光源ベクトルと観察ベクトルとが鏡面反射の幾何条件を満たす場合に、反射強度ｉｆは値を持ち、それ以外の場合に、反射強度ｉｆは０となる。これによって、幾何条件の変化に応じて輝点の位置が変わる特性を表現することができる。
【００３８】
Ｓ５４５において、第３生成部５０８は、法線データにおいてフレークを配置する位置を決定する。法線データにおける位置（ｘ，ｙ，ｚ）から、フレークを配置する位置（ｘ，ｙ，ｚ）をランダムに選択する。尚、予めフレークをランダムに配置する位置を表す配置データを生成しておき、その配置データを取得することによって配置を決定してもよい。尚、本ステップの処理は、実際にフレークを置く位置を決める処理ではなく、仮想的にフレークを配置する位置を決定することによって、次のステップＳ５４６においてフレークに対応する輝点の位置を決定できるようにするための処理である。
【００３９】
Ｓ５４６において、第３生成部５０８は、光輝感画像Ｉｆに、Ｓ５４４において算出した反射強度ｉｆを記録する。具体的には、Ｓ５４５において得たフレークの配置位置（ｘ，ｙ，ｚ）を中心に、フレークサイズＳのフレークが法線ｎｆの向きに配置される場合、式（１１）に示す関数に従って反射強度Ｉｆを記録する。
Ｉｆ（ｕ，ｖ）＝Ａ（（ｕ，ｖ），ｎｆ，Ｓ）ｉｆ・・・式（１１）
Ａ（（ｕ，ｖ），ｎｆ，Ｓ）は、画像上の位置（ｕ，ｖ）において、Ｓ５４５においてランダムに選択された位置（ｘ，ｙ，ｚ）に配置されたフレークが観測されない場合は０を返す関数である。一方で、Ａ（（ｕ，ｖ），ｎｆ，Ｓ）は、画像上の位置（ｕ，ｖ）においてフレークが観測される場合は、画像上の位置（ｕ，ｖ）の画素サイズに対してフレークが占める割合ｔを返す関数である。これにより、フレークが画像上の複数画素にまたがるように配置される場合においても、光輝感画像Ｉｆに反射強度を記録することができる。また、反射強度を記録した後、フレークを１つ配置したとしてカウント数に１を加える。尚、フレークの配置数のカウントはフレークサイズＳごとに行う。また、カウント数の初期値はそれぞれ０とする。本ステップの処理により、フレークに対応する輝点のランダムな配置を決定することができる。
【００４０】
Ｓ５４７において、第３生成部５０８は、配置したフレークサイズＳのフレークの数を表すカウント数が、参照しているフレークサイズＳの度数に達しているか否かを判定する。カウント数が参照しているフレークサイズＳの度数以上である場合は、Ｓ５４１に戻って別のフレークサイズＳを参照してＳ５４２〜５４７の処理を行う。カウント数が参照しているフレークサイズＳの度数未満である場合は、Ｓ５４３〜Ｓ５４６の処理を再び実行し、フレークサイズＳのフレークに応じた反射強度を光輝感画像Ｉｆに記録する。
【００４１】
＜出力画像データの生成処理＞
Ｓ５５０において、合成部２０９は、拡散反射画像Ｉｄ、鏡面反射画像Ｉｓ、光輝感画像Ｉｆの各画素値について和Ｉｏｕｔ（ｕ，ｖ）を算出し、出力画像Ｉｏｕｔを表す出力画像データを生成する。具体的には、式（１２）を用いて、出力画像Ｉｏｕｔの各画素値Ｉｏｕｔ（ｕ，ｖ）を算出する。本実施形態においては、Ｒ、Ｇ、Ｂのそれぞれについて画素値を算出するため、光輝感画像Ｉｆの画素値は、Ｒ、Ｇ、Ｂ各チャンネルの画素値が全て同じ値であるとして、和を算出する。
Ｉｏｕｔ（ｕ，ｖ）＝Ｉｄ（ｕ，ｖ）＋Ｉｓ（ｕ，ｖ）＋Ｉｆ（ｕ，ｖ）・・・式（１２）
さらに、生成した出力画像データをディスプレイ１５に出力する。
【００４２】
＜第１実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、層の厚みと、フレークのサイズと、に基づいて、フレークの向きに関する情報を算出する算出する。さらに、算出された情報に基づいて、光輝感を表現するためのデータを生成する。これにより、物体への塗装を行う前に得られるパラメータを入力することによって、光輝感を表現することができる。したがって、物体への塗装を行う前であっても、塗装後に生じる光輝感を疑似的に表現することができる。
【００４３】
［第２実施形態］
第１実施形態においては、入力された幾何条件に応じた反射強度を表す画像を生成する例を説明した。本実施形態においては、物体の各位置における反射特性を算出した後に、反射特性と幾何条件に基づいて、光輝感を表現するための画像を生成する例を説明する。本実施形態における処理は、幾何条件を変えるたびに全ての処理を再度行う必要はない。尚、本実施形態における画像処理装置１のハードウェア構成は第１実施形態のものと同等であるため、説明を省略する。以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。
【００４４】
＜画像処理装置１の論理構成＞
本実施形態において画像処理装置１が実行する処理について、図１０を用いて説明する。図１０は画像処理装置１の論理構成を示すブロック図である。以下に示す各部の処理は、ＣＰＵ１０１がＲＯＭ１０２等からＲＡＭ１０３上に読み込んだコンピュータプログラムを実行することによって、ソフトウェアとして実施される。尚、以下に示す処理のすべてがＣＰＵ１０１によって実行される必要はなく、処理の一部または全部がＣＰＵ１０１以外の一つまたは複数の処理回路によって行われるように画像処理装置１が構成されていてもよい。
【００４５】
画像処理装置１は、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、第５取得部５０５、算出部１００６、出力画像生成部１００７を有する。第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、第５取得部５０５は第１実施形態と同じであるため説明を省略する。算出部１００６は、法線データ、反射強度データ、光輝感データに基づいて、物体の各位置における反射特性を算出する。出力画像生成部１００７は、法線データ、光源条件データ、観察条件データ、算出された反射特性に基づいて、光輝感を表現するための画像を表す画像データを生成する。
【００４６】
＜画像処理装置１が実行する処理＞
図１１は、画像処理装置１が実行する処理を示すフローチャートである。以下、図１１を用いて画像処理装置１が実行する処理の詳細を説明する。尚、下記処理は入力デバイス１３を介したユーザからの指示を受け付けることによって開始する。
【００４７】
Ｓ５１０は第１実施形態と同じ処理であるため、説明を省略する。
【００４８】
Ｓ１１２０において、算出部１００６は、法線マップｎ（ｘ，ｙ，ｚ）、拡散反射強度Ｒｄ、鏡面反射強度Ｒｓ、メタリック層の厚みＤ及びフレークサイズの度数分布Ｆ（Ｓ）に基づいて、法線マップの各位置における反射特性を算出する。具体的には、物体の反射特性として、拡散反射についての拡散反射強度データと、物体の表面における鏡面反射についての鏡面反射強度データと、フレークの表面における鏡面反射についての光輝反射データと、を算出する。反射特性の算出処理の詳細については後述する。
【００４９】
Ｓ１１３０において、出力画像生成部１００７は、法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ及びＳ１１２０において算出した反射特性に基づいて、光輝感を表現するための出力画像を表す出力画像データを生成する。また、出力画像生成部１００７は、出力画像データをディスプレイ１５に出力する。出力画像データの生成処理の詳細については後述する。
【００５０】
＜反射特性の算出処理＞
Ｓ１１２０において、算出部１００６は、法線マップｎ（ｘ，ｙ，ｚ）、拡散反射強度Ｒｄ、鏡面反射強度Ｒｓ、メタリック層の厚みＤとフレークサイズの度数分布Ｆ（Ｓ）に基づいて、法線マップの各位置における反射特性を算出する。図１２は、Ｓ１１２０において算出部１００６が実行する処理を示すフローチャートである。以下、図１２を用いて反射特性の算出処理を説明する。
【００５１】
Ｓ１１２１において、算出部１００６は、法線マップｎ（ｘ，ｙ，ｚ）に対して、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）と、鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）と、を生成する。具体的に、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）は、法線マップにおける各位置と、法線マップの各位置における拡散反射の反射強度とが対応付けられたテーブルを表すデータである。鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）は、法線マップにおける各位置と、法線マップの各位置における鏡面反射の反射強度とが対応付けられたテーブルを表すデータである。本実施形態においては、Ｓ５１０において取得された拡散反射強度Ｒｄと鏡面反射強度Ｒｓとに基づいて、式（１３）を用いることによって、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）と、鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）と、を生成する。
Ｒｄ（ｘ，ｙ，ｚ）＝Ｒｄ
Ｒｓ（ｘ，ｙ，ｚ）＝Ｒｓ
・・・式（１３）
尚、法線マップの位置（ｘ，ｙ，ｚ）ごとに異なる反射強度を位置（ｘ，ｙ，ｚ）に対応づけてもよい。
【００５２】
Ｓ１１２２において、算出部１００６は、法線マップｎ（ｘ，ｙ，ｚ）に対して、光輝反射データＲｆ（ｘ，ｙ，ｚ）を生成する。具体的に、光輝反射データＲｆ（ｘ，ｙ，ｚ）は、法線マップにおける各位置と、法線マップの各位置におけるフレーク法線及びフレークサイズとが対応付けられたテーブルを表すデータである。以下において、図１３を用いてＳ１１２２における処理を詳細に説明する。図１３は、光輝反射データを生成する処理を示すフローチャートである。
【００５３】
Ｓ１１２２１において、算出部１００６は、Ｓ５１０において取得されたフレークサイズの度数分布Ｆ（Ｓ）を参照し、Ｓ１１２２２〜Ｓ１１２２６の処理をフレークサイズＳごとに実行する。
【００５４】
Ｓ１１２２２において、算出部１００６は、Ｓ１１２２１において参照しているフレークサイズＳ及びＳ５１０において取得されたメタリック層の厚みＤに基づいて、フレーク法線の確率分布を算出する。算出の方法は第１実施形態の第３生成部５０８が用いる方法と同じであるため、説明を省略する。また、第１実施形態と同様に、フレーク法線の天頂角θおよび方位角φの確率分布を算出する。
【００５５】
Ｓ１１２２３において、算出部１００６は、Ｓ１１２２２において算出した天頂角θ及び方位角φの確率分布に基づいて、θとφとをランダムに決定することによって、フレーク法線ｎｆを算出する。算出の方法は第１実施形態の第３生成部５０８が用いる方法と同じであるため、説明を省略する。
【００５６】
Ｓ１１２２４において、算出部１００６は、法線データにおいてフレークを配置する位置を決定する。法線データにおける位置（ｘ，ｙ，ｚ）から、フレークを配置する位置（ｘ，ｙ，ｚ）をランダムに選択する。
【００５７】
Ｓ１１２２５において、算出部１００６は、Ｓ１１２２４において選択したフレークの配置位置（ｘ，ｙ，ｚ）と、フレーク法線ｎｆ及びフレークサイズＳと、が対応付けられたテーブルを表す光輝反射データＲｆ（ｘ，ｙ，ｚ）を生成する。光輝反射データＲｆ（ｘ，ｙ，ｚ）は式（１４）のように表すことができる。
Ｒｆ（ｘ，ｙ，ｚ）＝｛（ｎｆ，Ｓ）｝・・・式（１４）
尚、光輝反射データＲｆ（ｘ，ｙ，ｚ）がすでに生成されていた場合は、光輝反射データＲｆ（ｘ，ｙ，ｚ）が表すテーブルに、（ｘ，ｙ，ｚ）とｎｆ及びＳとの対応関係を追加する。
【００５８】
Ｓ１１２２６において、算出部１００６は、参照しているフレークサイズＳのフレークについて、テーブルに保持された対応関係の数が、参照しているフレークサイズＳの度数に達しているか否かを判定する。対応関係の数が参照しているフレークサイズＳの度数以上である場合は、Ｓ１１２２１に戻って別のフレークサイズＳを参照してＳ１１２２２〜１１２２６の処理を行う。対応関係の数が参照しているフレークサイズＳの度数未満である場合は、Ｓ１１２２３〜Ｓ１１２２６の処理を再び実行し、光輝反射データＲｆ（ｘ，ｙ，ｚ）が表すテーブルに、（ｘ，ｙ，ｚ）とｎｆ及びＳとの対応関係を追加する。
【００５９】
＜出力画像データの生成処理＞
ステップＳ１１３０において、出力画像生成部１００７は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ及びＳ１１２０において算出された反射特性に基づいて、出力画像データを生成する。ここで、Ｓ１１２０において算出された反射特性は、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）、鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）及び光輝反射データＲｆ（ｘ，ｙ，ｚ）である。図１４は、Ｓ１１３０において出力画像生成部１００７が実行する処理を示すフローチャートである。以下、図１４を用いて出力画像データの生成処理を説明する。
【００６０】
Ｓ１１３１において、出力画像生成部１００７は、Ｓ５１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ及びＳ１１２０において算出した反射特性を取得する。ここで、反射特性は、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）、鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）及び光輝反射データＲｆ（ｘ，ｙ，ｚ）である。
【００６１】
Ｓ１１３２において、出力画像生成部１００７は、法線マップｎ（ｘ，ｙ，ｚ）を参照し、Ｓ１１３３〜Ｓ１１３５の処理を法線マップにおける位置（ｘ，ｙ，ｚ）ごとに実行する。
【００６２】
Ｓ１１３３において、出力画像生成部１００７は、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）、鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）及び光輝反射データＲｆ（ｘ，ｙ，ｚ）それぞれが表すテーブルから、参照している位置に対応する値を取得する。本実施形態においては、拡散反射強度データＲｄ（ｘ，ｙ，ｚ）からＲｄを取得し、鏡面反射強度データＲｓ（ｘ，ｙ，ｚ）からＲｓを取得し、光輝反射データＲｆ（ｘ，ｙ，ｚ）からｎｆ及びＳを取得する。
【００６３】
Ｓ１１３４において、出力画像生成部１００７は、以下に示す式（１５）、式（１６）、式（１７）を用いて、出力画像の画素値を算出する。具体的には、反射光の拡散反射成分Ｉｄ（ｕ，ｖ）と、反射光の鏡面反射成分Ｉｓ（ｕ，ｖ）と、光輝感を表現するための光輝反射成分Ｉｆ（ｕ，ｖ）とをそれぞれ算出し、算出した値の和を出力画像の画素値とする。拡散反射成分Ｉｄ（ｕ，ｖ）は、第１実施形態と同様に、ランバートの余弦則に基づいた式（１５）を用いて算出される。
Ｉｄ（ｕ，ｖ）＝Ｅ×Ｒｄ（ｘ，ｙ，ｚ）×ｄｏｔ（ｎ（ｘ，ｙ，ｚ），Ｉ）・・・式（１５）
【００６４】
鏡面反射成分Ｉｓ（ｕ，ｖ）は、第１実施形態と同様に、Ｂｌｉｎｎ−Ｐｈｏｎｇのモデルに基づいた式（１６）を用いて算出される。
Ｉｓ（ｕ，ｖ）＝Ｅ×Ｒｓ（ｘ，ｙ，ｚ）×ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｈ）ｎ・・・式（１６）
【００６５】
光輝反射成分Ｉｓ（ｕ，ｖ）は、第１実施形態と同様に、式（１７）を用いて算出される。
Ｉｆ（ｕ，ｖ）＝Ｅ×Σｘ’，ｙ’，ｚ’Ａ（（ｕ，ｖ），Ｒｆ（ｘ，ｙ，ｘ）ｎｆ，Ｒｆ（ｘ’，ｙ’，ｚ’）ｓ）×δ（│Ｒｆ（ｘ，ｙ，ｘ）ｎｆ−ｈ│）・・・式（１７）
【００６６】
ここで、Ｒｆ（ｘ，ｙ，ｚ）ｎｆは、光輝反射データＲｆ（ｘ，ｙ，ｚ）が表すテーブルに保持されているフレークの法線ｎｆを表し、Ｒｆ（ｘ，ｙ，ｚ）ｓは、光輝反射データＲｆ（ｘ，ｙ，ｚ）が表すテーブルに保持されているフレークのサイズを表す。Ａ（（ｕ，ｖ），Ｒｆ（ｘ’，ｙ’，ｚ’）ｎｆ，Ｒｆ（ｘ’，ｙ’，ｚ’）ｓ）は、位置（ｘ’，ｙ’，ｚ’）を中心として法線ｎｆの傾きで配置されたサイズＳのフレークが、画像上の位置（ｕ，ｖ）において観測されない場合は０を返す関数である。一方で、Ａ（（ｕ，ｖ），Ｒｆ（ｘ’，ｙ’，ｚ’）ｎｆ，Ｒｆ（ｘ’，ｙ’，ｚ’）ｓ）は、画像上の位置（ｕ，ｖ）においてフレークが観測される場合は、画像上の位置（ｕ，ｖ）の画素サイズに対してフレークが占める割合ｔを返す関数である。
【００６７】
以上により算出した拡散反射成分Ｉｄ（ｕ，ｖ）と、鏡面反射成分Ｉｓ（ｕ，ｖ）と、光輝反射成分Ｉｆ（ｕ，ｖ）とを足し合わせることによって、出力画像の画素値を算出する。また、出力画像生成部１００７は、出力画像を表す出力画像データを生成し、生成した出力画像データをディスプレイ１５に出力する。
【００６８】
＜第２実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、物体の反射特性を算出した後に、算出した反射特性と入力した幾何条件に基づいて、光輝感を表現するためのレンダリングを行う。これにより、観察条件などの幾何条件を変化させた画像を生成したい場合に、全ての処理を行う必要はなく、予め算出された反射特性を用いてレンダリングを行うことができる。つまり、観察条件及び光源条件を含む幾何条件だけ変えたい場合は、Ｓ１１２０における反射特性を算出する処理を行う必要はない。したがって、フレークの向きや配置を決定するための計算コストを低減することができる。
【００６９】
［第３実施形態］
第１実施形態においては、光輝感データとして入力されたメタリック層の厚みとフレークサイズの度数分布とに基づいて、光輝感を表現するための画像を生成する例を説明した。本実施形態においては、ユーザによって指定された塗料を示す番号に基づいて、番号に対応付られたメタリック層の厚みとフレークサイズの度数分布とを取得する。さらに、取得したメタリック層の厚みとフレークサイズの度数分布とに基づいて、光輝感を表現するための画像を生成する。尚、本実施形態における画像処理装置１のハードウェア構成は第１実施形態のものと同等であるため、説明を省略する。以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。
【００７０】
＜画像処理装置１の論理構成＞
本実施形態において画像処理装置１が実行する処理について、図１５を用いて説明する。図１５は画像処理装置１の論理構成を示すブロック図である。以下に示す各部の処理は、ＣＰＵ１０１がＲＯＭ１０２等からＲＡＭ１０３上に読み込んだコンピュータプログラムを実行することによって、ソフトウェアとして実施される。尚、以下に示す処理のすべてがＣＰＵ１０１によって実行される必要はなく、処理の一部または全部がＣＰＵ１０１以外の一つまたは複数の処理回路によって行われるように画像処理装置１が構成されていてもよい。
【００７１】
画像処理装置１は、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、番号取得部１５０５、第５取得部１５１０、光輝感データ保持部１５１１、第１生成部５０６、第２生成部５０７、第３生成部５０８、合成部５０９を有する。第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、第１生成部５０６、第２生成部５０７、第３生成部５０８、合成部５０９は第１実施形態と同じであるため説明を省略する。番号取得部１５０５は、塗装に用いる塗料を特定する塗料データを取得する。第５取得部１５１０は、光輝感データ保持部１５１１から、塗料データが示す塗料番号に対応付けられたメタリック層の厚みとフレークサイズの度数分布とを取得する。光輝感データ保持部１５１１は、塗料データが示す塗料番号に対応付けられたメタリック層の厚み及びフレークサイズの度数分布を保持する。
【００７２】
＜画像処理装置１が実行する処理＞
図１６は、画像処理装置１が実行する処理を示すフローチャートである。以下、図１６を用いて画像処理装置１が実行する処理の詳細を説明する。尚、下記処理は入力デバイス１３を介したユーザからの指示を受けることによって開始する。
【００７３】
Ｓ１５１０において、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４及び番号取得部１５０５は、ユーザからの指示に基づいてデータを取得する。第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４は第１実施形態のＳ５１０と同じ処理を行うため説明を省略する。番号取得部１５０５は、塗料を特定する番号を示す塗料データを取得する。本実施形態におけるＵＩは図１７のように表示され、塗料データは図１７に示すＵＩを介して入力された番号に基づいて取得する。
【００７４】
Ｓ１５２０において、第５取得部１５１０は、光輝感データ保持部１５１１から、Ｓ１５１０において取得された塗料データに対応付けられたメタリック層の厚みとフレークサイズの度数分布とを取得する。光輝感データ保持部１５１１は、図１８に示すデータベースであり、塗料データに対応するメタリック層の厚みとフレークサイズの度数分布とをテーブル形式で保持する。
【００７５】
Ｓ５２０、Ｓ５３０、Ｓ５４０及びＳ５５０は第１実施形態と同じ処理であるため、説明を省略する。
【００７６】
＜第３実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、塗料に関する情報を取得し、取得した情報に基づいて、輝点を含む画像を表す画像データを生成する。これにより、メタリック層の厚み及びフレークサイズの度数分布の入力は必要とせずに、光輝感を表現するための画像を生成することができる。
【００７７】
［第４実施形態］
第１実施形態においては、ユーザによって指定されたメタリック層の厚みとフレークサイズの度数分布とに基づいて、光輝感を表現するための画像を生成した。本実施形態においては、ユーザによって指定されたフレークサイズの度数分布のみを取得し、複数の層の厚みにおいて光輝感を表現した画像を生成し表示する。尚、本実施形態における画像処理装置１のハードウェア構成は第１実施形態のものと同等であるため、説明を省略する。以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。
【００７８】
＜画像処理装置１の論理構成＞
本実施形態において画像処理装置１が実行する処理について、図１９を用いて説明する。図１９は画像処理装置１の論理構成を示すブロック図である。以下に示す各部の処理は、ＣＰＵ１０１がＲＯＭ１０２等からＲＡＭ１０３上に読み込んだコンピュータプログラムを実行することによって、ソフトウェアとして実施される。尚、以下に示す処理のすべてがＣＰＵ１０１によって実行される必要はなく、処理の一部または全部がＣＰＵ１０１以外の一つまたは複数の処理回路によって行われるように画像処理装置１が構成されていてもよい。
【００７９】
画像処理装置１は、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、フレークサイズ取得部１９０５、第１生成部５０６、第２生成部５０７、第３生成部１９０８、合成部１９０９を有する。第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４、第１生成部５０６、第２生成部５０７は第１実施形態と同じであるため説明を省略する。フレークサイズ取得部１９０５は、フレークサイズの度数分布を表すフレークサイズデータを取得する。第３生成部１９０８は、法線データ、光源条件データ、観察条件データ、フレークサイズデータに基づいて、複数のメタリック層の厚みにおける光輝感を表現するための光輝感画像データを生成する。合成部１９０９は、拡散反射画像データ、鏡面反射画像データ、厚み毎の光輝感画像データに基づいて、反射光の拡散反射成分および鏡面反射成分と、光輝感を表現するための光輝感成分との和を算出する。具体的には、画像データそれぞれの各画素値を足し合わせることによって、厚み毎の出力画像の画素値を算出する。尚、光輝感をより強調したい場合などには、重みづけを行ってから加算してもよい。
【００８０】
＜画像処理装置１が実行する処理＞
図２０は画像処理装置１において実行される処理を示すフローチャートである。以下、図２０を用いて画像処理装置１における処理の詳細を説明する。尚、下記処理は入力デバイス１３を介したユーザからの指示を受け付けることによって開始する。
【００８１】
Ｓ１９１０において、第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４及びフレークサイズ取得部１９０５は、ユーザからの指示に基づいてデータを取得する。第１取得部５０１、第２取得部５０２、第３取得部５０３、第４取得部５０４は第１実施形態のＳ５１０と同じ処理を行うため説明を省略する。フレークサイズ取得部１９０５は、フレークサイズデータを取得する。フレークサイズデータはフレークサイズの度数分布を表し、図２１に示すＵＩを介して取得する。
【００８２】
Ｓ５２０、Ｓ５３０は第１実施形態と同じ処理であるため、説明を省略する。
【００８３】
Ｓ１９４０において、第３生成部１９０８は、Ｓ１９１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、光源ベクトルｌ、光源強度Ｅ、観察ベクトルｖ、フレークサイズの度数分布Ｆ（Ｓ）に基づいて、メタリック層の厚み毎に光輝感画像データを生成する。メタリック層の厚みＤにおける光輝感画像データが表す光輝感画像Ｉｆ，Ｄの画素値は、Ｉｆ，Ｄ（ｕ，ｖ）によって表す。複数のメタリック層の厚みにおける光輝感画像データの生成処理の詳細については後述する。
【００８４】
Ｓ１９５０において、合成部１９０９は、各画素についてＩｄ（ｕ，ｖ）とＩｓ（ｕ，ｖ）とＩｆ，Ｄ（ｕ，ｖ）との和を算出し、算出した和Ｉｏｕｔ，Ｄ（ｕ，ｖ）を各画素に記録した出力画像Ｉｏｕｔ，Ｄを表す出力画像データを生成する。また、合成部１９０９は、生成した出力画像データをディスプレイ１５に出力する。出力画像データの生成処理の詳細については後述する。
【００８５】
＜複数のメタリック層の厚みにおける光輝感画像データの生成処理＞
Ｓ１９４０において、第３生成部１９０８は、Ｓ１９１０において取得された法線マップ、光源ベクトル、光源強度、観察ベクトル、フレークサイズの度数分布に基づいて、メタリック層の厚みＤにおける画素値Ｉｆ，Ｄ（ｕ，ｖ）を算出する。具体的には、メタリック層の厚みＤを様々に変化させ、フレークの向きに対する各厚みＤによる物理的な制約がある状態において、メタリック層に含まれる各フレークの位置と向きとをランダムに決定する。決定した各フレークの位置と向きとに基づいて、光輝感画像データを生成する。図２２は、Ｓ１９４０において第３生成部１９０８が実行する処理を示すフローチャートである。以下、図２２を用いて光輝感画像データの生成処理を詳細に説明する。
【００８６】
Ｓ１９４１において、第３生成部１９０８は、Ｓ１９１０において取得されたフレークサイズの度数分布Ｆ（Ｓ）を参照し、Ｓ１９４８、Ｓ５４２〜Ｓ５４５、Ｓ１９４６、Ｓ５４７をフレークサイズＳごとに実行する。
【００８７】
Ｓ１９４８において、第３生成部１９０８は、Ｓ５４２〜Ｓ５４５、Ｓ１９４６、Ｓ５４７をメタリック層の厚みＤごとに実行する。メタリック層の厚みは、予め設定された値であり、例えば、１０μｍから３０μｍまでの１０μｍ毎などに設定しておく。
【００８８】
Ｓ１９４６において、第３生成部１９０８は、Ｓ５４４において算出した反射強度ｉｆを光輝感画像Ｉｆ，Ｄに記録する。
【００８９】
＜出力画像データの生成処理＞
Ｓ１９５０において、合成部１９０９は、拡散反射画像Ｉｄ、鏡面反射画像Ｉｓ、メタリック層の厚みＤごとの光輝感画像Ｉｆ，Ｄの各画素値について和Ｉｏｕｔ，Ｄ（ｕ，ｖ）を算出する。合成部１９０９は、和Ｉｏｕｔ，Ｄ（ｕ，ｖ）に基づいて、メタリック層の厚みＤごとの出力画像Ｉｏｕｔ，Ｄを表す出力画像データを生成する。本実施形態においてはＲ、Ｇ、Ｂのそれぞれについて画素値を算出するため、メタリック層の厚みＤごとの光輝感画像Ｉｆ，Ｄの画素値はＲ、Ｇ、Ｂ各チャンネルの画素値がすべて同じ値であるとして算出する。
【００９０】
さらに、生成したメタリック層の厚みＤごとの出力画像データをディスプレイ１５に出力し、ディスプレイ１５に出力画像を表示させる。出力画像は、図２３に示すように、メタリック層の厚みＤと併せて表示される。
【００９１】
＜第４実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、メタリック層の厚みとフレークサイズの度数分布との２つの光輝感データのうち、フレークサイズの度数分布のみを入力として用いた。これにより、フレークサイズを固定した状態で、層の厚みを様々に変化させた画像を一度に確認することができ、所望の光輝感を表現する層の厚みを選択することができる。つまり、メタリック層の厚みを変化させた場合の見た目を疑似的に確認することによって、塗装のパラメータ設定を行うことができる。
【００９２】
［第５実施形態］
第１実施形態においては、光源条件データとして入力された光源ベクトル及び光源強度に基づいて、画像の生成を行った。本実施形態においては、光源条件データとして、物体の見えをシミュレートする周囲環境の情報を用いる。尚、本実施形態における画像処理装置１のハードウェア構成は第１実施形態のものと同等であるため、説明を省略する。以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。
【００９３】
＜画像処理装置１の論理構成＞
本実施形態において画像処理装置１が実行する処理について、図２４を用いて説明する。図２４は画像処理装置１の論理構成を示すブロック図である。以下に示す各部の処理は、ＣＰＵ１０１がＲＯＭ１０２等からＲＡＭ１０３上に読み込んだコンピュータプログラムを実行することによって、ソフトウェアとして実施される。尚、以下に示す処理のすべてがＣＰＵ１０１によって実行される必要はなく、処理の一部または全部がＣＰＵ１０１以外の一つまたは複数の処理回路によって行われるように画像処理装置１が構成されていてもよい。
【００９４】
画像処理装置１は、第１取得部５０１、第２取得部２４０２、第３取得部５０３、第４取得部５０４、第５取得部５０５、第１生成部２４０６、第２生成部２４０７、第３生成部２４０８、合成部５０９を有する。第１取得部５０１、第３取得部５０３、第４取得部５０４、第５取得部５０５、合成部５０９は第１実施形態と同じであるため説明を省略する。第２取得部２４０２は、物体の見えを表現する周囲環境における照明分布を表す環境光データを取得する。第１生成部２４０６は、法線データ、環境光データ、反射強度データに基づいて、ユーザによって設定された幾何条件において得られる拡散反射光の強度を表す拡散反射画像データを生成する。第２生成部２４０７は、法線データ、環境光データ、観察条件データ、反射強度データに基づいて、ユーザによって設定された幾何条件において得られる鏡面反射光の強度を表す鏡面反射画像データを生成する。第３生成部２４０８は、法線データ、環境光データ、観察条件データ、光輝感データに基づいて、光輝感を表現するための光輝感画像データを生成する。
【００９５】
＜画像処理装置１が実行する処理＞
図２５は画像処理装置１において実行される処理を表すフローチャートである。以下、図２５を用いて画像処理装置１における処理の詳細を説明する。尚、下記処理は入力デバイス１３を介したユーザからの指示を受け付けることによって開始する。
【００９６】
Ｓ２４１０において、第１取得部５０１、第２取得部２４０２、第３取得部５０３、第４取得部５０４、第５取得部５０５は、ユーザからの指示に基づいてデータを取得する。第１取得部５０１、第３取得部５０３、第４取得部５０４、第５取得部５０５は第１実施形態のＳ５１０と同じ処理を行うため説明を省略する。第２取得部２４０２は、環境光データを取得する。環境光データは、物体を中心とする球面座標系の天頂角θ、方位角φ方向における照明の強度を表す環境マップＡ（θ，φ）である。環境マップは、図２６（ａ）に示すＵＩを介して得られる画像であり、各画素に方位角φ、天頂角θ方向における照明の強度が保持されている。図２６（ｂ）に示すように、画像のｘ軸方向が方位角φ、ｙ軸方向がθに対応する。
【００９７】
Ｓ２４２０において、第１生成部２４０６は、Ｓ２４１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、環境マップＡ（θ，φ）、拡散反射強度Ｒｄに基づいて、拡散反射画像Ｉｄを表す拡散反射画像データを生成する。拡散反射画像Ｉｄの画素値は、Ｉｄ（ｕ，ｖ）によって表す。ここで（ｕ，ｖ）は、位置（ｘ，ｙ，ｚ）に対応する画像上の画素位置を表す。拡散反射画像データの生成処理の詳細については後述する。
【００９８】
Ｓ２４３０において、第２生成部２４０７は、Ｓ２４１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、環境マップＡ（θ，φ）、観察ベクトルｖ及び鏡面反射強度Ｒｓに基づいて、鏡面反射画像Ｉｓを表す鏡面反射画像データを生成する。鏡面反射画像Ｉｓの画素値は、Ｉｓ（ｕ，ｖ）によって表す。鏡面反射画像データの生成処理の詳細については後述する。
【００９９】
Ｓ２４４０において、第３生成部２４０８は、Ｓ２４１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、環境マップＡ（θ，φ）、観察ベクトルｖ、メタリック層の厚みＤ及びフレークサイズの度数分布Ｆ（Ｓ）に基づいて、光輝感画像データを生成する。光輝感画像データが表す光輝感画像Ｉｆの画素値は、Ｉｆ（ｕ，ｖ）によって表す。光輝感画像データの生成処理の詳細については後述する。
【０１００】
Ｓ５５０は第１実施形態と同じ処理であるため、説明を省略する。
【０１０１】
＜拡散反射画像データの生成処理＞
Ｓ２４２０において、第１生成部２４０６は、Ｓ２４１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、環境マップＡ（θ，φ）、拡散反射強度Ｒｄに基づいて、拡散反射画像Ｉｄの各画素値Ｉｄ（ｕ，ｖ）を算出する。具体的には、環境マップＡ（θ，φ）における光源ベクトルｌθ，φ＝（ｓｉｎθｃｏｓφ，ｓｉｎθｓｉｎφ，ｃｏｓθ）に対するランバートの余弦則に基づいた式（１８）を用いて、Ｉｄ（ｕ，ｖ）を算出する。
Ｉｄ（ｕ，ｖ）＝Σθ，φＡ（θ，φ）×Ｒｄ×ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｌθ，φ）・・・式（１８）
ここで、ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｌθ，φ）は法線マップｎ（ｘ，ｙ，ｚ）と光源ベクトルｌθ，φとの内積演算を表し、内積が負になる場合は０に置きかえる。
【０１０２】
＜鏡面反射画像データの生成処理＞
Ｓ２４３０において、第２生成部２４０７は、Ｓ２４１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、環境マップＡ（θ，φ）、観察ベクトルｖ及び鏡面反射強度Ｒｓに基づいて、鏡面反射画像Ｉｓの各画素値Ｉｓ（ｕ，ｖ）を算出する。具体的には、環境マップＡ（θ，φ）における光源ベクトルｌθ，φ＝（ｓｉｎθｃｏｓφ，ｓｉｎθｓｉｎφ，ｃｏｓθ）に対するＢｌｉｎｎ−Ｐｈｏｎｇのモデルに基づいた式（１９）を用いて、Ｉｓ（ｕ，ｖ）を算出する。
Ｉｓ（ｕ，ｖ）＝Σθ，φＡ（θ，φ）×Ｒｓ×ｄｏｔ（ｎ（ｘ，ｙ，ｚ），ｈθ，φ）ｎ・・・式（１９）
ここで、ｈθ，φは光源ベクトルｌθ，φと観察ベクトルｖとの中間のベクトル（ハーフベクトル）であり、ｈθ，φ＝（ｌθ，φ＋ｖ）／｜ｌθ，φ＋ｖ｜によって算出される。定数ｎは鏡面反射の拡がり度合いを表す値であり、値が大きくなると鏡面反射の拡がりは小さくなる。定数ｎには、図２６に示すＵＩを介したユーザの指示に基づいた値を用いてもよいし、予め決められた値を用いてもよい。
【０１０３】
＜光輝感画像データの生成処理＞
Ｓ２４４０において、第３生成部２４０８は、Ｓ２４１０において取得された法線マップｎ（ｘ，ｙ，ｚ）、環境マップＡ（θ，φ）、観察ベクトルｖ、メタリック層の厚みＤ及びフレークサイズの度数分布Ｆ（Ｓ）に基づいて、画素値Ｉｆ（ｕ，ｖ）を算出する。図２７は、Ｓ２４４０において、第３生成部２４０８が実行する処理を示すフローチャートである。以下、図２７を用いて光輝感画像データの生成処理を詳細に説明する。
【０１０４】
Ｓ５４１〜Ｓ５４３は第１実施形態と同じ処理であるため、説明を省略する。
【０１０５】
Ｓ２４４４において、第３生成部２４０８は、Ｓ５４３において算出したフレーク法線ｎｆに基づいて、フレーク上で反射した光の強度（反射強度）を算出する。フレークにおいては金属と同様に鏡面反射が起こるため、反射光の拡がりは考慮せずに、式（２０）が示すモデルに基づいて反射強度ｉｆを算出する。
ｉｆ＝Σθ，φＡｉｎｔｅｒｐ（θ，φ）×δ（｜ｎｆ−ｈθ，φ｜）・・・式（２０）
ここで、δ（ｘ）はデルタ関数であり、式（１０）に示す値をとる。また、Ａｉｎｔｅｒｐ（θ，φ）は離散的な値を有する環境マップＡ（θ’，φ’）に対して、ｈθ，φに対応する光源ベクトルｌθ，φの天頂角θ、方位角φを内挿して得られた値である。
【０１０６】
式（２０）に示すモデルにより、光源ベクトルと観察ベクトルとが鏡面反射の幾何条件を満たす場合に、反射強度ｉｆは値を持ち、それ以外の場合に、反射強度ｉｆは０となる。
【０１０７】
Ｓ５４５〜Ｓ５４７は第１実施形態と同じ処理であるため、説明を省略する。
【０１０８】
＜第５実施形態の効果＞
以上説明したように、本実施形態における画像処理装置は、物体の見えをシミュレートする周囲環境における照明分布を表す環境マップに基づいて、光輝感を表現するための画像を生した。これにより、様々な方向からの照明が存在する環境における光輝感をシミュレートすることができる。
【０１０９】
［変形例］
上述した実施形態においては、互いにサイズが異なるフレークを含む層によって生じる光輝感を疑似的に表現するための処理の例を説明したが、処理は上記一例には限定されない。層に含まれる複数のフレークのサイズがほぼ同一である場合は、フレークサイズの度数分布の代わりに、フレークの量（数や密度）と、フレークサイズと、を取得して処理に用いてもよい。この場合は、フレークサイズごとに処理を行う必要はなく、フレークの量に達するまで、第１実施形態においてはＳ５４３〜Ｓ５４６の処理を、第２実施形態においてはＳ１１２２３〜Ｓ１１２２６の処理を行えばよい。また、第４実施形態においてはＳ５４３〜Ｓ５４５とＳ１９４６の処理を、第５実施形態においてはＳ５４３、Ｓ２４４４、Ｓ５４５、Ｓ５４６の処理をフレークの量に達するまで行えばよい。
【０１１０】
上述した実施形態においては、アルミなどの金属フレークを複数含むメタリック層を有する物体を想定していたが、光輝感を生じさせるために物体の表面の層に含有されるフレークは金属フレークに限らない。例えば、マイカフレークを複数含む層によっても光輝感は生じる。また、金属フレークとマイカフレークとの両方を含む層であっても同様である。
【０１１１】
上述した実施形態においては、発色層とクリア層とメタリック層との３層によって構成される塗料の層における反射を表現したが、光輝感を表現するためのフレークが含まれた層を有していれば、塗料の層は上述した３層に限定されない。例えば、メタリック層のみであってもよいし、クリア層とメタリック層との２層であってもよい。
【０１１２】
上述した実施形態においては、物体の表面における拡散反射及び鏡面反射と、光輝感を生じさせるフレークにおける鏡面反射と、を疑似的に表現する例を説明したが、光輝感を生じさせるフレークにおける鏡面反射のみを疑似的に表現する形態であってもよい。この場合、第１実施形態について、画像処理装置１は、第４取得部５０４、第１生成部５０６、第２生成部５０７、合成部５０９を含まない構成であってもよい。この場合、画像処理装置１は、Ｓ５１０及びＳ５４０の処理のみを行い、Ｓ５４０において生成した光輝感画像データを出力画像データとして出力する。また、第２実施形態について、画像処理装置１は、第４取得部５０４を含まない構成であってもよい。この場合、画像処理装置１は、Ｓ１１２０において拡散反射強度データと鏡面反射強度データとを生成せずに、光輝反射データを生成する。第３実施形態について、画像処理装置１は、第４取得部５０４、第１生成部５０６、第２生成部５０７、合成部５０９を含まない構成であってもよい。この場合、画像処理装置１は、Ｓ１５１０、Ｓ１５２０、Ｓ５４０の処理のみを行い、Ｓ５４０において生成した光輝感画像データを出力画像データとして出力する。第４実施形態について、画像処理装置１は、第４取得部５０４、第１生成部５０６、第２生成部５０７、合成部１９０９を含まない構成であってもよい。この場合、画像処理装置１はＳ１９１０、Ｓ１９４０の処理のみを行い、Ｓ１９４０において生成した光輝感画像データを出力画像データとして出力する。第５実施形態について、画像処理装置１は、第４取得部５０４、第１生成部２４０６、第２生成部２４０７、合成部５０９を含まない構成であってもよい。この場合、画像処理装置１はＳ２４１０、Ｓ２４４０の処理のみを行い、Ｓ２４４０において生成した光輝感画像データを出力画像データとして出力する。
【０１１３】
上述した実施形態においては、物体の表面における拡散反射及び鏡面反射と、光輝感を生じさせるフレークにおける鏡面反射と、を疑似的に表現するためのデータを生成する例を説明したが、データの生成方法は上記一例に限定されない。例えば、物体の表面における拡散反射及び鏡面反射に関するデータは、予め生成してＨＤＤ１７等の記憶装置に記録させておき、そこから取得して用いてもよい。具体的に、第１実施形態については、予めＳ５２０及びＳ５３０と同様の処理によって拡散反射画像データ及び鏡面反射画像データを生成してＨＤＤ１７に記憶させておき、Ｓ５５０において拡散反射画像データ及び鏡面反射画像データを取得して用いる。第２実施形態についても同様に、Ｓ１１２１の処理を予め行っておくことができる。第３実施形態については、Ｓ５２０及びＳ５３０、第４実施形態については、Ｓ５２０及びＳ５３０、第５実施形態については、Ｓ２４２０及びＳ２４３０を予め行っておくことができる。
【０１１４】
上述した実施形態においては、出力画像データをディスプレイ１５に出力する例を説明したが、他の外部装置に出力してもよい。例えば、ＨＤＤ１７やプリンタ１４に出力してもよい。プリンタに出力する場合は、出力画像の各画素に記録された反射強度（輝度）を、インクやトナーなどの記録材の記録量やドット配置を表すデータに変換してから出力してもよい。
【０１１５】
上述した実施形態においては、あらかじめ特定のパターン光が投影された物体を撮像する方法やレーザスキャナを用いる方法を利用して物体の形状を取得し、物体の形状に基づいて法線データを生成したが、別の方法によって作成した形状を使用してもよい。例えば、ＣＧソフトによって作成した形状を使用してもよいし、市販のＣＧソフトに含まれる形状を使用してもよい。
【０１１６】
上述した実施形態においては、図７に示すように、反射強度データとして、拡散反射の反射強度Ｒｄと鏡面反射の反射強度Ｒｓとを取得したが、それぞれを画像データとして取得してもよい。この場合は、画像データはそれぞれ、拡散反射の反射強度が各画素に記録された画像と鏡面反射の反射強度が各画素に記録された画像とを表す。これらの画像データは、Ｒ、Ｇ、Ｂの色ごとに画素値を有したカラー画像データであってもよいし、明るさのみを表すグレースケール画像データであってもよい。
【０１１７】
上述した実施形態においては、出力画像の画素値をＲ、Ｇ、Ｂ各チャンネルについて算出した。一方で、色を考慮する必要がない場合は、図７に示すＵＩを介して入力されるＲ値、Ｇ値、Ｂ値に基づいて、式（２１）により輝度（明るさ）Ｙを算出して処理に用いてもよい。
Ｙ＝０．２１２６×Ｒ＋０．７１５２×Ｇ＋０．０７２２×Ｂ・・・式（２１）
上述した実施形態においては、メタリック層に含まれるフレークの形を円盤状の形としたが、フレークの形は上記一例に限定されない。例えば、柱状の形や立方体などであってもよい。この場合、フレークサイズは、フレーク法線が層の厚みに影響を受けることを考慮するため、フレークの３次元形状における最大の長さとする。尚、フレークサイズは、長さの他にフレークの厚みを含んでいてもよい。
【０１１８】
上述した実施形態においては、反射強度に基づいて処理を行ったが、反射の度合いを表す値であれば、反射率などの値に基づいて処理を行ってもよい。
【０１１９】
第１実施形態においては、Ｓ５２０の処理の次にＳ５３０の処理を行い、Ｓ５３０の処理の次にＳ５４０の処理を行う例を説明したが、各ステップの処理は互いに独立しているため、処理の順番は上記の順番に限られない。処理の順番を入れ替えてもよいし、同時に処理を行ってもよい。
【０１２０】
第２実施形態においては、Ｓ１１２１の処理の次にＳ１１２２の処理を行う例を説明したが、各ステップの処理は互いに独立しているため、処理の順番は上記の順番に限られない。処理の順番を入れ替えてもよいし、同時に処理を行ってもよい。
【０１２１】
第３実施形態においては、Ｓ５２０の処理の次にＳ５３０の処理を行い、Ｓ５３０の処理の次にＳ５４０の処理を行う例を説明したが、各ステップの処理は互いに独立しているため、処理の順番は上記の順番に限られない。処理の順番を入れ替えてもよいし、同時に処理を行ってもよい。
【０１２２】
第４実施形態においては、Ｓ５２０の処理の次にＳ５３０の処理を行い、Ｓ５３０の処理の次にＳ１９４０の処理を行う例を説明したが、各ステップの処理は互いに独立しているため、処理の順番は上記の順番に限られない。処理の順番を入れ替えてもよいし、同時に処理を行ってもよい。
【０１２３】
第５実施形態においては、Ｓ２４２０の処理の次にＳ２４３０の処理を行い、Ｓ５４３０の処理の次にＳ２４４０の処理を行う例を説明したが、各ステップの処理は互いに独立しているため、処理の順番は上記の順番に限られない。処理の順番を入れ替えてもよいし、同時に処理を行ってもよい。
【０１２４】
上述した第３実施形態においては、塗装データの入力におけるＵＩとして、番号を選択する例を説明したが、塗装の画像サンプルを表示し、その中から希望塗装を選択するなどの異なるＵＩに置き換えてもよい。
【０１２５】
上述した第３実施形態、第４実施形態、第５実施形態においては、第１実施形態と同様に、拡散反射画像データ、鏡面反射画像データ、光輝感画像データを生成した後に、これらを合成することによって出力画像データを生成した。この処理を、第２実施形態のように、ＳＶＢＲＤＦを生成する処理に置き換えてもよい。
【０１２６】
上述した第４実施形態においては、フレークサイズの度数分布を入力し、メタリック層の厚みを複数変化させた画像を生成したが、メタリック層の厚みを入力し、フレークサイズの度数分布を複数変化させた画像を生成してもよい。
【０１２７】
上述した第５実施形態においては、第１実施形態、第２実施形態及び第３実施形態と同様に、メタリック層の厚み及びフレークサイズに基づいて光輝感画像データの生成を行った。この処理を、第３実施形態のように、塗料番号を入力として光輝感画像データの生成を行う処理に置き換えてもよい。
【０１２８】
上述した実施形態においては、メタリック層の厚みによって制限された範囲内において、乱数値を用いてフレーク法線を算出したが、フレーク法線の取得方法は上記一例に限定されない。例えば、制限範囲とフレーク法線とが対応付けられたテーブルを参照することによって、フレーク法線を取得してもよい。
【０１２９】
［その他の実施形態］
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３０】
１  画像処理装置
１５０５  番号取得部
５０８  第３生成部
【図１】
2019102058.tif 000008
【図２】
2019102058.tif 000009
【図３】
2019102058.tif 000010
【図４】
2019102058.tif 000011
【図５】
2019102058.tif 000012
【図６】
2019102058.tif 000013
【図７】
2019102058.tif 000014
【図８】
2019102058.tif 000015
【図９】
2019102058.tif 000016
【図１０】
2019102058.tif 000017
【図１１】
2019102058.tif 000018
【図１２】
2019102058.tif 000019
【図１３】
2019102058.tif 000020
【図１４】
2019102058.tif 000021
【図１５】
2019102058.tif 000022
【図１６】
2019102058.tif 000023
【図１７】
2019102058.tif 000024
【図１８】
2019102058.tif 000025
【図１９】
2019102058.tif 000026
【図２０】
2019102058.tif 000027
【図２１】
2019102058.tif 000028
【図２２】
2019102058.tif 000029
【図２３】
2019102058.tif 000030
【図２４】
2019102058.tif 000031
【図２５】
2019102058.tif 000032
【図２６】
2019102058.tif 000033
【図２７】
2019102058.tif 000034