JP6882720B2 - 画像処理装置、および、コンピュータプログラム - Google Patents

画像処理装置、および、コンピュータプログラム Download PDF

Info

Publication number
JP6882720B2
JP6882720B2 JP2018054230A JP2018054230A JP6882720B2 JP 6882720 B2 JP6882720 B2 JP 6882720B2 JP 2018054230 A JP2018054230 A JP 2018054230A JP 2018054230 A JP2018054230 A JP 2018054230A JP 6882720 B2 JP6882720 B2 JP 6882720B2
Authority
JP
Japan
Prior art keywords
parameter
target image
value
pixels
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018054230A
Other languages
English (en)
Other versions
JP2019169772A (ja
Inventor
近藤 真樹
真樹 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018054230A priority Critical patent/JP6882720B2/ja
Publication of JP2019169772A publication Critical patent/JP2019169772A/ja
Application granted granted Critical
Publication of JP6882720B2 publication Critical patent/JP6882720B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

本明細書は、画像を補正する技術に関する。
従来から画像を補正する処理が行われている。例えば、画像の明るさに関する成分のヒストグラムから画像の明るさの度合いを判別し、判別の結果に基づいて補正の程度を定め、定められた補正の程度に従い明るさに関する成分を補正する技術が提案されている。
特開2001−189861号公報 国際公開第2007/072907号 特開2007−213455号公報
ところで、画像は、種々の領域を含み得る(例えば、顔を表す顔領域等)。画像に適した補正は、画像に含まれる領域に応じて異なり得る。ここで、画像に適した補正を行う技術が求められていた。
本明細書は、画像に適した補正を行う技術を開示する。
本明細書は、例えば、以下の適用例を開示する。
[適用例1]画像処理装置であって、対象画像データを取得する取得部と、対象画像データによって示される対象画像であって、複数の画素で構成される前記対象画像から顔領域を特定する顔特定部と、前記対象画像から前記顔領域が特定される場合に、前記顔領域内の複数の画素のそれぞれの色値に基づいて第1パラメータを決定する第1パラメータ決定部と、前記第1パラメータを用いて画素の色を補正する第1補正処理を実行することによって前記対象画像の複数の画素のそれぞれの色を補正する第1補正部であって、前記第1パラメータは前記対象画像の前記複数の画素に共通に用いられる、前記第1補正部と、前記対象画像から前記顔領域が特定されない場合に、前記対象画像の前記複数の画素にそれぞれ対応する複数の第2パラメータを決定する第2パラメータ決定部と、前記複数の第2パラメータを用いて前記対象画像の前記複数の画素のそれぞれの色を補正する第2補正処理を実行する第2補正部と、補正済の画像データを出力する出力部と、を備える、画像処理装置。
この構成によれば、対象画像から顔領域が特定される場合に、顔領域内の複数の画素の色値に基づいて決定される第1パラメータが対象画像の複数の画素に共通に用いられ、そして、対象画像から顔領域が特定されない場合に、画素毎に第2パラメータが決定されて、各画素には画素に対応する第2パラメータが用いられるので、対象画像から顔領域が特定されるか否かに応じて適切な補正を行うことができる。
[適用例2]
適用例1に記載の画像処理装置であって、
前記第2パラメータ決定部は、
前記対象画像の画素密度を低減して得られる縮小画像を示す縮小画像データを用いて、前記縮小画像の複数の画素にそれぞれ対応する複数の第2パラメータを決定し、
前記縮小画像の前記複数の複数の画素のうちの少なくとも一部の複数の画素のそれぞれの前記第2パラメータを補間することによって、前記対象画像の画素の前記第2パラメータを決定する、
画像処理装置。
[適用例3]
適用例2に記載の画像処理装置であって、
前記第1パラメータ決定部は、前記縮小画像データを用いずに、前記対象画像データを分析することによって、前記第1パラメータを決定する、
画像処理装置。
[適用例4]
適用例1から3のいずれかに記載の画像処理装置であって、
前記第2補正処理は、画素の輝度を補正する処理であり、
前記第2パラメータは、輝度を増大させる処理と輝度を低減させる処理とのいずれを実行すべきかを決定するための輝度の閾値である、
画像処理装置。
[適用例5]
適用例1から4のいずれかに記載の画像処理装置であって、
前記第1パラメータは、輝度の補正に用いられるパラメータである輝度パラメータと、彩度の補正に用いられるパラメータである彩度パラメータと、を含み、
前記第1補正処理は、前記輝度パラメータを用いて画素の輝度を補正する輝度補正処理と、前記彩度パラメータを用いて画素の彩度を補正する彩度補正処理と、を含み、
前記第1パラメータ決定部は、前記第1補正処理によって前記顔領域の画素の色が目標色に近づくように、前記輝度パラメータと前記彩度パラメータとを決定する、
画像処理装置。
[適用例6]
適用例5に記載の画像処理装置であって、
前記輝度補正処理は、ガンマ補正処理であり、
前記輝度パラメータは、前記ガンマ補正処理に用いられるガンマ値を含む、
画像処理装置。
[適用例7]
適用例5または6に記載の画像処理装置であって、
前記彩度補正処理は、補正前の彩度の一次関数によって補正済の彩度を決定する処理であり、
前記彩度パラメータは、前記一次関数の傾きと切片とを含む、
画像処理装置。
[適用例8]
適用例1から7のいずれかに記載の画像処理装置であって、
前記顔特定部は、
予め決められた方法で前記顔領域の候補領域を特定し、
前記候補領域内の特定の領域の色が特定の色範囲内である場合に、前記特定の領域を前記顔領域として特定する、
画像処理装置。
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
実施例の画像処理システム1000を示す説明図である。 画像処理の例を示すフローチャートである。 画像処理の例を示すフローチャートである。 対象画像の例を示す概略図である。 ガンマ補正の説明図である。 彩度補正の説明図である。 輝度補正処理の例を示すフローチャートである。 画像の例を示す概略図である。 ヒストグラムの例を示す概略図である。 平均輝度値Qと閾値Tとの関係を示すグラフである。 輝度補正の説明図である。 ヒストグラム補正の説明図である。
A.第1実施例:
図1は、実施例の画像処理システム1000を示す説明図である。画像処理システム1000は、画像処理装置100と、画像処理装置100に接続された複合機200と、を含んでいる。後述するように、複合機200は、原稿等の対象物を読み取るスキャナ部280と、画像を印刷する印刷実行部290と、複合機200の全体を制御する制御部299と、を有している。
画像処理装置100は、パーソナルコンピュータである(例えば、デスクトップコンピュータ、タブレットコンピュータなど)。画像処理装置100は、プロセッサ110と、記憶装置115と、画像を表示する表示部140と、ユーザによる操作を受け入れる操作部150と、通信インタフェース170と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。
プロセッサ110は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。
不揮発性記憶装置130は、プログラム132を格納している。プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する。プログラム132によって実現される機能の詳細については、後述する。プロセッサ110は、プログラム132の実行に利用される種々の中間データを、記憶装置115(例えば、揮発性記憶装置120、不揮発性記憶装置130のいずれか)に、一時的に格納する。本実施例では、プログラム132は、複合機200の製造者によって提供されたデバイスドライバに含まれている。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。これに代えて、LEDディスプレイ、有機ELディスプレイなどの、画像を表示する他の種類の装置を採用してもよい。操作部150は、ユーザによる操作を受け取る装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。これに代えて、ボタン、レバーなどの、ユーザによって操作される他の種類の装置を採用してもよい。ユーザは、操作部150を操作することによって、種々の指示を画像処理装置100に入力可能である。
通信インタフェース170は、他の装置と通信するためのインタフェースである(例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース)。通信インタフェース170には、複合機200が接続されている。
画像処理装置100は、ユーザの指示に従って複合機200を駆動し、複合機200に画像を印刷させる。
複合機200は、制御部299と、スキャナ部280と、印刷実行部290と、を有している。制御部299は、プロセッサ210と、記憶装置215と、画像を表示する表示部240と、ユーザによる操作を受け入れる操作部250と、通信インタフェース270と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。
不揮発性記憶装置230は、プログラム232を格納している。プロセッサ210は、プログラム232を実行することによって、種々の機能を実現する(詳細は、後述)。プロセッサ210は、プログラム232の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置220、不揮発性記憶装置230のいずれか)に、一時的に格納する。本実施例では、プログラム232は、複合機200の製造者によって、ファームウェアとして、不揮発性記憶装置230に予め格納されている。
表示部240は、画像を表示する装置であり、例えば、液晶ディスプレイである。これに代えて、LEDディスプレイ、有機ELディスプレイなどの、画像を表示する他の種類の装置を採用してもよい。操作部250は、ユーザによる操作を受け取る装置であり、例えば、表示部240上に重ねて配置されたタッチパネルである。これに代えて、ボタン、レバーなどの、ユーザによって操作される他の種類の装置を採用してもよい。ユーザは、操作部250を操作することによって、種々の指示を複合機200に入力可能である。
通信インタフェース270は、他の装置と通信するためのインタフェースである。本実施例では、通信インタフェース270は、画像処理装置100の通信インタフェース170に接続されている。
スキャナ部280は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿等の対象物を読み取ることによって、読み取った画像(「スキャン画像」と呼ぶ)を表すスキャンデータを生成する。スキャンデータは、例えば、カラーのスキャン画像を表すRGBのビットマップデータである。
印刷実行部290は、所定の方式(例えば、レーザ方式や、インクジェット方式)で、用紙(印刷媒体の一例)上に画像を印刷する装置である。本実施例では、印刷実行部290は、シアン、マゼンタ、イエロ、ブラックの4種類のインクを用いてカラー画像を印刷可能なインクジェット方式の印刷装置である。
図2、図3は、画像処理の例を示すフローチャートである。図3は、図2の続きの処理を示している。図2、図3は、画像処理装置100が、ユーザの指示に応じて、複合機200に印刷のための画像データを出力する処理を示している。本実施例では、画像処理装置100のプロセッサ110が、プログラム132に従って、図2、図3の処理を進行する。プロセッサ110は、操作部150に入力されたユーザの印刷開始指示に従って、図2、図3の処理を開始する。
S100では、プロセッサ110は、処理対象の画像データを取得する(「対象画像データ」とも呼ぶ)。例えば、プロセッサ110は、ユーザ、または、アプリケーションプログラムからの印刷開始指示で指定された画像データを、対象画像データとして取得する。本実施例では、対象画像データが、ビットマップデータであり、対象画像データの各画素の画素値が、0から255までの256階調のR(赤)G(緑)B(青)の階調値で表されていることとする。指定された画像データの形式がビットマップ形式とは異なる形式である場合(例えば、EMF(Enhanced Meta File)形式)、プロセッサ110は、データ形式を変換(例えば、ラスタライズ)することによって生成されるビットマップデータを、対象画像データとして用いる。いずれの場合も、本実施例では、対象画像データは、矩形状の画像を示していることとする。
S105では、プロセッサ110は、対象画像データによって表される画像(対象画像とも呼ぶ)内に存在する顔を含む領域の候補である候補領域を特定する顔認識処理を実行する。図4は、対象画像の例を示す概略図である。この対象画像TI1は、一人の人物Ob1を表している。この対象画像TI1からは、人物Ob1の顔を含む領域A1が、候補領域として、特定される。顔認識処理は、公知の方法を用いて実行される。例えば、顔認識処理としては、エッジのような低次特徴から眼や口のような高次特徴を階層的に検出し、最終的に顔の重心位置や顔の外形などを検出するコンボリューションニューラルネットワークが知られている(例えば、特開2013−120954、特開2009−237618参照)。顔認識処理によって特定される候補領域は、対象画像内の顔以外の部分(例えば、背景)を、含み得る。
S110(図2)では、プロセッサ110は、候補領域が特定されたか否かを判断する。候補領域が特定されない場合(S110:No)、プロセッサ110は、対象画像から人物の顔を表す領域を特定できないと判断し、S290へ移行する(詳細は、後述)。
候補領域が特定された場合(S110:Yes)、S120で、プロセッサ110は、候補領域から、注目すべき部分領域である注目領域を特定する。注目領域としては、候補領域内の肌を示す可能性が高い部分が、採用される。このような注目領域の特定方法は、種々の方法であってよい。本実施例では、図4に示すように、候補領域A1として矩形領域が特定される。プロセッサ110は、候補領域A1を、3行3列の9個の部分領域A1sに、均等に区分する。そして、プロセッサ110は、9個の部分領域A1sのうちの中央の部分領域A2を、注目領域として、選択する。候補領域A1が人物の顔を表す場合、注目領域A2は、顔の中央部分を示している。これにより、注目領域A2における肌とは異なる部分(背景、髪、目、口など)の割合は、低減される。
S130(図2)では、プロセッサ110は、注目領域の平均のL*a*b*値を算出する。本実施例では、プロセッサ110は、RGB色空間の色値(RGB値)と、CIELAB色空間の色値(L*a*b*値)と、の予め決められた対応関係を示すプロファイル(図示せず)を参照して、注目領域の各画素のRGB値を、L*a*b*値に変換する。プロファイルは、例えば、ルックアップテーブルである。そして、プロセッサ110は、L*a*b*値のそれぞれの平均値FL、Fa、Fbを算出する。プロファイルとしては、例えば、sRGB色空間とCIELAB色空間との対応関係を示すプロファイルが、用いられる。
S140では、プロセッサ110は、a*とb*との色値Fa、Fbの組み合わせが、特定色範囲内であるか否かを判断する。特定色範囲は、注目領域が人物の顔(特に肌)を表す場合に、色値Fa、Fbが取り得る値の範囲であり、予め実験的に決められている。本実施例では、特定色範囲は、−10<Fa<20、かつ、−10<Fb<20の範囲である(他の範囲が特定色範囲として採用されてもよい)。色値Fa、Fbの組み合わせが特定色範囲外である場合(S140:No)、プロセッサ110は、注目領域が人物の顔を表していない、すなわち、対象画像から人物の顔を表す領域を特定できないと判断し、S290へ移行する(詳細は、後述)。
色値Fa、Fbの組み合わせが特定色範囲内である場合(S140:Yes)、プロセッサ110は、注目領域が人物の顔を表している、すなわち、対象画像から人物の顔を表す領域を特定できると判断し、人物に適した補正処理を実行する。以下、注目領域が人物の顔を表していると判断される場合(S110:Yes、S140:Yes)、注目領域を、「対象顔領域」、あるいは、単に「顔領域」 とも呼ぶ。S150で、プロセッサ110は、L*値のガンマ補正用のガンマ値を決定する。L*値は輝度の指標値であるので、L*値の補正は輝度の補正であるといえる。
図5は、ガンマ補正の説明図である。図中の上部には、補正前のL*値と補正済のL*値であるL*c値との対応関係を示すグラフGLが示されている。横軸は、補正前のL*値を示し、縦軸は、補正済のL*c値を示している。本実施例では、L*の全範囲は、ゼロ以上、100以下である。図5の下部の式EQ1は、補正前のL*値と補正済のL*c値との関係式である。補正済のL*c値は、補正前のL*値のべき乗を用いて表される。値gは、べき指数である(以下、べき指数gを、ガンマ値gとも呼ぶ)。なお、L*値の全範囲のうち最小値(ここでは、ゼロ)と最大値(ここでは、100)とは、補正によって変化しない。
ガンマ値gは、対象顔領域の明るさが好ましい明るさになるように、決定される。本実施例では、プロセッサ110は、対象顔領域のL*の平均値FLが、ガンマ補正によって、予め決められた目標値TFL(例えば、60)に近づくように、ガンマ値gを決定する。平均値FLが目標値TFL未満である場合、プロセッサ110は、0.1以上、1.0以下の範囲内に0.1間隔で並ぶ複数の候補ガンマ値のそれぞれを用いて、平均値FLのガンマ補正によって得られる補正済値FLcを算出する。そして、プロセッサ110は、目標値に最も近い補正済値FLcを導く候補ガンマ値を、ガンマ値gとして採用する。平均値FLが目標値以上である場合、プロセッサ110は、ガンマ値gを、1.0に決定する。このように、対象顔領域のL*の平均値FLが目標値と比べて明るい場合、L*値を暗くするガンマ補正は行われずに、L*値は維持される。
S160(図2)では、プロセッサ110は、ガンマ補正用のルックアップテーブルを生成する。生成されるルックアップテーブルは、補正前のL*値と補正済のL*c値との複数の対応関係を示すテーブルである。本実施例では、補正前のL*値として、0から100までの101個の整数が用いられる。
S170では、プロセッサ110は、彩度の補正用の一次関数を決定する。図6は、彩度補正の説明図である。上部には、彩度補正のグラフGCが示されている。横軸は、補正前の彩度値Cを示し、縦軸は、補正済の彩度値Ccを示している。本実施例では、彩度値Cの全範囲は、ゼロ以上、最大値Cmax以下の範囲である。図6の下部には、5つの式EQ2a〜EQ2eが、示されている。式EQ2aは、彩度値Cの計算式を示している。本実施例では、彩度値Cは、a*とb*の成分値で表され、具体的には、a*b*平面における原点と色値(a*、b*)との間のユークリッド距離で、示される。グラフ中の彩度値Fcは、対象顔領域のa*、b*の平均値Fa、Fbから算出される彩度値である(平均彩度値Fcとも呼ぶ)。グラフ中の補正済の彩度値TFcは、予め決められた目標値である(目標彩度値TFcとも呼ぶ)。本実施例では、平均彩度値Fcが目標彩度値TFcに近づくように、彩度が補正される。
本実施例では、グラフGCは、平均彩度値Fc未満の彩度値Cの範囲の第1グラフGC1と、平均彩度値Fc以上の彩度値Cの範囲の第2グラフGC2と、に区分される。これらのグラフGC1、GC2は、いずれも、一次関数で表される。彩度値Cがゼロから平均彩度値Fcまで変化する場合、補正済の彩度値Ccは、ゼロから目標彩度値TFcまで、彩度値Cの変化に対して線形に変化する。彩度値Cが平均彩度値Fcから最大値Cmaxまで変化する場合、補正済の彩度値Ccは、目標彩度値TFcから最大値Cmaxまで、彩度値Cの変化に対して線形に変化する。
図6の下部の式EQ2bで示される第1係数R1は、第1グラフGC1の傾きであり、具体的には、平均彩度値Fcに対する目標彩度値TFcの比率である。プロセッサ110は、目標彩度値TFcを平均彩度値Fcで除することによって、第1係数R1を算出する。式EQ2cは、第1グラフGC1の一次関数を示している。補正済の彩度値Ccは、補正前の彩度値Cに、第1係数R1を乗じて得られる値である。第1グラフGC1の一次関数の切片は、ゼロである。
式EQ2dで示される第2係数R2は、第2グラフGC2の傾きであり、具体的には、「(Cmax−TFc)/(Cmax−Fc)」である。プロセッサ110は、平均彩度値Fcと目標彩度値TFcとを用いて、式EQ2dに従って、第2係数R2を算出する。式EQ2eは、第2グラフGC2の一次関数を示している。補正済の彩度値Ccは、「C−Fc」に第2係数R2を乗じて得られる値に、目標彩度値TFcを加算して得られる値である。図示を省略するが、第2グラフGC2の一次関数の切片は、「TFc−R2×Fc」である。プロセッサ110は、第2係数R2を決定することによって、切片「TFc−R2×Fc」を決定している、といえる。
S180〜S230(図3)では、プロセッサ110は、対象画像の複数の画素のそれぞれの色値を、補正する。S180では、プロセッサ110は、1個の未補正の画素を、対象画素として選択する。S190では、プロセッサ110は、対象画素の色値(ここでは、RGB値)を、CIELAB色空間の色値(L*a*b*値)に、変換する。この変換は、図2のS130で説明したプロファイルを用いて、行われる。
S200では、プロセッサ110は、S160(図2)で生成されたルックアップテーブルを用いて、対象画素のL*値のガンマ補正を実行して、補正済のL*値(図5のL*c値)を算出する。対象画素のL*値が、ルックアップテーブルによって規定されていない場合、プロセッサ110は、補間によって、補正済のL*値を算出する。プロセッサ110は、ルックアップテーブルを用いることによって、ルックアップテーブルを用いずに図5の式EQ1に従って補正済のL*c値を算出する場合と比べて、高速にL*c値を算出できる。
S210では、プロセッサ110は、S170(図2)で決定された一次関数を用いて、対象画素のa*値とb*値との彩度補正を実行して、補正済のa*値とb*値とを算出する。本実施例では、プロセッサ110は、対象画素のa*値とb*値とを用いて彩度値Cを算出し、図6で説明した一次関数に従って彩度値Cから補正済の彩度値Ccを算出する。プロセッサ110は、補正済の彩度値Ccを用いて、補正済のa*値とb*値とを算出する。ここで、補正済のa*値に対するb*値の比率は、補正前のa*値に対するb*値の比率と、同じである。すなわち、a*b*平面上において、彩度補正済の色値(a*、b*)は、原点と補正前の色値(a*、b*)とを結ぶ直線上に、位置している。原点から色値(a*、b*)へ向かう方向は、色相を示している。本実施例の彩度補正では、色相の大きな変化は、抑制されている。
S220では、プロセッサ110は、補正済のL*a*b*値を、RGB値に変換する。この変換は、L*a*b*値とRGB値との予め決められた対応関係を示すプロファイル(図示せず)を参照して、行われる。プロファイルは、例えば、ルックアップテーブルである。S220で得られるRGB値は、補正済のL*a*b*値に対応しており、未補正の画素のRGB値から補正されている。従って、この変換されたRGB値を、補正済のRGB値とも呼ぶ。
S230では、プロセッサ110は、対象画像の全ての画素の色値の補正が完了したか否かを判断する。未処理の画素が残っている場合(S230:No)、プロセッサ110は、S180へ移行して、未処理の画素の処理を実行する。全ての画素の色値の補正が完了した場合(S230:Yes)、S240で、プロセッサ110は、対象画像の画像データであって補正済の色値を示す画像データ(補正済対象画像データとも呼ぶ)を、出力する処理を実行する。
本実施例では、プロセッサ110は、S240で、S220で得られる補正済のRGBデータを用いて印刷データを生成する。プロセッサ110は、例えば、解像度変換処理と、解像度が変換された画像データの色変換処理と、色変換済の画像データを用いるハーフトーン処理と、を実行することによって、印刷データを生成する。解像度変換処理は、補正済のRGB値を示す画像データの解像度を印刷用の予め決められた解像度に変換する処理である。色変換処理は、各画素の色値を、印刷用の色空間の色値に変換する処理である。印刷用の色空間は、印刷データの色空間として予め決められた色空間であり、例えば、複合機200の印刷実行部290によって利用可能な印刷材(ここでは、シアン、マゼンタ、イエロ、ブラック)に対応する色成分で表される色空間である。ハーフトーン処理は、例えば、誤差拡散法や、ディザマトリクスを用いる方法など、種々の方法の処理であってよい。プロセッサ110は、ハーフトーン処理の結果を表すデータを用いて、複合機200の制御部299によって解釈可能なデータ形式のデータ(すなわち、印刷データ)を生成する。
プロセッサ110は、生成した印刷データを、複合機200に出力する。複合機200の制御部299(ここでは、プロセッサ210)は、受信した印刷データに従って、印刷実行部290を制御する。これにより、印刷実行部290によって、対象画像が印刷される。以上により、図2、図3の画像処理が終了する。
以上のように、対象画像から対象顔領域が特定される場合(図2、S110:Yes、S140:Yes)、対象顔領域内の複数の画素の色値に基づいて、補正用のパラメータ(ここでは、ガンマ値gと、一次関数の傾きと切片)が、決定される(S150、S170)。従って、決定されたパラメータを用いる補正(ここでは、ガンマ値gを用いるL*値のガンマ補正と、一次関数を用いる彩度値Cの補正)は、対象顔領域の顔の色が好ましい色になるように、対象画像を補正できる。
なお、印刷データによって示される色値(ここでは、シアン、マゼンタ、イエロ、ブラックのそれぞれの色値)は、補正済の色値(ここでは、補正済のRGB値)に基づいて、決定される。そして、印刷データは、対象画像を示す画像データである。従って、印刷データは、補正済対象画像データの例である。
図2のS140で、色値Fa、Fbの組み合わせが特定色範囲外である場合(S140:No)、すなわち、対象画像から人物の顔を表す領域を特定できないと判断される場合、プロセッサ110は、S290で、人物以外のオブジェクトを表す対象画像に適した補正処理を実行する。本実施例では、輝度補正処理が実行される。図7は、輝度補正処理の例を示すフローチャートである。S300では、プロセッサ110は、対象画像データの画素密度を低減することによって、縮小画像データを生成する。図8(A)は、対象画像の別の例を示す概略図であり、図8(B)は、縮小画像データによって表される縮小画像の例を示す概略図である。対象画像TI2(図8(A))は、人物を表さずに、花OFと葉OLとを表している。縮小画像TI2aは、対象画像TI2と同じ画像である(ただし、画素密度は、異なっている)。
縮小画像の画素密度は、種々の密度であってよい。本実施例では、プロセッサ110は、縮小画像の高さと幅とのうち大きい方の画素数が、256となるように、縮小画像の画素密度を決定する。これに代えて、縮小画像の画素密度は、予め決められた画素密度であってもよい。また、縮小画像データによって示される各画素の色値の決定方法としては、バイリニア法、バイキュービック法などの公知の種々の方法を採用可能である。
S310(図7)では、プロセッサ110は、後述するヒストグラム補正で用いられる下限値Hbtmと上限値Htopを算出する。まず、プロセッサ110は、縮小画像データのR値とG値とB値のそれぞれのヒストグラムを生成する。図9(A)〜図9(C)は、R値、G値、B値のヒストグラムHR、HG、HBの例を、それぞれ示している。横軸は、色値を示し、縦軸は、頻度を示している。
プロセッサ110は、R値のヒストグラムHRを分析し、第1値HminRと第2値HmaxRとを特定する。第1値HminRは、ヒストグラムのうちの第1値HminR以下の部分HP1の面積が、ヒストグラムの全体の面積に割合Pxrを乗じて得られる面積となるようなR値である。割合Pxrは、予め決められており、例えば、0.5%である。第1値HminRは、R値の大きい順の下位の割合Pxrの複数の画素のR値のうちの最大のR値と、おおよそ同じである。第2値HmaxRは、ヒストグラムのうちの第2値HmaxR以上の部分HP2の面積が、ヒストグラムの全体の面積に割合Pxrを乗じて得られる面積となるようなR値である。第2値HmaxRは、R値の大きい順の上位の割合Pxrの複数の画素のR値のうちの最小のR値と、おおよそ同じである。プロセッサ110は、G値に関する第1値HminGと第2値HmaxGと、B値に関する第1値HminBと第2値HmaxBとを、同様に、特定する。
図9(D)は、下限値Hbtmと上限値Htopとの計算式を示す概略図である。下限値Hbtmは、RGBの第1値HminR、HminG、HminBの平均値である。上限値Htopは、RGBの第2値HmaxR、HmaxG、HmaxBの平均値である。プロセッサ110は、これらの計算式に従って、下限値Hbtmと上限値Htopとを算出する。
図7のS320では、プロセッサ110は、縮小画像データを用いて、縮小輝度画像データを生成する。図8(C)は、縮小輝度画像データによって表される縮小輝度画像TI2bを示している。縮小輝度画像データは、縮小画像データの各画素の色値(ここでは、RGB値)を、輝度値に変換して得られる画像データである。図8(C)の縮小輝度画像TI2bは、図8(B)のカラーの縮小画像TI2aを1つの色成分(ここでは、輝度値)で表すモノクロ画像である。輝度値としては、例えば、RGB色空間のRGB値とYCbCr色空間の輝度値Yとを対応付ける公知の関係式を用いて算出される輝度値を、採用可能である。
S330では、プロセッサ110は、縮小輝度画像データを分析することによって、最大輝度値Imaxと最小輝度値Iminと平均輝度値Imeanとを、算出する。図8(C)には、平均輝度値Imeanの計算式が、示されている。ここで、高さHbは、縮小輝度画像TI2bの縦方向の画素数であり、幅Wbは、縮小輝度画像TI2bの横方向の画素数である。計算式の分母「Hb×Ha」は、縮小輝度画像TI2bの画素数と同じである。計算式の分子のI(i,j)は、横方向の画素位置iと縦方向の画素位置jとで特定される画素の輝度値Iを示している(ここで、0≦i≦Wb−1、0≦j≦Hb−1)。計算式の分子は、縮小輝度画像TI2bのHb×Ha個の画素の輝度値Iの合計値を示している。
S340(図7)では、プロセッサ110は、縮小画像データのRGB値のそれぞれの平均値Rave、Gave、Baveを、算出する。S350では、プロセッサ110は、算出された平均値Rave、Gave、Baveのうちの最大値である最大平均値RGBmaxaveを特定する。
S360では、プロセッサ110は、縮小輝度画像データを用いて、縮小ぼかし画像データを生成する。図8(D)は、縮小ぼかし画像データによって表される縮小ぼかし画像TI2cを示している。縮小ぼかし画像データは、縮小輝度画像データの各画素の輝度値Iを、平均輝度値Qに変換して得られる画像データである。図8(D)には、平均輝度値Q(i,j)の計算式が、示されている。本実施例では、画素(i,j)の平均輝度値Q(i,j)は、画素(i,j)を中心とする3行3列の9個の画素の輝度値Iの平均値である。
S370(図7)では、プロセッサ110は、縮小ぼかし画像データを用いて、縮小閾値画像データを生成する。図8(E)は、縮小閾値画像データによって表される縮小閾値画像TI2dを示している。縮小閾値画像データは、各画素の閾値を示している。図8(E)には、画素(i,j)の閾値T(i,j)の計算式が、示されている。図示するように、閾値T(i,j)は、縮小ぼかし画像データによって示される平均輝度値Q(i,j)と、最大平均値RGBmaxaveと、平均輝度値Imeanと、を用いて算出される。
図10は、平均輝度値Q(i,j)と閾値T(i,j)との関係を示すグラフである。横軸は、平均輝度値Q(i,j)を示し、縦軸は、閾値T(i,j)を示している。ゼロ閾値T0は、平均輝度値Q(i,j)がゼロである場合の閾値T(i,j)であり、図8(E)の計算式のQ(i,j)にゼロを代入することによって得られる(T0=255×0.6×RGBmaxave/Imean)。図示するように、平均輝度値Q(i,j)がゼロから255まで増大すると、閾値T(i,j)は、ゼロ閾値T0からゼロまで減少する。このように、閾値T(i,j)は、平均輝度値Q(i,j)が大きいほど、小さい。すなわち、対象画像の明るい部分では、閾値T(i,j)が小さくなり、対象画像の暗い部分では、閾値T(i,j)が大きくなる。
後述するように、対象画像の各画素の輝度値は、画素毎に決定される閾値Tを用いて、補正される。輝度値が閾値Tよりも小さい場合には、輝度値を増大させる補正が行われる。輝度値が閾値Tよりも大きい場合には、輝度値が低減させる補正が行われる。閾値T(i,j)の計算式(図8(E))において、Q(i,j)のべき指数である2.0と、係数である0.6とは、それぞれ、他の値に調整されてよい。これらのパラメータが大きいほど、閾値T(i,j)が大きくなる。従って、輝度値を増大させる補正が行われ易くなり、対象画像のうちの暗い領域が明るくなり易い。また、計算式(図8(E))において、比率RGBmaxave/Imeanは、「平均輝度値」に対する「最も明るい色成分の平均色値」の割合を示している。この比率は、対象画像内の色の偏りが大きいほど、大きい。従って、色の偏りが大きいほど、輝度値を増大させる補正が行われ易くなり、そして、対象画像のうちの暗い領域が明るくなり易い。また、平均輝度値Imeanは、対象画像の平均的な明るさを示している。従って、閾値T(i,j)は、対象画像の平均的な明るさが暗いほど、大きくなる。従って、対象画像の平均的な明るさが暗いほど、輝度値を増大させる補正が行われ易くなり、そして、対象画像のうちの暗い領域が明るくなり易い。
S380〜S410(図7)では、プロセッサ110は、対象画像の複数の画素のそれぞれの色値を、補正する。S380では、プロセッサ110は、1個の未補正の画素を、対象画素として選択する。
S383では、プロセッサ110は、縮小閾値画像データを用いて、対象画素の閾値Tを決定する(以下、対象閾値Tと呼ぶ)。本実施例では、プロセッサ110は、縮小閾値画像データによって示される複数の画素のうちの少なくとも一部の複数の画素のそれぞれの閾値T(i,j)を補間することによって、対象画素の位置の対象閾値Tを算出する。補間の方法としては、バイリニア法、バイキュービック法などの公知の種々の方法を採用可能である。このように、補間には、縮小閾値画像データによって示される複数の画素のうち、対象画素に近い一部の複数の画素が利用される。これに代えて、縮小閾値画像データによって示される複数の画素の全てが、補間に利用されてもよい。
S387では、プロセッサ110は、縮小ぼかし画像データを用いて、対象画素の補正用の輝度値Qを算出する(以下、対象輝度値Qと呼ぶ)。本実施例では、プロセッサ110は、縮小ぼかし画像データによって示される複数の画素のうちの少なくとも一部の複数の画素のそれぞれの平均輝度値Q(i,j)を補間することによって、対象画素の位置の対象輝度値Qを算出する。補間の方法としては、バイリニア法、バイキュービック法などの公知の種々の方法を採用可能である。このように、補間には、縮小ぼかし画像データによって示される複数の画素のうち、対象画素に近い一部の複数の画素が利用される。これに代えて、縮小ぼかし画像データによって示される複数の画素の全てが、補間に利用されてもよい。
S390では、プロセッサ110は、対象閾値Tと対象輝度値Qとを用いて、対象画素の輝度値を補正する。まず、プロセッサ110は、対象画素のRGB値を、輝度値の成分を含む複数の色成分で表される色空間の色値に変換する。本実施例では、YCbCr色空間のYCbCr値が、算出される。RGB値とYCbCr値との対応関係としては、公知の対応関係が、用いられる。そして、プロセッサ110は、輝度値Yを、補正する。
図11は、輝度補正の説明図である。図中の上部には、補正前の輝度値Yと補正済の輝度値Ycとの対応関係を示すグラフが示されている。横軸は、補正前の輝度値Yを示し、縦軸は、補正済輝度値Ycを示している。図中には、4つの対応関係GTs、GT32、GT128、GT160が、示されている。参照対応関係Gsは、Yc=Yの対応関係を示している(この参照対応関係Gsは、輝度補正では用いられない)。他の3つの対応関係GT32、GT128、GT160は、実際の補正で利用され得る対応関係の例である。対応関係GT32は、対象閾値Tが32である場合の対応関係の例を示し、対応関係GT128は、対象閾値Tが128である場合の対応関係の例を示し、対応関係GT160は、対象閾値Tが160である場合の対応関係の例を示している。図示するように、輝度値Yが対象閾値Tよりも小さい場合、補正済輝度値Ycは、輝度値Yよりも大きくなる。輝度値Yが対象閾値Tよりも大きい場合、補正済輝度値Ycは、輝度値Yよりも小さくなる。このように、同じ輝度値Yに対する補正済輝度値Ycは、対象閾値Tに応じて変化する。また、いずれも場合も、補正済輝度値Ycは、輝度値Yの増大に応じて、増大する。
プロセッサ110は、このような対応関係を、例えば、以下のように、決定する。図11の下部には、4つの式EQ4a〜EQ4dが、示されている。式EQ4aは、第1変数Hlowの計算式である。式EQ4a中の値P1は、予め決められた定数であり、例えば、360である(第1定数P1と呼ぶ)。式EQ4bは、第2変数Hhighの計算式である。式EQ4b中の値P2は、予め決められた定数であり、例えば、8096である(第2定数P2と呼ぶ)。
プロセッサ110は、対象輝度値Q(図7:S387)と第1定数P1と平均輝度値Imean(S330)とを用いて、式EQ4aに従って、第1変数Hlowを算出する。また、プロセッサ110は、対象輝度値Q(S387)と第2定数P2と平均輝度値Imean(S330)とを用いて、式EQ4bに従って、第2変数Hhighを算出する。
図11の下部の式EQ4c、EQ4dは、それぞれ、補正済輝度値Ycの算出式である。式EQ4cは、輝度値Yが対象閾値T以下である場合の算出式である。輝度値Yが対象閾値Tよりも小さい場合、式EQ4cに従って算出される補正済輝度値Ycは、輝度値Yよりも大きい。式EQ4dは、輝度値Yが対象閾値Tよりも大きい場合の算出式である。輝度値Yが対象閾値Tよりも大きい場合、式EQ4dに従って算出される補正済輝度値Ycは、輝度値Yよりも小さい。図11の上部のグラフは、これらの算出式によって規定される対応関係の例を示している。
プロセッサ110は、対象画素の補正済輝度値Ycを算出するための算出式を、対象画素の輝度値Yと対象閾値Tとを用いて、式EQ4c、EQ4dから選択する。そして、プロセッサ110は、選択した算出式に従って、補正済輝度値Ycを算出する。
1枚の対象画像は、暗い領域と明るい領域とを含み得る。例えば、図8(A)の対象画像TI2において、葉OLが暗い色で示され、花OFが明るい色で示される場合がある。このような場合、葉OLを表す暗い領域の輝度値は、明るい輝度値に、補正され得る。このような補正により、補正済の画像では、葉OLが明るい色で表されるので、葉OLの見栄えが向上する。また、花OFを表す明るい領域の輝度値は、暗い輝度値に、補正され得る。このような補正により、補正済の画像では、花OFを表す領域の明るさが抑制されるので、白飛び領域のような白い色で花OFが表されることを、抑制できる。
また、上述したように、閾値T(i,j)は、対象画像の平均的な明るさ(すなわち、平均輝度値Imean)が暗いほど、大きくなる。従って、対象画像が暗い画像である場合には、輝度値を増大する補正が行われ易い。ただし、輝度値Yが対象閾値Tよりも大きい場合には、輝度値は増大されないので、白飛び領域のような白い領域が大きくなることは抑制される。一方、対象画像が明るい画像である場合には、輝度値を低減する補正が行われ易い。ただし、輝度値Yが対象閾値Tよりも小さい場合には、輝度値は低減されないので、黒つぶれ領域のような黒い領域が大きくなることは抑制される。
プロセッサ110は、補正済輝度値Ycを算出した後、補正済輝度値Ycと補正前のCb値、Cr値とを、RGB値に変換する。以下、算出されるRGB値を、輝度補正済RGB値と呼ぶ。
図7のS400では、プロセッサ110は、ヒストグラム補正を行う。図12は、ヒストグラム補正の説明図である。図中には、補正前の色値Vと補正済の色値Vcとの対応関係を示すグラフが示されている。横軸は、補正前の色値Vを示し、縦軸は、補正済の色値Vcを示している。色値Vとしては、R値とG値とB値とが、それぞれ用いられる。すなわち、R値とG値とB値とのそれぞれが、この共通のグラフGrgbに従って、補正される(以下、色値Vを用いて、説明を行う)。下限値Hbtmと上限値Htopとは、図7のS310で特定されたパラメータである。
このグラフGrgbは、いわゆるコントラストを調整するグラフである。色値Vが下限値Hbtm以下である場合、補正済の色値Vcは、ゼロに設定される。色値Vが上限値Htop以上である場合、補正済の色値Vcは、最大値(ここでは、255)に設定される。色値Vが下限値Hbtmから上限値Htopまで変化する場合、補正済色値Vcは、ゼロから最大値(ここでは、255)まで、色値Vの変化に対して線形に変化する。
図7のS410では、プロセッサ110は、対象画像の全ての画素の色値の補正が完了したか否かを判断する。未処理の画素が残っている場合(S410:No)、プロセッサ110は、S380へ移行して、未処理の画素の処理を実行する。全ての画素の色値の補正が完了した場合(S410:Yes)、図7の処理、すなわち、図2のS290の処理が完了する。プロセッサ110は、図3のS240へ移行する。そして、プロセッサ110は、図7のS390、S400による補正済のRGB値を用いて、補正済対象画像データを出力する処理を、実行する。以上により、図2、図3の画像処理が終了する。
図2のS110で、候補領域が特定されないと判断される場合(S110:No)、すなわち、対象画像から人物の顔を表す領域を特定できないと判断される場合、プロセッサ110は、S290で、輝度補正処理を実行する。そして、プロセッサ110は、図3のS240で、補正済対象画像データを出力する処理を、実行する。以上により、図2、図3の画像処理が終了する。
以上のように、本実施例では、プロセッサ110は、図2のS105〜S140の処理によって、対象画像から顔を示す対象顔領域を特定する。対象顔領域が特定される場合(S110:Yes、かつ、S140:Yes)、プロセッサ110は、S150で、対象顔領域内の複数の画素のそれぞれの色値に基づいて、L*値のガンマ補正用のガンマ値gを決定する。また、プロセッサ110は、S170で、対象顔領域内の複数の画素のそれぞれの色値に基づいて、彩度補正用の一次関数(具体的には、傾きと切片)を決定する。図3のS200では、プロセッサ110は、ガンマ値gを用いて、対象画像の複数の画素のそれぞれのL*値を補正する。S210では、プロセッサ110は、一次関数を用いて、対象画像の複数の画素のそれぞれのa*値とb*値とを補正する。ガンマ値gと一次関数とは、複数の画素に共通に用いられる。
対象画像から対象顔領域が特定されない場合(図2のS110とS140の少なくとも一方の判断結果がNo)、プロセッサ110は、図7の処理を実行する。ここで、プロセッサ110は、対象画像の複数の画素にそれぞれ対応する複数の対象閾値Tを決定し(S383)、対象画素に対応する対象閾値Tを用いて対象画素の輝度値Yを補正する(S390)。
対象画像から対象顔領域が特定されるか否かに拘わらず、プロセッサ110は、図3のS240で、補正済の画像データを出力する処理を実行する。
このように、対象画像から対象顔領域が特定される場合には、対象顔領域内の複数の画素の色値に基づいて決定されるガンマ値gと一次関数とが対象画像の複数の画素に共通に用いられるので、対象画像に対して人物の顔に適した補正を行うことができる。また、対象画像内の人物を表す部分と他の部分との間の色のバランスが補正によって崩れることが抑制されるので、補正済の対象画像内で人物が不自然に見えることを抑制できる。また、対象画像から対象顔領域が特定されない場合には、画素毎に対象閾値Tが決定されて、各画素には画素に対応する対象閾値Tが用いられるので、対象画像の各部分を適切に補正できる。以上のように、対象画像から対象顔領域が特定されるか否かに応じて適切な補正を行うことができる。
また、図7の処理において、プロセッサ110は、対象画像の画素密度を低減して得られる縮小画像を示す縮小画像データを生成し(S300)、縮小画像データを用いて縮小画像の複数の画素(i,j)にそれぞれ対応する複数の閾値T(i,j)を決定する(S320、S360、S370)。そして、プロセッサ110は、縮小画像の複数の画素(i,j)のそれぞれの閾値T(i,j)を補間することによって、対象画像の画素の対象閾値Tを決定する(S383)。従って、対象画像の画素の数が多い場合であっても、対象画像の画素毎に対象閾値Tを決定する処理の負担の増大を抑制できる。
また、図2の処理において、プロセッサ110は、縮小画像データを用いずに、対象画像データを分析することによってガンマ値gを決定する(S150)。また、プロセッサ110は、縮小画像データを用いずに、対象画像データを分析することによって一次関数の傾きと切片を決定する(S170)。このように、対象画像から対象顔領域が特定される場合には、補正に用いられるパラメータ(ここでは、ガンマ値gと一次関数の傾きと切片)は、縮小画像データを用いずに、対象画像データを分析することによって決定される。従って、対象顔領域を含む対象画像に適したパラメータを決定できる。
また、対象画像から対象顔領域が特定されない場合の補正処理(図2:S290、図7)は、画素の輝度を補正する処理である。そして、図11で説明したように、画素毎に決定される対象閾値Tは、輝度を増大させる処理と輝度を低減させる処理とのいずれを実行すべきかを決定するための輝度の閾値である。このような対象閾値Tが、画素毎に決定されるので、対象画像の複数の画素のそれぞれの輝度を適切に補正できる。
また、対象画像から対象顔領域が特定される場合に決定される補正用のパラメータは、輝度(ここでは、L*値)の補正に用いられるガンマ値g(図2:S150)と、彩度の補正に用いられる一次関数の傾きと切片(S170)と、を含んでいる。そして、プロセッサ110は、ガンマ値gを用いて画素の輝度(ここでは、L*値)を補正する輝度補正処理(図3:S200)と、一次関数を用いて画素の彩度を補正する彩度補正処理と(図3:S210)、を実行する。図5で説明したように、ガンマ値gは、対象顔領域の画素のL*値の平均値FLが、目標値TFLに近づくように決定される。図6で説明したように、一次関数は、対象顔領域の画素のa*値とb*値との平均値Fa、Fbによって示される平均彩度値Fcが、目標彩度値TFcに近づくように決定される。従って、対象顔領域と他の領域との間の色のバランスのずれを抑制しつつ、対象顔領域の画素の色を目標の色に近づけることができる。
また、対象画像から対象顔領域が特定される場合に輝度を補正する処理(図3:S200)は、ガンマ補正(図5)であり、輝度を補正する処理のために決定されるパラメータは、ガンマ値gを含んでいる(図2:S150、図5)。従って、対象画像の複数の画素のそれぞれの輝度を、ガンマ補正処理によって、適切に補正できる。
また、対象画像から対象顔領域が特定される場合に彩度を補正する処理(図3:S210)は、補正前の彩度値Cの一次関数によって補正済の彩度値Ccを決定する処理(図6)であり、彩度を補正する処理のために決定されるパラメータは、一次関数の傾きと切片とを含んでいる(図2:S170、図6)。従って、補正済の彩度を、補正前の彩度の一次関数によって、適切に決定できる。
また、プロセッサ110は、図2のS105で、予め決められた方法で顔領域の候補領域を特定する。そして、プロセッサ110は、S140で、候補領域内の特定の領域である注目領域の色(ここでは、a*とb*との平均の色値Fa、Fbの組み合わせ)が特定の色範囲内である場合に、注目領域を顔領域として特定する。このように、注目領域の色
を用いて顔領域が特定されるので、顔領域の特定の精度を向上できる。なお、注目領域の色としては、注目領域の複数の画素の色値の平均値に限らず、複数の画素の色値に応じて算出される種々の値であってよい。例えば、平均値、最頻値、中央値(メディアン)、最大値、最小値等の統計量が、採用されてよい。
B.変形例:
(1)対象画像を補正する処理としては、上記の実施例の処理に代えて、種々の処理を採用可能である。例えば、対象画像から顔領域が特定される場合に実行される輝度補正処理は、ガンマ補正処理に代えて、他の処理であってもよい。例えば、補正前のL*値と補正済のL*c値とを対応付ける多項式に従ってL*値を補正する処理を、採用してもよい。
また、対象画像から顔領域が特定される場合に実行される彩度補正処理は、図6で説明した処理に代えて、他の種々の処理であってよい。例えば、彩度値Cの全範囲がN個(Nは2以上の整数)の部分範囲に区分され、部分範囲毎に一次関数が決定されてもよい。また、一次関数を用いる処理に代えて、他の処理が採用されてよい。例えば、補正前の彩度と補正済の彩度とを対応付ける多項式(2次以上の項を含む)に従って彩度を補正する処理が、採用されてよい。
また、対象画像から顔領域が特定される場合に実行される補正処理は、輝度補正処理と彩度補正処理とのいずれか一方であってもよい。また、輝度補正処理と彩度補正処理とは異なる他の補正処理(例えば、コントラスト補正処理)が、実行されてもよい。また、補正処理で用いられる補正パラメータ(例えば、ガンマ値gなどの、補正前の色値と補正済の色値との対応関係を決定するために用いられるパラメータ)は、縮小画像データを用いて決定されてもよい。例えば、図2のS130〜S170が、縮小画像データを用いて実行されてもよい。いずれの場合も、補正パラメータは、顔領域の色が目標の色に近づくように、決定されることが好ましい。
また、図2、図3の実施例では、S130、S190において、プロセッサ110は、対象画像データによって示される複数の画素の色値を、CIELAB色空間の色値(すなわち、L*a*b*値)に変換する変換処理を実行する。図2のS150、S170では、プロセッサ110は、CIELAB色空間の色値に基づいて、補正用のパラメータを決定する。そして、図3のS200、S210では、プロセッサ110は、補正用のパラメータを用いてCIELAB色空間の色値を補正することによって、複数の画素のそれぞれの色を補正する。CIELAB色空間は、2つの色の間のユークリッド距離が2つの色の観察者によって知覚される色の相違を表すような色空間である。このような色空間は、均等色空間と呼ばれる。均等色空間の色値を補正する場合、輝度と彩度と色相とのうちの注目している色成分を、他の色成分の変化を抑制しつつ、適切に補正することができる。従って、対象画像から顔領域が特定される場合の補正処理において、プロセッサ110は、均等色空間の色値を補正することが好ましい。これにより、人物の顔の色が不適切な色に変化することを抑制できる。なお、均等色空間としては、CIELAB色空間に代えて、他の種々の色空間(例えば、CIELUV色空間)が採用されてよい。ただし、均等色空間とは異なる色空間(例えば、HSV色空間)が採用されてもよい。
(2)対象画像から顔領域が特定されない場合に実行される補正処理は、図7、図8、図10、図11で説明した処理に代えて、他の任意の処理であってよい。例えば、輝度値Yのガンマ補正が行われてもよい。また、彩度補正が行われてよく、コントラスト調整処理が行われてよく、シャープネス調整処理が行われてもよい。一般的には、対象画像の複数の画素のうちの少なくとも一部の複数の画素の色を補正する特定の補正処理が、実行されてよい。いずれの場合も、補正処理で用いられる補正パラメータ(例えば、対象閾値Tなどの、補正前の色値と補正済の色値との対応関係を決定するために用いられるパラメータ)は、画素毎に決定されることが好ましい。ただし、共通の補正パラメータが、対象画像の複数の画素に適用されてもよい。また、補正パラメータは、縮小画像データを用いずに、対象画像データを分析することによって、決定されてもよい。
(3)顔領域を特定する処理としては、図2のS105〜S140の処理に代えて、他の種々の処理であってよい。例えば、S120、S130、S140が省略されてよい。この場合、S105で特定された候補領域が、顔領域として採用されてよい。
(4)図3のS240で実行される補正済の画像データを出力する処理は、複合機200などの印刷装置に印刷データを出力する処理に代えて、他の種々の出力処理を採用可能である。例えば、プロセッサ110は、表示装置(例えば、画像処理装置100の表示部140、画像処理装置100に接続された図示しない外部ディスプレイなど)に、補正済の画像データを出力することによって、表示装置に対象画像を表示させてよい。また、プロセッサ110は、記憶装置(例えば、画像処理装置100の不揮発性記憶装置130や、画像処理装置100に接続されたリムーバブルメモリ(図示せず))に、補正済の画像データを出力することによって、記憶装置に補正済の画像データを格納してもよい。
(5)図1の画像処理装置は、パーソナルコンピュータとは異なる種類の装置(例えば、デジタルカメラ、スキャナ、スマートフォン)であってもよい。また、画像処理装置が、印刷装置の一部であってもよい。例えば、複合機200の制御部299(具体的には、プロセッサ210)が、図2、図3の処理を実行してもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図2のS105の処理を実行する機能が、ASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100…画像処理装置、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、130…不揮発性記憶装置、132…プログラム、140…表示部、150…操作部、170…通信インタフェース、200…複合機、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、232…プログラム、240…表示部、250…操作部、270…通信インタフェース、280…スキャナ部、290…印刷実行部、299…制御部、1000…画像処理システム、Ob1…人物、OF…花、OL…葉、TI1…対象画像、TI2…対象画像、TI2a…縮小画像、TI2b…縮小輝度画像、TI2c…画像、TI2d…縮小閾値画像

Claims (10)

  1. 画像処理装置であって、
    対象画像データを取得する取得部と、
    対象画像データによって示される対象画像であって、複数の画素で構成される前記対象画像から顔領域を特定する顔特定部と、
    前記対象画像から前記顔領域が特定される場合に、前記顔領域内の複数の画素のそれぞれの色値に基づいて第1パラメータを決定する第1パラメータ決定部と、
    前記第1パラメータを用いて画素の色を補正する第1補正処理を実行することによって前記対象画像の複数の画素のそれぞれの色を補正する第1補正部であって、前記第1パラメータは前記対象画像の前記複数の画素に共通に用いられる、前記第1補正部と、
    前記対象画像から前記顔領域が特定されない場合に、前記対象画像の前記複数の画素にそれぞれ対応する複数の第2パラメータを決定する第2パラメータ決定部と、
    前記複数の第2パラメータを用いて前記対象画像の前記複数の画素のそれぞれの色を補正する第2補正処理を実行する第2補正部と、
    補正済の画像データを出力する出力部と、
    を備え
    前記第2補正処理は、画素の輝度を補正する処理であり、
    前記第2パラメータは、輝度を増大させる処理と輝度を低減させる処理とのいずれを実行すべきかを決定するための輝度の閾値である、
    画像処理装置。
  2. 請求項に記載の画像処理装置であって、
    前記第1パラメータは、輝度の補正に用いられるパラメータである輝度パラメータと、彩度の補正に用いられるパラメータである彩度パラメータと、を含み、
    前記第1補正処理は、前記輝度パラメータを用いて画素の輝度を補正する輝度補正処理と、前記彩度パラメータを用いて画素の彩度を補正する彩度補正処理と、を含み、
    前記第1パラメータ決定部は、前記第1補正処理によって前記顔領域の画素の色が目標色に近づくように、前記輝度パラメータと前記彩度パラメータとを決定する、
    画像処理装置。
  3. 画像処理装置であって、
    対象画像データを取得する取得部と、
    対象画像データによって示される対象画像であって、複数の画素で構成される前記対象画像から顔領域を特定する顔特定部と、
    前記対象画像から前記顔領域が特定される場合に、前記顔領域内の複数の画素のそれぞれの色値に基づいて第1パラメータを決定する第1パラメータ決定部と、
    前記第1パラメータを用いて画素の色を補正する第1補正処理を実行することによって前記対象画像の複数の画素のそれぞれの色を補正する第1補正部であって、前記第1パラメータは前記対象画像の前記複数の画素に共通に用いられる、前記第1補正部と、
    前記対象画像から前記顔領域が特定されない場合に、前記対象画像の前記複数の画素にそれぞれ対応する複数の第2パラメータを決定する第2パラメータ決定部と、
    前記複数の第2パラメータを用いて前記対象画像の前記複数の画素のそれぞれの色を補正する第2補正処理を実行する第2補正部と、
    補正済の画像データを出力する出力部と、
    を備え
    前記第1パラメータは、輝度の補正に用いられるパラメータである輝度パラメータと、彩度の補正に用いられるパラメータである彩度パラメータと、を含み、
    前記第1補正処理は、前記輝度パラメータを用いて画素の輝度を補正する輝度補正処理と、前記彩度パラメータを用いて画素の彩度を補正する彩度補正処理と、を含み、
    前記第1パラメータ決定部は、前記第1補正処理によって前記顔領域の画素の色が目標色に近づくように、前記輝度パラメータと前記彩度パラメータとを決定する、
    画像処理装置。
  4. 請求項2または3に記載の画像処理装置であって、
    前記輝度補正処理は、ガンマ補正処理であり、
    前記輝度パラメータは、前記ガンマ補正処理に用いられるガンマ値を含む、
    画像処理装置。
  5. 請求項2から4のいずれかに記載の画像処理装置であって、
    前記彩度補正処理は、補正前の彩度の一次関数によって補正済の彩度を決定する処理であり、
    前記彩度パラメータは、前記一次関数の傾きと切片とを含む、
    画像処理装置。
  6. 請求項1から5のいずれかに記載の画像処理装置であって、
    前記第2パラメータ決定部は、
    前記対象画像の画素密度を低減して得られる縮小画像を示す縮小画像データを用いて、前記縮小画像の複数の画素にそれぞれ対応する複数の第2パラメータを決定し、
    前記縮小画像の前記複数の画素のうちの少なくとも一部の複数の画素のそれぞれの前記第2パラメータを補間することによって、前記対象画像の画素の前記第2パラメータを決定する、
    画像処理装置。
  7. 請求項に記載の画像処理装置であって、
    前記第1パラメータ決定部は、前記縮小画像データを用いずに、前記対象画像データを分析することによって、前記第1パラメータを決定する、
    画像処理装置。
  8. 請求項1から7のいずれかに記載の画像処理装置であって、
    前記顔特定部は、
    予め決められた方法で前記顔領域の候補領域を特定し、
    前記候補領域内の特定の領域の色が特定の色範囲内である場合に、前記特定の領域を前記顔領域として特定する、
    画像処理装置。
  9. 画像処理のためのコンピュータプログラムであって、
    対象画像データを取得する取得機能と、
    対象画像データによって示される対象画像であって、複数の画素で構成される前記対象画像から顔領域を特定する顔特定機能と、
    前記対象画像から前記顔領域が特定される場合に、前記顔領域内の複数の画素のそれぞれの色値に基づいて第1パラメータを決定する第1パラメータ決定機能と、
    前記第1パラメータを用いて画素の色を補正する第1補正処理を実行することによって前記対象画像の複数の画素のそれぞれの色を補正する第1補正機能であって、前記第1パラメータは前記対象画像の前記複数の画素に共通に用いられる、前記第1補正機能と、
    前記対象画像から前記顔領域が特定されない場合に、前記対象画像の前記複数の画素にそれぞれ対応する複数の第2パラメータを決定する第2パラメータ決定機能と、
    前記複数の第2パラメータを用いて前記対象画像の前記複数の画素のそれぞれの色を補正する第2補正処理を実行する第2補正機能と、
    補正済の画像データを出力する出力機能と、
    をコンピュータに実現させ
    前記第2補正処理は、画素の輝度を補正する処理であり、
    前記第2パラメータは、輝度を増大させる処理と輝度を低減させる処理とのいずれを実行すべきかを決定するための輝度の閾値である、
    コンピュータプログラム。
  10. 画像処理のためのコンピュータプログラムであって、
    対象画像データを取得する取得機能と、
    対象画像データによって示される対象画像であって、複数の画素で構成される前記対象画像から顔領域を特定する顔特定機能と、
    前記対象画像から前記顔領域が特定される場合に、前記顔領域内の複数の画素のそれぞれの色値に基づいて第1パラメータを決定する第1パラメータ決定機能と、
    前記第1パラメータを用いて画素の色を補正する第1補正処理を実行することによって前記対象画像の複数の画素のそれぞれの色を補正する第1補正機能であって、前記第1パラメータは前記対象画像の前記複数の画素に共通に用いられる、前記第1補正機能と、
    前記対象画像から前記顔領域が特定されない場合に、前記対象画像の前記複数の画素にそれぞれ対応する複数の第2パラメータを決定する第2パラメータ決定機能と、
    前記複数の第2パラメータを用いて前記対象画像の前記複数の画素のそれぞれの色を補正する第2補正処理を実行する第2補正機能と、
    補正済の画像データを出力する出力機能と、
    をコンピュータに実現させ
    前記第1パラメータは、輝度の補正に用いられるパラメータである輝度パラメータと、彩度の補正に用いられるパラメータである彩度パラメータと、を含み、
    前記第1補正処理は、前記輝度パラメータを用いて画素の輝度を補正する輝度補正処理と、前記彩度パラメータを用いて画素の彩度を補正する彩度補正処理と、を含み、
    前記第1パラメータ決定機能は、前記第1補正処理によって前記顔領域の画素の色が目標色に近づくように、前記輝度パラメータと前記彩度パラメータとを決定する、
    コンピュータプログラム。
JP2018054230A 2018-03-22 2018-03-22 画像処理装置、および、コンピュータプログラム Active JP6882720B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018054230A JP6882720B2 (ja) 2018-03-22 2018-03-22 画像処理装置、および、コンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018054230A JP6882720B2 (ja) 2018-03-22 2018-03-22 画像処理装置、および、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019169772A JP2019169772A (ja) 2019-10-03
JP6882720B2 true JP6882720B2 (ja) 2021-06-02

Family

ID=68108498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018054230A Active JP6882720B2 (ja) 2018-03-22 2018-03-22 画像処理装置、および、コンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6882720B2 (ja)

Also Published As

Publication number Publication date
JP2019169772A (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
US7454056B2 (en) Color correction device, color correction method, and color correction program
US9055263B2 (en) Apparatus, method and computer program for correcting an image using lookup tables generated by inputted image analysis
JP4345757B2 (ja) 画像データの色の補正
US8363125B2 (en) Image processing apparatus, image processing method, and computer program product
US10896358B2 (en) Image processing apparatus, display system, image processing method and storage medium for projecting a moving image onto printed matter in an overlapping manner
US20130322747A1 (en) Image processing device correcting color of border region between object and background in image
JP4001079B2 (ja) カラー画像のモノトーン化処理
US20170289408A1 (en) Image processing apparatus capable of setting characteristic information for converting target image data
JP2014033273A (ja) 色域変換装置、デジタルカメラ、色域変換プログラムおよび色域変換方法
WO2009093294A1 (ja) 画像信号処理装置及び画像信号処理プログラム
JP6882720B2 (ja) 画像処理装置、および、コンピュータプログラム
JP4539778B2 (ja) 画像データの色の補正
JP2014033274A (ja) 色域変換装置、デジタルカメラ、色域変換プログラムおよび色域変換方法
JP4635920B2 (ja) 画像データの色の補正
JP4359730B2 (ja) モノトーン変換装置、モノトーン変換方法およびモノトーン変換プログラムを記録した媒体
JP7193779B2 (ja) コンピュータプログラム、および、方法
JP7495660B2 (ja) 画像処理装置、および、コンピュータプログラム
JP4930503B2 (ja) 画像処理装置と画像処理プログラム
JP6665559B2 (ja) 算出装置、および、コンピュータプログラム
JP2014033275A (ja) 色域変換装置、デジタルカメラ、色域変換プログラムおよび色域変換方法
JP6781398B2 (ja) 画像処理装置、および、コンピュータプログラム
JP4375223B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2014033272A (ja) 画像処理装置、デジタルカメラ、画像処理プログラムおよび画像処理方法
JP6418055B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2001292332A (ja) 色修正方法、色修正装置および色修正制御プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210420

R150 Certificate of patent or registration of utility model

Ref document number: 6882720

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150