(57)【要約】      （修正有）【課題】２次元画像データから３次元画像データを生成する際に、２次元画像データにおいて濃淡が類似したオブジェクトが重なり合っている場合でも、３次元画像データにおいてオブジェクトの重なりを表現するための画像処理装置、画像処理方法及びプログラムを提供する。【解決手段】画像処理装置は、２次元画像を表す２次元画像データを取得する画像取得部２０１と、２次元画像の複数の画素に対応する画素値に基づいて、複数の画素における高さを表す第１高さデータを生成する第１高さデータ生成部２０２と、２次元画像を複数の領域に分割する領域分割部２０３と、複数の領域のそれぞれについて、各領域の画素の高さに関する特徴量に基づいて、第１高さデータを補正するための重みを決定する重み決定部２０４と、重みに基づいて第１高さデータを補正することによって、第２高さデータを生成する第２高さデータ生成部２０５と、を有する。【選択図】図１
2019045996.tif 000002
【特許請求の範囲】
【請求項１】
２次元画像を表す２次元画像データを取得する取得手段と、
前記２次元画像の複数の画素に対応する画素値に基づいて、前記複数の画素における高さを表す第１高さデータを生成する第１生成手段と、
前記２次元画像を複数の領域に分割する分割手段と、
前記複数の領域のそれぞれについて、各領域の画素の高さに関する特徴量に基づいて、前記第１高さデータを補正するための重みを決定する決定手段と、
前記重みに基づいて前記第１高さデータを補正することによって、第２高さデータを生成する第２生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記特徴量は、前記各領域における前記高さの統計量であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特徴量は、前記各領域における前記高さの平均値であることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記特徴量は、前記各領域における前記高さの最頻値であることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記特徴量は、前記各領域における前記高さの最大値であることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記決定手段は、前記特徴量に基づいて前記各領域において順位を付け、前記順位に基づいて、前記重みを決定することを特徴とする請求項１乃至請求項５のいずれか一項に記載の画像処理装置。
【請求項７】
前記重みは、前記特徴量に応じた所定の値であることを特徴とする請求項１乃至請求項５のいずれか一項に記載の画像処理装置。
【請求項８】
前記重みは、前記順位に応じた所定の値であることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記重みは、前記第１高さデータが表す前記高さに加算するための高さであることを特徴とする請求項１乃至請求項８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記第２生成手段は、前記第１高さデータが表す前記高さに前記重みを加算する際に前記重みに乗算する係数を取得し、前記係数を乗算した前記重みを前記高さに加算することによって、前記第２高さデータを生成することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記各領域における前記係数は互いに異なることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記第１高さデータは、各画素に前記高さが記録された、複数の画素から成るデータであって、
前記決定手段は、前記各領域における前記重みを決定することによって、各画素に前記重みが記録された、複数の画素から成る加算用高さデータを生成し、
前記第２生成手段は、前記第１高さデータと前記加算用高さデータとにおいて対応する画素同士の画素値の和を算出し、前記画素値の和を前記第２高さデータの画素値とすることを特徴とする請求項１乃至請求項１１のいずれか一項に記載の画像処理装置。
【請求項１３】
前記２次元画像データの画素値は色信号値であって、
前記第１生成手段は、前記２次元画像データが有する前記色信号値に基づいて輝度値を算出し、前記輝度値に基づいて、前記第１高さデータを生成することを特徴とする請求項１乃至請求項１２のいずれか一項に記載の画像処理装置。
【請求項１４】
前記第１生成手段は、前記輝度値が高くなるにつれて前記高さが高くなるように前記高さを算出し、算出された前記高さを表す前記第１高さデータを生成することを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記２次元画像には高さの異なる複数のオブジェクトが含まれることを特徴とする請求項１乃至請求項１４のいずれか一項に記載の画像処理装置。
【請求項１６】
前記２次元画像には、複数の布が重なり合ったオブジェクトが含まれることを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記分割手段は、前記２次元画像データにハイパスフィルタを適用することによって前記２次元画像のエッジを抽出し、エッジが抽出された前記２次元画像を複数の領域に分割することを特徴とする請求項１乃至請求項１６のいずれか一項に記載の画像処理装置。
【請求項１８】
前記分割手段は、前記２次元画像データに対して周波数分解を行い、前記２次元画像から低周波成分を取り除き、低周波成分が取り除かれた前記２次元画像を複数の領域に分割することを特徴とする請求項１乃至請求項１６のいずれか一項に記載の画像処理装置。
【請求項１９】
コンピュータを請求項１乃至請求項１８のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項２０】
２次元画像を表す２次元画像データを取得する取得ステップと、
前記２次元画像の複数の画素に対応する画素値に基づいて、前記複数の画素における高さを表す第１高さデータを生成する第１生成ステップと、
前記２次元画像を複数の領域に分割する分割ステップと、
前記複数の領域のそれぞれについて、各領域の画素の高さに関する特徴量に基づいて、前記第１高さデータを補正するための重みを決定する決定ステップと、
前記重みに基づいて前記第１高さデータを補正することによって、第２高さデータを生成する第２生成ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元画像データから３次元画像データを生成する画像処理技術に関する。
【背景技術】
【０００２】
３ＤＣＧ（コンピュータグラフィックス）デザインなどのワークフローでは、製品コンセプトやイメージを２次元画像データとして生成し、生成した２次元画像データを試作品作成や実製品の製造のために３次元画像データ化することがしばしば行われている。２次元画像データに基づいて３次元画像データを生成する技術として特許文献１がある。特許文献１に記載された方法では、２次元画像データが有する色情報（濃淡）に応じて物体の奥行き情報を求め、奥行き情報に基づいて３次元画像データを生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−５７３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された方法を用いて３次元画像データを生成する場合、オブジェクトの奥行き情報は、色情報が表す濃淡に基づいて算出される。このため、２次元画像データにおいて濃淡が類似した複数のオブジェクトが重なり合っている場合、３次元画像データにおいて複数のオブジェクトの奥行きの違いが小さくなり、オブジェクトの重なりが表現できないという課題がある。
【０００５】
本発明は、２次元画像データから３次元画像データを生成する際に、２次元画像データにおいて濃淡が類似したオブジェクトが重なり合っている場合でも、３次元画像データにおいてオブジェクトの重なりを表現するための画像処理を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、２次元画像を表す２次元画像データを取得する取得手段と、前記２次元画像の複数の画素に対応する画素値に基づいて、前記複数の画素における高さを表す第１高さデータを生成する第１生成手段と、前記２次元画像を複数の領域に分割する分割手段と、前記複数の領域のそれぞれについて、各領域の画素の高さに関する特徴量に基づいて、前記第１高さデータを補正するための重みを決定する決定手段と、前記重みに基づいて前記第１高さデータを補正することによって、第２高さデータを生成する第２生成手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、２次元画像データから３次元画像データを生成する際に、２次元画像データにおいて濃淡が類似したオブジェクトが重なり合っている場合でも、３次元画像データにおいてオブジェクトの重なりを表現することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置１の構成を示すブロック図
【図２】画像処理装置１が実行する処理のフローチャート
【図３】第１高さデータを生成する処理のフローチャート
【図４】領域分割処理のフローチャート
【図５】補正における重みを決定する処理のフローチャート
【図６】第２高さデータを生成する処理のフローチャート
【図７】補正に関する係数を取得するためのＵＩ画面の一例を示す模式図
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。尚、以下の実施形態は本発明を必ずしも限定するものではない。また、以下の実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、同一の構成については、同一の符号を付して説明する。また、以下に説明する画像処理装置は、色や形状といった他の質感要素を再現する機能を加えた構成をとることも可能である。
【００１０】
［実施形態１］
本実施形態では、画像データ（２次元画像データ）に基づいて第１高さデータを生成し、生成した第１高さデータが表す高さに補正量を加算することによって、第２高さデータ（３次元画像データ）を生成する方法を説明する。
【００１１】
＜画像処理装置１のハードウェア構成＞
図１（ａ）は、画像処理装置１のハードウェア構成例である。画像処理装置１は、例えばコンピュータであり、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、汎用Ｉ／Ｆ（インターフェース）１０４、ＳＡＴＡ（シリアルＡＴＡ）Ｉ／Ｆ１０５、ＶＣ（ビデオカード）１０６を備える。ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとして、ＲＯＭ１０２、ＨＤＤ（ハードディスクドライブ）１７などに格納されたＯＳ（オペレーティングシステム）や各種プログラムを実行する。また、ＣＰＵ１０１は、システムバス１０７を介して各構成を制御する。尚、後述するフローチャートによる処理は、ＲＯＭ１０２やＨＤＤ１７などに格納されたプログラムコードがＲＡＭ１０３に展開され、ＣＰＵ１０１によって実行される。汎用Ｉ／Ｆ１０４には、シリアルバス１２を介して、マウスやキーボードなどの入力デバイス１３やプリンタ１４が接続される。ＳＡＴＡＩ／Ｆ１０５には、シリアルバス１６を介して、ＨＤＤ１７や各種記録メディアの読み書きを行う汎用ドライブ１８が接続される。ＣＰＵ１０１は、ＨＤＤ１７や汎用ドライブ１８にマウントされた各種記録メディアを各種データの格納場所として使用する。ＶＣ１０６には、ディスプレイ１５が接続される。ＣＰＵ１０１は、プログラムによって提供されるＵＩ（ユーザインターフェース）画面をディスプレイ１５に表示し、入力デバイス１３を介して得られたユーザの指示を表す入力情報を受信する。
【００１２】
＜画像処理装置１の論理構成＞
図１（ｂ）は、画像処理装置１の論理構成を示すブロック図である。画像処理装置１は、画像取得部２０１、第１高さデータ生成部２０２、領域分割部２０３、重み決定部２０４、第２高さデータ生成部２０５を有する。画像取得部２０１は、ユーザによって入力された画像データを取得する。尚、本実施形態において取得される画像データは、８ビットで表される色信号値が各画素に記録されたカラー画像である。色信号値は、色画像の各画素が有する３つの各チャンネルに記録されるＲ（レッド）値、Ｇ（グリーン）値、Ｂ（ブルー）値である。尚、本実施形態における色信号値はｓＲＧＢ空間上において定義されるＲＧＢ値とするが、ＡｄｏｂｅＲＧＢ空間上で定義されるＲＧＢ値あるいはＬ＊ａ＊ｂ＊空間上で定義されるＬ＊ａ＊ｂ＊値といった他の形式であってもよい。第１高さデータ生成部２０２は、画像データが有する色信号値に基づいて輝度情報を算出し、算出した輝度情報に基づいて第１高さデータを生成する。本実施形態においては、画像の濃淡を輝度（明るさ）によって表現する。第１高さデータは、複数の画素からなるデータであり、各画素に基準面からの高さが記録されている。ここで説明する高さは、基準面からの距離であって、基準面からの奥行きを含む。領域分割部２０３は、ローパスフィルタ（以降、ＬＰＦと呼ぶ）及びハイパスフィルタ（以降、ＨＰＦと呼ぶ）を用いて、画像データが表す画像を複数の領域に分割する。重み決定部２０４は、領域分割によって得られた各領域の特徴に基づいて順位付けを行う。さらに、その順位に基づいて、第１高さデータの各画素に記録された高さを補正する際に用いる重みを決定する。第２高さデータ生成部２０５は、第１高さデータ生成部２０２において生成された第１高さデータが表す高さを、重み決定部２０４において決定された重みに応じて補正することによって、第２高さデータを生成する。
【００１３】
＜画像処理装置１が実行する処理のフロー＞
図２は、画像処理装置１が実行する処理のフローチャートである。以下、図２を用いて画像処理装置１における処理の詳細を説明する。尚、下記処理は、入力デバイス１３を介して得られたユーザの指示を表す入力情報を受信することで開始する。
【００１４】
ステップＳ３０１において、画像取得部２０１は、ユーザの指示入力を受け付けるためのＵＩ画面をディスプレイ１５に表示する。ステップＳ３０２において、画像取得部２０１は、ユーザの指示入力に基づいて、画像データを取得する。ステップＳ３０３において、第１高さデータ生成部２０２は、画像データの色信号値に基づいて、輝度値を算出する。さらに、輝度値を画像データが表す画像の基準面からの高さに変換し、変換によって得られた高さを各画素に記録した第１高さデータを生成する。ここで、基準面は、画像データが表す画像を記録媒体上に形成した場合の、記録媒体の表面とする。ステップＳ３０３における処理の詳細は後述する。
【００１５】
ステップＳ３０４において、領域分割部２０３は、画像データが表す画像を複数の領域に分割する。ステップＳ３０４における処理の詳細は後述する。ステップＳ３０５において、重み決定部２０４は、領域分割によって得られた各領域の特徴に基づいて順位付けを行い、その順位に基づいて高さを補正するための重みを決定する。ステップＳ３０４における処理の詳細は後述する。ステップＳ３０６において、第２高さデータ生成部２０５は、ステップＳ３０３において生成された第１高さデータが表す高さを、ステップＳ３０５において決定された重みに応じて補正することによって、第２高さデータを生成する。ステップＳ３０６における処理の詳細は後述する。
【００１６】
＜ステップＳ３０３における第１高さデータの生成処理＞
図３は、ステップＳ３０３における第１高さデータを生成する処理のフローチャートである。以下、ステップＳ３０３における処理の詳細を図４を用いて説明する。
【００１７】
ステップＳ４０１において、第１高さデータ生成部２０２は、画像データにおける画素位置（ｉ，ｊ）について、変数ｉと変数ｊとの初期化を行う。
【００１８】
ステップＳ４０２において、第１高さデータ生成部２０２は、画像データの注目画素の色信号値に基づいて、着目画素の輝度値を算出する。具体的には、まず、着目画素の色信号値に対してガンマ（γ）補正を行う。γ補正には、以下の式（１）乃至式（３）を用いる。
【００１９】
【数１】
2019045996.tif 000003
【００２０】
【数２】
2019045996.tif 000004
【００２１】
【数３】
2019045996.tif 000005
【００２２】
ここで、Ｒ’はＲ値をγ補正した後の値である。Ｇ’及びＢ’も同様である。γはγ補正値であり、本実施形態においては２．２とする。次に、式（４）により輝度値Ｙを算出する。尚、最大輝度値は１．０とする。
Ｙ＝０．２１２６×Ｒ’＋０．７１５２×Ｇ’＋０．０７２２×Ｂ’・・・式（４）
ステップＳ４０３において、第１高さデータ生成部２０２は、輝度値Ｙを画像データが表す画像の基準面からの高さＨに変換する。変換には式（５）を用いる。高さＨは、Ｒ値２５５、Ｇ値２５５、Ｂ値２５５の色信号値が記録された画素において最大の高さとなる。
【００２３】
【数４】
2019045996.tif 000006
【００２４】
ステップＳ４０４において、第１高さデータ生成部２０２は、画像の横方向の画素位置を表すｉが画像の横方向の画素数と同じか否かを判定し、同じであればステップＳ４０５へ進み、そうでなければｉに１を加えてステップＳ４０２へ戻る。
【００２５】
ステップＳ４０５において、第１高さデータ生成部２０２は、画像の縦方向の画素位置を表すｊが画像の縦方向の画素数と同じか否かを判定する。同じであれば全画素に高さＨが記録された第１高さデータが生成されているため、ステップＳ３０３における処理を終了し、ステップＳ３０４へ進む。同じでなければｉを０に更新し、ｊに１を加えてステップＳ４０２へ戻る。
【００２６】
＜ステップＳ３０４における領域分割処理＞
図４は、ステップＳ３０４における領域分割処理のフローチャートである。以下、ステップＳ３０４における処理の詳細を図４を用いて説明する。
【００２７】
ステップＳ５０１において、領域分割部２０３は、画像データと、領域分割に用いるＬＰＦ及びＨＰＦのフィルタ係数と、を取得する。
【００２８】
ステップＳ５０２において、領域分割部２０３は、画像データのノイズを低減するために、画像データに対してＬＰＦを適用する。本実施形態においては、３×３の２次元フィルタを用いた画像の畳み込み処理を行う。畳み込み処理は以下の式（６）によって行う。
【００２９】
【数５】
2019045996.tif 000007
【００３０】
ここで、Ｙｉ，ｊは画素位置（ｉ，ｊ）における輝度値であり、Ｙ’ｉ，ｊは画素位置（ｉ，ｊ）における畳み込み処理後の輝度値である。ＡはＬＰＦのフィルタ係数ａ０〜ａ８を成分とする行列である。尚、ＬＰＦには、公知のガウシアンフィルタや移動平均フィルタ、メディアンフィルタなどを用いることができる。また、本実施形態においてはＬＰＦによって画像データのノイズを低減するが、ノイズを低減する方法であれば他の方法であってもよい。例えば、周波数分解によって画像データを周波数空間のパワースペクトルを表すデータに変換してから高周波成分を取り除いてもよい。周波数分解には、公知のＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）やウェーブレット変換などを用いることができる。
【００３１】
ステップＳ５０３において、領域分割部２０３は、画像データのエッジを抽出するために、ノイズが低減された画像データに対してＨＰＦを適用する。本実施形態においては、３×３の２次元フィルタを用いた画像の畳み込み処理を行う。畳み込み処理は以下の式（７）によって行う。
【００３２】
【数６】
2019045996.tif 000008
【００３３】
ここで、Ｙ’ｉ，ｊは画素位置（ｉ，ｊ）における輝度値であり、Ｙ’’ｉ，ｊは画素位置（ｉ，ｊ）における畳み込み処理後の輝度値である。ＢはＨＰＦのフィルタ係数ｂ０〜ｂ８を成分とする行列である。尚、ＨＰＦには、公知のラプラシアンフィルタやアンシャープマスクなどを用いることができる。尚、本実施形態においてはＨＰＦによって画像データのエッジを抽出するが、エッジを抽出する方法であれば他の方法であってもよい。例えば、周波数分解によって画像データを周波数空間のパワースペクトルを表すデータに変換してから低周波成分を取り除いてもよい。周波数分解には、公知のＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）やウェーブレット変換などを用いることができる。
【００３４】
ステップＳ５０４において、領域分割部２０３は、画素位置を表すｉ，ｊを０に初期化する。さらに、画素の画素値が属する範囲ＩＤを表すＫを０に、注目画素の画素値が属する範囲のカウントを表すｍを０に、画素が属する領域ＩＤを表すＬを０に、領域のカウントを表すｎを０に初期化する。また、０〜２５５の値を複数の範囲に区分けするための閾値設定を行う。ここで、区分けするための範囲数をＰとし、範囲間の閾値をＱとする。尚、本実施形態においては、０〜２５５の値を８つの範囲に区分けするため、Ｐは８となる。また、Ｑは３２、６４、９６、１２８、１６０、１９２、２２４である。Ｋの値は、画素値が区分けされた範囲のうちどの範囲に属するかに応じて決まる。尚、区分けの方法は上記一例に限定されず、０〜２５５の範囲を複数の範囲に分けられればどのような区分けであってもよい。
【００３５】
ステップＳ５０５において、領域分割部２０３は、注目画素の画素値が８つの範囲のうちどの範囲の値であるかを判定し、Ｋの値を決定する。具体的には、注目画素（ｉ，ｊ）の輝度値Ｙ’’ｉ，ｊが式（８）を満たすか否かを判定し、満たしていれば注目画素が属する範囲としてｍを設定しステップＳ５０６へ進む。満たしていなければｍに１を加えてステップＳ５０５の判定を再度行う。
Ｙ’’ｉ，ｊ≧ＱｍかつＹ’’ｉ，ｊ＜Ｑｍ＋１・・・式（８）
ステップＳ５０６において、領域分割部２０３は、画像データの全ての画素についてＫの値を決定したか否かを判定し、決定していれば画素位置を表す変数ｉ，ｊとカウントｍを０に初期化してステップＳ５０７へ進む。決定していなければ画素位置を表す変数を更新してステップＳ５０５に戻る。
【００３６】
ステップＳ５０７において、領域分割部２０３は、注目画素の画素値の範囲ＩＤであるＫがｍであるか否かを判定し、ｍであればステップＳ５０８へ進み、ｍでなければ画素位置を表す変数を更新してステップＳ５０７の判定を再度行う。ステップＳ５０８において、領域分割部２０３は、注目画素と隣接するいずれかの画素の範囲ＩＤであるＫが同じであるか否かを判定し、同じものがあればステップＳ５０９へ進む。同じものがなければステップＳ５１０へ進む。ここで、注目画素と隣接する画素は、縦方向又は横方向のいずれかで注目画素と接している画素である。ステップＳ５０９において、領域分割部２０３は、注目画素の領域ＩＤであるＬにｎを設定する。また、範囲ＩＤであるＫが同じである隣接画素のＬにもｎを設定する。ステップＳ５１０において、領域分割部２０３は、ｎに１を加えてｎを更新し、Ｌにｎを設定する。
【００３７】
ステップＳ５１１において、領域分割部２０３は、画像データの全ての画素についてＬの値を決定したか否かを判定し、決定していればステップＳ３０４における処理を終了してステップＳ３０５へ進む。決定していなければ画素位置を表す変数を更新してステップＳ５０７に戻る。以上、ステップＳ３０４の処理によって、画素値の範囲ＩＤが同じ画素には同じ領域ＩＤが設定される。これにより、画素値が近い画素の集合それぞれが１つの領域となるように領域分割処理が行われる。尚、領域分割の方法は上記一例に限定されず、公知の領域分割方法を用いてもよい。
【００３８】
＜ステップＳ３０５における重み決定処理＞
図５は、ステップＳ３０５における重み決定処理のフローチャートである。以下、ステップＳ３０５における処理の詳細を図５を用いて説明する。
【００３９】
ステップＳ６０１において、重み決定部２０４は、第１高さデータと、ステップＳ３０４における領域分割処理によって得られた各画素における領域ＩＤと、を取得する。さらに画素位置を表すｉ，ｊを０に初期化する。ステップＳ６０２において、重み決定部２０４は、領域分割によって得られた各領域において高さの平均値を算出する。ステップＳ６０３において、重み決定部２０４は、第１高さデータにおける全ての領域について高さの平均値の算出が行われたか否かを判定し、行われていればステップＳ６０４へ進み、行われていなければ領域ＩＤを更新してステップＳ６０２に戻る。
【００４０】
ステップＳ６０４において、重み決定部２０４は、平均値の大きさで領域をソートし、平均値の小さい順に順位を割り振る。具体的には、最も平均値が小さい領域に対して順位１を割り振り、以後小さい順に順位を割り振る。尚、平均値の大きさが同一のものが複数ある場合は、領域ＩＤが小さい方により若い順位を割り当てるものとする。また、ソートには、公知のバブルソートやクイックソート等を用いる。ステップＳ６０５において、重み決定部２０４は、ステップＳ６０４において割り当てた順位に応じて、第１高さデータが表す高さを補正するための重みを領域ごとに決定する。具体的には、領域内の各画素に高さを加算することによって補正を行うため、以下の式（９）を用いて加算する高さを領域ごとに決定する。
【００４１】
【数７】
2019045996.tif 000009
【００４２】
ここで、加算する高さをＨａｄｄ、分割比をＲａｔｅ、順位をＲａｎｋとする。また、本実施形態における最大高さは２５５とする。尚、本実施形態においては、各領域における高さの平均値に基づいて各領域の順位を決めたが、各領域における高さに関する特徴量であれば順位決めに用いる値は平均値に限られない。例えば、最頻値や中央値などの統計量であってもよいし、最大値や最小値などであってもよい。
【００４３】
＜ステップＳ３０６における第２高さデータの生成処理＞
図６は、ステップＳ３０６における第２高さデータの生成処理のフローチャートである。以下、ステップＳ３０６における処理の詳細を図６を用いて説明する。
【００４４】
ステップＳ７０１において、第２高さデータ生成部２０５は、第１高さデータと、第１高さデータの各画素の高さに加算する高さと、を取得する。さらに、高さを加算する際の係数を取得する。図７に示すＵＩ画面を介して、ユーザからの係数に関する入力を受け付ける。テキストボックス８０１は係数Ｒ１を設定するための領域であり、テキストボックス８０２は係数Ｒ２を設定するための領域である。処理ボタン８０３は設定した係数に基づいて補正処理を開始する。
【００４５】
ステップＳ７０２において、第２高さデータ生成部２０５は、式（１０）を用いて第１高さデータが表す高さを補正し、補正された高さが各画素に記録された第２高さデータを生成する。具体的には、第１高さデータと、各画素に加算する高さが記録された加算用高さデータと、において対応する画素同士の画素値の和を算出し、画素値の和を第２高さデータの画素値とする。ここで、第１高さデータの各画素に記録された高さはＨ、加算する高さはＨａｄｄ、補正後の高さはＨＣである。
【００４６】
【数８】
2019045996.tif 000010
【００４７】
＜実施形態１の効果＞
以上説明したように、本実施形態における画像処理装置１は、２次元画像の複数の画素に対応する画素値に基づいて、複数の画素における高さを表す第１高さデータを生成する。２次元画像を複数の領域に分割し、複数の領域のそれぞれについて、各領域の画素の高さに関する特徴量に基づいて、第１高さデータを補正するための重みを決定する。決定した重みに基づいて前記第１高さデータを補正することによって、第２高さデータを生成する。
【００４８】
これにより、２次元画像において類似した輝度情報（濃淡情報）を有する領域がある場合でも、領域ごとに異なる高さの補正を行うため、オブジェクト同士の高さ（奥行き）の違いを３次元画像上で表現することができる。よって、２次元画像データから３次元画像データを生成する際に、２次元画像データにおいて濃淡が類似したオブジェクトが重なり合っている場合でも、３次元画像データにおいてオブジェクトの重なりを表現することができる。
【００４９】
本実施形態における方法を用いて２次元画像データから３次元画像データを生成する一例として、複数の布が重なり合った衣服を撮像した２次元画像データを用いる例が考えられる。例えば、ポケットを有する衣服を撮像した場合に、撮像画像上ではポケットとそれ以外の部分で色（濃淡）の違いが小さいため、従来の方法を用いてもポケットとそれ以外の部分との高さ（奥行き）の違いを表現できなかった。この場合に本実施形態における方法を用いると、ポケットとそれ以外の部分とで領域が分けられ、領域ごとに異なる高さの補正が行われる（段差が付加される）ため、３次元画像上でポケットとそれ以外の部分との高さ（奥行き）の違いを表現することができる。衣服としてはデニム生地のジーンズなどが考えられるが、他の衣服でもよい。また、衣服をオブジェクトの一例として説明したが、重なり合ったオブジェクトを含む２次元画像データあれば本実施形態を適用可能である。尚、太陽や光源など、輝度（濃淡）と高さ（奥行き）との関係が定まらないオブジェクトや背景が２次元画像上に含まれる場合は、そのオブジェクトや背景に対応する領域を除いた領域に本実施形態の方法を適用するようにしてもよい。この場合は、領域分割処理後に高さを算出する領域を選択するためのＵＩ画面を表示するようにする。高さの算出を行わない領域は、高さを第２画像データにおいて背景（高さ０）として設定してもよいし、順位付けの際の順位が最下位や最上位になるようにしてもよい。
【００５０】
＜変形例＞
尚、本実施形態においては、補正の際の係数をユーザ入力によって取得したが、予め係数を決めておき、係数を保持しておいてもよい。また、係数は、領域ごとに異なるように保持しておいてもよい。
【００５１】
また、本実施形態においては、順位に応じて加算する高さを決定したが、順位を設定せずに、領域ごとの高さの平均値に応じて加算する高さを決定してもよい。
【００５２】
また、本実施形態においては、高さを補正する際の重みとして加算する高さを決定したが、補正の方法及び重みは上記一例に限定されない。例えば、第１高さデータが表す高さに加算する所定の高さを予め保持しておき、所定の高さを領域の順位に応じて補正することにより、領域ごとに異なる高さを加算するようにしてもよい。この場合は、順位に応じて領域ごとに０．３、０．５、０．７などの重みを決定し、重みが乗算された所定の高さを各領域内の高さに加算する。また、補正は加算に限られず、乗算、減算、除算などであってもよい。
【００５３】
また、本実施形態においては、領域分割処理を画像データに対して行ったが、画像データから生成した第１高さデータに対して領域分割処理を行ってもよい。
【００５４】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５５】
１  画像処理装置
２０１  画像取得部
２０２  第１高さデータ生成部
２０３  領域分割部
２０４  重み決定部
２０５  第２高さデータ生成部
【図１】
2019045996.tif 000011
【図２】
2019045996.tif 000012
【図３】
2019045996.tif 000013
【図４】
2019045996.tif 000014
【図５】
2019045996.tif 000015
【図６】
2019045996.tif 000016
【図７】
2019045996.tif 000017