JP2010154009A - 画像処理装置と画像処理プログラム - Google Patents
画像処理装置と画像処理プログラム Download PDFInfo
- Publication number
- JP2010154009A JP2010154009A JP2008327428A JP2008327428A JP2010154009A JP 2010154009 A JP2010154009 A JP 2010154009A JP 2008327428 A JP2008327428 A JP 2008327428A JP 2008327428 A JP2008327428 A JP 2008327428A JP 2010154009 A JP2010154009 A JP 2010154009A
- Authority
- JP
- Japan
- Prior art keywords
- value
- target
- image data
- correction
- pixel
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/62—Retouching, i.e. modification of isolated colours only or in isolated picture areas only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/62—Retouching, i.e. modification of isolated colours only or in isolated picture areas only
- H04N1/628—Memory colours, e.g. skin or sky
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
Abstract
【課題】 見本の画像データを利用しなくても、対象画像データを適切に補正すること。
【解決手段】 多機能機は、以下の各処理を実行する。
(1)HSV対象画像データ内の特定範囲の色相を有する画素群を代表する対象代表値(OH,OS,OV)を算出する(S44)。
(2)対象代表値(OH,OS,OV)とユーザ指定補正値colとに基づいて、基準代表値(SH,SS,SV)を算出する(S46)
(3)対象代表値(OH,OS,OV)をvab色空間内の値である対象座標値(Ov,Oa,Ob)に変換する(S48)。
(4)基準代表値(SH,SS,SV)をvab色空間内の値である基準座標値(Sv,Sa,Sb)に変換する(S50)。
(5)対象座標値(Ov,Oa,Ob)の周囲の領域に含まれる各画素の座標値(Pv,Pa,Pb)を基準座標値(Sv,Sa,Sb)に近づくように補正する。
【選択図】 図4
【解決手段】 多機能機は、以下の各処理を実行する。
(1)HSV対象画像データ内の特定範囲の色相を有する画素群を代表する対象代表値(OH,OS,OV)を算出する(S44)。
(2)対象代表値(OH,OS,OV)とユーザ指定補正値colとに基づいて、基準代表値(SH,SS,SV)を算出する(S46)
(3)対象代表値(OH,OS,OV)をvab色空間内の値である対象座標値(Ov,Oa,Ob)に変換する(S48)。
(4)基準代表値(SH,SS,SV)をvab色空間内の値である基準座標値(Sv,Sa,Sb)に変換する(S50)。
(5)対象座標値(Ov,Oa,Ob)の周囲の領域に含まれる各画素の座標値(Pv,Pa,Pb)を基準座標値(Sv,Sa,Sb)に近づくように補正する。
【選択図】 図4
Description
本発明は、対象画像データを補正する画像処理技術に関する。
下記の特許文献1には、教師画像データを用いて入力画像データを補正する技術が開示されている。この技術では、教師画像データが示す画像再現の傾向(例えば肌色、青色、緑色等の色相)に従って画像処理パラメータを決定し、この画像処理パラメータに基づいて入力画像データを補正する。
特許文献1の技術では、補正の対象である対象画像データ(上記の入力画像データ)を補正するには、見本の画像データ(上記の教師画像データ)が必要になる。見本の画像データを利用しなくても、対象画像データを補正することができる技術が求められている。
本明細書では、見本の画像データを利用しなくても、対象画像データを適切に補正することができる技術を提供する。
本発明者は、見本の画像データを利用せずに対象画像データを補正する技術を開発する過程において、対象画像データの全ての色相内の色を補正するのではなく、対象画像データの特定範囲の色相内の色(例えば青色)を補正するための新規な技術を開発した。この技術は、対象画像データを補正して補正済み画像データを生成する画像処理装置として表現することができる。この画像処理装置は、第1決定部と第2決定部と補正部とを備える。第1決定部は、対象画像データ内の特定範囲の色相を有する特定画素群を代表する代表値を決定する。第2決定部は、代表値と、ユーザによって指定された補正の程度と、に基づいて、目標値を決定する。補正部は、対象画像データ内の全ての画素のうち、代表値の周囲の領域に含まれる各画素の値を、目標値に近づくように補正する。
画像処理装置は、対象画像データ内の特定範囲の色相を有する特定画素群から決定される上記の代表値に基づいて目標値を決定しており、対象画像データに応じて目標値を決定することができる。しかも、画像処理装置は、ユーザによって指定された補正の程度をも加味して目標値を決定するので、ユーザの意図に応じて目標値を決定することができる。即ち、画像処理装置は、対象画像データとユーザの意図とに応じて、上記の特定範囲の色相内の色を補正するために用いられる目標の色(目標値)を決定することができる。画像処理装置は、目標の色に近づくように、上記の特定範囲の色相付近の色(上記の代表値の周囲の領域に含まれる各画素の値)を補正する。このために、対象画像データとユーザの意図とに応じて、対象画像データの上記の特定範囲の色相内の色を補正することができる。本技術によると、見本の画像データを利用しなくても、対象画像データの上記の特定範囲の色相内の色を適切に補正することができる。
なお、上記の対象画像データは、直交座標系の色空間内の値によって各画素の値が表わされるものであってもよいし、極座標系の色空間内の値によって各画素の値が表わされるものであってもよい。前者の場合と後者の場合のいずれであっても、直交座標系の色空間内で補正が実行されてもよいし、極座標系の色空間内で補正が実行されてもよい。
なお、第2決定部は、上記の補正の程度の変化に応じて目標値が線形に変化するように、目標値を決定してもよい。一方において、第2決定部は、上記の補正の程度の変化に応じて目標値が非線形に変化するように、目標値を決定してもよい。
上記の周囲の領域の形状については、特に限定されない。上記の周囲の領域は、例えば、代表値と目標値との双方を含む特定領域であってもよい。なお、この場合、上記の特定領域は、代表値と目標値とを2つの焦点とする楕円体内の領域であってもよい。一方において、上記の周囲の領域は、例えば、代表値のみを含む領域であってもよい。
ヒトの視覚特性では、例えば、緑色は、色の変化が認識しくい。従って、例えば、緑色の色相を補正する場合には、補正後に緑色が変化したことが認識できるように、補正されるべき画素の値の範囲(即ち上記の周囲の領域)を比較的に大きくすることが好ましい。これに対し、例えば、肌色は、色の変化が認識しやすい。従って、例えば、肌色の色相を補正する場合には、補正後に肌色が大きく変化して違和感を与えることがないように、補正されるべき画素の値の範囲(即ち上記の周囲の領域)を比較的に小さくすることが好ましい。この技術思想は、以下のように表現することができる。即ち、上記の特定範囲が第1範囲の場合に設定される上記の周囲の領域のサイズは、上記の特定範囲が第1範囲と異なる第2範囲の場合に設定される上記の周囲の領域のサイズと異なってもよい。この構成によると、補正されるべき色相に応じて、上記の周囲の領域の大きさを変えることができる。例えば、上記の特定範囲が緑色の色相を示す第1範囲の場合には、上記の特定範囲が肌色の色相を示す第2範囲の場合と比べて、上記の周囲の領域を大きくすることができる。
対象画像データにおいて見た目の色が似ている2つの画素が隣り合っている場合でも、一方の画素の値のみが補正され、他方の画素の値が補正されないおそれがある。この場合、補正された画素と補正されなかった画素との間において色が大きく異なり得る。この現象が発生するのを抑制するために、以下の構成を採用してもよい。即ち、補正部は、代表値と補正対象の画素の値との間の第1距離と、目標値と補正対象の画素の値との間の第2距離と、の和が小さい程、補正量が大きくなるように、補正対象の画素の値を補正してもよい。
上記の構成によると、代表値と目標値の双方に対する補正対象の画素の値が近いほど、補正量が大きくなる。逆に言うと、代表値と目標値の双方に対する補正対象の画素の値が遠いほど、補正量が小さくなる。これは、上記の周囲の領域の境界付近において内側に存在する値を有する画素については、補正量が小さくなることを意味する。対象画像データにおいて2つの画素の見た目の色が似ているということは、それらの2つの画素は、互いに近接する値を有する可能性が高い。それにもかかわらず、一方の画素のみが補正されるということは、その一方の画素が上記の周囲の領域の境界付近において内側に存在する値を有しており、他方の画素が上記の周囲の領域の境界付近において外側に存在する値を有している可能性が高い。上記の構成によると、上記の周囲の領域の境界付近において内側に存在する値を有する画素の補正量が小さくなる。このために、見た目の色が似ていて隣り合っている2つの画素のうちの一方の画素のみが補正されても、その補正量は小さいために、それらの2つの画素の間で大きく色が異なることを抑制することができる。
なお、代表値と目標値は、直交座標系の色空間内の座標値であってもよいし、極座標系の色空間内の座標値であってもよい。代表値が直交座標系の色空間内の座標値である場合、第2決定部は、下記のいずれかの手法を利用して、直交座標系の色空間内の座標値である目標値を決定してもよい。例えば、第2決定部は、直交座標系の色空間内の座標値である代表値と上記の補正の程度とに基づいて、直交座標系の色空間内の座標値である目標値を決定してもよい。また、例えば、第2決定部は、極座標系の色空間内の座標値で代表値を表現できる場合、極座標系の色空間内の座標値である代表値と上記の補正の程度とに基づいて、極座標系の色空間内の座標値である目標値を決定し、その目標値を直交変換することによって直交座標系の色空間内の座標値である目標値を決定してもよい。
代表値と目標値が直交座標系の色空間内の座標値である場合、補正部は、以下の処理を実行してもよい。即ち、補正部は、補正対象の画素の上記の直交座標系の色空間内の座標値が代表値と同じ場合に、補正対象の画素の上記の直交座標系の色空間内の座標値を、代表値と目標値との間の第1座標値に補正してもよい。また、補正部は、補正対象の画素の上記の直交座標系の色空間内の座標値が代表値と目標値との間の第2座標値である場合に、補正対象の画素の上記の直交座標系の色空間内の座標値を、第1座標値と目標値との間の第3座標値に補正してもよい。
なお、第1決定部が代表値を決定するための手法は、特に限定されない。例えば、第1決定部は、上記の特定画素群に含まれる各画素の値の平均値を算出することによって、代表値を決定してもよい。なお、代表値は、他の手法で得られる値(例えば中央値)であってもよい。
代表値と目標値は、第1直交座標系の色空間内の値であってもよい。上記の画像処理装置は、第1直交座標系と異なる第2直交座標系の色空間内の座標値で各画素の値が表わされる特定画像データを、極座標系の色空間内の座標値で各画素の値が表わされる上記の対象画像データに変換する変換部をさらに備えていてもよい。補正部は、以下の各処理を実行することによって、第2直交座標系の色空間内の座標値で各画素の値が表わされる上記の補正済み画像データを生成してもよい。
(1)対象画像データ内の各画素の値を、第1直交座標系の色空間内の座標値である特定直交座標値に変換する。
(2)上記の周囲の領域に含まれる各特定直交座標値を、目標値に近づくように補正する。
(3)補正後の各特定直交座標値を、極座標系の色空間内の座標値である特定極座標値に変換する。
(4)各特定極座標値を、第2直交座標系の色空間内の座標値である直交座標値に変換する。
(1)対象画像データ内の各画素の値を、第1直交座標系の色空間内の座標値である特定直交座標値に変換する。
(2)上記の周囲の領域に含まれる各特定直交座標値を、目標値に近づくように補正する。
(3)補正後の各特定直交座標値を、極座標系の色空間内の座標値である特定極座標値に変換する。
(4)各特定極座標値を、第2直交座標系の色空間内の座標値である直交座標値に変換する。
なお、上記の画像処理装置を実現するためのコンピュータプログラムも有用である。このコンピュータプログラムを利用すると、見本の画像データを利用しなくても、対象画像データの特定範囲の色相内の色を適切に補正することができる画像処理装置を実現することができる。
ここでは、以下の実施例に記載の技術の一部を列挙しておく。
(形態1)上記の代表値は、直交座標系の色空間内の値であってもよい。また、上記の目標値は、上記の直交座標系の色空間内の値であってもよい。上記の対象画像データは、極座標系の色空間内の値によって各画素の値が表わされるものであってもよい。この場合、上記の第1決定部は、(1)対象画像データ内の特定範囲の色相を有する上記の特定画素群を代表する値であって、極座標系の色空間内の値である第1極座標値を決定し、(2)その第1極座標値を直交変換することによって、上記の直交座標系の色空間内の値である上記の代表値を決定してもよい。また、上記の第2決定部は、(1)上記の第1極座標値とユーザによって指定された補正の程度とに基づいて、極座標系の色空間内の値である第2極座標値を決定し、(2)その第2極座標値を直交変換することによって、上記の直交座標系の色空間内の値である上記の目標値を決定してもよい。
(形態1)上記の代表値は、直交座標系の色空間内の値であってもよい。また、上記の目標値は、上記の直交座標系の色空間内の値であってもよい。上記の対象画像データは、極座標系の色空間内の値によって各画素の値が表わされるものであってもよい。この場合、上記の第1決定部は、(1)対象画像データ内の特定範囲の色相を有する上記の特定画素群を代表する値であって、極座標系の色空間内の値である第1極座標値を決定し、(2)その第1極座標値を直交変換することによって、上記の直交座標系の色空間内の値である上記の代表値を決定してもよい。また、上記の第2決定部は、(1)上記の第1極座標値とユーザによって指定された補正の程度とに基づいて、極座標系の色空間内の値である第2極座標値を決定し、(2)その第2極座標値を直交変換することによって、上記の直交座標系の色空間内の値である上記の目標値を決定してもよい。
例えば、対象画像データ内に無彩色付近の色(非常に小さい彩度)を有する複数の画素が存在する可能性がある。無彩色付近の色を有する画素群は、見た目の色の差がほとんどない。これらの画素群の中に、補正対象の色相(上記の特定範囲の色相)を有する画素と、補正対象の色相を有さない画素と、が存在する可能性がある。この場合、前者の画素の値のみが補正され、後者の画素の値は補正されない。この結果、補正前には見た目の色の差がほとんどない両者の画素が、補正後には大きく異なる色になってしまう。本形態では、極座標系の色空間において、対象画像データ内の上記の特定範囲の色相を有する画素群を代表する第1極座標値と、目標の色である第2極座標値とが決定される。極座標系の色空間において、上記の第1極座標値が上記の第2極座標値に近づくような補正ベクトルを利用して、対象画像データ内の上記の特定範囲の色相を有する各画素の値を補正する手法を採用することも考えられる。しかしながら、この手法では、見た目の色の差がほとんどない無彩色付近の色を有する画素群が存在する場合に、それらの画素群のうちの上記の特定範囲の色相を有する画素のみが補正される事象が発生してしまう。この事象が発生するのを抑制するために、本形態では、直交座標系の色空間において対象画像データの各画素の値が補正される。即ち、上記の第1極座標値が直交座標系の色空間内の値である代表値に変換され、その代表値の周囲の領域に含まれる画素の値が補正される。無彩色付近の色を有しており、見た目の色の差がほとんどない画素群は、直交座標系の色空間において、互いに近接する座標値を有する可能性が高い。このために、無彩色付近の色を有する画素群の中に上記の特定範囲の色相を有さない画素が存在する場合でも、その画素の値が補正され得る。上記の事象が発生するのを抑制することができる。
(形態2)上記の極座標系は、円柱座標系であってもよい。上記の円柱座標系は、輝度を示す軸を有していてもよい。上記の円柱座標系では、動径によって彩度が表現されてもよい。上記の円柱座標系では、偏角によって色相が表現されてもよい。
(形態3)上記の補正部は、代表値と目標値とに基づいて、上限値(例えば実施例のUv)と下限値(例えば実施例のLv)とを決定してもよい。また、補正部は、補正対象の画素の値が上限値と下限値との間の場合に、代表値と目標値とに基づいて補正基準値(例えば実施例のCurvv)を決定してもよい。
(形態4)上記の補正部は、代表値と目標値との間の距離(例えば実施例のrange)を算出してもよい。補正部は、代表値と目標値との間の距離と、上記の第1距離と第2距離との和とに基づいて、補正量を決定してもよい。
(第1実施例)
図面を参照して実施例を説明する。図1は、本実施例の多機能機10の概略図を示す。多機能機10は、操作部12と表示部14とスロット部16とスキャナ部20と印刷部22とネットワークインターフェイス24と制御部28等を有する。操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示や命令を多機能機10に入力することができる。表示部14は、様々な情報を表示することができる。スロット部16は、メモリカード18を収容するためのスペースを有する。ユーザは、画像データを記憶しているメモリカード18をスロット部16に挿入することができる。本実施例では、メモリカード18に記憶されている画像データは、RGB形式の画像データである。
図面を参照して実施例を説明する。図1は、本実施例の多機能機10の概略図を示す。多機能機10は、操作部12と表示部14とスロット部16とスキャナ部20と印刷部22とネットワークインターフェイス24と制御部28等を有する。操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示や命令を多機能機10に入力することができる。表示部14は、様々な情報を表示することができる。スロット部16は、メモリカード18を収容するためのスペースを有する。ユーザは、画像データを記憶しているメモリカード18をスロット部16に挿入することができる。本実施例では、メモリカード18に記憶されている画像データは、RGB形式の画像データである。
スキャナ部20は、CCD、CIS等の読取機構を有する。スキャナ部20は、原稿、写真等をカラースキャンすることによって画像データを生成することができる。本実施例では、スキャナ部20によって生成される画像データは、RGB形式の画像データである。印刷部22は、インクジェットタイプ、レーザタイプ等の印刷機構を有する。印刷部22は、メモリカード18に記憶されている画像データ、又は、スキャナ部20によって生成された画像データに基づいて印刷することができる。また、印刷部22は、ネットワークインターフェイス24に入力されたデータに基づいて印刷することができる。ネットワークインターフェイス24は、LAN26に接続されている。
制御部28は、CPU30とROM32とRAM40等を有する。CPU30は、ROM32に記憶されているプログラム34〜38に従って様々な処理を実行する。ROM32は、様々なプログラム34〜38を記憶している。基本プログラム34は、多機能機10の基本的な動作を制御するためのプログラムである。基本プログラム34は、例えば、表示部14に表示されるデータを生成するためのプログラムを含んでいる。また、基本プログラム34は、例えば、スキャナ部20、印刷部22等を制御するためのプログラムを含んでいる。補正プログラム36は、画像データを補正するためのプログラムである。CPU30が補正プログラム36に従って実行する処理の内容については、後で詳しく説明する。プログラム38は、上記のプログラム34,36以外のプログラムである。RAM40は、CPU30が処理を実行する過程で生成されるデータを一時的に記憶することができる。
本実施例の多機能機10は、メモリカード18に記憶されている画像データ(ユーザによって選択された画像データ)を補正することができる。以下では、補正の対象となる画像データ(メモリカード18に記憶されている画像データ)のことをRGB対象画像データと呼ぶ。図2は、RGB対象画像データ50が補正される様子を簡単に示す。処理の詳細については後で詳しく説明するが、ここでは、RGB対象画像データ50を補正する手順について簡単に説明する。
RGB対象画像データ50は、複数の画素を有する。各画素の値は、三軸の直交座標系の色空間内(以下ではRGB色空間内と呼ぶことがある)の値によって表現される。具体的に言うと、各画素の値は、R(赤)を示す値(0〜255)と、G(緑)を示す値(0〜255)と、B(青)を示す値(0〜255)とによって表わされる。多機能機10は、RGB対象画像データ50をHSV形式の画像データ52に変換する。以下では、この画像データ52のことをHSV対象画像データ52と呼ぶ。多機能機10は、RGB対象画像データ50を構成する各画素の値(直交座標値)を極座標値に変換することによって、HSV対象画像データ52を生成する。従って、HSV対象画像データ52が有する画素の数は、RGB対象画像データ50が有する画素の数に等しくなる。HSV対象画像データ52が有する各画素の値は、円柱極座標系の色空間内(以下ではHSV色空間内と呼ぶことがある)の値によって表現される。具体的に言うと、各画素の値は、色相(H)を示す値(0〜360°)と、彩度(S)を示す値(0〜1.0)と、輝度(V)を示す値(0〜1.0)とによって表わされる。
後で詳しく述べるが、ユーザは、補正対象のHSV対象画像データ52のどの色を補正するのかを選択することができる。しかも、ユーザは、どの程度補正するのかを選択することができる。以下では、ユーザによって選択された補正の程度のことを補正値colと呼ぶ。多機能機10は、図2に示すように、補正値colに基づいてHSV対象画像データ52を補正する。これにより、補正後の画像データ56が生成される。以下では、この画像データ56のことを補正済みRGB画像データ56と呼ぶ。補正済みRGB画像データ56が有する各画素の値は、RGB色空間内の値によって表現される。
続いて、多機能機10が実行する補正印刷処理の内容について詳しく説明する。ユーザは、操作部12を操作することによって、補正印刷モードを選択することができる。この操作が実行された場合に、補正印刷処理が実行される。図3は、補正印刷処理のフローチャートを示す。補正印刷処理は、基本プログラム34と補正プログラム36に従ってCPU30によって実行される。なお、図3のフローチャートに示される各処理のうち、S16の処理は補正プログラム36に従って実行され、それ以外の処理は基本プログラム34に従って実行される。
ユーザは、操作部12を操作することによって、メモリカード18に記憶されている複数の画像データの中から1つの画像データを選択することができる。ここで選択された画像データが補正対象の画像データ(即ちRGB対象画像データ50)になる。CPU30は、RGB対象画像データ50が選択されるまで待機する(S10)。
RGB対象画像データ50が選択されると、CPU30は、複数の補正モードを示す文字列を表示部14に表示させる。具体的に言うと、CPU30は、「空モード」、「緑モード」、及び「肌モード」という文字列を表示部14に表示させる。各補正モードについて簡単に説明する。空モードは、RGB対象画像データ50が有する青色の色相内の色を補正するためのモードである。緑モードは、RGB対象画像データ50が有する緑色の色相内の色を補正するためのモードである。肌モードは、RGB対象画像データ50が有する肌色の色相内の色を補正するためのモードである。ユーザは、操作部12を操作することによって、表示部14に表示された3つの補正モードの中から1つの補正モードを選択することができる。CPU30は、この操作が実行されるまで待機する(S12)。ユーザによって選択された補正モードを示す情報は、RAM40に記憶される。
補正モードが選択されると、CPU30は、補正の程度を示す文字列を表示部14に表示させる。具体的に言うと、CPU30は、「−2」、「−1」、「0」、「+1」、及び、「+2」という文字列を表示部14に表示させる。数字の絶対値が大きい程、補正の程度が大きいことを意味する。なお、数字が「0」である場合、補正が行なわれないことを意味する。ユーザは、操作部12を操作することによって、表示部14に表示された複数の数字の中から1つの数字(即ち補正値col)を選択することができる。CPU30は、この操作が実行されるまで待機する(S14)。ユーザによって選択された補正値colは、RAM40に記憶される。
次いで、CPU30は、補正処理を実行する(S16)。補正処理の内容については、後で詳しく説明する。補正処理によって補正済みRGB画像データ56が得られる。CPU30は、補正済みRGB画像データ56を表示部14に表示させる(S18)。ユーザは、補正済みRGB画像データ56を見ることができる。なお、S14で選択された補正値colが「0」である場合、S16の補正処理はスキップされる。この場合、S18では、S10で選択されたRGB対象画像データ50が表示される。
ユーザは、操作部12を操作することによって、補正済みRGB画像データ56に基づいて印刷を実行するのか否かを選択することができる。CPU30は、この操作を監視する(S20)。補正済みRGB画像データ56に基づいて印刷を実行しないことが指示された場合(S20でNOの場合)、CPU30は、S12に戻って、補正モードが選択されるまで待機する。一方において、補正済みRGB画像データ56に基づいて印刷を実行することが指示された場合(S20でYESの場合)、CPU30は、補正済みRGB画像データ56を印刷データ(CMYK形式のビットマップデータ)に変換する(S22)。続いて、CPU30は、S22で生成された印刷データに基づいて印刷することを印刷部22に指示する(S24)。この結果、印刷部22は、印刷データに基づいて印刷媒体に印刷する。ユーザは、補正済みRGB画像データ56が印刷された印刷媒体を得ることができる。
続いて、S16で実行される補正処理の内容について詳しく説明する。図4及び図5は、補正処理のフローチャートを示す。CPU30は、RGB対象画像データ50をHSV対象画像データ52に変換する(S40)。図6は、RGB色空間内の座標値をHSV色空間内の座標値に変換するための数式を示す。CPU30は、RGB対象画像データ50を構成する1つの画素(変換対象の画素)を選択する。図6(a)に示されるように、変換対象の画素の座標値を(R,G,B)と表現し、その座標値から変換されたHSV色空間内の座標値を(H,S,V)と表現する。図6(b)に示されるように、CPU30は、R/255とG/255とB/255をそれぞれ算出し、その中の最も大きい値をVとして特定する。また、CPU30は、図6(c)に示される数式に従って、Sを算出する。次いで、CPU30は、図6(d)に示される数式に従って、媒介変数r,g,bを算出する。CPU30は、図6(e)に示される数式に従って、Hを算出する。ここで算出されたHがマイナスの値である場合、CPU30は、図6(f)に示されるように、Hに360を加算することによって、新たなHを算出する。これにより、変換対象の画素の座標値(R,G,B)からHSV色空間内の座標値(H,S,V)を得ることができる。
図7は、HSV色空間を模式的に示す。図7を見ると、HSV色空間が円柱座標系の色空間であることがよくわかる。色相を示すHは、0〜360°のいずれかの値である。彩度を示すSは、0〜1.0のいずれかの値である。輝度を示すVは、0〜1.0のいずれかの値である。
CPU30は、RGB対象画像データ50の他の全ての画素のそれぞれについて、図6(a)〜図6(f)の数式に従って、HSV色空間内の座標値(H,S,V)を算出する。これにより、HSV対象画像データ52が得られる。CPU30は、HSV対象画像データ52をRAM40に記憶させる。
次いで、CPU30は、HSV対象画像データ52から代表値を算出する(S44)。以下では、この代表値のことを対象代表値(OH,OS,OV)と呼ぶ。S44の処理は、図3のS12で選択された補正モードに従って実行される。図8は、補正モードと、HとSとVのそれぞれの範囲との対応関係の一例を示す。例えば、補正モードが空モードの場合、Hが180〜240°であり、Sが0〜1.0であり、Vが0〜1.0である。これは、補正モードが空モードの場合には、CPU30は、Hが180〜240°であり、Sが0〜1.0であり、かつ、Vが0〜1.0である画素群に基づいて、代表値を算出することを意味している。
より具体的に言うと、補正モードが空モードの場合、CPU30は、HSV対象画像データ52を構成する全ての画素のうち、Hが180〜240°(図8(a)参照)である画素群を特定する。なお、ここでは、SとVを考慮しない。空モードの場合のSとVのそれぞれの範囲は0〜1.0であり(図8(a)参照)、いずれの画素であってもSとVが0〜1.0の範囲に含まれるからである。次いで、CPU30は、特定された画素群のHの平均値を算出することによってOHを特定し、特定された画素群のSの平均値を算出することによってOSを特定し、特定された画素群のVの平均値を算出することによってOVを特定する。これにより、対象代表値(OH,OS,OV)が得られる。なお、図3のS12で選択された補正モードが緑モードの場合、CPU30は、Hが50〜170°(図8(b)参照)である画素群から対象代表値(OH,OS,OV)を特定する。また、図3のS12で選択された補正モードが肌モードの場合、CPU30は、Hが10〜40°であり、Sが0.1〜0.6であり、かつ、Vが0.2〜1.0(図8(c)参照)である画素群から対象代表値(OH,OS,OV)を特定する。
続いて、CPU30は、対象代表値(OH,OS,OV)と、図3のS14で選択された補正値col(「−2」、「−1」、「+1」、及び、「+2」のいずれか)とに基づいて、目標値を算出する(S46)。以下では、この目標値のことを基準代表値(SH,SS,SV)と呼ぶ。図9は、対象代表値(OH,OS,OV)と補正値colから基準代表値(SH,SS,SV)を算出するための数式を示す。図9に示される数式から明らかなように、SSとSVは、補正値colの変化に応じて線形に変化するものである。CPU30は、図9に示される数式に従って、SHとSSとSVのそれぞれを算出する。これにより、基準代表値(SH,SS,SV)が得られる。
次いで、CPU30は、S44で特定された対象代表値(OH,OS,OV)をvab色空間内の座標値に変換する(S48)。以下では、この座標値のことを対象座標値(Ov,Oa,Ob)と呼ぶ。なお、vab色空間は、RGB色空間と異なる三軸の直交座標系の色空間である。vab色空間は、本実施例特有の色空間であり、周知の色空間ではない。図10を参照しながら、S48の処理の内容について説明する。図10は、HSV色空間内の座標値をvab色空間内の座標値に変換するための数式を示す。図10では、変換対象の座標値を(H,S,V)と表現し、その座標値から変換されたvab色空間内の座標値を(v,a,b)と表現している。図10に示される数式において、(H,S,V)を(OH,OS,OV)に置き換えるとともに、(v,a,b)を(Ov,Oa,Ob)に置き換えると、対象座標値(Ov,Oa,Ob)を得るための数式が得られる。CPU30は、この数式に従って、対象座標値(Ov,Oa,Ob)を算出する。
次いで、CPU30は、S46で特定された基準代表値(SH,SS,SV)をvab色空間内の座標値に変換する(S50)。以下では、この座標値のことを基準座標値(Sv,Sa,Sb)と呼ぶ。S50の処理は、S48の処理と同様に実行される。図10に示される数式において、(H,S,V)を(SH,SS,SV)に置き換えるとともに、(v,a,b)を(Sv,Sa,Sb)に置き換えると、基準座標値(Sv,Sa,Sb)を得るための数式が得られる。CPU30は、この数式に従って、基準座標値(Sv,Sa,Sb)を算出する。
続いて、CPU30は、HSV対象画像データ52を構成する1つの画素を選択する(S52)。S52で選択された画素の座標値(以下では画素値と言い換えることもある)を(PH,PS,PV)と表現する。CPU30は、S52で選択された画素の座標値(PH,PS,PV)をvab色空間内の座標値(Pv,Pa,Pb)に変換する(S54)。S54の処理は、S48の処理と同様に実行される。図10に示される数式において、(H,S,V)を(PH,PS,PV)に置き換えるとともに、(v,a,b)を(Pv,Pa,Pb)に置き換えると、座標値(Pv,Pa,Pb)を得るための数式が得られる。CPU30は、この数式に従って、座標値(Pv,Pa,Pb)を算出する。
次いで、CPU30は、座標値(Pv,Pa,Pb)の補正量(Cv,Ca,Cb)を算出する(S56)。図11は、補正量を算出するための数式を示す。CPU30は、S54で算出されたPvと、S48で算出されたOvと、S50で算出されたSvとに基づいて、Cvを算出する。まず、CPU30は、図11(a)に示される数式に従って、下限値Lvと上限値Uvを算出する。次いで、CPU30は、図11(b)に示される数式に従って、Curvvを算出する。なお、図11(b)に示される数式に含まれるAdjSとAdjOは、PvとOvとSvに依存する数値ではなく、予め設定されている定数である。続いて、CPU30は、図11(c)に示される数式に従って、Cvを算出する。
図12は、Pvが横軸であり、PvとCvの和(ここではMvと呼ぶ)が縦軸であるグラフを示す。図12のグラフは、Ovが0.25であるとともにSvが0.38である場合を例にしている。なお、Mvは、PvをCvで補正した場合の補正後の値である。後で詳しく説明するが、本実施例では、PvにCvを加算することのみによってMvを求めない。ただし、Cvについての理解を容易にするために、図12では、PvとCvの和をMvとしている。
図12のグラフから明らかなように、Pvが下限値Lvと上限値Uvの間の値である場合、PvはSvに近づくような補正カーブになっている。この補正カーブは、Svを境界として、上に凸である領域と下に凸である領域とに分けられる。例えば、PvがOvに等しい場合、CvはC1になる。この場合のMvは、OvとC1の和であるV1になる。V1は、OvとSvの間の値である。また、例えば、PvがOvとSvの間の値V2である場合、CvはC2になる。この場合のMvは、V2とC2の和であるV3になる。V3は、V2とSvの間の値である。より具体的には、V3は、V1とSvの間の値である。即ち、補正前の値PvがSvに近い程、補正後の値Mvは、Svに近い値になる。なお、PvがOvである場合にV1に補正される様子と、PvがV2の場合にV3に補正される様子は、図13(a)にも示されている。
CPU30は、補正量Cvを算出する場合と同様の手法を用いて、補正量Caを算出する。CPU30は、PaとOaとSaとに基づいて、Caを算出する。Caは、図11に示される数式と同様の数式に従って算出される。具体的に言うと、図11(a)と図11(b)において、LvをLaに変更し、UvをUaに変更し、OvをOaに変更し、SvをSaに変更し、CurvvをCurvaに変更すると、Curvaを算出することができる。CPU30は、図11(c)に示される数式に従って、Caを算出する。
Paが横軸であり、PaとCaの和(ここではMaと呼ぶ)が縦軸であるグラフを描くと、図12のグラフと同様のグラフが得られる。即ち、Paが下限値Laと上限値Uaの間の値である場合、PaはSaに近づくように補正される。図13(b)は、Paが補正される様子の一例を示す。PaがOaに等しい場合、Paは、OaとSaの間の値A1に補正される。また、PaがOaとSaの間の値A2である場合、Paは、A1とSaの間の値A3に補正される。即ち、補正前の値PaがSaに近い程、補正後の値は、Saに近くなる。
さらに、CPU30は、補正量Cvを算出する場合と同様の手法を用いて、補正量Cbを算出する。CPU30は、PbとObとSbとに基づいて、Cbを算出する。図11(a)と図11(b)において、LvをLbに変更し、UvをUbに変更し、OvをObに変更し、SvをSbに変更し、CurvvをCurvbに変更すると、Curvbを算出することができる。CPU30は、図11(c)に示される数式に従って、Cbを算出する。
Pbが横軸であり、PbとCbの和(ここではMbと呼ぶ)が縦軸であるグラフを描くと、図12のグラフと同様のグラフが得られる。即ち、Pbが下限値Lbと上限値Ubの間の値である場合、PbはSbに近づくように補正される。図13(c)は、Pbが補正される様子の一例を示す。PbがObに等しい場合、Pbは、ObとSbの間の値B1に補正される。また、PbがObとSbの間の値B2である場合、Pbは、B1とSbの間の値B3に補正される。即ち、補正前の値PbがSbに近い程、補正後の値は、Sbに近くなる。
図13から明らかなように、補正対象の画素(図4のS52で選択された画素)の座標値(Pv,Pa,Pb)が対象座標値(Ov,Oa,Ob)に等しい場合、座標値(Pv,Pa,Pb)は、対象座標値(Ov,Oa,Ob)と基準座標値(Sv,Sa,Sb)の間の座標値(V1,A1,B1)に補正される。また、補正対象の画素の座標値(Pv,Pa,Pb)が対象座標値(Ov,Oa,Ob)と基準座標値(Sv,Sa,Sb)の間の座標値(V2,A2,B2)である場合、座標値(V2,A2,B2)は、座標値(V1,A1,B1)と基準座標値(Sv,Sa,Sb)の間の座標値(V3,A3,B3)に補正される。
CPU30は、補正量(Cv,Ca,Cb)を算出すると、図5のS58に進む。S58では、CPU30は、パラメータdとパラメータrangeを算出する。図14(a)は、パラメータdとパラメータrangeを算出するための数式を示す。CPU30は、図14(a)に示される数式に従って、パラメータdとパラメータrangeを算出する。パラメータdは、補正対象の画素の座標値(Pv,Pa,Pb)と対象座標値(Ov,Oa,Ob)との間の距離と、補正対象の画素の座標値(Pv,Pa,Pb)と基準座標値(Sv,Sa,Sb)との間の距離との和である。また、パラメータrangeは、対象座標値(Ov,Oa,Ob)と基準座標値(Sv,Sa,Sb)との間の距離である。
次いで、CPU30は、パラメータdとパラメータrangeに基づいて、パラメータwを算出する(S60)。図14(b)は、wを算出するための数式を示す。なお、図14(b)の数式において、suiの値は、図3のS12で選択された補正モードに応じて設定される。図14(c)は、補正モードとsuiの値の対応関係を示す。緑モードの場合のsuiの値が最も大きく、肌モードの場合のsuiの値が最も小さい。空モードの場合のsuiの値は、緑モードの場合のsuiの値と肌モードの場合のsuiの値との間の値である。図14(b)から分かるように、dがrangeに等しい場合、wは、最も大きい値(1.0)になる。また、dがrangeより大きい場合、dが大きくなるにつれて、wが小さくなる。dがrangeとsuiを乗算することによって得られる値より大きい場合、wは、最も小さい値(0)になる。図14(b)の数式によると、wは、dが大きくなる程、小さくなる値であると言える。逆に言うと、wは、dが小さくなる程、大きくなる値であると言える。
図15は、Pvが横軸であり、wが縦軸であるグラフを示す。図15のグラフは、Ovが0.2であるとともにSvが0.31である場合を例にしている。図15のグラフから明らかなように、PvがOvとSvの間の値である場合(即ちd=rangeである場合)、wは1.0である。PvがOvより小さくなるにつれて、wが滑らかに小さくなっている。また、PvがSvより大きくなるにつれて、wが滑らかに小さくなっている。OvとSvの両者からPvが遠くなる程、wが小さくなる。逆に言うと、OvとSvの両者にPvが近い程、wが大きくなる。なお、Paが横軸であってwが縦軸であるグラフと、Pbが横軸であってwが縦軸であるグラフも、図15のグラフと同様の形状を示す。
CPU30は、補正対象の画素の座標値(Pv,Pa,Pb)を、パラメータwと補正量(Cv,Ca,Cb)に基づいて補正する(S62)。これにより、補正後の座標値(Mv,Ma,Mb)が得られる。図16は、補正後の座標値(Mv,Ma,Mb)を算出するための数式を示す。CPU30は、パラメータwを補正量(Cv,Ca,Cb)に乗算することによって得られる座標値を、補正対象の画素の座標値(Pv,Pa,Pb)に加算することによって、補正後の座標値(Mv,Ma,Mb)を算出する。
上述したように、wを補正量(Cv,Ca,Cb)に乗算することによって、実際の補正量が算出される。wは、図14(b)に示される数式に従って算出されるものであり、dが小さくなる程、大きくなる値である。dが小さくなる程、実際の補正量(w×(Cv,Ca,Cb))が大きくなる。即ち、dが小さくなる程、補正対象の画素の座標値(Pv,Pa,Pb)が大きく補正されることになる。図17は、va平面上の対象座標値Oと基準座標値Sを示す。図17は、色が白に近づく程、大きく補正されることを意味している。逆に言うと、図17は、色が黒に近づく程、小さく補正されることを意味している。完全に黒色の領域は、補正されないことを意味している。この図17からも、上記のパラメータdが小さい程、補正対象の画素の座標値(Pv,Pa,Pb)が大きく補正されることが理解できる。
なお、図17において完全に黒色の領域は、対象座標値Oと基準座標値Sを2つの焦点とする楕円の外側の領域である。即ち、対象座標値Oと基準座標値Sを2つの焦点とする楕円の外側の領域に、補正対象の画素の座標値(Pv,Pa,Pb)が存在する場合、その座標値は補正されない。逆に言うと、対象座標値Oと基準座標値Sを2つの焦点とする楕円の内側の領域に、補正対象の画素の座標値(Pv,Pa,Pb)が存在する場合、その座標値が補正される。図17はva平面で表現されているが、vb平面及びab平面でも同様の図になる。即ち、vab空間において、対象座標値Oと基準座標値Sを2つの焦点とする楕円体の外側の領域に、補正対象の画素の座標値(Pv,Pa,Pb)が存在する場合、その座標値は補正されない。逆に言うと、vab空間において、対象座標値Oと基準座標値Sを2つの焦点とする楕円体の内側の領域に、補正対象の画素の座標値(Pv,Pa,Pb)が存在する場合、その座標値が補正される。
CPU30は、S62において補正後座標値(Mv,Ma,Mb)を算出すると、S64に進む。S64では、CPU30は、補正後座標値(Mv,Ma,Mb)をHSV色空間内の座標値(MH,MS,MV)に変換する。図18は、vab色空間内の座標値をHSV色空間内の座標値に変換する数式を示す。図18では、変換対象の座標値を(v,a,b)と表現し、その座標値から変換されたHSV色空間内の座標値を(H,S,V)と表現している。図18に示される数式において、(v,a,b)を(Mv,Ma,Mb)に置き換えるとともに、(H,S,V)を(MH,MS,MV)に置き換えると、座標値(MH,MS,MV)を得るための数式が得られる。CPU30は、この数式に従って、座標値(MH,MS,MV)を算出する。
次いで、CPU30は、S64で特定された座標値(MH,MS,MV)を、RGB色空間内の座標値(MR,MG,MB)に変換する(S66)。図19は、HSV色空間内の座標値をRGB色空間内の座標値に変換する数式を示す。図19では、変換対象の座標値を(H,S,V)と表現し、その座標値から変換されたRGB色空間内の座標値を(R,G,B)と表現している。図19に示される数式において、(H,S,V)を(MH,MS,MV)に置き換えるとともに、(R,G,B)を(MR,MG,MB)に置き換えると、座標値(MR,MG,MB)を得るための数式が得られる。図19(a)に示されるように、CPU30は、MHから媒介変数in及びflを算出する。なお、図19(b)に示されるように、CPU30は、媒介変数inが偶数の場合、1からflを減算し、新たなflを算出する。次いで、CPU30は、図19(c)に示される数式に従って、MSとMVから媒介変数m及びnを算出する。CPU30は、図19(d)に示される数式に従って、MVとmとnからMRとMGとMBを算出する。これにより、RGB色空間内の座標値(MR,MG,MB)が得られる。
上記のS54〜S66の処理が実行されることによって、HSV対象画像データ52内の1つの画素の座標値(PH,PS,PV)が補正され、補正後の座標値としてRGB色空間内の座標値(MR,MG,MB)が得られる。CPU30は、HSV対象画像データ52内の全ての画素についてS54〜S66の処理が実行されたのか否かを判断する(S68)。ここでNOの場合、CPU30は、HSV対象画像データ52内の次の画素を選択する(S70)。CPU30は、S70で選択された画素について、S54〜S66の処理を実行する。一方において、S68でYESの場合、補正処理が終了する。この場合、S54〜S66の処理で得られたRGB色空間内の座標値で各画素の値が表現される補正済みRGB画像データ56(図2参照)が得られることになる。
本実施例の多機能機10について詳しく説明した。多機能機10は、HSV対象画像データ52とユーザによって選択された補正値colとに基づいて、補正モードに対応する色相内の色を補正するために用いられる目標の色(基準座標値(Sv,Sa,Sb))を決定することができる。多機能機10は、目標の色に近づくように、補正モードに対応する色相付近の色を補正する。このために、HSV対象画像データ52とユーザの意図とに応じて、補正モードに対応する色相内の色を補正することができる。本技術によると、見本の画像データを利用しなくても、HSV対象画像データ52の特定の色相内の色を適切に補正することができる。
多機能機10は、図4のS44及びS46において、HSV色空間(図7参照)内で処理を実行する。例えば、図4のS44では、多機能機10は、ユーザが望む補正モードに応じた色相H(例えば空モードの場合は180〜240°)を有する画素群をHSV対象画像データ52から特定し、その画素群から対象代表値を算出する。
HSV色空間において対象代表値と基準代表値が求められるために、HSV対象画像データ52内の各画素をHSV色空間内で補正する手法を採用することも考えられる。しかしながら、この場合、次の問題が発生する。図20は、HSV色空間内のHS平面を示す。図20に示すαは、補正モードに応じた色相H(例えば空モードの場合は180〜240°)を示す。HSV色空間内で補正する手法を採用すると、彩度Sの小さい2つの画素120,124が図19に示される位置に存在する場合に、画素120が補正され、画素124が補正されないことになる。この結果、補正前には見た目の色の差がほとんどない両者の画素120,124が、補正後には大きく異なる色になってしまう。HSV色空間内で補正する手法で上記の問題に対処するためには、図21のハッチングで示される領域に含まれる画素群を補正するようにしなければならない。しかしながら、このようなV軸を包含する領域をHSV色空間内で定義するためには、様々なHの値のそれぞれについてS及びVを定義する必要があり、膨大な計算量を必要とする。
これに対し、本実施例の多機能機10は、直交座標系のvab色空間において補正を実行する。即ち、多機能機10は、対象代表値(OH,OS,OV)をvab色空間内の対象座標値(Ov,Oa,Ob)に変換し(図4のS48)、その対象座標値(Ov,Oa,Ob)の周囲の領域(対象座標値(Ov,Oa,Ob)と基準座標値(Sv,Sa,Sb)とを2つの焦点とする楕円体内の領域)に含まれる画素の値を補正する。このために、補正モードに応じた色相を有さない画素124が存在する場合でも、その画素124の値が補正され得る。補正前には見た目の色の差がほとんどない2つの画素120,124が、補正後には大きく異なる色になってしまうことを抑制することができる。本実施例の多機能機10は、HSV対象画像データ52を適切に補正することができる。
また、図14の数式に示されるように、多機能機10では、補正モードに応じて設定されているsuiの値が大きい程、補正されるべき画素の値の範囲(range×sui)が大きくなるように設定されている。suiは、緑モードの場合に最も大きく、肌モードの場合に最も小さい。従って、色の変化が認識しにくい緑色を補正する場合には、補正されるべき画素の値の範囲が大きくなり、色の変化を認識しやすい肌色を補正する場合には、補正されるべき画素の値の範囲が小さくなる。補正されるべき画素の値の範囲が、ヒトの視覚特性に鑑みて適切に設定されている。
なお、図12に示される補正カーブは、wが1.0の場合を例にしている。図12の例では、V4は補正されず、V5がV6に補正される。V4とV5は、値が近いために、見た目の色が似ている。V4に対応する画素とV5に対応する画素が隣り合っている場合、補正されない前者の画素(即ちV=V4)と補正される後者の画素(即ちV=V6)の間において、大きく色が異なる可能性がある。このような事象が発生するのを抑制するために、本実施例では、以下の構成が採用されている。即ち、対象座標値(Ov,Oa,Ob)と補正対象の画素の座標値(Pv,Pa,Pb)との間の距離と、基準座標値(Sv,Sa,Sb)と補正対象の画素の座標値(Pv,Pa,Pb)との間の距離との和dが小さい程、補正量が大きくなるように、パラメータwが採用されている。パラメータwは、dが大きくなるにつれて、小さくなる値である(図14(b)参照)。図12に示されるV5に対応する画素は、対象座標値(図12のOv)と基準座標値(図12のSv)の双方に対して遠い位置に存在するために、補正量が小さくなる。この結果、V4に対応する画素とV5に対応する画素が隣り合っている場合であっても、それらの画素の間で大きく色が異なることを抑制することができる。
請求項に記載されている各要素と第1実施例との関係について記載しておく。請求項の画像処理装置は、多機能機10に対応する。請求項の対象画像データは、HSV対象画像データ52に対応する。請求項の補正済み画像データは、補正済みRGB画像データ56に対応する。請求項の特定範囲は、各補正モードに応じて決められている色相Hの範囲(図8参照)に対応する。請求項の代表値は、対象座標値(Ov,Oa,Ob)に対応する。請求項の第1決定部は、補正プログラム36に従って図4のS44及びS48の処理を実行するCPU30に対応する。請求項の目標値は、対象座標値(Sv,Sa,Sb)に対応する。請求項の補正の程度は、補正値colに対応する。請求項の第2決定部は、補正プログラム36に従って図4のS46及びS50の処理を実行するCPU30に対応する。請求項の代表値の周囲の領域(特定領域、及び、楕円体内の領域)は、図14の数式に従って求められるw>0の領域(図17の黒色以外の領域)に対応する。請求項の補正部は、補正プログラム36に従って図4のS52〜S56、及び、図5のS58〜S70の処理を実行するCPU30に対応する。
請求項の第1距離と第2距離との和は、パラメータdに対応する。請求項の直交座標系の色空間は、vab色空間に対応する。請求項の第1座標値は、図13の(V1,A1,B1)に対応する。請求項の第2座標値は、図13の(V2,A2,B2)に対応する。請求項の第3座標値は、図13の(V3,A3,B3)に対応する。請求項の第1直交座標系の色空間は、vab色空間に対応する。請求項の第2直交座標系の色空間は、RGB色空間に対応する。請求項の極座標系の色空間は、HSV色空間に対応する。請求項の特定画像データは、RGB対象画像データ50に対応する。請求項の変換部は、補正プログラム36に従って図4のS40の処理を実行するCPU30に対応する。請求項の特定直交座標値は、座標値(Pv,Pa,Pb)に対応する。請求項の特定極座標値は、座標値(MH,MS,MV)に対応する。
(第2実施例)
続いて、第2実施例について説明する。本実施例では、図3のS16の補正処理の内容が第1実施例と異なる。第1実施例では、vab色空間内において補正対象の画素の座標値が補正される。これに対し、本実施例では、RGB色空間内において補正対象の画素の座標値が補正される。
続いて、第2実施例について説明する。本実施例では、図3のS16の補正処理の内容が第1実施例と異なる。第1実施例では、vab色空間内において補正対象の画素の座標値が補正される。これに対し、本実施例では、RGB色空間内において補正対象の画素の座標値が補正される。
図22は、本実施例の補正処理のフローチャートを示す。CPU30は、図4のS40〜S46の処理を実行することによって、対象代表値(OH,OS,OV)を算出するとともに、基準代表値(SH,SS,SV)を算出する。次いで、CPU30は、対象代表値(OH,OS,OV)をRGB色空間内の対象座標値(OR,OG,OB)に変換する(S148)。さらに、CPU30は、基準代表値(SH,SS,SV)をRGB色空間内の対象座標値(SR,SG,SB)に変換する(S150)。S148とS150の処理は、図19に示される数式に従って実行される。
次いで、CPU30は、RGB対象画像データ50を構成する1つの画素を選択する(S152)。なお、以下では、S152で選択された画素の座標値を(PR,PG,PB)と表現する。CPU30は、S152で選択された画素の座標値(PR,PG,PB)の補正量(CR,CG,CB)を算出する。この補正量は、図11に示される数式によって算出される。具体的に言うと、図11において、LvをLRに変更し、UvをURに変更し、OvをORに変更し、SvをSRに変更し、PvをPRに変更し、CurvvをCurvRに変更し、CvをCRに変更すると、CRを算出することができる。なお、本実施例では、図11(a)の「Lv>1.0の場合 Lv=1.0」という記載は、「LR>255の場合 LR=255」に変更される。また、図11(a)の「Uv>1.0の場合 Uv=1.0」という記載は、「UR>255の場合 UR=255」に変更される。CGとCBを算出する手法は、CRを算出する手法と同様である。
続いて、CPU30は、パラメータdとパラメータrangeを算出する(S158)。パラメータdとパラメータrangeは、図14(a)に示される数式に従って算出される。パラメータdは、補正対象の画素の座標値(PR,PG,PB)と対象座標値(OR,OG,OG)との間の距離と、補正対象の画素の座標値(PR,PG,PB)と基準座標値(SR,SG,SB)との間の距離との和である。また、パラメータrangeは、対象座標値(OR,OG,OB)と基準座標値(SR,SG,SB)との間の距離である。
次いで、CPU30は、パラメータdとパラメータrangeに基づいて、パラメータwを算出する(S160)。パラメータwは、図14(b)に示される数式に従って算出される。続いて、CPU30は、補正対象の画素の座標値(PR,PG,PB)を、パラメータwと補正量(CR,CG,CB)に基づいて補正する(S162)。これにより、補正後の座標値(MR,MG,MB)が得られる。S162の処理は、図16に示される数式に従って算出される。即ち、CPU30は、パラメータwを補正量(CR,CG,CB)に乗算することによって得られる座標値を、補正対象の画素の座標値(PR,PG,PB)に加算することによって、補正後の座標値(MR,MG,MB)を算出する。
CPU30は、S162において補正後座標値(MR,MG,MB)を算出すると、S168に進む。S168では、CPU30は、RGB対象画像データ50内の全ての画素についてS156〜S162の処理が実行されたのか否かを判断する。ここでNOの場合、CPU30は、RGB対象画像データ50内の次の画素を選択し(S170)、S156〜S162の処理を実行する。一方において、S168でYESの場合、補正処理が終了する。この場合、補正済みRGB画像データ56(図2参照)が得られることになる。
第1実施例では、図5のS62において補正後の座標値(Mv,Ma,Mb)が算出された後に、座標値(Mv,Ma,Mb)をHSV色空間内の座標値(MH,MS,MV)に変換する処理(S64)と、座標値(MH,MS,MV)をRGB色空間内の座標値(MR,MG,MB)に変換する処理(S66)とが必要とされる。これに対し、本実施例では、図22のS162の処理で得られる座標値(MR,MG,MB)がRGB色空間内の座標値であるために、変換処理が不要である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(1)上記の第1実施例では、図5のS60で算出されるパラメータwが0である場合には、図4のS52で選択された画素に対して補正が行なわれない。従って、パラメータwが0の場合には、図5のS62とS64をスキップしてもよい。この場合、CPU30は、図4のS52で選択された画素の座標値(PH,PS,PV)を座標値(MH,MS,MV)として、図5のS66の処理を実行してもよい。なお、座標値(PH,PS,PV)に対応するRGB対象画像データ50内の座標値がわかっている場合には、S66をスキップすることもできる。
(2)上記の各実施例では、メモリカード18に記憶されている画像データを、補正の対象となるRGB対象画像データ50としている。しかしながら、他の画像データをRGB対象画像データ50としてもよい。例えば、スキャナ部20によって生成される画像データをRGB対象画像データ50としてもよい。
(3)上記の各実施例では、極座標系の色空間として円柱座標系の色空間(HSV色空間)を採用している。しかしながら、極座標系の色空間として球座標系の色空間を採用してもよい。
(4)上記の各実施例では、ユーザによって選択された補正モードに応じて、補正対象の色相の範囲が決定される。しかしながら、補正印刷処理では、1つの補正モードのみが存在していてもよい(即ち補正対象の色相の範囲が固定されていてもよい)。また、補正印刷処理では、複数の補正モード(上記の実施例では3つの補正モード)のそれぞれについて補正処理を順次実行してもよい。この場合、多機能機10は、補正後の複数の画像データを表示し、その中から1つの画像データを選択することをユーザに許容し、ユーザによって選択された画像データに基づいて印刷を実行してもよい。
(5)上記の各実施例において、wを利用して補正しなくてもよい。即ち、図16に示される数式において、wを常に1としてもよい。この場合、図12に示される下限値Lvと上限値Uvの間の値のみが補正され、それ以外の値が補正されないことになる(a軸とb軸の場合も同様に補正される)。この変形例では、請求項の周囲の領域は、下限値Lvと上限値Uvの間の領域に対応する。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:多機能機、12:操作部、14:表示部、16:スロット部、18:メモリカード、20:スキャナ部、22:印刷部、24:ネットワークインターフェイス、28:制御部、30:CPU、32:ROM、34:基本プログラム、36:補正プログラム、50 :RGB対象画像データ、52:HSV対象画像データ、56:補正済みRGB画像データ
Claims (10)
- 対象画像データを補正して補正済み画像データを生成する画像処理装置であって、
前記対象画像データ内の特定範囲の色相を有する特定画素群を代表する代表値を決定する第1決定部と、
前記代表値と、ユーザによって指定された補正の程度と、に基づいて、目標値を決定する第2決定部と、
前記対象画像データ内の全ての画素のうち、前記代表値の周囲の領域に含まれる各画素の値を、前記目標値に近づくように補正する補正部と
を備える画像処理装置。 - 前記第2決定部は、前記補正の程度の変化に応じて前記目標値が線形に変化するように、前記目標値を決定する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記周囲の領域は、前記代表値と前記目標値との双方を含む特定領域である
ことを特徴とする請求項1又は2に記載の画像処理装置。 - 前記特定領域は、前記代表値と前記目標値とを2つの焦点とする楕円体内の領域である
ことを特徴とする請求項3に記載の画像処理装置。 - 前記特定範囲が第1範囲の場合に設定される前記周囲の領域のサイズは、前記特定範囲が前記第1範囲と異なる第2範囲の場合に設定される前記周囲の領域のサイズと異なる
ことを特徴とする請求項1から4のいずれかに記載の画像処理装置。 - 前記補正部は、前記代表値と補正対象の画素の値との間の第1距離と、前記目標値と前記補正対象の画素の値との間の第2距離と、の和が小さい程、補正量が大きくなるように、前記補正対象の画素の値を補正する
ことを特徴とする請求項1から5のいずれかに記載の画像処理装置。 - 前記代表値は、直交座標系の色空間内の座標値であり、
前記目標値は、前記直交座標系の色空間内の座標値であり、
前記補正部は、
補正対象の画素の前記直交座標系の色空間内の座標値が前記代表値と同じ場合に、前記補正対象の画素の前記直交座標系の色空間内の座標値を、前記代表値と前記目標値との間の第1座標値に補正し、
補正対象の画素の前記直交座標系の色空間内の座標値が前記代表値と前記目標値との間の第2座標値である場合に、前記補正対象の画素の前記直交座標系の色空間内の座標値を、前記第1座標値と前記目標値との間の第3座標値に補正する
ことを特徴とする請求項1から6のいずれかに記載の画像処理装置。 - 前記第1決定部は、前記特定画素群に含まれる各画素の値の平均値を算出することによって、前記代表値を決定する
ことを特徴とする請求項1から7のいずれかに記載の画像処理装置。 - 変換部をさらに備え、
前記代表値は、第1直交座標系の色空間内の値であり、
前記目標値は、前記第1直交座標系の色空間内の値であり、
前記変換部は、前記第1直交座標系と異なる第2直交座標系の色空間内の座標値で各画素の値が表わされる特定画像データを、極座標系の色空間内の座標値で各画素の値が表わされる前記対象画像データに変換し、
前記補正部は、
(1)前記対象画像データ内の各画素の値を、前記第1直交座標系の色空間内の座標値である特定直交座標値に変換し、
(2)前記周囲の領域に含まれる各特定直交座標値を、前記目標値に近づくように補正し、
(3)補正後の各特定直交座標値を、前記極座標系の色空間内の座標値である特定極座標値に変換し、
(4)各特定極座標値を、前記第2直交座標系の色空間内の座標値である直交座標値に変換する
ことによって、前記第2直交座標系の色空間内の座標値で各画素の値が表わされる前記補正済み画像データを生成する
ことを特徴とする請求項1から8のいずれかに記載の画像処理装置。 - 対象画像データを補正して補正済み画像データを生成する画像処理プログラムであって、
前記対象画像データ内の特定範囲の色相を有する特定画素群を代表する代表値を決定する第1決定処理と、
前記代表値と、ユーザによって指定された補正の程度と、に基づいて、目標値を決定する第2決定処理と、
前記対象画像データ内の全ての画素のうち、前記代表値の周囲の領域に含まれる各画素の値を、前記目標値に近づくように補正する補正処理と
をコンピュータに実行させる画像処理プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008327428A JP2010154009A (ja) | 2008-12-24 | 2008-12-24 | 画像処理装置と画像処理プログラム |
| US12/647,164 US8787665B2 (en) | 2008-12-24 | 2009-12-24 | Image processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008327428A JP2010154009A (ja) | 2008-12-24 | 2008-12-24 | 画像処理装置と画像処理プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010154009A true JP2010154009A (ja) | 2010-07-08 |
Family
ID=42266198
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008327428A Pending JP2010154009A (ja) | 2008-12-24 | 2008-12-24 | 画像処理装置と画像処理プログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8787665B2 (ja) |
| JP (1) | JP2010154009A (ja) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004112694A (ja) * | 2002-09-20 | 2004-04-08 | Fuji Xerox Co Ltd | 色調整方法、色調整装置、色変換定義編集装置、画像処理装置、プログラム、記憶媒体 |
| JP2004192614A (ja) * | 2002-11-29 | 2004-07-08 | Ricoh Co Ltd | 画像処理装置および画像処理方法並びにプログラムおよび記録媒体 |
| JP2005354314A (ja) * | 2004-06-09 | 2005-12-22 | Canon Inc | 情報処理方法、情報処理装置、撮像装置 |
| JP2006261879A (ja) * | 2005-03-16 | 2006-09-28 | Seiko Epson Corp | 色かぶりの傾向に応じたカラーバランス補正 |
| JP2006303708A (ja) * | 2005-04-18 | 2006-11-02 | Canon Inc | 画像処理装置および画像処理方法 |
| JP2007228322A (ja) * | 2006-02-24 | 2007-09-06 | Seiko Epson Corp | 画像処理装置、画像処理方法および画像処理プログラム |
Family Cites Families (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5289295A (en) | 1991-07-04 | 1994-02-22 | Matsushita Electric Industrial Co., Ltd. | Color adjustment apparatus |
| JPH05300531A (ja) | 1992-04-14 | 1993-11-12 | Nippon Hoso Kyokai <Nhk> | 色補正方法および色補正装置 |
| US5710872A (en) | 1995-03-23 | 1998-01-20 | Nikon Corporation | Color image recording device, system, and method |
| JPH08321957A (ja) | 1995-03-23 | 1996-12-03 | Nikon Corp | カラー画像記録装置 |
| JP3400888B2 (ja) | 1995-03-29 | 2003-04-28 | 大日本スクリーン製造株式会社 | カラー画像の色変更方法 |
| JPH09326941A (ja) | 1996-06-05 | 1997-12-16 | Fuji Xerox Co Ltd | 画像処理装置 |
| JPH10173947A (ja) | 1996-12-16 | 1998-06-26 | Canon Inc | 画像処理装置及びその方法 |
| JP3264273B2 (ja) * | 1999-09-22 | 2002-03-11 | 日本電気株式会社 | 自動色補正装置及び自動色補正方法並びにその制御プログラムを記録した記録媒体 |
| JP2002223366A (ja) * | 2001-01-26 | 2002-08-09 | Canon Inc | 画像処理装置及びその方法、及び画像処理システム |
| JP4666274B2 (ja) | 2001-02-20 | 2011-04-06 | 日本電気株式会社 | カラー画像処理装置及びその方法 |
| US7116443B2 (en) | 2002-05-02 | 2006-10-03 | Xerox Corporation | Neutral pixel detection using color space feature vectors wherein one color space coordinate represents lightness |
| EP1385340A3 (en) | 2002-07-23 | 2005-08-10 | NEC Viewtechnology, Ltd. | Color adjusting method for projector |
| JP3776899B2 (ja) | 2002-07-23 | 2006-05-17 | Necビューテクノロジー株式会社 | プロジェクタ及びその色調整方法 |
| KR100612835B1 (ko) | 2002-12-12 | 2006-08-18 | 삼성전자주식회사 | 영상의 색 특성에 관한 사용자 선호성 데이터 생성 방법및 장치와 이를 이용한 영상 색선호특성 변환 방법 및 장치 |
| US7623704B2 (en) | 2003-01-31 | 2009-11-24 | Fuji Xerox Co. Ltd. | Color processing method, color processing apparatus, and storage medium |
| JP4314473B2 (ja) | 2003-01-31 | 2009-08-19 | 富士ゼロックス株式会社 | 色処理方法および色処理装置、色処理プログラム、記憶媒体 |
| JP4196845B2 (ja) | 2003-03-31 | 2008-12-17 | セイコーエプソン株式会社 | 画像処理装置 |
| KR100552695B1 (ko) | 2003-11-20 | 2006-02-20 | 삼성전자주식회사 | 칼라영상의 색조절방법 및 장치 |
| JP4328956B2 (ja) | 2004-01-07 | 2009-09-09 | 富士フイルム株式会社 | デジタルカメラの制御方法及び装置 |
| JP4684595B2 (ja) | 2004-08-05 | 2011-05-18 | ソニー株式会社 | 画像表示装置 |
| JP2006080746A (ja) | 2004-09-08 | 2006-03-23 | Nikon Corp | 画像処理装置、電子カメラ、および画像処理プログラム |
| US7593603B1 (en) | 2004-11-30 | 2009-09-22 | Adobe Systems Incorporated | Multi-behavior image correction tool |
| US20090009525A1 (en) | 2004-12-02 | 2009-01-08 | Tsuyoshi Hirashima | Color Adjustment Device and Method |
| JP4379362B2 (ja) | 2005-03-28 | 2009-12-09 | セイコーエプソン株式会社 | 画像処理装置、および、階調再現方法 |
| US20070002153A1 (en) | 2005-06-29 | 2007-01-04 | Bart Dierickx | Hue preservation |
| US20090092297A1 (en) | 2005-07-19 | 2009-04-09 | Konica Minolta Holdings, Inc. | Image processing apparatus, image processing system and image processing program |
| JP4758836B2 (ja) | 2006-06-23 | 2011-08-31 | 富士通株式会社 | 色調整用プログラム、色調整装置、および色調整方法 |
| US7920739B2 (en) | 2006-12-13 | 2011-04-05 | Adobe Systems Incorporated | Automatically selected adjusters |
| JP2008171062A (ja) | 2007-01-09 | 2008-07-24 | Noritsu Koki Co Ltd | 受付装置 |
| US20080174796A1 (en) | 2007-01-24 | 2008-07-24 | Xerox Corporation | Method of printing documents |
| JP4305540B2 (ja) | 2007-03-22 | 2009-07-29 | 村田機械株式会社 | 画像処理装置 |
| JP2008306377A (ja) | 2007-06-06 | 2008-12-18 | Fuji Xerox Co Ltd | 色調整装置および色調整プログラム |
| JP4389977B2 (ja) | 2007-06-29 | 2009-12-24 | ブラザー工業株式会社 | 画像印刷装置、画像印刷方法、画像印刷プログラム |
| JP2009055465A (ja) | 2007-08-28 | 2009-03-12 | Toshiba Corp | 画像処理装置および方法 |
| US8184903B2 (en) | 2007-10-19 | 2012-05-22 | Himax Technologies Limited | Color correction method and apparatus of RGB signal |
| TWI364994B (en) | 2007-11-06 | 2012-05-21 | Wintek Corp | Image processing method |
| US8451287B2 (en) | 2008-05-02 | 2013-05-28 | Nintendo Co., Ltd. | Color conversion apparatus, imaging apparatus, storage medium storing color conversion program, and storage medium storing imaging program |
| US8244003B2 (en) | 2010-01-25 | 2012-08-14 | Apple Inc. | Image preprocessing |
-
2008
- 2008-12-24 JP JP2008327428A patent/JP2010154009A/ja active Pending
-
2009
- 2009-12-24 US US12/647,164 patent/US8787665B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004112694A (ja) * | 2002-09-20 | 2004-04-08 | Fuji Xerox Co Ltd | 色調整方法、色調整装置、色変換定義編集装置、画像処理装置、プログラム、記憶媒体 |
| JP2004192614A (ja) * | 2002-11-29 | 2004-07-08 | Ricoh Co Ltd | 画像処理装置および画像処理方法並びにプログラムおよび記録媒体 |
| JP2005354314A (ja) * | 2004-06-09 | 2005-12-22 | Canon Inc | 情報処理方法、情報処理装置、撮像装置 |
| JP2006261879A (ja) * | 2005-03-16 | 2006-09-28 | Seiko Epson Corp | 色かぶりの傾向に応じたカラーバランス補正 |
| JP2006303708A (ja) * | 2005-04-18 | 2006-11-02 | Canon Inc | 画像処理装置および画像処理方法 |
| JP2007228322A (ja) * | 2006-02-24 | 2007-09-06 | Seiko Epson Corp | 画像処理装置、画像処理方法および画像処理プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US8787665B2 (en) | 2014-07-22 |
| US20100158368A1 (en) | 2010-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5067276B2 (ja) | 色変換方法、該色変換方法で生成された色変換テーブル、画像処理装置および色変換プログラム | |
| JP2009055465A (ja) | 画像処理装置および方法 | |
| JP4877074B2 (ja) | 画像処理装置、画像処理方法、および、コンピュータプログラム | |
| JP2012121265A (ja) | 画像形成装置およびその制御方法 | |
| JP6564285B2 (ja) | 画像処理装置及び画像形成装置 | |
| JP2016086350A (ja) | 画像処理装置、および、コンピュータプログラム | |
| US8705858B2 (en) | Image processing device | |
| JPWO2009093294A1 (ja) | 画像信号処理装置及び画像信号処理プログラム | |
| JP4715639B2 (ja) | 画像形成制御装置及びプログラム | |
| JP4743271B2 (ja) | 画像処理装置と画像処理プログラム | |
| JP4784642B2 (ja) | 画像処理装置と画像処理プログラム | |
| JP2010050832A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
| JP2013247555A (ja) | 画像処理装置 | |
| JP2010154009A (ja) | 画像処理装置と画像処理プログラム | |
| JP4375580B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
| JP4930503B2 (ja) | 画像処理装置と画像処理プログラム | |
| JP2018107649A (ja) | 画像処理装置、および、コンピュータプログラム | |
| JP2005260404A (ja) | 画像処理装置 | |
| JP6311409B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
| JP6882720B2 (ja) | 画像処理装置、および、コンピュータプログラム | |
| JP5577279B2 (ja) | 画像形成装置及び色域補正方法 | |
| JP5205364B2 (ja) | 画像形成装置および画像形成方法 | |
| JP4970419B2 (ja) | 画像処理装置 | |
| JP4775409B2 (ja) | 色域生成装置及び色域生成プログラム | |
| JP6521650B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101208 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110214 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110322 |