JP2005004506A - 画像処理プログラム - Google Patents
画像処理プログラム Download PDFInfo
- Publication number
- JP2005004506A JP2005004506A JP2003167700A JP2003167700A JP2005004506A JP 2005004506 A JP2005004506 A JP 2005004506A JP 2003167700 A JP2003167700 A JP 2003167700A JP 2003167700 A JP2003167700 A JP 2003167700A JP 2005004506 A JP2005004506 A JP 2005004506A
- Authority
- JP
- Japan
- Prior art keywords
- image
- blurred
- retinex
- processing
- level
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 95
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 24
- 238000005192 partition Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 abstract description 23
- 239000002131 composite material Substances 0.000 abstract description 3
- 238000001914 filtration Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 17
- 238000012937 correction Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000010354 integration Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000001475 halogen functional group Chemical group 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- SVKQEADHBGJMJB-FHLIZLRMSA-N ram-317 Chemical compound C1CCC[C@@]2(O)[C@H]3CC4=CC=C(OC)C(O)=C4[C@]21CCN3C SVKQEADHBGJMJB-FHLIZLRMSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【解決手段】Multi Scale Retinex処理において、処理対象となる原画像D2の画素値レベルに応じて、スケールの異なる複数の周辺関数D3−1〜D3−3から生成されるぼけ具合の異なる複数のぼけ画像D4−1〜D4−3からいずれかを画素毎に選択することで、合成ぼけ画像D6を作成する。合成ぼけ画像D6に対してローパスフィルタ410を施すことによって、不自然な境界の不連続の発生を防止し、Retinex処理を行なう。
【選択図】 図2
Description
【発明の属する技術分野】
この発明は、画像処理プログラムに関し、特にデジタルカメラやフィルムスキャナなどの出力画像の処理においてRetinex処理を行う画像処理プログラムに関する。
【0002】
【従来の技術】
従来の画像処理の分野では、生体における網膜や皮質と同等の役割をモデル化した画像処理技術として、Center/Surround Retinex処理が提案されている(例えば、下記特許文献1参照)。
【0003】
Retinex処理とは、デジタルデータである画像情報を補正する方法である。Retinex処理には各種の変形例が考えられるが、ここでは、視覚をモデル化して注目画素に対して周辺情報を加味する画像の補正方法を総括してRetinex処理と呼んでいる。Retinex処理では画像中の明暗部に応じて、局所局所でゲイン調整が変わるため、ダイナミックレンジを圧縮する効果がある。
【0004】
Center/Surround Retinexアルゴリズムに関して、Single Scale Retinex(SSR)、およびMulti Scale Retinex(MSR)が知られている。以下にそれぞれのアルゴリズムについて説明する。
【0005】
Single Scale Retinex(SSR)は、次の式(1)によって表される。式(1)の処理をR,G,Bの各チャンネルに対して実行し、統合することでカラー出力画像が得られる。
【0006】
ここで、「*」はコンボリューション積分を表す。また、Ti(x,y)はSSR処理後の画素値を表し、Ii(x,y)は原画像の画素値を表す。F(x,y)は、注目画素の周囲の画素を考慮してぼけ画像を作成するためのフィルタに用いられる関数である。F(x,y)として例えばガウス関数を用いると、F(x,y)は、次の式(2)および(3)を満たすこととなる。
【0007】
F(x,y)=K・exp{−(x2+y2)/c2} …(2)
ΣΣF(x,y)=1 …(3)
ここで、cはガウス関数における周辺の広がりを決める定数であり、カーネル値と呼ばれる。式(3)を満たすように定数Kは定められる。一般的には、cの値が小さい程、画像処理においてエッジを強調する効果が高くなり、cの値が大きい程、ダイナミックレンジ圧縮の効果が高くなることが知られている。
【0008】
また、SSR処理後の出力画像のコントラストを向上させることを目的に、クリッピング処理が行われる。通常、ヒストグラム分布にして、上下3%前後の画素値はクリッピングしてから、線形変換によって出力ビット数(例えば8ビット)に応じたデジタル値に割り振られる。
【0009】
図10は、ぼけ画像作成のためにガウス関数を用いたSSRの具体的な処理を説明するための図である。
【0010】
図を参照して、i=R,G,Bからなるオリジナル画像(処理対象画像)D2に対して処理が行われる。なお、オリジナル画像においてRGBを合成した画像を図中P2で示している。
【0011】
D2の各画素値は、Ii(x,y)として示される。ぼけ画像D4を作成するためにIi(x,y)*G(x,y)の演算が行われる。ここにG(x,y)はガウス関数である。
【0012】
オリジナル画像の各画素値を、ぼけ画像の各画素値で除算する処理が行われ、そのlogを求めることで、Retinex処理後の画像D5が得られる。D5の各画素値をここではRi(x,y)とする。R,G,BからなるD5を合成することで、Retinex処理後の画像P1が得られる。
【0013】
一方、Multi Scale Retinex(MSR)では、式(2)における定数cとして、異なる幾つかの値が用いられる。これにより、周辺の広がりが異なるガウス関数によるSSR処理が行われる。それぞれの結果を足し合わせて平均化することにより、エッジ強調、およびダイナミックレンジ圧縮を同時に達成している。
【0014】
図11は、ガウス関数を用いたMSR処理を説明するための図である。
図を参照して、周辺の広がりが狭いガウス関数(サイズの小さいフィルタ)により作成されたぼけ画像D4−1、周辺の広がりが中位のガウス関数(サイズの中位のフィルタ)により作成されたぼけ画像D4−2、および周辺の広がりが広いガウス関数(サイズの大きいフィルタ)により作成されたぼけ画像D4−3がオリジナル画像D2に基づいて作成される。
【0015】
そして、オリジナル画像D2を各ぼけ画像で除算し、それぞれの対数をとることで、画像D5−1〜D5−3が得られる。フィルタサイズが小さい関数で処理を行った画像の方がエッジ強調効果が高く、逆にフィルタサイズが大きい関数で処理を行った画像の方がダイナミックレンジ圧縮の効果が高い。画像D5−1〜D5−3を足し合わせて平均化することにより、エッジ強調、およびダイナミックレンジ圧縮を同時に達成することができる。
【0016】
MSRは、次の式(4)によって表される。式(4)の処理をi=R,G,Bの各チャンネルに対して実行し、各スケールから得られる出力に各々重みを掛けて合成することでカラー出力画像を得ることができる。
【0017】
ここで、「*」はコンボリューション積分を表す。また、Ti(x,y)はMSR処理後の画素値を表し、Ii(x,y)は原画像の画素値を表す。
【0018】
Fs(x,y)は、注目画素の周囲の画素を考慮してぼけ画像を作成するためのフィルタに用いられる関数である。Fs(x,y)としてガウス関数を用いると、Fs(x、y)は式(5)で表され、式(6)を満たすように定数Kは定められる。
【0019】
ここで、csはガウス関数における周辺の広がりを決める定数であり、カーネル値と呼ばれる。このcsの値に応じてダイナミックレンジ圧縮の効果が異なることが知られている。スケール数S=1の場合がSSRに相当し、通常のMSRでは、S=3程度が普通である。wsは各スケールに対する重み係数であり、式(7)を満足するものである。例えば、S=3の場合にws=1/3として各スケールの出力が平均化される。
【0020】
また、Retinex処理後の出力画像Ti(x,y)に対して、コントラストを向上させることを目的に、クリッピング処理が行われる。通常、ヒストグラム分布にして、上下3%前後の画素値をクリッピングし、線形変換によって出力ビット数(例えば8ビット)に応じたデジタル値に割り振る。
【0021】
ネガフィルムなどからフィルムスキャナによってデジタル化された画像データや、デジタルスチルカメラなどで撮影されたデジタル画像データに対して以上のようなSSR、およびMSR処理を適用する研究が盛んに行われている。
【0022】
また、以下の特許文献2は、画像の異なる領域間の小さなコントラスト差を維持しながら、画像の異なる領域間の大きなコントラスト差を縮小する技術を開示している。
【0023】
また、以下の非特許文献1は、Retinex処理を線形演算で構成することを開示している。
【0024】
【特許文献1】
米国特許第5,991,456号明細書
【0025】
【特許文献2】
特開2001−245154号公報
【0026】
【非特許文献1】
小林正明、小寺宏嘩、「Retinexモデルによる画像の見えの改善」、カラーフォーラムJAPAN2001(第47回光学四学会連合講演会、2001年11月13日〜15日開催)予稿集
【0027】
【発明が解決しようとする課題】
ところが、上述した従来のMulti Scale Retinexアルゴリズムなどの画像処理技術では、各スケールの出力に対する重み係数wsの与え方が不明確であり、処理対象となる原画像の内容等に応じて、各重み係数の値をその都度調整しなければならないという問題があった。
【0028】
上述したように、各スケールの出力を単純に平均化することも考えられるが、各スケールのカーネル値csの値に応じてダイナミックレンジ圧縮の効果は異なっており、場合によっては、一つのスケールによる効果を他のスケールによって低減させてしまう場合もあった。
【0029】
本発明の目的は、処理対象となる原画像の内容に依存することなく、良好なMulti Scale Retinex処理ができる画像処理プログラムを提供することを目的としている。
【0030】
【課題を解決するための手段】
上記目的を達成するため、この発明のある局面に従うと、Retinex処理をコンピュータに実行させる画像処理プログラムは、処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第1ステップと、原画像を区画毎に複数のレベルに分類する第2ステップと、区画毎に、当該区画が分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行する第3ステップとをコンピュータに実行させる。
【0031】
この発明によると、分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行することができるため、処理対象となる原画像の内容に依存することなく、良好なMulti Scale Retinex処理ができる画像処理プログラムを提供することができる。
【0032】
好ましくは第3ステップは、区画毎に、当該区画が分類されたレベルに対応させて、ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成するステップと、原画像と合成ぼけ画像とに基づいてRetinex処理を実行するステップとを含む。
【0033】
このように選択された区画の合成に基づく合成ぼけ画像を生成することで、Retinex処理の効率をよくすることができる。
【0034】
好ましくは区画は画素であり、第2ステップは、原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、第3ステップは、選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱いぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強いぼけ画像を選択する。
【0035】
このように画素を区画とし、その明るさに応じてぼけ画像を選択することで、さらに良好なMulti Scale Retinex処理ができる画像処理プログラムを提供することができる。
【0036】
好ましくは画像処理プログラムは、合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてRetinex処理を行なう。
【0037】
このようにローパスフィルタを用いることで、出力される画像の画質を向上させることができる。
【0038】
好ましくは第2ステップは、原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、第3ステップは、所定のチャンネルの画素値レベルによる分類に基づいて、ぼけ画像のいずれかの画素値を選択、合成する。
【0039】
好ましくは所定のチャンネルは、Greenのチャンネルとする。また、Red、Green、Blueの各チャンネルの画像データからYab色空間に変換処理を行なってからRetinex処理を行なう場合は、前記所定のチャンネルは、Yのチャンネルとすることが望ましい。
【0040】
【発明の実施の形態】
本発明の実施の形態に開示される画像処理方法、画像処理プログラムおよび画像処理装置などでは、Multi Scale Retinex方式において、各スケールから生成したぼけ画像を、原画像の画素値レベルに応じて選択して合成し、その合成ぼけ画像に基づきRetinex処理を行なうことを特徴としている。さらに好ましくは、合成ぼけ画像に対して、ローパスタイプのフィルタが適用される。
【0041】
すなわち、処理対象となる原画像の画素値レベルに応じて、生成した複数のぼけ画像のいずれかを自動的に選択する(複数のぼけ画像の重み係数を自動的に割り振る)ようにプログラムや装置などを構成することで、合成される合成ぼけ画像の画素値を明確に決定することができる。さらに、合成ぼけ画像にローパスフィルタを施すことによって、不自然な境界の不連続も起こさずに、Multi Scale Retinex処理ができる画像処理プログラムや装置などを提供することができる。
【0042】
以下に本発明の実施の形態について、図面を参照しながら順に説明する。
[第1の実施の形態]
図1は、第1の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。図中、画像データの流れを矢印で示している。
【0043】
図を参照して撮影装置は、撮像デバイスとしてのCCDイメージセンサ101と、A/Dコンバータ102と、Retinex処理部103と、γ補正部104と、表示・保存部105とを備えている。
【0044】
CCDイメージセンサ101は、光電変換によって入射光から電気信号であるアナログ信号R,G,Bを生成する。A/Dコンバータ102はアナログ信号R,G,Bを、例えば8bitの離散的なデジタル信号R,G,Bに変換する。Retinex処理部103は、A/Dコンバータ102でA/D変換のみ施されたデジタル画像信号に対して、MSRのRetinex処理を各RGBのチャンネルに対して独立に行う。
【0045】
γ補正部104は、Retinex処理部103で得られたRetinex出力に対して、後工程である表示・保存工程で求められる所定のγ補正を行う。
【0046】
最後に、表示・保存部105では、γ補正部104で所定のγ処理が施された画像データをモニタなどに表示、またはハードディスクなどに保存する。
【0047】
図1に示した構成をデジタルスチルカメラ内部などでハード的に実行することも可能であるが、一旦保存された画像データに対して、パソコンなどにインストールされたアプリケーションを用いて、ソフト的に上述したRetinex処理、およびγ補正処理などの画像処理を実行することも可能である。
【0048】
なお、上記(1)、(4)式で示されるRetinex処理にはコンボリューション積分が含まれているため、その処理速度はF(x,y)で示されるガウス関数などのフィルタのサイズや画像サイズそのものに大きく依存する。一般に、Retinex処理に用いられるフィルタのサイズは非常に大きく、比較的解像度の低い画像(例えば640×480画素のVGA)でも、カーネル値c=100程度のサイズのフィルタが用いられることが多い。このような場合、最近の高速な処理を行うパーソナルコンピュータでもその処理を完了するまでに数時間かかってしまうことがあり、実用的ではない。
【0049】
コンボリューション積分を高速に実行する方法として、周波数領域で計算を実行する手法であるフーリエ変換が知られている。デジタル画像のような離散的な信号に対しては、FFT(Fast Fourier Transforms)やDFT(Discrete Fast Fourier Transforms)といった高速処理手法が適用できる。上記(1)式のコンボリューション積分は、画像サイズが2のべき乗の場合、式(8)で表現することができる。
【0050】
ここで、FFT−1は逆FFTを、「・」は周波数領域での掛け算を表す。この場合、その処理速度はF(x,y)で表されるガウス関数のフィルタサイズには関係なく、画像サイズそのものに依存することになる。なお、画像サイズが2のべき乗でない場合、DFTを代用に用いることができる。
【0051】
図2は、Retinex処理部103で行なわれる、Multi ScaleRetinex処理を実施するブロックを示す図である。図中においては、矢印で画像データの流れを示している。ここでは、スケール数S=3としている。
【0052】
処理対象となる原画像D2は、異なるカーネル値から生成されるスケールの複数のフィルタ(周辺関数)D3−1〜D3−3と、演算器401〜403でコンボリューション積分されることにより、ぼけ画像D4−1〜D4−3が生成される。ここで上述のとおり、コンボリューション積分の代わりに、FFTやDFTなどのフーリエ変換の手法をもとに、各々を一旦周波数領域に変換した後に掛け合わせて、実空間へ逆変換することでも、ぼけ画像D4−1〜D4−3を生成することができる。
【0053】
セレクタ408では、原画像D2を構成する画素の画素レベルに応じて、画素毎にぼけ画像D4−1〜D4−3のいずれかが選択される。選択されたぼけ画像の画素値は各々、セレクタ408内で合成され、合成ぼけ画像D6が作成される。
【0054】
ここで、セレクタ408で参照される原画像D2の画素値データは、RGBの各チャンネル信号のうち、Gチャンネルの画素値であることが望ましい。あるいは、RGBの各チャンネル信号を合成して得られる輝度信号を参照する構成としてもよい。
【0055】
得られた合成ぼけ画像D6の各画素は、ぼけ画像D4−1〜D4−3のいずれかの画素値で構成されるが、原画像D2の内容によっては、各々異なるぼけ画像から選択された画素が隣接する領域において、不連続な境界を形成する場合が生ずる。この場合、得られるRetinex出力画像D5においても不自然な境界が形成されることになり好ましくない。
【0056】
合成ぼけ画像D6において不連続な境界部分は、比較的急峻に画素値が変化する部分であり、高い空間周波数を有する領域でもある。従って、本実施の形態では合成ぼけ画像D6に対してローパスフィルタ410を適用することで、合成ぼけ画像D6における不連続な境界(急峻な画素値変化)部分を無くすこととしている。具体的には、合成ぼけ画像D6をFFTやDFTなどのフーリエ変換の手法をもとに、一旦周波数領域に変換した後、低周波域のみを通過させるようなフィルタリングを行い、実空間へ逆変換する。
【0057】
こうして合成ぼけ画像D6に対してローパスフィルタ410で平滑化を行い、さらに演算器411で原画像D2を除算することで、Retinex出力D5が得られる。
【0058】
図2におけるRetinex処理は、図1に示されるように、R,G,Bの各チャンネルに対して独立に行われる。但し、RやBのチャンネル処理時であってもセレクタ408で参照される原画像D2のチャンネルは、G(Green)あるいは輝度のチャンネルであることが望ましい。
【0059】
すなわち、図2の処理部がRの画像を処理する場合においては、演算器401〜403および411で処理の対象となる原画像D2は、Rのチャンネルの画像である。これに対して、セレクタ408に入力される原画像D2は、Gのチャンネルの画像(または輝度のチャンネルの画像)である。
【0060】
セレクタ408での処理について説明する。セレクタ408では、Gあるいは輝度のチャンネルの画像の画素は、画素レベルに応じて、明るい画素から暗い画素まで幾つかのレベルに分類される。例えば、スケール数S=3の場合には3つに分類される。画素のレベルに応じて、適当なぼけ画像からそのぼけ画像の画素データが選択される。
【0061】
Retinex処理の主な目的の一つとして、シャドー部の再現性の向上が挙げられるが、シャドー部の再現性を向上させるためには、カーネル値の小さなスケールによるRetinex出力が適している。しかし、このRetinex出力をハイライト部にも適用すると不自然なカラーシフトやハローと呼ばれる擬似的な輪郭を発生させてしまう可能性がある。
【0062】
逆に、ハイライト部では、カーネル値の大きなスケールによるRetinex出力が適しており、上述した不自然なカラーシフトやハローと呼ばれる擬似的な輪郭の発生を抑え、良好な色再現が可能である。従って、基本的には、セレクタ408では、Gあるいは輝度のチャンネルの画素レベルに応じて、Gあるいは輝度のチャンネルの画素を、明るい、中間、暗いの3つに分類し、各々カーネル値の大きい、中間、小さいスケールを順に割り振ることとしている。
【0063】
例えば、S=3の場合について、図2のセレクタ408での具体的な処理を図3に示す。
【0064】
マスク作成部504では、Gあるいは輝度チャンネルの原画像データD2−G、および、しきい値Th1としきい値Th2を元に、マスク画像D7−1〜D7−3が生成される。ここで、例えば、しきい値Th1>しきい値Th2とし、マスク画像D7−1をハイライト部用、マスク画像D7−2を中間調用、マスク画像D7−3をシャドー部用とする。
【0065】
原画像データD2−Gについて、しきい値Th1以上の画素には1、その他には0をセットすることでマスク画像D7−1が生成される。同様に、原画像データD2−Gについて、しきい値Th2以上かつしきい値Th1未満の画素には1、その他には0をセットすることでマスク画像D7−2が生成される。さらに同様に、原画像データD2−Gについて、しきい値Th2未満の画素には1、その他には0をセットすることでマスク画像D7−3が生成される。
【0066】
こうして生成されたマスク画像D7−1からマスク画像D7−3に対して、演算器505〜507で、大きなスケールから生成したぼけ画像D4−1、中間スケールから生成したぼけ画像D4−2、および小さなスケールから生成したぼけ画像D4−3を各々掛け合わせる。そして、これらを加算器508で足し合わせることで、合成ぼけ画像D6が生成される。
【0067】
図4は、図2のローパスフィルタ410を詳細に説明するためのブロック図である。合成ぼけ画像D6に対して、ローパスタイプのフィルタをかけることで、不自然な境界の発生を抑制することができる。
【0068】
合成ぼけ画像D6は、フーリエ変換器602で周波数空間へ変換され、演算器605により高周波マスク603と掛け合わせることで低周波領域のみ通過させるフィルタリングが行われる。逆フーリエ変換器604で実空間へ戻すことで、平滑化合成ぼけ画像D7が生成される。
【0069】
図5は、標準表示における高周波マスク603の具体例を示す図である。図中、黒く塗りつぶした箇所が1、その他の白い部分が0であるものとし、低周波数成分のみ通過させる構造である。
【0070】
以上説明したように、本発明は、スケールの異なる複数の周辺関数を用いてぼけ具合の異なるぼけ画像を複数生成し、原画像の画素値レベルに応じていずれかのぼけ画像を選択することで、不自然なカラーシフトや擬似的な輪郭の発生を防止してシャドー部の再現性を向上させることができる。さらに、合成したぼけ画像に対してローパスフィルタを施すことで、不自然な境界領域での不連続を防止してRetinex処理ができる画像処理プログラムおよび装置を提供することができる。
【0071】
[第2の実施の形態]
図6は、本発明の第2の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【0072】
図を参照して、デジタルカメラは、レンズLと、レンズを駆動するレンズ制御部209と、CCDイメージセンサ201と、CCDイメージセンサの出力をA/D変換するA/Dコンバータ203と、画像処理のためのASIC(application specific integrated circuit)205と、バッファメモリ207と、CPU211と、RAM213と、ROM(ファームウェアメモリ)215と、画像表示部221と、カードインタフェース217と、メモリカード219とを備えている。
【0073】
ASIC205内のモジュールとして、Retinex処理回路251、色補間回路253、γ補正回路255、色空間変換回路257、および画像圧縮回路259が設けられている。
【0074】
ASIC205内では、A/Dコンバータ203からの入力に対して、図の左のモジュールから順に処理が行なわれる。ASIC205内のモジュールはバッファメモリ207を共有しており、CPU211は、どのモジュールがメモリにアクセスするかのタイミングコントロールを行なう。
【0075】
本実施の形態においても、デジタルカメラにおいて、第1の実施の形態と同様のRetinex処理を適用する。
【0076】
なお、図6の回路構成は、デジタルビデオカメラ、スキャナ、フィルムスキャナなどに対しても応用することができる。
【0077】
[第3の実施の形態]
図7は、本発明の第3の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【0078】
図を参照して、コンピュータは、装置全体の制御を行なうCPU301と、表示部303と、ネットワークに接続したり外部と通信を行なうためのLAN(ローカルエリアネットワーク)カード305(またはモデムカード)と、キーボードやマウスなどにより構成される入力部307と、フレキシブルディスクドライブ309と、CD−ROMドライブ311と、ハードディスクドライブ313と、ROM315と、RAM317とを備えている。
【0079】
以後のフローチャートに示される、CPU(コンピュータ)301を駆動させるためのプログラムは、フレキシブルディスク(F1)やCD−ROM(C1)やハードディスクドライブ313などの記録媒体に記録することができる。このプログラムは、CPU301により読出され、記録媒体からRAMその他の記録媒体に送られ、記録される。プログラムはRAMなどをワークエリアとして実行される。なお、プログラムはROM、RAM、メモリカードなどの記録媒体に記録してユーザに提供するようにしてもよい。また、インターネットを介して外部のサイトなどよりそのようなプログラムをワークステーションやコンピュータにダウンロードして実行させるようにしてもよい。
【0080】
図8は、図7のコンピュータが実行するRetinex処理を示すフローチャートである。
【0081】
図を参照して、CCDイメージセンサなどにより得られたアナログデータD1は、ステップS101でA/D変換器により変換され、原画像データD2とされる。これがステップS103で、コンピュータ内においてフーリエ変換される。
【0082】
一方ステップS105では、複数のぼけ画像を形成するための複数のガウス周辺関数D3−1〜D3−3がそれぞれフーリエ変換される。ステップS107で、ステップS103およびS105で得られたデータの周波数領域での掛け算が行なわれる。その後、ステップS109で逆フーリエ変換が行なわれることで複数のぼけ画像D4−1〜D4−3が得られる。また、これを原画像データD2(好ましくはGチャンネル、または輝度チャンネルのデータ)に基づき、第1の実施の形態と同様に合成することで、合成ぼけ画像D6およびそれを平滑化した平滑化合成ぼけ画像D7が得られる。
【0083】
ステップS111で、D2をD7で割り、ステップS113でそれをlog処理することで、Retinex出力D5が得られる。
【0084】
その後、Retinex出力に対し、γ補正(ステップS115)、その他画像処理(ステップS117)、クリッピング処理(ステップS119)、および8bit割り付け処理(ステップS121)が行なわれる。その後、画像が表示される(ステップS123)。
【0085】
図9は、図8のステップS103〜S109で行なわれる処理の詳細を示すフローチャートである。
【0086】
図を参照して、ステップS201で原画像D2の入力が行なわれる。ステップS203で、ぼけ程度の異なるS種類のぼけ画像の作成が行なわれる。ステップS205で、原画像D2(Gチャンネルまたは輝度チャンネル)に基づいて、マスク画像が作成される。ステップS207で、マスク画像に基づき、合成ぼけ画像が作成され、ステップS209で、合成ぼけ画像がローパスフィルタにより平滑化される。
【0087】
なお、インターネットなどの通信回線を通じて送信されてきた画像データに対して上述の画像処理を行ってもよいし、その結果を通信回線を通じて他の装置へ送信するようにしてもよい。
【0088】
また、上記実施の形態においては画素毎にぼけ画像を選択することとしたが、複数の画素からなる原画像の区画毎に、その区画のレベルに応じてぼけ画像を選択するようにしてもよい。
【0089】
また、合成ぼけ画像を作成せずに、複数のぼけ画像を用意し、原画像の区画(または画素)ごとのレベルに応じて、複数のぼけ画像の中からいずれかを選択するようにしてもよい。
【0090】
(発明の他の構成例)
なお、上述した具体的実施形態には以下の構成を有する発明が含まれている。
【0091】
(1) Retinex処理をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体において、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第1ステップと、
前記原画像を区画毎に複数のレベルに分類する第2ステップと、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行する第3ステップとをコンピュータに実行させる、画像処理プログラムを記録したコンピュータ読取可能な記録媒体。
【0092】
(2) Retinex処理を実行する方法において、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第1ステップと、
前記原画像を区画毎に複数のレベルに分類する第2ステップと、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行する第3ステップとを備えた、Retinex処理を実行する方法。
【0093】
(3) 前記第3ステップは、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成するステップと、
前記原画像と前記合成ぼけ画像とに基づいてRetinex処理を実行するステップとを含む、(1)または(2)に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【0094】
(4) 前記区画は画素であり、
前記第2ステップは、前記原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第3ステップは、前記選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱い前記ぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強い前記ぼけ画像を選択する、(1)〜(3)のいずれかに記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【0095】
(5) 前記合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてRetinex処理を行なう、(3)に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【0096】
(6) 前記第2ステップは、前記原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第3ステップは、前記所定のチャンネルの画素値レベルによる分類に基づいて、前記ぼけ画像のいずれかの画素値を選択、合成する、(1)または(2)に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【0097】
(7) 前記所定のチャンネルは、Greenのチャンネル、或いはYのチャンネルとする、(6)に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【0098】
(8) Retinex処理を実行する画像処理装置において、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第1手段と、
前記原画像を区画毎に複数のレベルに分類する第2手段と、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行する第3手段とを備える、画像処理装置。
【0099】
(9) 前記第3手段は、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成する手段と、
前記原画像と前記合成ぼけ画像とに基づいてRetinex処理を実行する手段とを含む、(8)に記載の画像処理装置。
【0100】
(10) 前記区画は画素であり、
前記第2手段は、前記原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第3手段は、前記選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱い前記ぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強い前記ぼけ画像を選択する、(8)または(9)のいずれかに記載の画像処理装置。
【0101】
(11) 前記合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてRetinex処理を行なう、(9)に記載の画像処理装置。
【0102】
(12) 前記第2手段は、前記原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第3手段は、前記所定のチャンネルの画素値レベルによる分類に基づいて、前記ぼけ画像のいずれかの画素値を選択、合成する、(8)に記載の画像処理装置。
【0103】
(13) 前記所定のチャンネルは、Greenのチャンネル、或いはYのチャンネルとする、(12)に記載の画像処理装置。
【0104】
(これらの構成によると、分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行することができるため、処理対象となる原画像の内容に依存することなく、良好なMulti Scale Retinex処理ができる画像処理プログラムを記録したコンピュータ読取可能な記録媒体、方法、または装置を提供することができる。)
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0105】
【発明の効果】
本発明によると、分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行することができるため、処理対象となる原画像の内容に依存することなく、良好なMulti Scale Retinex処理ができる画像処理プログラムを提供することができる。
【図面の簡単な説明】
【図1】第1の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。
【図2】Retinex処理部103で行なわれる、Multi Scale Retinex処理を実施するブロックを示す図である。
【図3】図2のセレクタ408での具体的な処理を示す図である。
【図4】図2のローパスフィルタ410を詳細に説明するためのブロック図である。
【図5】標準表示における高周波マスク603の具体例を示す図である。
【図6】本発明の第2の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【図7】本発明の第3の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【図8】図7のコンピュータが実行するRetinex処理を示すフローチャートである。
【図9】図8のステップS103〜S109で行なわれる処理の詳細を示すフローチャートである。
【図10】ぼけ画像作成のためにガウス関数を用いたSSRの具体的な処理を説明するための図である。
【図11】ガウス関数を用いたMSR処理を説明するための図である。
【符号の説明】
101 CCDイメージセンサ、102 A/Dコンバータ、103 Retinex処理部、104 γ補正部、105 表示・保存部、L レンズ、201 CCDイメージセンサ、203 A/Dコンバータ、205 ASIC(application specific integrated circuit)、207 バッファメモリ、209レンズ制御部、211 CPU、213 RAM、215 ROM(ファームウェアメモリ)、217 カードインタフェース、219 メモリカード、221 画像表示部、251 Retinex処理回路、253 色補間回路、255 γ補正回路、257 色空間変換回路、259 画像圧縮回路、301 CPU、303 表示部、305 LANカード、307 入力部、309 フレキシブルディスクドライブ、311 CD−ROMドライブ、313 ハードディスクドライブ、315 ROM、317 RAM、401〜403 演算器、408 セレクタ、410 ローパスフィルタ、411 演算器、504 マスク作成部、505〜508 演算器、602 フーリエ変換部、603 高周波マスク画像、604 逆フーリエ変換部、F1 フレキシブルディスク、C1 CD−ROM、D1 アナログ画像、D2 オリジナルデジタル画像、D3−1〜D3−3 フィルタ、D4−1〜D4−3 ぼけ画像、D5 Retinex出力画像、D6 合成ぼけ画像、D7 平滑化合成ぼけ画像。
Claims (5)
- Retinex処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第1ステップと、
前記原画像を区画毎に複数のレベルに分類する第2ステップと、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するRetinex処理を実行する第3ステップとをコンピュータに実行させる、画像処理プログラム。 - 前記第3ステップは、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成するステップと、
前記原画像と前記合成ぼけ画像とに基づいてRetinex処理を実行するステップとを含む、請求項1に記載の画像処理プログラム。 - 前記区画は画素であり、
前記第2ステップは、前記原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第3ステップは、前記選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱い前記ぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強い前記ぼけ画像を選択する、請求項1または2に記載の画像処理プログラム。 - 前記合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてRetinex処理を行なう、請求項2に記載の画像処理プログラム。
- 前記第2ステップは、前記原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第3ステップは、前記所定のチャンネルの画素値レベルによる分類に基づいて、前記ぼけ画像のいずれかの画素値を選択、合成する、請求項1に記載の画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003167700A JP4345366B2 (ja) | 2003-06-12 | 2003-06-12 | 画像処理プログラムおよび画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003167700A JP4345366B2 (ja) | 2003-06-12 | 2003-06-12 | 画像処理プログラムおよび画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005004506A true JP2005004506A (ja) | 2005-01-06 |
JP4345366B2 JP4345366B2 (ja) | 2009-10-14 |
Family
ID=34093438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003167700A Expired - Fee Related JP4345366B2 (ja) | 2003-06-12 | 2003-06-12 | 画像処理プログラムおよび画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4345366B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8040409B2 (en) | 2006-10-31 | 2011-10-18 | Brother Kogyo Kabushiki Kaisha | Image processing device capable of performing retinex process at high speed |
CN103716503A (zh) * | 2012-09-28 | 2014-04-09 | 日立民用电子株式会社 | 图像处理装置和投影仪 |
WO2014162533A1 (ja) | 2013-04-03 | 2014-10-09 | 日立マクセル株式会社 | 映像表示装置 |
KR101519162B1 (ko) | 2009-11-30 | 2015-05-11 | 현대자동차주식회사 | 차량용 카메라의 야간 영상 개선 방법 |
WO2017203875A1 (ja) * | 2016-05-26 | 2017-11-30 | 株式会社日立製作所 | 画像診断装置、及び画像取得方法 |
US10013905B2 (en) | 2013-12-25 | 2018-07-03 | Maxell, Ltd. | Image display device using combined Retinex processing |
US10659747B1 (en) | 2017-03-15 | 2020-05-19 | Maxell, Ltd. | Video display device |
US10706513B2 (en) | 2015-09-16 | 2020-07-07 | Maxell, Ltd. | Image processing apparatus |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6690125B2 (ja) | 2015-03-19 | 2020-04-28 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
-
2003
- 2003-06-12 JP JP2003167700A patent/JP4345366B2/ja not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8040409B2 (en) | 2006-10-31 | 2011-10-18 | Brother Kogyo Kabushiki Kaisha | Image processing device capable of performing retinex process at high speed |
KR101519162B1 (ko) | 2009-11-30 | 2015-05-11 | 현대자동차주식회사 | 차량용 카메라의 야간 영상 개선 방법 |
US9053539B2 (en) | 2012-09-28 | 2015-06-09 | Hitachi Maxell, Ltd. | Image processing apparatus |
CN103716503A (zh) * | 2012-09-28 | 2014-04-09 | 日立民用电子株式会社 | 图像处理装置和投影仪 |
US8823876B2 (en) | 2012-09-28 | 2014-09-02 | Hitachi Consumer Electronics Co., Ltd. | Image processing apparatus |
US9565388B2 (en) | 2013-04-03 | 2017-02-07 | Hitachi Maxell, Ltd. | Video display device |
WO2014162533A1 (ja) | 2013-04-03 | 2014-10-09 | 日立マクセル株式会社 | 映像表示装置 |
EP3499453A1 (en) | 2013-04-03 | 2019-06-19 | Maxell, Ltd. | Video display device |
US10013905B2 (en) | 2013-12-25 | 2018-07-03 | Maxell, Ltd. | Image display device using combined Retinex processing |
US10134323B2 (en) | 2013-12-25 | 2018-11-20 | Maxell, Ltd. | Image display device |
US10706513B2 (en) | 2015-09-16 | 2020-07-07 | Maxell, Ltd. | Image processing apparatus |
WO2017203875A1 (ja) * | 2016-05-26 | 2017-11-30 | 株式会社日立製作所 | 画像診断装置、及び画像取得方法 |
JP2017209329A (ja) * | 2016-05-26 | 2017-11-30 | 株式会社日立製作所 | 画像診断装置、及び画像取得方法 |
US10732245B2 (en) | 2016-05-26 | 2020-08-04 | Hitachi, Ltd. | Diagnostic imaging device and image acquisition method |
US10659747B1 (en) | 2017-03-15 | 2020-05-19 | Maxell, Ltd. | Video display device |
Also Published As
Publication number | Publication date |
---|---|
JP4345366B2 (ja) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3731577B2 (ja) | 画像処理プログラム | |
JP4804660B2 (ja) | デジタルイメージ処理のためのカラー情報を使用したノイズ低減方法 | |
JP4894595B2 (ja) | 画像処理装置および方法、並びに、プログラム | |
JP4998287B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP4210577B2 (ja) | 選択的空間フィルタを使用するディジタル画像の階調及び空間特性の向上方法 | |
JP4707830B2 (ja) | テクスチャのノイズ依存制御を有するディジタル画像を改善する方法 | |
US7298917B2 (en) | Image processing program product and device for executing Retinex processing | |
JP5495025B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP4214457B2 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP5669513B2 (ja) | 画像処理装置、画像処理プログラム、及び、画像処理方法 | |
EP1139284B1 (en) | Method and apparatus for performing local color correction | |
JP2002133409A (ja) | ピクセルカラーに基づくデジタル画像強調方法 | |
JP4021261B2 (ja) | 画像処理装置 | |
JP2005004510A (ja) | 画像処理プログラム | |
JP4345366B2 (ja) | 画像処理プログラムおよび画像処理装置 | |
JP2003076985A (ja) | 画像処理方法及び装置 | |
JP6160426B2 (ja) | 画像処理装置及びプログラム | |
CN110473295B (zh) | 一种基于三维人脸模型进行美颜处理的方法和设备 | |
JP2012028937A (ja) | 映像信号補正装置および映像信号補正プログラム | |
JP5295854B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2006114006A (ja) | 階調変換装置、プログラム、電子カメラ、およびその方法 | |
JP5624896B2 (ja) | 画像処理装置、画像処理プログラム、及び、画像処理方法 | |
KR20130004708A (ko) | 개선된 영상 생성모델과 적응적 필터를 이용한 컬러 영상 보정방법 | |
JP2004164121A (ja) | 画像処理プログラム | |
JP4632100B2 (ja) | 画像処理装置、画像処理方法、記録媒体、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050613 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060424 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090518 |
|
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: 20090623 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090706 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130724 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |