JP2004165840A - Image processing program - Google Patents

Image processing program Download PDF

Info

Publication number
JP2004165840A
JP2004165840A JP2002327291A JP2002327291A JP2004165840A JP 2004165840 A JP2004165840 A JP 2004165840A JP 2002327291 A JP2002327291 A JP 2002327291A JP 2002327291 A JP2002327291 A JP 2002327291A JP 2004165840 A JP2004165840 A JP 2004165840A
Authority
JP
Japan
Prior art keywords
image
resolution
processing
retinex
blurred
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
Application number
JP2002327291A
Other languages
Japanese (ja)
Other versions
JP3731577B2 (en
Inventor
Kazutomi Sakatani
一臣 坂谷
Tetsuya Ito
哲也 伊藤
Yoichi Miyake
洋一 三宅
Norimichi Tsumura
徳道 津村
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.)
Minolta Co Ltd
Original Assignee
Minolta Co 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 Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP2002327291A priority Critical patent/JP3731577B2/en
Priority to US10/372,954 priority patent/US7298917B2/en
Publication of JP2004165840A publication Critical patent/JP2004165840A/en
Application granted granted Critical
Publication of JP3731577B2 publication Critical patent/JP3731577B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing program capable of performing Retinex processing without causing an increase in memory consumption amount and extreme reduction in processing speed. <P>SOLUTION: A Retinex processing section is provided with: an interpolation section 401 performing an interpolation arithmetic operation to decrease the resolution of an original image D2; a blurred image generating section 403 for applying processing using a filter to the image whose resolution is decreased and being an output of the interpolation section 401 to generate a blurred image; and an interpolation section 405 for revising the resolution of the blurred image to bring the resolution into the same as that of the original image D2, and the Retinex processing section 407 performs the Retinex processing on the basis of the original image D2 and an output image from the interpolation section 405. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、画像処理プログラムに関し、特にデジタルカメラやフィルムスキャナなどの出力画像の処理においてRetinex処理を行う画像処理プログラムに関する。
【0002】
【従来の技術】
従来の画像処理の分野では、生体における網膜や皮質と同等の役割をモデル化した画像処理技術として、Center/Surround Retinex処理が提案されている(例えば、特許文献1参照)。
【0003】
Retinex処理とは、デジタルデータである画像情報を補正する方法である。Retinex処理には各種の変形例が考えられるが、ここでは、視覚をモデル化して注目画素に対して周辺情報を加味する画像の補正方法を総括して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】
(x,y)= log I(x,y)−log{F(x,y)*I(x,y)} …(1)
(i=R,G,B)
ここで、「*」はコンボリューション積分を表す。また、T(x,y)はSSR処理後の画素値を表し、I(x,y)は原画像の画素値を表す。F(x,y)は、注目画素の周囲の画素を考慮してボケ画像を作成するためのフィルタに用いられる関数である。F(x,y)として例えばガウス関数を用いると、F(x,y)は、次の式(2)および(3)を満たすこととなる。
【0007】
F(x,y)=K・exp{−(x+y)/c} …(2)
ΣΣF(x,y)=1 …(3)
ここで、cはガウス関数における周辺の広がりを決める定数であり、カーネル値と呼ばれる。式(3)を満たすように定数Kは定められる。一般的には、cの値が小さい程、画像処理においてエッジを強調する効果が高くなり、cの値が大きい程、ダイナミックレンジ圧縮の効果が高くなることが知られている。
【0008】
また、SSR処理後の出力画像のコントラストを向上させることを目的に、クリッピング処理が行われる。通常、ヒストグラム分布にして、上下3%前後の画素値はクリッピングしてから、線形変換によって出力ビット数(例えば8ビット)に応じたデジタル値に割り振られる。
【0009】
図18は、ボケ画像作成のためにガウス関数を用いたSSRの具体的な処理を説明するための図である。
【0010】
図を参照して、i=R,G,Bからなるオリジナル画像(処理対象画像)D2に対して処理が行われる。なお、オリジナル画像においてRGBを合成した画像を図中P2で示している。
【0011】
D2の各画素値は、I(x,y)として示される。ボケ画像D4を作成するためにI(x,y)*G(x,y)の演算が行われる。ここにG(x,y)はガウス関数である。
【0012】
オリジナル画像の各画素値を、ボケ画像の各画素値で除算する処理が行われ、そのlogを求めることで、Retinex処理後の画像D5が得られる。D5の各画素値をここではR(x,y)とする。R,G,BからなるD5を合成することで、Retinex処理後の画像P1が得られる。
【0013】
一方、Multi Scale Retinex(MSR)では、式(2)における定数cとして、異なる幾つかの値が用いられる。これにより、周辺の広がりが異なるガウス関数によるSSR処理が行われる。それぞれの結果を足し合わせて平均化することにより、エッジ強調、及びダイナミックレンジ圧縮を同時に達成している。
【0014】
図19は、ガウス関数を用いたMSR処理を説明するための図である。
図を参照して、周辺の広がりが狭いガウス関数(サイズの小さいフィルタ)により作成されたボケ画像D4−1、周辺の広がりが中位のガウス関数(サイズの中位のフィルタ)により作成されたボケ画像D4−2、および周辺の広がりが広いガウス関数(サイズの大きいフィルタ)により作成されたボケ画像D4−3がオリジナル画像D2に基づいて作成される。
【0015】
そして、オリジナル画像D2を各ボケ画像で除算し、それぞれの対数をとることで、画像D5−1〜D5−3が得られる。フィルタサイズが小さい関数で処理を行った画像の方がエッジ強調効果が高く、逆にフィルタサイズが大きい関数で処理を行った画像の方がダイナミックレンジ圧縮の効果が高い。画像D5−1〜D5−3を足し合わせて平均化することにより、エッジ強調、及びダイナミックレンジ圧縮を同時に達成することができる。
【0016】
ネガフィルムなどからフィルムスキャナによってデジタル化された画像データや、デジタルスチルカメラなどで撮影されたデジタル画像データに対して以上のようなSSR、およびMSR処理を適用する研究が盛んに行われている。
【0017】
また、特許文献2は、画像の異なる領域間の小さなコントラスト差を維持しながら、画像の異なる領域間の大きなコントラスト差を縮小する技術を開示している。
【0018】
また、非特許文献1は、Retinex処理を線形演算で構成することを開示している。
【0019】
【特許文献1】
米国特許第5,991,456号明細書
【0020】
【特許文献2】
特開2001−245154号公報
【0021】
【非特許文献1】
小林正明、小寺宏嘩、「Retinexモデルによる画像の見えの改善」、カラーフォーラムJAPAN2001(第47回光学四学会連合講演会、2001年11月13日〜15日開催)予稿集
【0022】
【発明が解決しようとする課題】
ところが、上述した従来のCenter/Surround Retinexアルゴリズムなどの画像処理技術では、特に原画像の解像度が高い場合、ボケ画像の生成のための計算処理が重くなり、メモリ消費量の増大や処理速度が低下するという問題があった。
【0023】
本発明の目的は、メモリ消費量の増大や処理速度の極端な低下を起こさずにRetinex処理ができる画像処理プログラムを提供することを目的としている。
【0024】
【課題を解決するための手段】
上記目的を達成するため、この発明のある局面に従うと、Retinex処理をコンピュータに実行させる画像処理プログラムは、処理対象となる原画像の解像度を下げた画像を生成する第1ステップと、原画像の解像度を下げた画像からボケ画像を生成する第2ステップと、ボケ画像を原画像の解像度に戻す第3ステップと、原画像と原画像の解像度に戻されたボケ画像とに基づいてRetinex処理を実行する第4ステップとをコンピュータに実行させる。
【0025】
この発明に従うと、処理対象となる原画像の解像度を下げた画像が生成され、原画像の解像度を下げた画像からボケ画像が生成されるため、メモリ消費量の増大や処理速度の極端な低下を起こさずにRetinex処理ができる画像処理プログラムを提供することができる。
【0026】
好ましくは第1ステップは、原画像の解像度を所定の解像度に変換した画像を生成し、第2ステップは、所定のサイズのフィルタを用いることでボケ画像を生成する。
【0027】
この発明によると、原画像の解像度に拘わりなく、所定のサイズのフィルタを用いることで、ボケ画像を作成することができる。
【0028】
好ましくは第1ステップは、原画像の解像度を任意の解像度に変換した画像を生成し、第2ステップは、任意の解像度にあわせたサイズのフィルタを用いることでボケ画像を生成する。
【0029】
この発明によると、ボケ画像生成のための画像の解像度を任意に選ぶことが可能となる。
【0030】
この発明の他の局面に従うと、原画像の解像度に応じたボケ度合いでボケ画像を生成し、Retinex処理に用いる画像処理プログラムは、原画像の解像度を所定の解像度に変換した画像を生成する第1ステップと、生成された画像からボケ画像を生成する第2ステップとをコンピュータに実行させる。
【0031】
この発明に従うと、原画像の解像度を所定の解像度に変換した後にボケ画像を作成することができる。
【0032】
好ましくは、所定の解像度は、原画像の解像度よりも低い。
この発明に従うと、処理対象となる原画像の解像度を下げた画像が生成され、原画像の解像度を下げた画像からボケ画像が生成されるため、メモリ消費量の増大や処理速度の極端な低下を起こさずにRetinex処理ができる画像処理プログラムを提供することができる。また、原画像の解像度に拘わりなく、同様のRetinex処理を行なうことができる。
【0033】
この発明のさらに他の局面に従うと、Multi Scale Retinex処理をコンピュータに実行させる画像処理プログラムには、処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成する第1ステップと、所定のフィルタを用いることで、複数の画像の各々のボケ画像を生成する第2ステップと、生成された複数のボケ画像のそれぞれを原画像の解像度に戻す第3ステップと、原画像と原画像の解像度に戻された複数のボケ画像とに基づいてMulti Scale Retinex処理を実行する第4ステップとをコンピュータに実行させる。
【0034】
この発明に従うと、処理対象となる原画像の解像度を複数の段階に下げることで複数の画像が生成され、所定のフィルタを用いることで、複数の画像の各々のボケ画像が生成され、それに基づいてMulti Scale Retinex処理が実行される。これにより、メモリ消費量の増大や処理速度の極端な低下を起こさずにMulti Scale Retinex処理ができる画像処理プログラムを提供することができる。
【0035】
【発明の実施の形態】
本発明の実施の形態に開示される画像処理方法、画像処理プログラムおよび画像処理装置などは、CCDイメージセンサやCMOSイメージセンサなどの撮像デバイスからのアナログ信号をA/D変換した直後のRAW画像をRetinex処理を行う対象画像としている。そして、Retinex処理後に所定のγ補正を行っている。しかし、本発明における対象画像はγ補正後の画像であってもよい。なお、「A/D変換を行なった直後」とは、少なくともγ補正が施される前の段階を示し、好ましくは色補正や、MTF補正が施されていない段階である。撮像デバイスの画素間における感度ばらつきなどのハードウェア調整のための補正や、gamutなどの色相変換を行っていても本発明におけるRAW画像とみなしてよい。更には、例えば撮像デバイスとしてカラーフィルタを有したエリア型センサである場合、A/D変換後に各色の画像データについて画素補間の処理が施されるが、このような補間処理後の画像データもRAW画像とみなしてよい。
【0036】
これにより、生体における網膜や皮質と同等の役割をモデル化したRetinex処理本来の特性が発揮される。
【0037】
すなわち、通常のフィルムスキャナやデジタルスチルカメラから出力されるデジタル画像データは、いわゆるホワイトバランスなどの色補正、γ補正、さらにはMTF補正などがすでに施された画像データである。従来技術におけるRetinex処理や拡張Retinex処理で対象とされているデジタル画像データも、こうした幾つかの画像処理がすでに行われた画像データであった。これら幾つかの画像処理がすでに行われた画像データに対して、さらに、そのコントラストや見えなどの画質を改善することを目的にRetinex処理は適用されてきた。
【0038】
しかしながら、本来のRetinexモデルは、生体の網膜や皮質と同等の役割を果たす仕組みである。その特性を十分に発揮するためには、Retinexモデルは、生のセンサ応答に対して適用されるべきである。逆に言えば、すでに色補正、γ補正、MTF補正などの従来の画像処理が施された画像データに対してさらにRetinex処理を実行することで、従来技術のような不具合(色の偏りが多い画像での全体的な色味のシフトや、顔などの明るい領域が全般に飛び傾向になってしまうこと)が発生している可能性もあり、その結果、より複雑な拡張Retinex処理によってその不具合を抑制しなければならない事態に陥っていると考えることもできる。
【0039】
このような観点の下、本実施の形態においては、SSRやMSRなどのRetinex処理を、CCDイメージセンサなどの撮像デバイスの電気信号をA/D変換しただけの生のデジタル画像データ(γ補正などが行われていないRAWデータ)に対して適用することで、Retinexモデル本来の効果を発揮できるようにしている。
【0040】
以下に本発明の実施の形態について、図面を参照しながら順に説明する。
[第1の実施の形態]
図1は、第1の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。図中、画像データの流れを矢印で示している。
【0041】
図を参照して撮影装置は、撮像デバイスとしてのCCDイメージセンサ101と、A/Dコンバータ102と、Retinex処理部103と、γ補正部104と、表示・保存部105とを備えている。
【0042】
CCDイメージセンサ101は、光電変換によって入射光から電気信号であるアナログ信号R,G,Bを生成する。A/Dコンバータ102はアナログ信号R,G,Bを、例えば8bitの離散的なデジタル信号R,G,Bに変換する。Retinex処理部103は、A/Dコンバータ102でA/D変換のみ施されたデジタル画像信号に対して、SSRやMSRなどのRetinex処理を各RGBのチャンネルに対して独立に行う。
【0043】
γ補正部104は、Retinex処理部103で得られたRetinex出力に対して、後工程である表示・保存工程で求められる所定のγ補正を行う。
【0044】
最後に、表示・保存部105では、γ補正部104で所定のγ処理が施された画像データをモニタなどに表示、またはハードディスクなどに保存する。
【0045】
図1に示した構成をデジタルスチルカメラ内部でハード的に実行することも可能であるが、例えば、RAW画像としてA/D変換のみ行った画像データを入手可能であるデジタルカメラであれば、一旦RAW形式で保存された画像データに対して、パソコンなどにインストールされたアプリケーションを用いて、ソフト的に上述したRetinex処理、及びγ補正処理などの画像処理を実行することも可能である。
【0046】
なお、上記(1)式で示されるRetinex処理にはコンボリューション積分が含まれているため、その処理速度はF(x,y)で示されるガウス関数などのフィルタのサイズや画像サイズそのものに大きく依存する。一般に、Retinex処理に用いられるフィルタのサイズは非常に大きく、比較的解像度の低い画像(例えば640×480画素のVGA)でも、カーネル値c=100程度のサイズのフィルタが用いられることが多い。このような場合、最近の高速な処理を行うパーソナルコンピュータでもその処理を完了するまでに数時間かかってしまうことがあり、実用的ではない。
【0047】
コンボリューション積分を高速に実行する方法として、周波数領域で計算を実行する手法であるフーリエ変換が知られている。デジタル画像のような離散的な信号に対しては、FFT(Fast Fourier Transforms)やDFT(Discrete Fast Fourier Transforms)といった高速処理手法が適用できる。上記(1)式のコンボリューション積分は、画像サイズが2のべき乗の場合、式(4)で表現することができる。
【0048】
F(x,y)*I(x,y)=FFT−1[FFT[F(x,y)]・FFT[I(x,y)]]…(4)
ここで、FFT−1は逆FFTを、「・」は周波数領域での掛け算を表す。この場合、その処理速度はF(x,y)で表されるガウス関数のフィルタサイズには関係なく、画像サイズそのものに依存することになる。なお、画像サイズが2のべき乗でない場合、DFTを代用に用いることができる。
【0049】
以上説明したように、本発明は、Retinex処理をA/D変換のみが行われたRAW画像に対して適用し、Retinex処理後に所定のγ補正を行うという構成で、生体における網膜や皮質と同等の役割をモデル化したRetinex処理本来の機能を可能にしている。
【0050】
なお、RAW画像とは、基本的にはCCDの出力をA/D変換しただけのデータを示す。ただし、CCD素子の感度ばらつきなどのハードウェアの調整のための補正や、gamutなどの色相変換を行なったものをRAW画像としていてもよい。また、更には、例えば撮像素子としてカラーフィルタを有したエリア型センサであるような場合、A/D変換後に各色の画像データについて画素補間の処理が施されるが、このような補間処理後の画像データもRAW画像とみなしてよい。
【0051】
本願においては、少なくともγ補正前の画像データをRAW画像と呼んでおり、好ましくはRAW画像は、さらにシャープバランス、ホワイトバランス補正前の画像であることが望ましい。
【0052】
[第2の実施の形態]
図2は、第2の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。
【0053】
本実施の形態においては、Retinex処理部103において、線形Retinexが実行される。線形Retinex処理は、logを用いないRetinex処理であり、例えば、次の式(5)の原画像とボケ画像の比率によって実行される。
【0054】
(x,y)=I(x,y)/{F(x,y)*I(x,y)}…(5)
(i=R,G,B)
式(5)では、式(1)同様に、「*」はコンボリューション積分を表し、T(x,y)は線形Retinex処理後の画素値、I(x,y)は原画像の画素値、F(x,y)は前述した式(2)、(3)を満たすボケ画像作成のための例えばガウス関数である。
【0055】
なお、ここでの線形Retinex処理もMSRにより実行されてもよい。
さらに、Retinex処理部103においては、T(x,y)を1/γで累乗する処理(γ補正)が行なわれてもよい。これは、式(6)で示される。
【0056】
γ{T(x,y)}=T(x,y)^(1/γ) …(6)
例えば、sRGBを想定したモニタに画像を表示する場合、そのγは2.2が想定されており、その逆数1/2.2をT(x,y)に乗じることでγ補正は実現される。もちろん、表示や印字が行われるデバイスに応じて、このγの値を可変調整する構成でもよい。
【0057】
さらには、Retinex出力されるデータのγ特性を特定のモニタ等のγに合わせ込む必要性はなく、例えば、明度に対してリニアな特性としたい場合には、線形Retinex出力に対して1/3を累乗する(γ=3とする)とよい。
【0058】
なお、式(6)で得られるRetinex出力のγ補正画像に対しても、そのコントラストを向上させることを目的に、上述したような、ヒストグラム分布にして上下3%前後の画素値をクリッピングする処理を行ってもよい。もちろん、線形Retinex処理部103で得られたRetinex出力に対して、このクリッピング処理を行った後、γ補正を行うような構成も可能である。
【0059】
[第3の実施の形態]
図3は、第3の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。
【0060】
本実施の形態においては、図2に示されるRetinex処理部103で線形Retinex処理を行なった後で、さらにデバイスのためのγ補正をγ補正部104で行うものである。これによると、デバイスにあわせたγ補正を行なうことが可能である。すなわち、γ補正をγ補正部104のみで行ってもよいし、上述のようにRetinex処理部103で、出力を明度に対してリニアな特性とするために、γ=3でのγ補正を行い、さらにγ補正部104でデバイスにあわせた補正を行うようにしてもよい。
【0061】
[第4の実施の形態]
図4は、本発明の第4の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【0062】
図を参照して、デジタルカメラは、レンズLと、レンズを駆動するレンズ制御部209と、CCDイメージセンサ201と、CCDイメージセンサの出力をA/D変換するA/Dコンバータ203と、画像処理のためのASIC(application specific integrated circuit)205と、バッファメモリ207と、CPU211と、RAM213と、ROM(ファームウェアメモリ)215と、画像表示部221と、カードインタフェース217と、メモリカード219とを備えている。
【0063】
ASIC205内のモジュールとして、Retinex処理回路251、色補間回路253、γ補正回路255、色空間変換回路257、および画像圧縮回路259が設けられている。
【0064】
ASIC205内では、A/Dコンバータ203からの入力に対して、図の左のモジュールから順に処理が行なわれる。ASIC205内のモジュールはバッファメモリ207を共有しており、CPU211は、どのモジュールがメモリにアクセスするかのタイミングコントロールを行なう。
【0065】
本実施の形態においても、デジタルカメラにおいてRetinex処理をA/D変換のみが行われたRAW画像に対して適用し、Retinex処理後に所定の画像処理を行う。これにより、生体における網膜や皮質と同等の役割をモデル化したRetinex処理本来の機能を可能にしている。
【0066】
なお、図4の回路構成は、デジタルビデオカメラ、スキャナ、フィルムスキャナなどに対しても応用することができる。
【0067】
[第5の実施の形態]
図5は、本発明の第5の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【0068】
図を参照して、コンピュータは、装置全体の制御を行なうCPU301と、表示部303と、ネットワークに接続したり外部と通信を行なうためのLAN(ローカルエリアネットワーク)カード305(またはモデムカード)と、キーボードやマウスなどにより構成される入力部307と、フレキシブルディスクドライブ309と、CD−ROMドライブ311と、ハードディスクドライブ313と、ROM315と、RAM317とを備えている。
【0069】
以後のフローチャートに示される、CPU(コンピュータ)301を駆動させるためのプログラムは、フレキシブルディスク(F1)やCD−ROM(C1)などの記録媒体に記録することができる。このプログラムは、前記記録媒体からRAMその他の記録媒体に送られ、記録される。なお、プログラムはハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザに提供するようにしてもよい。また、インターネットを介して外部のサイトなどよりそのようなプログラムをワークステーションやコンピュータにダウンロードして実行させるようにしてもよい。
【0070】
図6は、図5のコンピュータが実行するRetinex処理を示すフローチャートである。
【0071】
図を参照して、CCDなどにより得られたアナログデータD1は、ステップS101でA/D変換器により変換され、RAW画像のデータD2とされる。これがステップS103で、コンピュータ内においてフーリエ変換される。
【0072】
一方ステップS105では、ガウス周辺関数D3がフーリエ変換される。ステップS107で、ステップS103およびS105で得られたデータの周波数領域での掛け算が行なわれる。その後、ステップS109で逆フーリエ変換が行なわれることでボケ画像D4が得られる。
【0073】
ステップS111で、D2をD4で割り、ステップS113でそれをlog処理することで、Retinex出力D5が得られる。
【0074】
その後、Retinex出力に対し、γ補正(ステップS115)、その他画像処理(ステップS117)、クリッピング処理(ステップS119)、および8bit割り付け処理(ステップS121)が行なわれる。その後、画像が表示される(ステップS123)。
【0075】
図7は、図5のコンピュータが実行する線形Retinex処理を示すフローチャートである。
【0076】
図を参照して、ステップS101〜S111での処理は図6におけるそれと同じであるため、ここでの説明を繰り返さない。ステップS111における割り算の出力がRetinex出力D6とされる。ここでは、出力D6に対してγ補正(ここでは1/3乗にする処理とする)が行われる(ステップS118)。その後、クリッピング処理(ステップS119)、8bit割付処理(ステップS121)、表示処理(ステップS123)が行われる。
【0077】
なお、インターネットなどの通信回線を通じて送信されてきた画像データに対して上述の画像処理を行ってもよいし、その結果を通信回線を通じて他の装置へ送信するようにしてもよい。
【0078】
[第6の実施の形態]
上述のように、たとえばコンボリューション積分にフーリエ変換を用いることで、演算を高速に行なうことができる。
【0079】
しかしながら、通常、画像は2次元であり、また、FFTやDFTといった処理は、実数タイプのデータに対して実行する必要があるため、式(4)内のFFT{F(x,y)}やFFT{I(x,y)}を実行するためには、非常に多くのメモリが必要とされる。最近の1GB程度のメモリを搭載したPCを使用した場合、比較的解像度の低い画像(例えばVGA:640×480)では、高速に問題なく処理完了できるものの、比較的解像度の高い画像(例えばFULL:2560×1920)では、メモリ不足となり処理完了できない場合もある。このため、あまり実用的とは言えないのが現状である。
【0080】
本実施の形態では、従来技術、および第1〜第5の実施の形態で説明したRetinex処理において、以下の処理を行うことで、上記問題の解決を図っている。
【0081】
まず、原画像I(x,y)の解像度を一旦低くした低解像度の原画像Low_I(x,y)を作成する。そのLow_I(x,y)からボケ画像を生成する。
【0082】
解像度の変換手法としては、Zero Order,Bi−Linear,Quadratic,Cubic Splineなどの手法が知られており、これらのいずれかを用いればよい。
【0083】
例えば、低解像度の原画像Low_I(x,y)と同一の画像サイズとなる低解像度のフィルタ画像Low_F(x,y)により(例えば、Low_I(x,y)が640×480であれば、Low_F(x,y)も640×480)、ボケ画像生成のために、式(7)のコンボリューション積分、または、周波数領域における掛け算および逆FFT処理が実行される。
【0084】
Low_F(x,y)*Low_I(x,y)=FFT−1{FFT{Low_F(x,y)}・FFT{Low_I(x,y)}} …(7)
当然、式(7)で生成されるボケ画像は、原画像I(x,y)の解像度と異なるため、そのままでは式(1)の計算は実行できない。
【0085】
式(1)の計算を実行するためには、原画像とボケ画像とのお互いの解像度を合わせる必要があり、式(7)で生成されるボケ画像の解像度を、補間によって(同様にZero Order,Bi−Linear,Quadratic,Cubic Splineなどの手法を用いて)、原画像I(x,y)の解像度と同一とする。
【0086】
このとき、原画像I(x,y)の解像度を低くした際に用いた変換手法と同一のものを選択してもよいし、異なる変換手法を選択してもよい。このようなボケ画像の作成を行うことで、少ないメモリ消費で、高解像度画像のRetinex処理を高速に実行することが可能となる。
【0087】
図8は、本実施の形態の画像処理装置のRetinex処理部の構成を示す図である。
【0088】
図を参照して、Retinex処理部は、原画像D2の解像度を下げる補間演算を行う補間部401と、補間部401の出力である解像度が下げられた画像に対してフィルタを用いた処理を行うことでボケ画像を生成するボケ画像生成部403と、ボケ画像の解像度を変更し、原画像D2と同じ解像度にする補間部405とを備えている。Retinex処理部407で、原画像D2と補間部405の出力画像とに基づきRetinex処理が行われる。
【0089】
[第7の実施の形態]
また、第6の実施の形態において、補間部401で解像度を低くする度合いを変更することで、出力画像の画質(精度)を調整することも可能である。例えば、現在、デジタルスチルカメラの場合、保存されるデジタル画像データは、その解像度順に、FULL(2,560x1,920)、UXGA(1,600x1,200)、SXGA(1,280x960)、XGA(1,024x768)、VGA(640x480)などのように分類されている。
【0090】
そこで例えば、FULL(2,560x1,920)の原画像に対して、画質重視の場合、解像度を低くした原画像をUXGA(1,600x1,200)とし、速度重視の場合、解像度を低くした原画像をVGA(640x480)とするような処理を補間部401で行う構成とする。これにより、重視する対象に基づいて異なる解像度のボケ画像を生成し、補間部405での補間処理によって元のFULL(2,560x1,920)の解像度に戻して、Retinex処理部407で処理を実行させるのである。
【0091】
さらには、MSR方式のRetinex処理に本実施の形態の技術を適用することも可能である。
【0092】
例えば、原画像がFULL(2,560x1,920)の解像度の場合に、MSRにおける、ぼかし方の大、中、小に対して、ぼかし方大では原画像をVGA(640x480)にした画像から、ぼかし方中では原画像をSXGA(1,280x960)にした画像から、ぼかし方小では原画像をUXGA(1,600x1,200)にした画像から、各々ボケ画像を生成する。その後、各々のボケ画像を補間処理によって元のFULL(2,560x1,920)の解像度に戻してRetinex処理を実行させ、合成するのである。
【0093】
つまり、あまりぼかさない場合には、あまり解像度も低くしないことで、画質(精度)を維持する効果が期待できる。
【0094】
さらに、上記MSRへの応用に関して、ぼかす対象の画像のサイズとぼかすためのフィルタの相対的なサイズを変えるのであれば、複数の段階のボケ度合いの画像を作成することができる。そこで、たとえばぼかし方大では原画像をVGA(640x480)にした画像から、ぼかし方中では原画像をSXGA(1,280x960)にした画像から、ぼかし方小では原画像をUXGA(1,600x1,200)にした画像から、同じサイズのフィルタを用いてボケ画像を各々生成し、原画像の解像度に戻すことで、ぼかし方大、中、小の画像を作成することができる。そして、原画像をぼかし方大、中、小の画像のそれぞれで除算し、処理することで(図19参照)、MSRを実現することも可能である。
【0095】
逆に、解像度がお互いに異なるデジタル画像データ(たとえば、UXGA(1,600x1,200)とVGA(640x480))に対して、同サイズの周辺広がりを有するガウス関数によるボケ画像作成処理が施された場合、各々の処理結果が異なってしまうことは明らかである。
【0096】
解像度が異なっていても、これらの画像の内容は同一であり、その色補正結果やコントラスト、エッジの強調具合が解像度に応じて変わってしまうことは好ましくない。そこで、ボケ画像を作成する元となる画像(図8の補間部401の出力画像)の解像度に応じてボケ画像を作るためのフィルタのサイズを変更することによって、解像度が異なっても、同様の処理効果を得ることができる。
【0097】
たとえば、図9および10は、模式的に同様の周辺広がりを有するガウス関数を1次元で図示したグラフである。グラフ中、X軸が画素の位置を示している。
【0098】
図9は、解像度が低い、VGA(640x480)画像に適用する場合のガウス関数の広がりをX軸方向について1次元的に表示したグラフである。図10は、解像度が高い、UXGA(1,600x1,200)に適用する場合のガウス関数の広がりをX軸方向について1次元的に表示したグラフである。
【0099】
各々のガウス関数は異なり、その広がりが異なる。しかし、画像全体として見たとき、その曲線形状は相似している。
【0100】
このように解像度に応じてガウス関数を変化させることで、両者の画像の内容が同一の場合、同様のRetinex処理の効果を得ることができる。
【0101】
このようにガウス関数の広がりを変化させ、解像度が異なった場合にも相似形状を得る為には、式(2)のガウス関数において、周辺の広がりを決める定数c(カーネル値)を解像度と連動して調整すればよい。
【0102】
例えば、VGA(640x480)において適用するカーネル値をcVGA、UXGA(1,600x1,200)において適用するカーネル値をcUXGAとすると、
VGA=cUXGA×(640/1600) …(8)
の関係式で容易にカーネル値は計算される。
【0103】
図11は、本実施の形態において、ボケ画像作成の対象となる画像の解像度をFULL(2560x1920)、その解像度でのカーネル値をcFULLとした場合に、UXGA(1,600x1,200),SXGA(1,280x960),XGA(1,024x768),VGA(640x480)の各解像度に対応するカーネル値のcFULLからの計算式を示した図である。
【0104】
カーネル値の変更により、異なる解像度の画像からボケ画像を生成してRetinex処理を行う処理は、例えば、デジタルカメラ内部で実行することも可能であるし、ある解像度の画像として保存されたデジタル画像データに対して、パソコンなどにインストールしたアプリケーションソフトで実行することも可能である。
【0105】
また、図9、10に示すようなガウス関数以外の関数を用いる場合においても同様に、画像の解像度に連動させて各関数のフィルタサイズを変更すればよい。
【0106】
例えば、図12では、中央画素(注目画素であり、原点の位置で示す)における重みを各々1として異なる4つの関数の周辺拡がりを1次元的に図示している。
【0107】
図中、系列1はガウス関数でexp(−(x/c)を、系列2は指数関数exp(−|x|/c)を、系列3は逆平方関数1/(1+(x/c)を、系列4は線形関数(c−x)・cを示している。ここで、cからcが各周辺広がり関数におけるカーネル値に相当する。従って、cからcを変更することで、解像度にあわせたボケ画像の作成が可能となる。
【0108】
[第8の実施の形態]
また、第6の実施の形態において、補間部401で解像度を低くする度合いを原画像D2の解像度に応じて変更することで、同一のフィルタを用いて画像処理を行うことも可能である。
【0109】
図13は、第8の実施の形態において図8の補間部401、ボケ画像生成部403および補間部405が行う処理を示す図である。
【0110】
図を参照して、原画像D2の解像度に応じて解像度変換部451で解像度の変換を行い、同一解像度の画像とする。ここでは、原画像D2の解像度がFULL、UXGA、SXGA、XGA、VGAのいずれであっても、解像度変換によりVGA画像を作成するものとする。
【0111】
その後、ボケ画像生成部453によりフィルタを用いてボケ画像を生成し、解像度変換部455にて元の解像度に戻す。このとき、解像度変換部451から出力される画像の解像度は原画像D2の解像度に拘わりなく一定であるため、同一サイズのフィルタを用いると、原画像の解像度が異なっても、同じ程度のボケ画像を得ることができる。
【0112】
たとえば、同一の内容を有し、その解像度が異なる画像が複数あるものとする。これら解像度が異なる画像のどれに対して図13の処理を実行しても、画像全体として見て同程度のボケ程度を有するボケ画像が得られ、同程度のRetinex処理を行なうことができるのである。
【0113】
すなわち、本実施の形態においては、ぼかす際の対象画像とフィルタとの相対的な大きさを調整することで、処理対象の画像の解像度に拘わりなく、同程度のRetinex処理を行なうものである。
【0114】
[第9の実施の形態]
図14は、本発明の第9の実施の形態におけるRetinex処理を示すフローチャートである。
【0115】
図を参照して、このフローチャートは図6に示されるフローチャートと比較して、ステップS102で原画像D2の補間(解像度変換)を行い、それを用いてボケ画像作成を行なう。また、ボケ画像が生成された後、ステップS110で補間を行い、解像度を原画像D2に合わせることとしている。
【0116】
また、補間のレベルに応じて、ステップS151でガウス関数の広がりを定めるカーネル値cを定めることとしている。
【0117】
他の処理は、図6に示されるフローチャートと同じである。
たとえば、MSRを行う場合には、ステップS151でc値を固定としたまま、ステップS102で解像度変更のレベルを変化させ、複数の画像を作成する。これにより、同一のフィルタにより複数のボケ度合いの画像を作成することができる。または、解像度の変更レベルは一定とし、c値を変えることで複数のボケ度合いの画像を作成するようにしてもよい。
【0118】
また、図15は、同様に図7に示す線形Retinex処理において、ボケ画像作成の前に原画像の解像度変更を行い、c値を設定する場合の処理を示すフローチャートである。
【0119】
[第10の実施の形態]
なお、ガウス関数などを用いて原画像のボケ画像を生成する代わりに、光学的にピント(フォーカス)をずらしたり、解像度の低い撮像素子を用いたりすることで、ボケ画像を生成することも可能である。光学的にピントをずらす場合、原画像を記録するためのCCDなどの撮像素子とボケ画像を記録するための撮像素子とは、同一のものでも構わないし、異なるものでも構わない。
【0120】
そして、同じ解像度にした原画像とボケ画像に対してRetinex処理が行われる。
【0121】
図16は、第10の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【0122】
このデジタルカメラは、第4の実施の形態におけるデジタルカメラ(図4)と比較して、レンズLからの入射光を分割するハーフミラー253と、ボケ画像を生成するためのCCD251とを備えている。なお、ハーフミラーの代わりにCCD251に光を入射させるための別個のレンズを設けるようにしてもよい。しかし、近距離の対象物を撮影するときにパララックスが生じることを考慮して、同一光学系から2系統に光を導くためのハーフミラーを用いることが望ましい。
【0123】
図16においては、CCD251は、CCD201が合焦した場合に、ピントのボケた画像が撮影される位置に取付けられている。
【0124】
なお、ボケ画像用には原画像用よりも安価な、低い解像度の撮像素子を用いることができる。この場合、ボケ画像用の低解像度の画像を原画像用の撮像素子の解像度へ補間して合わせることで、前述したような解像度を低くした画像からボケ画像を生成してRetinex処理を行う処理と同等の処理を行なうことができる。
【0125】
[第11の実施の形態]
図17は、第11の実施の形態におけるデジタルカメラの撮像処理を示すフローチャートである。
【0126】
この処理は、第4の実施の形態におけるデジタルカメラ(図4)のCPU211で実行されるものとする。
【0127】
図を参照して、ピント合わせの為にレンズ制御部209を用いてレンズの駆動処理が行われる。シャッターが切られたのであれば(ステップS303でYES)、ステップS305でCCD撮像素子201を用いて原画像D2の撮影処理が行われる。その後、ステップS307で、レンズ制御部209を用いてレンズの駆動を行い、ピントをずらす。その状態でステップS309でボケ画像D4の撮影が行われる。
【0128】
その後、D2とD4とに基づいてRetinex処理が行われ(ステップS311)、画像補正処理が行われた後(ステップS313)、画像の出力(表示、メモリ)処理が行われる(ステップS315)。
【0129】
なお、MSRを行う場合には、ステップS307およびS309でピントのずらし加減を変えることで、複数のレベルのボケ画像を得ることとなる。
【0130】
第10および第11の実施の形態によると、ボケ画像を作成するために、コンボリューション積分などの複雑な演算を行う必要がなくなるため、高速なRetinex処理を行なうことができる撮像装置を提供することが可能となる。
【0131】
(発明の他の構成例)
なお、上述した具体的実施形態には以下の構成を有する発明が含まれている。
【0132】
(1) Retinex処理を実行する画像処理装置において、
処理対象となる原画像の解像度を下げた画像を生成する第1手段と、
前記原画像の解像度を下げた画像からボケ画像を生成する第2手段と、
前記ボケ画像を前記原画像の解像度に戻す第3手段と、
前記原画像と前記原画像の解像度に戻されたボケ画像とに基づいてRetinex処理を実行する第4手段とを備えた、画像処理装置。
【0133】
(この構成に従うと、処理対象となる原画像の解像度を下げた画像が生成され、原画像の解像度を下げた画像からボケ画像が生成されるため、メモリ消費量の増大や処理速度の極端な低下を起こさずにRetinex処理ができる画像処理装置を提供することができる。)
(2) 原画像の解像度に応じたボケ度合いでボケ画像を生成し、Retinex処理を行なう画像処理装置において、
前記原画像の解像度を所定の解像度に変換した画像を生成する第1手段と、
前記生成された画像からボケ画像を生成する第2手段とを備えた、画像処理装置。
【0134】
(この構成に従うと、原画像の解像度を所定の解像度に変換した後にボケ画像を作成することができる。)
(3) Multi Scale Retinex処理を実行する画像処理装置において、
処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成する第1手段と、
所定のフィルタを用いることで、前記複数の画像の各々のボケ画像を生成する第2手段と、
前記生成された複数のボケ画像のそれぞれを前記原画像の解像度に戻す第3手段と、
前記原画像と前記原画像の解像度に戻された複数のボケ画像とに基づいてMulti Scale Retinex処理を実行する第4手段とを備えた、画像処理装置。
【0135】
(この構成に従うと、処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成し、所定のフィルタを用いることで、複数の画像の各々のボケ画像を生成し、それに基づいてMulti Scale Retinex処理が実行される。これにより、メモリ消費量の増大や処理速度の極端な低下を起こさずにMulti Scale Retinex処理ができる画像処理装置を提供することができる。)
(4) (1)〜(3)のいずれかに記載の画像処理装置を備えた、デジタルカメラ、デジタルビデオ、スキャナ、フィルムスキャナその他のデジタル機器。
【0136】
(この構成によると、メモリ消費量の増大や処理速度の極端な低下を起こさずにRetinex処理ができるデジタル機器を提供することができる。)
(5) 生体における網膜や皮質と同等の役割をモデル化したRetinex処理をコンピュータに実行させる画像処理プログラムにおいて、
原画像に対してボケ画像を生成する場合のフィルタサイズに対して、原画像の解像度を一旦下げた画像のボケ画像を生成する場合のフィルタサイズは、原画像の解像度を一旦下げた画像の解像度と連動して変更されることを特徴とする、画像処理プログラム。
【0137】
(この構成に従うと、フィルタサイズが原画像の解像度を一旦下げた画像の解像度に基づいて変更されるため、原画像の解像度を一旦下げた画像の解像度によらず同様な処理結果を得ることができる。)
(6) フィルタサイズを変更する処理において、ガウスフィルタにおけるカーネル値を変更し、
そのカーネル値を各画像の解像度に対応させて変更することで、原画像の解像度を一旦下げた画像の解像度に対応した周辺拡がりを有するガウスフィルタを生成することを特徴とする、(5)に記載の画像処理プログラム。
【0138】
(この構成によると、カーネル値の変更により画像の解像度に対応した周辺拡がりを有するガウスフィルタを生成することができる。)
(7) ボケ画像に基づいて、Retinex処理をコンピュータに実行させる画像処理プログラムにおいて、
前記ボケ画像は光学的に生成されることを特徴とする、画像処理プログラム。
【0139】
(この構成によると、ボケ画像が光学的に生成されるため、複雑な計算を必要としない画像処理プログラムを提供することができる。)
(8) Retinex処理を実行する撮像装置において、
処理対象となる原画像を撮影する撮像デバイスと、
前記原画像のボケ画像を光学的に生成する生成手段と、
前記原画像と前記ボケ画像とに基づいてRetinex処理を実行する実行手段とを備えた、撮像装置。
【0140】
(9) 前記生成手段は、前記撮像デバイスとは異なる撮像デバイスにより、光学的にボケ画像を得る、(8)に記載の撮像装置。
【0141】
(10) 前記生成手段は、前記撮像デバイスに光を入射させる光学系のピントをずらすことでボケ画像を得る、(8)に記載の撮像装置。
【0142】
(これらの構成によると、ボケ画像が光学的に生成されるため、複雑な計算を必要としない撮像装置を提供することができる。)
(11) Multi Scale Retinex処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像から、解像度の低い少なくとも1つの画像を生成することにより、前記原画像を含めて複数の画像を用意する第1ステップと、
所定のフィルタを用いることで、前記複数の画像のうち少なくとも2つの各々に関し、ボケ画像を生成する第2ステップと、
前記生成された少なくとも2つのボケ画像のそれぞれに関し、前記原画像の解像度と異なる場合に前記原画像の解像度に戻す第3ステップと、
前記原画像と前記原画像の解像度を有する前記少なくとも2つのボケ画像とに基づいてMulti Scale Retinex処理を実行する第4ステップとをコンピュータに実行させる、画像処理プログラム。
【0143】
(この構成に従うと、Multi Scale Retinex処理を行うのに複数サイズのフィルタを用意する必要がなく、プログラム自体の小容量化、簡素化が図れる。また、原画像からはボケ画像を生成せず、互いに異なる解像度の低解像度化した画像を複数用意してこれら低解像度化された画像の各々についてボケ画像を生成する場合、メモリ消費量の増大や処理速度の極端な低下を起こさずにMulti Scale Retinex処理ができる画像処理プログラムを提供することができる。)
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0144】
【発明の効果】
本発明に従い、処理対象となる原画像の解像度を下げた画像を生成し、原画像の解像度を下げた画像からボケ画像を生成すると、メモリ消費量の増大や処理速度の極端な低下を起こさずにRetinex処理ができる画像処理プログラムを提供することができる。
【図面の簡単な説明】
【図1】第1の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。
【図2】第2の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。
【図3】第3の実施の形態におけるRetinex処理を行なう撮像装置の構成を示すブロック図である。
【図4】第4の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【図5】第5の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【図6】図5のコンピュータが実行するRetinex処理を示すフローチャートである。
【図7】図5のコンピュータが実行する線形Retinex処理を示すフローチャートである。
【図8】第6の実施の形態の画像処理装置のRetinex処理部の構成を示す図である。
【図9】解像度が低い画像に適用する場合のガウス関数の広がりをX軸方向について1次元的に表示したグラフである。
【図10】解像度が高い画像に適用する場合のガウス関数の広がりをX軸方向について1次元的に表示したグラフである。
【図11】各解像度に対応するカーネル値の計算式を示した図である。
【図12】異なる4つの関数の周辺拡がりを1次元的に示した図である。
【図13】第8の実施の形態において図8の補間部401、ボケ画像生成部403および補間部405が行う処理を示す図である。
【図14】第9の実施の形態におけるRetinex処理を示すフローチャートである。
【図15】図7に示す線形Retinex処理において、ボケ画像作成の前に原画像の解像度変更を行い、c値を設定する場合の処理を示すフローチャートである。
【図16】第10の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【図17】第11の実施の形態におけるデジタルカメラの撮像処理を示すフローチャートである。
【図18】ボケ画像作成のためにガウス関数を用いたSSRの具体的な処理を説明するための図である。
【図19】ガウス関数を用いた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、F1 フレキシブルディスク、C1 CD−ROM、D1 アナログ画像、D2 オリジナルデジタル画像、D4 ボケ画像、D5 Retinex出力画像、D6 線形Retinex出力画像。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing program, and more particularly to an image processing program for performing a Retinex process in processing an output image of a digital camera, a film scanner, or the like.
[0002]
[Prior art]
In the field of conventional image processing, Center / Surround Retinex processing has been proposed as an image processing technique that models a role equivalent to the retina and cortex in a living body (for example, see Patent Document 1).
[0003]
Retinex processing is a method of correcting image information that is digital data. Various modifications are conceivable for the Retinex processing. Here, a method of correcting an image in which the visual information is modeled and peripheral information is added to a target pixel is generally referred to as Retinex processing. An extended Retinex described later is also included in one form of the Retinex processing. In the Retinex processing, the gain adjustment changes locally depending on the light and dark portions in the image, and thus has the effect of compressing the dynamic range.
[0004]
Regarding the Center / Surround Retinex algorithm, Single Scale Retinex (SSR) and Multi Scale Retinex (MSR) are known. The respective algorithms will be described below.
[0005]
Single Scale Retinex (SSR) is represented by the following equation (1). The color output image is obtained by executing the processing of Expression (1) for each of the R, G, and B channels and integrating them.
[0006]
T i (X, y) = log I i (X, y) -log {F (x, y) * I i (X, y)} ... (1)
(I = R, G, B)
Here, “*” represents convolution integration. Also, T i (X, y) represents a pixel value after the SSR processing, and I i (X, y) represents the pixel value of the original image. F (x, y) is a function used for a filter for creating a blurred image in consideration of pixels around the target pixel. If, for example, a Gaussian function is used as F (x, y), F (x, y) satisfies the following equations (2) and (3).
[0007]
F (x, y) = K ・ exp {− (x 2 + Y 2 ) / C 2 …… (2)
ΣΣF (x, y) = 1 (3)
Here, c is a constant that determines the peripheral spread in the Gaussian function, and is called a kernel value. The constant K is determined so as to satisfy Expression (3). In general, it is known that the smaller the value of c, the higher the effect of emphasizing an edge in image processing, and the larger the value of c, the higher the effect of dynamic range compression.
[0008]
In addition, clipping processing is performed for the purpose of improving the contrast of the output image after the SSR processing. Normally, pixel values of approximately 3% in the histogram distribution are clipped and then assigned to digital values corresponding to the number of output bits (for example, 8 bits) by linear conversion.
[0009]
FIG. 18 is a diagram for explaining specific processing of SSR using a Gaussian function for creating a blurred image.
[0010]
Referring to the figure, processing is performed on an original image (processing target image) D2 composed of i = R, G, and B. Note that an image obtained by combining RGB in the original image is indicated by P2 in the figure.
[0011]
Each pixel value of D2 is I i Shown as (x, y). I to create a blurred image D4 i The calculation of (x, y) * G (x, y) is performed. Here, G (x, y) is a Gaussian function.
[0012]
A process of dividing each pixel value of the original image by each pixel value of the blurred image is performed, and by obtaining its log, an image D5 after the Retinex process is obtained. Here, each pixel value of D5 is R i (X, y). By combining D5 composed of R, G, and B, an image P1 after the Retinex processing is obtained.
[0013]
On the other hand, in Multi Scale Retinex (MSR), several different values are used as the constant c in Expression (2). As a result, the SSR process using the Gaussian function having different peripheral extents is performed. By summing and averaging the results, edge enhancement and dynamic range compression are achieved at the same time.
[0014]
FIG. 19 is a diagram for explaining MSR processing using a Gaussian function.
Referring to the figure, a blurred image D4-1 created by a Gaussian function (a small-sized filter) having a narrow peripheral spread, and a blurred image D4-1 created by a medium Gaussian function (a medium-sized filter) having a narrow peripheral spread. A blurred image D4-2 and a blurred image D4-3 created by a Gaussian function (a large-sized filter) having a wide peripheral area are created based on the original image D2.
[0015]
Then, the images D5-1 to D5-3 are obtained by dividing the original image D2 by each blurred image and taking the logarithm of each. An image processed by a function with a small filter size has a higher edge enhancement effect, and an image processed by a function with a large filter size has a higher dynamic range compression effect. By adding and averaging the images D5-1 to D5-3, edge enhancement and dynamic range compression can be achieved simultaneously.
[0016]
Research on applying the above-described SSR and MSR processing to image data digitized by a film scanner from a negative film or the like or digital image data photographed by a digital still camera or the like has been actively conducted.
[0017]
Patent Document 2 discloses a technique for reducing a large contrast difference between different regions of an image while maintaining a small contrast difference between different regions of an image.
[0018]
Non-Patent Document 1 discloses that the Retinex processing is configured by a linear operation.
[0019]
[Patent Document 1]
U.S. Pat. No. 5,991,456
[0020]
[Patent Document 2]
JP 2001-245154 A
[0021]
[Non-patent document 1]
Masaaki Kobayashi and Hirofumi Kodera, "Improvement of Image Appearance by Retinex Model", Color Forum JAPAN 2001
[0022]
[Problems to be solved by the invention]
However, in the conventional image processing technology such as the Center / Surround Retinex algorithm described above, especially when the resolution of the original image is high, the calculation processing for generating the blurred image becomes heavy, and the memory consumption increases and the processing speed decreases. There was a problem of doing.
[0023]
An object of the present invention is to provide an image processing program capable of performing Retinex processing without causing an increase in memory consumption or an extreme decrease in processing speed.
[0024]
[Means for Solving the Problems]
To achieve the above object, according to an aspect of the present invention, an image processing program for causing a computer to execute a Retinex process includes a first step of generating an image with a reduced resolution of an original image to be processed, A second step of generating a blurred image from the reduced-resolution image, a third step of returning the blurred image to the resolution of the original image, and performing a Retinex process based on the original image and the blurred image returned to the resolution of the original image. And causing the computer to execute the fourth step to be executed.
[0025]
According to the present invention, an image in which the resolution of the original image to be processed is reduced is generated, and a blurred image is generated from the image in which the resolution of the original image is reduced, so that the memory consumption increases and the processing speed decreases extremely. It is possible to provide an image processing program capable of performing the Retinex processing without causing the image processing.
[0026]
Preferably, the first step generates an image obtained by converting the resolution of the original image to a predetermined resolution, and the second step generates a blurred image by using a filter of a predetermined size.
[0027]
According to the present invention, a blurred image can be created by using a filter of a predetermined size regardless of the resolution of the original image.
[0028]
Preferably, the first step generates an image in which the resolution of the original image is converted to an arbitrary resolution, and the second step generates a blurred image by using a filter having a size adapted to the arbitrary resolution.
[0029]
According to the present invention, it is possible to arbitrarily select an image resolution for generating a blurred image.
[0030]
According to another aspect of the present invention, an image processing program that generates a blurred image with a degree of blurring according to the resolution of the original image and generates an image in which the resolution of the original image is converted to a predetermined resolution is used. The computer is caused to execute one step and a second step of generating a blurred image from the generated image.
[0031]
According to the present invention, a blurred image can be created after converting the resolution of an original image to a predetermined resolution.
[0032]
Preferably, the predetermined resolution is lower than the resolution of the original image.
According to the present invention, an image in which the resolution of the original image to be processed is reduced is generated, and a blurred image is generated from the image in which the resolution of the original image is reduced, so that the memory consumption increases and the processing speed decreases extremely. It is possible to provide an image processing program capable of performing the Retinex processing without causing the image processing. Further, the same Retinex processing can be performed regardless of the resolution of the original image.
[0033]
According to still another aspect of the present invention, an image processing program for causing a computer to execute a Multi Scale Retinex process includes a first process for generating a plurality of images by reducing the resolution of an original image to be processed to a plurality of stages. A second step of generating a blurred image of each of the plurality of images by using a predetermined filter, a third step of returning each of the generated plurality of blurred images to the resolution of the original image, And causing the computer to execute a fourth step of executing a Multi Scale Retinex process based on the plurality of blurred images returned to the resolution of the original image.
[0034]
According to the present invention, a plurality of images are generated by reducing the resolution of an original image to be processed to a plurality of stages, and by using a predetermined filter, each blurred image of the plurality of images is generated. Then, the Multi Scale Retinex process is executed. As a result, it is possible to provide an image processing program capable of performing Multi Scale Retinex processing without increasing memory consumption or extremely lowering processing speed.
[0035]
BEST MODE FOR CARRYING OUT THE INVENTION
An image processing method, an image processing program, an image processing apparatus, and the like disclosed in an embodiment of the present invention can convert a RAW image immediately after A / D conversion of an analog signal from an imaging device such as a CCD image sensor or a CMOS image sensor. This is a target image to be subjected to the Retinex processing. Then, a predetermined γ correction is performed after the Retinex processing. However, the target image in the present invention may be an image after γ correction. Note that “immediately after A / D conversion is performed” indicates a stage before at least γ correction is performed, and is preferably a stage where color correction or MTF correction is not performed. Even if correction for hardware adjustment such as sensitivity variation between pixels of the imaging device or hue conversion such as gamut is performed, it may be regarded as a RAW image in the present invention. Further, for example, in the case of an area sensor having a color filter as an imaging device, pixel interpolation processing is performed on image data of each color after A / D conversion, and the image data after such interpolation processing is also RAW. It may be regarded as an image.
[0036]
As a result, the original characteristics of the Retinex process, which models the role equivalent to the retina and cortex in the living body, are exhibited.
[0037]
That is, digital image data output from an ordinary film scanner or digital still camera is image data that has already been subjected to color correction such as so-called white balance, γ correction, and MTF correction. The digital image data targeted by the Retinex process and the extended Retinex process in the related art are image data on which some of these image processes have already been performed. Retinex processing has been applied to image data which has already been subjected to some of these image processing, for the purpose of further improving the image quality such as contrast and appearance.
[0038]
However, the original Retinex model is a mechanism that plays the same role as the retina and cortex of a living body. To make full use of its properties, the Retinex model should be applied to the raw sensor response. Conversely, by executing Retinex processing on image data that has already been subjected to conventional image processing such as color correction, γ correction, MTF correction, etc., problems such as those in the related art (color bias (The overall color shift in the image and bright areas such as the face tending to fly generally) may occur, and as a result, the problem may be caused by more complicated extended Retinex processing. It can be considered that the situation has to be suppressed.
[0039]
From this point of view, in the present embodiment, Retinex processing such as SSR and MSR is performed by converting raw digital image data (gamma correction, etc.) obtained by simply A / D converting an electric signal of an imaging device such as a CCD image sensor. By applying this to RAW data that has not been processed, the original effects of the Retinex model can be exhibited.
[0040]
Hereinafter, embodiments of the present invention will be sequentially described with reference to the drawings.
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration of an imaging apparatus that performs a Retinex process according to the first embodiment. In the figure, the flow of image data is indicated by arrows.
[0041]
Referring to the drawing, the photographing apparatus includes a CCD image sensor 101 as an imaging device, an A / D converter 102, a Retinex processing unit 103, a γ correction unit 104, and a display / storage unit 105.
[0042]
The CCD image sensor 101 generates analog signals R, G, and B as electric signals from incident light by photoelectric conversion. The A / D converter 102 converts the analog signals R, G, B into discrete digital signals R, G, B of, for example, 8 bits. The Retinex processing unit 103 performs Retinex processing such as SSR and MSR on the digital image signal subjected to only A / D conversion by the A / D converter 102 independently for each RGB channel.
[0043]
The gamma correction unit 104 performs a predetermined gamma correction on the Retinex output obtained by the Retinex processing unit 103, which is required in a display / storing process that is a subsequent process.
[0044]
Finally, the display / storage unit 105 displays the image data on which the predetermined γ processing has been performed by the γ correction unit 104 on a monitor or the like, or saves the image data on a hard disk or the like.
[0045]
Although the configuration shown in FIG. 1 can be executed by hardware inside the digital still camera, for example, if the digital camera is capable of obtaining image data obtained by performing only A / D conversion as a RAW image, it is temporarily It is also possible to execute image processing such as the above-mentioned Retinex processing and γ correction processing in software on the image data stored in the RAW format using an application installed in a personal computer or the like.
[0046]
Since the Retinex processing represented by the above equation (1) includes convolution integration, the processing speed is large for the size of a filter such as a Gaussian function represented by F (x, y) or the image size itself. Dependent. In general, the size of a filter used for the Retinex processing is very large, and even an image having a relatively low resolution (for example, a VGA of 640 × 480 pixels) often uses a filter having a kernel value of about c = 100. In such a case, even a recent personal computer that performs high-speed processing may take several hours to complete the processing, which is not practical.
[0047]
As a method of executing the convolution integration at high speed, a Fourier transform, which is a method of executing calculation in the frequency domain, is known. For discrete signals such as digital images, high-speed processing methods such as FFT (Fast Fourier Transforms) and DFT (Discrete Fast Fourier Transforms) can be applied. The convolution integral of the above equation (1) can be expressed by equation (4) when the image size is a power of two.
[0048]
F (x, y) * I i (X, y) = FFT -1 [FFT [F (x, y)] · FFT [I i (X, y)]] ... (4)
Where FFT -1 Represents inverse FFT, and “•” represents multiplication in the frequency domain. In this case, the processing speed depends on the image size itself, irrespective of the filter size of the Gaussian function represented by F (x, y). If the image size is not a power of 2, DFT can be used instead.
[0049]
As described above, the present invention applies Retinex processing to a RAW image on which only A / D conversion has been performed, and performs a predetermined γ correction after Retinex processing, which is equivalent to retina and cortex in a living body. The original function of the Retinex process, which models the role of, is enabled.
[0050]
Note that the RAW image basically indicates data obtained by A / D converting the output of the CCD. However, a RAW image obtained by performing correction for adjusting hardware such as sensitivity variation of a CCD element or performing hue conversion such as gamut may be used as the RAW image. Further, for example, in the case of an area sensor having a color filter as an image sensor, pixel interpolation processing is performed on image data of each color after A / D conversion. Image data may also be regarded as a RAW image.
[0051]
In the present application, at least the image data before the γ correction is referred to as a RAW image. Preferably, the RAW image is an image before the sharp balance and the white balance are further corrected.
[0052]
[Second embodiment]
FIG. 2 is a block diagram illustrating a configuration of an imaging device that performs a Retinex process according to the second embodiment.
[0053]
In the present embodiment, the Retinex processing unit 103 executes a linear Retinex. The linear Retinex process is a Retinex process that does not use log, and is executed by, for example, the ratio between the original image and the blurred image in the following equation (5).
[0054]
T i (X, y) = I i (X, y) / {F (x, y) * I i (X, y)} ... (5)
(I = R, G, B)
In equation (5), similarly to equation (1), “*” represents convolution integral and T i (X, y) is a pixel value after linear Retinex processing, I i (X, y) is a pixel value of the original image, and F (x, y) is, for example, a Gaussian function for creating a blurred image that satisfies Equations (2) and (3) described above.
[0055]
Note that the linear Retinex processing here may also be executed by the MSR.
Further, in the Retinex processing unit 103, T i A process of raising (x, y) to the power of 1 / γ (γ correction) may be performed. This is shown by equation (6).
[0056]
γ {T i (X, y)} = T i (X, y) ^ (1 / γ) (6)
For example, when displaying an image on a monitor assuming sRGB, its γ is assumed to be 2.2 and its reciprocal 1/2. i The γ correction is realized by multiplying (x, y). Of course, a configuration may be used in which the value of γ is variably adjusted according to the device on which display and printing are performed.
[0057]
Further, it is not necessary to adjust the γ characteristic of the data output from the Retinex to γ of a specific monitor or the like. Is raised to the power (assuming that γ = 3).
[0058]
In addition, for the purpose of improving the contrast of the γ-corrected image of the Retinex output obtained by the equation (6), the processing of clipping the pixel values of about 3% above and below the histogram distribution as described above. May be performed. Of course, a configuration is also possible in which after performing this clipping process on the Retinex output obtained by the linear Retinex processing unit 103, γ correction is performed.
[0059]
[Third Embodiment]
FIG. 3 is a block diagram illustrating a configuration of an imaging apparatus that performs a Retinex process according to the third embodiment.
[0060]
In the present embodiment, after the linear Retinex processing is performed by the Retinex processing unit 103 shown in FIG. 2, the γ correction for the device is further performed by the γ correction unit 104. According to this, it is possible to perform γ correction according to the device. That is, the γ correction may be performed only by the γ correction unit 104, or the Retinex processing unit 103 performs the γ correction at γ = 3 in order to make the output a linear characteristic with respect to the brightness as described above. Alternatively, the gamma correction unit 104 may perform correction according to the device.
[0061]
[Fourth Embodiment]
FIG. 4 is a block diagram showing a configuration of a digital camera according to the fourth embodiment of the present invention.
[0062]
Referring to the figure, the digital camera includes a lens L, a lens control unit 209 for driving the lens, a CCD image sensor 201, an A / D converter 203 for A / D converting an output of the CCD image sensor, and image processing. (Application specific integrated circuit) 205, a buffer memory 207, a CPU 211, a RAM 213, a ROM (firmware memory) 215, an image display unit 221, a card interface 217, and a memory card 219. I have.
[0063]
As modules in the ASIC 205, a Retinex processing circuit 251, a color interpolation circuit 253, a γ correction circuit 255, a color space conversion circuit 257, and an image compression circuit 259 are provided.
[0064]
In the ASIC 205, processing is performed on the input from the A / D converter 203 in order from the left module in the figure. The modules in the ASIC 205 share the buffer memory 207, and the CPU 211 controls the timing of which module accesses the memory.
[0065]
Also in the present embodiment, in the digital camera, the Retinex processing is applied to a RAW image on which only A / D conversion has been performed, and predetermined image processing is performed after the Retinex processing. This enables the original function of the Retinex process, which models the role equivalent to the retina and cortex in the living body.
[0066]
Note that the circuit configuration of FIG. 4 can be applied to a digital video camera, a scanner, a film scanner, and the like.
[0067]
[Fifth Embodiment]
FIG. 5 is a block diagram illustrating a configuration of a computer that executes a program according to the fifth embodiment of the present invention.
[0068]
Referring to the figure, a computer includes a CPU 301 for controlling the entire apparatus, a display unit 303, a LAN (local area network) card 305 (or a modem card) for connecting to a network and communicating with the outside, An input unit 307 including a keyboard, a mouse, and the like, a flexible disk drive 309, a CD-ROM drive 311, a hard disk drive 313, a ROM 315, and a RAM 317 are provided.
[0069]
A program for driving the CPU (computer) 301 shown in the subsequent flowcharts can be recorded on a recording medium such as a flexible disk (F1) or a CD-ROM (C1). This program is sent from the recording medium to a RAM or other recording medium and recorded. The program may be recorded on a recording medium such as a hard disk, a ROM, a RAM, and a memory card and provided to a user. Alternatively, such a program may be downloaded to a workstation or a computer from an external site or the like via the Internet and executed.
[0070]
FIG. 6 is a flowchart showing a Retinex process executed by the computer of FIG.
[0071]
Referring to the figure, analog data D1 obtained by a CCD or the like is converted by an A / D converter in step S101 to be RAW image data D2. This is Fourier transformed in the computer in step S103.
[0072]
On the other hand, in step S105, the Gaussian peripheral function D3 is Fourier transformed. In step S107, the data obtained in steps S103 and S105 are multiplied in the frequency domain. Thereafter, the blur image D4 is obtained by performing the inverse Fourier transform in step S109.
[0073]
In step S111, D2 is divided by D4, and it is log-processed in step S113 to obtain a Retinex output D5.
[0074]
Thereafter, γ correction (step S115), other image processing (step S117), clipping processing (step S119), and 8-bit allocation processing (step S121) are performed on the Retinex output. Then, an image is displayed (step S123).
[0075]
FIG. 7 is a flowchart showing a linear Retinex process executed by the computer of FIG.
[0076]
Referring to the figure, the processes in steps S101 to S111 are the same as those in FIG. 6, and thus description thereof will not be repeated. The output of the division in step S111 is set as the Retinex output D6. Here, the output D6 is subjected to γ correction (in this case, a process for raising it to the 1/3 power) (step S118). Thereafter, a clipping process (step S119), an 8-bit allocation process (step S121), and a display process (step S123) are performed.
[0077]
The above-described image processing may be performed on image data transmitted through a communication line such as the Internet, or the result may be transmitted to another device through a communication line.
[0078]
[Sixth Embodiment]
As described above, for example, by using the Fourier transform for the convolution integration, the calculation can be performed at high speed.
[0079]
However, since an image is usually two-dimensional, and processing such as FFT and DFT needs to be performed on real type data, FFT {F (x, y)} and FFT @ I i Performing (x, y)} requires a great deal of memory. When a recent PC equipped with a memory of about 1 GB is used, an image having a relatively low resolution (for example, VGA: 640 × 480) can be processed at high speed without any problem, but an image having a relatively high resolution (for example, FULL: 2560 × 1920), the processing may not be completed due to insufficient memory. For this reason, it is currently not very practical.
[0080]
In the present embodiment, the above problem is solved by performing the following processing in the Retinex processing described in the related art and the first to fifth embodiments.
[0081]
First, the original image I i Low-resolution original image Low_I in which the resolution of (x, y) is once reduced i (X, y) is created. That Low_I i A blur image is generated from (x, y).
[0082]
As a resolution conversion method, methods such as Zero Order, Bi-Linear, Quadratic, and Cubic Spline are known, and any of these methods may be used.
[0083]
For example, a low-resolution original image Low_I i A low-resolution filter image Low_F (x, y) having the same image size as (x, y) (for example, Low_I i If (x, y) is 640 × 480, Low_F (x, y) is also 640 × 480). For generating a blurred image, the convolution integration of Expression (7) or the multiplication and inverse FFT in the frequency domain is performed. Processing is executed.
[0084]
Low_F (x, y) * Low_I i (X, y) = FFT -1 {FFT} Low_F (x, y)} · FFT {Low_I i (X, y)}} ... (7)
Naturally, the blurred image generated by Expression (7) is the original image I i Since the resolution is different from that of (x, y), the calculation of Expression (1) cannot be executed as it is.
[0085]
In order to execute the calculation of Expression (1), it is necessary to match the resolutions of the original image and the blurred image, and the resolution of the blurred image generated by Expression (7) is determined by interpolation (similarly, Zero Order , Bi-Linear, Quadratic, Cubic Spline, etc.), the original image I i The resolution is the same as (x, y).
[0086]
At this time, the original image I i The same conversion method as that used when the resolution of (x, y) is lowered may be selected, or a different conversion method may be selected. By creating such a blurred image, Retinex processing of a high-resolution image can be executed at high speed with a small memory consumption.
[0087]
FIG. 8 is a diagram illustrating a configuration of a Retinex processing unit of the image processing apparatus according to the present embodiment.
[0088]
Referring to the figure, the Retinex processing unit performs an interpolation operation to reduce the resolution of the original image D2 by an interpolation unit 401, and performs a process using a filter on the reduced-resolution image output from the interpolation unit 401. The image processing apparatus includes a blur image generation unit 403 that generates a blur image, and an interpolation unit 405 that changes the resolution of the blur image to have the same resolution as the original image D2. The Retinex processing unit 407 performs Retinex processing based on the original image D2 and the output image of the interpolation unit 405.
[0089]
[Seventh Embodiment]
In the sixth embodiment, it is also possible to adjust the image quality (accuracy) of the output image by changing the degree of lowering the resolution by the interpolation unit 401. For example, in the case of a digital still camera at present, digital image data to be stored is FULL (2,560 × 1,920), UXGA (1,600 × 1,200), SXGA (1,280 × 960), and XGA (1 , 024x768), and VGA (640x480).
[0090]
Therefore, for example, with respect to the original image of FULL (2,560 × 1,920), the original image whose resolution is lowered is UXGA (1,600 × 1,200) in the case of emphasis on image quality, and the original image whose resolution is lower is emphasized in the case of emphasis on speed. The interpolation unit 401 performs processing for converting an image into a VGA (640 × 480) image. As a result, blurred images with different resolutions are generated based on the subject to be emphasized, and the original FULL (2,560 × 1,920) resolution is restored by the interpolation processing in the interpolation unit 405, and the processing is executed in the Retinex processing unit 407. To make it happen.
[0091]
Further, the technology of the present embodiment can be applied to the MSR Retinex processing.
[0092]
For example, when the original image has a resolution of FULL (2,560 × 1,920), the large, medium, and small blurs in the MSR are compared with the image in which the original image is VGA (640 × 480). In the case of blurring, a blurred image is generated from an image in which the original image is SXGA (1,280 × 960), and in the case of blurring, the blurred image is generated from an image in which the original image is UXGA (1,600 × 1,200). After that, each blurred image is returned to the original FULL (2,560 × 1,920) resolution by the interpolation processing, the Retinex processing is executed, and the images are synthesized.
[0093]
That is, when the image is not blurred, the effect of maintaining the image quality (accuracy) can be expected by not reducing the resolution too much.
[0094]
Further, with respect to the application to the MSR, if the size of the image to be blurred and the relative size of the filter for blurring are changed, an image having a plurality of levels of blur can be created. Therefore, for example, the original image is converted to VGA (640 × 480) in the case of blurring, the original image is converted to SXGA (1,280 × 960) in the case of blurring, and the original image is converted to UXGA (1,600 × 1, 1600) in the case of small blurring. 200), blurred images are respectively generated using filters of the same size, and the resolution of the original image is returned, whereby large, medium, and small images can be blurred. Then, it is also possible to realize the MSR by dividing and processing the original image by each of the large, medium, and small images (see FIG. 19).
[0095]
Conversely, blur image creation processing using a Gaussian function having the same size of peripheral spread is performed on digital image data (for example, UXGA (1,600 × 1,200) and VGA (640 × 480)) having different resolutions. In this case, it is clear that each processing result is different.
[0096]
Even if the resolution is different, the contents of these images are the same, and it is not preferable that the color correction result, the contrast, and the degree of edge enhancement change according to the resolution. Therefore, by changing the size of a filter for creating a blurred image according to the resolution of the image from which the blurred image is created (the output image of the interpolation unit 401 in FIG. 8), the same applies even if the resolution differs. A processing effect can be obtained.
[0097]
For example, FIGS. 9 and 10 are graphs that schematically illustrate a one-dimensional Gaussian function having a similar peripheral extent. In the graph, the X axis indicates the position of the pixel.
[0098]
FIG. 9 is a graph in which the spread of the Gaussian function when applied to a VGA (640 × 480) image having a low resolution is one-dimensionally displayed in the X-axis direction. FIG. 10 is a graph in which the spread of the Gaussian function when applied to UXGA (1,600 × 1,200) with high resolution is displayed one-dimensionally in the X-axis direction.
[0099]
Each Gaussian function is different and its extent is different. However, when viewed as a whole image, the curve shapes are similar.
[0100]
By changing the Gaussian function according to the resolution in this way, when the contents of both images are the same, the same effect of the Retinex processing can be obtained.
[0101]
In order to change the spread of the Gaussian function and obtain a similar shape even when the resolution is different, a constant c (kernel value) for determining the peripheral spread is linked to the resolution in the Gaussian function of the equation (2). And adjust it.
[0102]
For example, the kernel value applied in VGA (640 × 480) is c VGA , UXGA (1,600 × 1,200), the kernel value to be applied is c UXGA Then
c VGA = C UXGA × (640/1600)… (8)
The kernel value is easily calculated by the following relational expression.
[0103]
FIG. 11 shows that the resolution of an image to be blurred image creation is FULL (2560 × 1920) and the kernel value at that resolution is c in this embodiment. FULL Where c is the kernel value corresponding to each resolution of UXGA (1,600 × 1,200), SXGA (1,280 × 960), XGA (1,024 × 768), and VGA (640 × 480). FULL FIG. 6 is a diagram showing a calculation formula from FIG.
[0104]
The process of generating a blurred image from an image with a different resolution by changing the kernel value and performing the Retinex process can be performed, for example, inside the digital camera, or the digital image data stored as an image with a certain resolution. However, it can also be executed by application software installed on a personal computer or the like.
[0105]
Similarly, when using a function other than the Gaussian function as shown in FIGS. 9 and 10, the filter size of each function may be changed in association with the resolution of the image.
[0106]
For example, in FIG. 12, the weight of the center pixel (the target pixel, which is indicated by the position of the origin) is set to 1, and the peripheral spread of four different functions is one-dimensionally illustrated.
[0107]
In the figure, series 1 is expressed by a Gaussian function as exp (-(x / c 1 ) 2 ), And series 2 is an exponential function exp (-| x | / c 2 ), And the series 3 is the inverse square function 1 / (1+ (x / c) 3 ) 2 ) And series 4 are linear functions (c 4 −x) · c 4 Is shown. Where c 1 From c 4 Corresponds to the kernel value in each marginal spread function. Therefore, c 1 From c 4 , It is possible to create a blurred image according to the resolution.
[0108]
[Eighth Embodiment]
In the sixth embodiment, by changing the degree to which the resolution is reduced by the interpolation unit 401 according to the resolution of the original image D2, it is possible to perform image processing using the same filter.
[0109]
FIG. 13 is a diagram illustrating processing performed by the interpolation unit 401, the blurred image generation unit 403, and the interpolation unit 405 in FIG. 8 in the eighth embodiment.
[0110]
Referring to the figure, resolution conversion is performed by resolution conversion section 451 according to the resolution of original image D2, and images having the same resolution are obtained. Here, it is assumed that a VGA image is created by resolution conversion regardless of the resolution of the original image D2, FULL, UXGA, SXGA, XGA, or VGA.
[0111]
Thereafter, the blurred image generation unit 453 generates a blurred image using a filter, and the resolution conversion unit 455 returns the original resolution. At this time, the resolution of the image output from the resolution conversion unit 451 is constant irrespective of the resolution of the original image D2. Therefore, if filters of the same size are used, even if the resolution of the original image is different, the same degree of blurred image Can be obtained.
[0112]
For example, it is assumed that there are a plurality of images having the same content but different resolutions. Even if the processing in FIG. 13 is performed on any of these images having different resolutions, a blurred image having the same degree of blur as the entire image can be obtained, and the same Retinex processing can be performed. .
[0113]
That is, in the present embodiment, the same level of Retinex processing is performed regardless of the resolution of the processing target image by adjusting the relative size between the target image and the filter when blurring.
[0114]
[Ninth embodiment]
FIG. 14 is a flowchart showing a Retinex process according to the ninth embodiment of the present invention.
[0115]
Referring to the figure, this flowchart is different from the flowchart shown in FIG. 6 in that interpolation (resolution conversion) of original image D2 is performed in step S102, and a blurred image is created using the interpolation. After the blurred image is generated, interpolation is performed in step S110 to match the resolution with the original image D2.
[0116]
In addition, a kernel value c that determines the spread of the Gaussian function is determined in step S151 according to the level of the interpolation.
[0117]
Other processes are the same as those in the flowchart shown in FIG.
For example, when performing MSR, a plurality of images are created by changing the resolution change level in step S102 while keeping the c value fixed in step S151. This makes it possible to create images with a plurality of blur levels using the same filter. Alternatively, the resolution change level may be fixed, and an image having a plurality of blur levels may be created by changing the c value.
[0118]
Also, FIG. 15 is a flowchart showing a process in the case where the resolution of the original image is changed before the blurred image is created and the c value is set in the linear Retinex process shown in FIG.
[0119]
[Tenth embodiment]
Instead of using a Gaussian function to generate a blurred image of the original image, it is also possible to generate a blurred image by optically shifting the focus (focus) or using an image sensor with a low resolution. It is. When optically defocusing, an image sensor such as a CCD for recording an original image and an image sensor for recording a blurred image may be the same or different.
[0120]
Then, Retinex processing is performed on the original image and the blurred image having the same resolution.
[0121]
FIG. 16 is a block diagram illustrating a configuration of a digital camera according to the tenth embodiment.
[0122]
This digital camera is provided with a half mirror 253 for splitting the incident light from the lens L and a CCD 251 for generating a blurred image, as compared with the digital camera according to the fourth embodiment (FIG. 4). . Note that a separate lens for making light incident on the CCD 251 may be provided instead of the half mirror. However, it is desirable to use a half mirror for guiding light from the same optical system to two systems in consideration of occurrence of parallax when photographing an object at a short distance.
[0123]
In FIG. 16, the CCD 251 is attached at a position where an out-of-focus image is captured when the CCD 201 is focused.
[0124]
It should be noted that a low-resolution image sensor that is less expensive than the original image can be used for the blurred image. In this case, the low-resolution image for the blurred image is interpolated and matched with the resolution of the imaging element for the original image, thereby generating a blurred image from the image with the reduced resolution and performing the Retinex processing. Equivalent processing can be performed.
[0125]
[Eleventh embodiment]
FIG. 17 is a flowchart illustrating an imaging process of the digital camera according to the eleventh embodiment.
[0126]
This process is executed by the CPU 211 of the digital camera (FIG. 4) in the fourth embodiment.
[0127]
Referring to the figure, a lens driving process is performed using the lens control unit 209 for focusing. If the shutter has been released (YES in step S303), a photographing process of the original image D2 is performed using the CCD image sensor 201 in step S305. After that, in step S307, the lens is driven using the lens control unit 209 to shift the focus. In this state, shooting of the blurred image D4 is performed in step S309.
[0128]
Thereafter, Retinex processing is performed based on D2 and D4 (step S311), and after image correction processing is performed (step S313), image output (display, memory) processing is performed (step S315).
[0129]
In the case of performing the MSR, a blur image of a plurality of levels is obtained by changing the degree of focus shift in steps S307 and S309.
[0130]
According to the tenth and eleventh embodiments, there is no need to perform a complicated operation such as convolution integration in order to create a blurred image. Therefore, it is possible to provide an imaging device capable of performing high-speed Retinex processing. Becomes possible.
[0131]
(Another configuration example of the invention)
The specific embodiments described above include inventions having the following configurations.
[0132]
(1) In an image processing apparatus that executes a Retinex process,
First means for generating an image having a reduced resolution of an original image to be processed;
Second means for generating a blurred image from an image having a reduced resolution of the original image,
Third means for returning the blurred image to the resolution of the original image;
An image processing apparatus comprising: a fourth unit configured to execute a Retinex process based on the original image and the blurred image restored to the resolution of the original image.
[0133]
(According to this configuration, an image in which the resolution of the original image to be processed is reduced is generated, and a blurred image is generated from the image in which the resolution of the original image is reduced, so that the memory consumption increases and the processing speed becomes extremely high. It is possible to provide an image processing apparatus capable of performing the Retinex processing without lowering.)
(2) In an image processing apparatus that generates a blurred image with a blurring degree corresponding to the resolution of an original image and performs Retinex processing,
First means for generating an image obtained by converting the resolution of the original image to a predetermined resolution;
Second means for generating a blurred image from the generated image.
[0134]
(According to this configuration, a blurred image can be created after converting the resolution of the original image to a predetermined resolution.)
(3) In an image processing apparatus that executes a Multi Scale Retinex process,
First means for generating a plurality of images by reducing the resolution of an original image to be processed to a plurality of stages;
A second means for generating a blurred image of each of the plurality of images by using a predetermined filter;
Third means for returning each of the plurality of blurred images generated to the resolution of the original image,
An image processing apparatus comprising: a fourth unit configured to execute a Multi Scale Retinex process based on the original image and a plurality of blurred images restored to the resolution of the original image.
[0135]
(According to this configuration, a plurality of images are generated by reducing the resolution of the original image to be processed to a plurality of stages, and each of the plurality of images is generated by using a predetermined filter, Based on this, the Multi Scale Retinex process is executed, whereby it is possible to provide an image processing apparatus capable of performing the Multi Scale Retinex process without increasing the memory consumption or extremely lowering the processing speed.)
(4) A digital camera, a digital video, a scanner, a film scanner, or other digital equipment, comprising the image processing device according to any one of (1) to (3).
[0136]
(According to this configuration, it is possible to provide a digital device capable of performing the Retinex processing without causing an increase in the memory consumption and an extremely low processing speed.)
(5) In an image processing program for causing a computer to execute a Retinex process modeling a role equivalent to the retina and cortex in a living body,
The filter size for generating a blurred image of an image in which the resolution of the original image has been reduced once is the resolution of the image in which the resolution of the original image has been reduced once. An image processing program characterized by being changed in conjunction with a program.
[0137]
(According to this configuration, since the filter size is changed based on the resolution of the image in which the resolution of the original image has been reduced, similar processing results can be obtained regardless of the resolution of the image in which the resolution of the original image has been reduced. it can.)
(6) In the process of changing the filter size, the kernel value in the Gaussian filter is changed,
By changing the kernel value in accordance with the resolution of each image, a Gaussian filter having a marginal spread corresponding to the resolution of the image once reduced in resolution of the original image is generated. Image processing program as described.
[0138]
(According to this configuration, it is possible to generate a Gaussian filter having a peripheral spread corresponding to the resolution of the image by changing the kernel value.)
(7) In an image processing program for causing a computer to execute a Retinex process based on a blurred image,
An image processing program, wherein the blurred image is generated optically.
[0139]
(According to this configuration, since the blurred image is generated optically, it is possible to provide an image processing program that does not require complicated calculations.)
(8) In the imaging device that executes the Retinex process,
An imaging device that captures an original image to be processed;
Generating means for optically generating a blurred image of the original image,
An imaging device comprising: an execution unit configured to execute a Retinex process based on the original image and the blurred image.
[0140]
(9) The imaging apparatus according to (8), wherein the generation unit optically obtains a blurred image using an imaging device different from the imaging device.
[0141]
(10) The imaging device according to (8), wherein the generation unit obtains a blurred image by shifting a focus of an optical system that causes light to enter the imaging device.
[0142]
(According to these configurations, a blurred image is generated optically, so that an imaging device that does not require complicated calculation can be provided.)
(11) In an image processing program for causing a computer to execute Multi Scale Retinex processing,
A first step of preparing at least one image having a low resolution from an original image to be processed to prepare a plurality of images including the original image;
A second step of generating a blurred image for each of at least two of the plurality of images by using a predetermined filter;
A third step of returning to the resolution of the original image when the resolution of the original image is different from the resolution of the original image for each of the at least two blurred images generated;
An image processing program for causing a computer to execute a fourth step of executing a Multi Scale Retinex process based on the original image and the at least two blurred images having the resolution of the original image.
[0143]
(According to this configuration, it is not necessary to prepare filters of a plurality of sizes in order to perform the Multi Scale Retinex processing, and it is possible to reduce the size and simplification of the program itself. When a plurality of reduced-resolution images having different resolutions are prepared and a blurred image is generated for each of the reduced-resolution images, the Multi Scale Retinex is performed without increasing the memory consumption or the processing speed. An image processing program capable of processing can be provided.)
The embodiments disclosed this time are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[0144]
【The invention's effect】
According to the present invention, when an image with a reduced resolution of the original image to be processed is generated and a blurred image is generated from the image with the reduced resolution of the original image, the memory consumption does not increase and the processing speed does not extremely decrease. Can provide an image processing program capable of performing Retinex processing.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an imaging apparatus that performs a Retinex process according to a first embodiment.
FIG. 2 is a block diagram illustrating a configuration of an imaging apparatus that performs a Retinex process according to a second embodiment.
FIG. 3 is a block diagram illustrating a configuration of an imaging apparatus that performs a Retinex process according to a third embodiment.
FIG. 4 is a block diagram illustrating a configuration of a digital camera according to a fourth embodiment.
FIG. 5 is a block diagram illustrating a configuration of a computer that executes a program according to a fifth embodiment.
FIG. 6 is a flowchart showing a Retinex process executed by the computer of FIG. 5;
FIG. 7 is a flowchart showing a linear Retinex process executed by the computer of FIG. 5;
FIG. 8 is a diagram illustrating a configuration of a Retinex processing unit of an image processing apparatus according to a sixth embodiment.
FIG. 9 is a graph in which the spread of a Gaussian function when applied to an image with low resolution is displayed one-dimensionally in the X-axis direction.
FIG. 10 is a graph in which the spread of a Gaussian function when applied to a high-resolution image is displayed one-dimensionally in the X-axis direction.
FIG. 11 is a diagram showing a formula for calculating a kernel value corresponding to each resolution.
FIG. 12 is a diagram showing one-dimensionally the peripheral spread of four different functions.
FIG. 13 is a diagram illustrating processing performed by an interpolation unit 401, a blurred image generation unit 403, and an interpolation unit 405 in FIG. 8 in the eighth embodiment.
FIG. 14 is a flowchart illustrating a Retinex process according to the ninth embodiment.
FIG. 15 is a flowchart showing a process in the case where the resolution of the original image is changed and a c value is set before the blurred image is created in the linear Retinex process shown in FIG. 7;
FIG. 16 is a block diagram illustrating a configuration of a digital camera according to a tenth embodiment.
FIG. 17 is a flowchart illustrating an imaging process of the digital camera according to the eleventh embodiment.
FIG. 18 is a diagram for describing specific processing of SSR using a Gaussian function for creating a blurred image.
FIG. 19 is a diagram for explaining MSR processing using a Gaussian function.
[Explanation of symbols]
101 CCD image sensor, 102 A / D converter, 103 Retinex processing unit, 104 γ correction unit, 105 display / storage unit, L lens, 201 CCD image sensor, 203 A / D converter, 205 ASIC (application specific integrated circuit), 207 buffer memory, 209 lens control unit, 211 CPU, 213 RAM, 215 ROM (firmware memory), 217 card interface, 219 memory card, 221 image display unit, 251 Retinex processing circuit, 253 color interpolation circuit, 255 γ correction circuit, 257 color space conversion circuit, 259 image compression circuit, 301 CPU, 303 display unit, 305 LAN card, 307 input unit, 309 flexible disk drive 311 CD-ROM drive, 313 a hard disk drive, 315 ROM, 317 RAM, F1 flexible disk, C1 CD-ROM, D1 analog image, D2 original digital image, D4 blurred image, D5 Retinex output image, D6 linear Retinex output image.

Claims (6)

Retinex処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像の解像度を下げた画像を生成する第1ステップと、
前記原画像の解像度を下げた画像からボケ画像を生成する第2ステップと、
前記ボケ画像を前記原画像の解像度に戻す第3ステップと、
前記原画像と前記原画像の解像度に戻されたボケ画像とに基づいてRetinex処理を実行する第4ステップとをコンピュータに実行させる、画像処理プログラム。
In an image processing program for causing a computer to execute Retinex processing,
A first step of generating an image having a reduced resolution of an original image to be processed;
A second step of generating a blurred image from an image obtained by reducing the resolution of the original image;
A third step of returning the blurred image to the resolution of the original image;
A fourth step of executing a Retinex process based on the original image and the blurred image restored to the resolution of the original image.
前記第1ステップは、前記原画像の解像度を所定の解像度に変換した画像を生成し、
前記第2ステップは、所定のサイズのフィルタを用いることでボケ画像を生成する、請求項1に記載の画像処理プログラム。
The first step generates an image obtained by converting the resolution of the original image to a predetermined resolution,
The computer-readable storage medium according to claim 1, wherein the second step generates a blurred image by using a filter having a predetermined size.
前記第1ステップは、前記原画像の解像度を任意の解像度に変換した画像を生成し、
前記第2ステップは、前記任意の解像度にあわせたサイズのフィルタを用いることでボケ画像を生成する、請求項1に記載の画像処理プログラム。
The first step generates an image obtained by converting the resolution of the original image to an arbitrary resolution,
The image processing program according to claim 1, wherein the second step generates a blurred image by using a filter having a size corresponding to the arbitrary resolution.
原画像の解像度に応じたボケ度合いでボケ画像を生成し、Retinex処理に用いる画像処理プログラムにおいて、
前記原画像の解像度を所定の解像度に変換した画像を生成する第1ステップと、
前記生成された画像からボケ画像を生成する第2ステップとをコンピュータに実行させる、画像処理プログラム。
In an image processing program that generates a blurred image with a degree of blurring according to the resolution of the original image and uses the Retinex processing,
A first step of generating an image obtained by converting the resolution of the original image to a predetermined resolution;
And a second step of generating a blurred image from the generated image.
前記所定の解像度は、前記原画像の解像度よりも低い、請求項4に記載の画像処理プログラム。The image processing program according to claim 4, wherein the predetermined resolution is lower than a resolution of the original image. Multi Scale Retinex処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成する第1ステップと、
所定のフィルタを用いることで、前記複数の画像の各々のボケ画像を生成する第2ステップと、
前記生成された複数のボケ画像のそれぞれを前記原画像の解像度に戻す第3ステップと、
前記原画像と前記原画像の解像度に戻された複数のボケ画像とに基づいてMulti Scale Retinex処理を実行する第4ステップとをコンピュータに実行させる、画像処理プログラム。
In an image processing program for causing a computer to execute Multi Scale Retinex processing,
A first step of generating a plurality of images by reducing the resolution of an original image to be processed to a plurality of stages;
A second step of generating a blurred image of each of the plurality of images by using a predetermined filter;
A third step of returning each of the plurality of generated blurred images to the resolution of the original image;
An image processing program for causing a computer to execute a fourth step of executing a Multi Scale Retinex process based on the original image and a plurality of blurred images restored to the resolution of the original image.
JP2002327291A 2002-11-11 2002-11-11 Image processing program Expired - Fee Related JP3731577B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002327291A JP3731577B2 (en) 2002-11-11 2002-11-11 Image processing program
US10/372,954 US7298917B2 (en) 2002-11-11 2003-02-26 Image processing program product and device for executing Retinex processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002327291A JP3731577B2 (en) 2002-11-11 2002-11-11 Image processing program

Publications (2)

Publication Number Publication Date
JP2004165840A true JP2004165840A (en) 2004-06-10
JP3731577B2 JP3731577B2 (en) 2006-01-05

Family

ID=32805979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002327291A Expired - Fee Related JP3731577B2 (en) 2002-11-11 2002-11-11 Image processing program

Country Status (1)

Country Link
JP (1) JP3731577B2 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006137361A1 (en) 2005-06-20 2006-12-28 Nikon Corporation Image processing device, image processing method, image processing program product, and imaging device
JP2007020176A (en) * 2005-07-05 2007-01-25 Xerox Corp Method and system for contrast enhancement of image, and method for determining whether or not image is to be subjected to local contrast enhancement
JP2007124280A (en) * 2005-10-28 2007-05-17 Nikon Corp Imaging apparatus
JP2007233433A (en) * 2006-02-27 2007-09-13 Brother Ind Ltd Image processing program and image processor
JP2007272878A (en) * 2006-03-07 2007-10-18 Brother Ind Ltd Image processing program and image processing device
JP2008060760A (en) * 2006-08-30 2008-03-13 Brother Ind Ltd Image processing program and image processing apparatus
JP2008092199A (en) * 2006-09-29 2008-04-17 Brother Ind Ltd Image processor and image processing program
JP2009037597A (en) * 2007-08-01 2009-02-19 Mitsubishi Electric Research Laboratories Inc Method of filtering input image to create output image
WO2009107197A1 (en) * 2008-02-26 2009-09-03 富士通株式会社 Picture processor, picture processing method and picture processing program
JP2010028694A (en) * 2008-07-24 2010-02-04 Yamaha Corp Dynamic range compression device and program
US7876474B2 (en) 2006-10-31 2011-01-25 Brother Kogyo Kabushiki Kaisha Image processing device capable of suppressing over-correction in Retinex process
US8040409B2 (en) 2006-10-31 2011-10-18 Brother Kogyo Kabushiki Kaisha Image processing device capable of performing retinex process at high speed
US8081831B2 (en) 2006-08-31 2011-12-20 Brother Kogyo Kabushiki Kaisha Image processor performing a high precision retinex process
US8081839B2 (en) 2006-08-31 2011-12-20 Brother Kogyo Kabushiki Kaisha Image processor
US8165418B2 (en) 2007-03-30 2012-04-24 Brother Kogyo Kabushiki Kaisha Image processor
US8269898B2 (en) 2007-05-09 2012-09-18 Kabushiki Kaisha Toshiba Image processing apparatus
JP2013017240A (en) * 2012-10-10 2013-01-24 Konica Minolta Advanced Layers Inc Image processing device, image processing method, and imaging apparatus
US8437031B2 (en) 2006-08-31 2013-05-07 Brother Kogyo Kabushiki Kaisha Image processing device and method for reducing an original image
US8472711B2 (en) 2006-10-31 2013-06-25 Brother Kogyo Kabushiki Kaisha Image processing device for processing images according to the available storage capacity
JP2014053036A (en) * 2013-11-13 2014-03-20 Canon Inc Image processing apparatus, image processing method, and program
CN103854259A (en) * 2012-12-03 2014-06-11 三星泰科威株式会社 Image processing apparatus and method of processing image
KR101519162B1 (en) 2009-11-30 2015-05-11 현대자동차주식회사 Method for Improving Night Vision of Camera for Car

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7920752B2 (en) 2006-08-17 2011-04-05 Brother Kogyo Kabushiki Kaisha Image processing device that quickly performs retinex process
JP4862554B2 (en) 2006-08-18 2012-01-25 ブラザー工業株式会社 Image processing program and image processing apparatus
US9049380B2 (en) 2011-09-26 2015-06-02 Canon Kabushiki Kaisha Image processing apparatus for generating an image having an expanded dynamic range and method thereof, and image capture apparatus

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006137361A1 (en) 2005-06-20 2006-12-28 Nikon Corporation Image processing device, image processing method, image processing program product, and imaging device
US8103119B2 (en) 2005-06-20 2012-01-24 Nikon Corporation Image processing device, image processing method, image processing program product, and image-capturing device
JP2007020176A (en) * 2005-07-05 2007-01-25 Xerox Corp Method and system for contrast enhancement of image, and method for determining whether or not image is to be subjected to local contrast enhancement
JP4542528B2 (en) * 2005-07-05 2010-09-15 ゼロックス コーポレイション Image contrast enhancement method and image contrast enhancement system
JP2007124280A (en) * 2005-10-28 2007-05-17 Nikon Corp Imaging apparatus
JP2007233433A (en) * 2006-02-27 2007-09-13 Brother Ind Ltd Image processing program and image processor
US8064713B2 (en) 2006-02-27 2011-11-22 Brother Kogyo Kabushiki Kaisha Data processing device that executes retinex processing
JP2007272878A (en) * 2006-03-07 2007-10-18 Brother Ind Ltd Image processing program and image processing device
JP4687667B2 (en) * 2006-03-07 2011-05-25 ブラザー工業株式会社 Image processing program and image processing apparatus
US7885479B2 (en) 2006-08-30 2011-02-08 Brother Kogyo Kabushiki Kaisha Image processing device that quickly displays retinex-processed preview image
JP2008060760A (en) * 2006-08-30 2008-03-13 Brother Ind Ltd Image processing program and image processing apparatus
US8437031B2 (en) 2006-08-31 2013-05-07 Brother Kogyo Kabushiki Kaisha Image processing device and method for reducing an original image
US8081839B2 (en) 2006-08-31 2011-12-20 Brother Kogyo Kabushiki Kaisha Image processor
US8081831B2 (en) 2006-08-31 2011-12-20 Brother Kogyo Kabushiki Kaisha Image processor performing a high precision retinex process
JP4661754B2 (en) * 2006-09-29 2011-03-30 ブラザー工業株式会社 Image processing apparatus and image processing program
JP2008092199A (en) * 2006-09-29 2008-04-17 Brother Ind Ltd Image processor and image processing program
US7876474B2 (en) 2006-10-31 2011-01-25 Brother Kogyo Kabushiki Kaisha Image processing device capable of suppressing over-correction in Retinex process
US8472711B2 (en) 2006-10-31 2013-06-25 Brother Kogyo Kabushiki Kaisha Image processing device for processing images according to the available storage capacity
US8040409B2 (en) 2006-10-31 2011-10-18 Brother Kogyo Kabushiki Kaisha Image processing device capable of performing retinex process at high speed
US8165418B2 (en) 2007-03-30 2012-04-24 Brother Kogyo Kabushiki Kaisha Image processor
US8269898B2 (en) 2007-05-09 2012-09-18 Kabushiki Kaisha Toshiba Image processing apparatus
JP2009037597A (en) * 2007-08-01 2009-02-19 Mitsubishi Electric Research Laboratories Inc Method of filtering input image to create output image
JPWO2009107197A1 (en) * 2008-02-26 2011-06-30 富士通株式会社 Image processing apparatus, image processing method, and image processing program
WO2009107197A1 (en) * 2008-02-26 2009-09-03 富士通株式会社 Picture processor, picture processing method and picture processing program
JP2010028694A (en) * 2008-07-24 2010-02-04 Yamaha Corp Dynamic range compression device and program
KR101519162B1 (en) 2009-11-30 2015-05-11 현대자동차주식회사 Method for Improving Night Vision of Camera for Car
JP2013017240A (en) * 2012-10-10 2013-01-24 Konica Minolta Advanced Layers Inc Image processing device, image processing method, and imaging apparatus
CN103854259A (en) * 2012-12-03 2014-06-11 三星泰科威株式会社 Image processing apparatus and method of processing image
KR101767094B1 (en) * 2012-12-03 2017-08-31 한화테크윈 주식회사 Apparatus and method for processing image
CN103854259B (en) * 2012-12-03 2018-01-30 韩华泰科株式会社 Image processing equipment and the method for handling image
JP2014053036A (en) * 2013-11-13 2014-03-20 Canon Inc Image processing apparatus, image processing method, and program

Also Published As

Publication number Publication date
JP3731577B2 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
JP3731577B2 (en) Image processing program
US7298917B2 (en) Image processing program product and device for executing Retinex processing
US7983511B1 (en) Methods and apparatus for noise reduction in digital images
EP2833317B1 (en) Image display device and/or method therefor
US20020171852A1 (en) System and method for digital image tone mapping using an adaptive sigmoidal function based on perceptual preference guidelines
JP4214457B2 (en) Image processing apparatus and method, recording medium, and program
US20110292257A1 (en) Image processing apparatus and image pickup apparatus using the same
JP6097588B2 (en) Image processing apparatus and image processing method
JP2008205737A (en) Imaging system, image processing program, and image processing method
JP2004030670A (en) Enhancement method for color tone feature of digital image
JP2002133409A (en) Digital image enhancement method based on pixel color
KR101821285B1 (en) Apparatus and method for thermal image enhancement
JP2001313844A (en) Method and device for executing local color correction
JP2006114005A (en) Gradation conversion apparatus, program, electronic camera, and method therefor
JP2010244360A (en) Image processing apparatus, image processing method, and computer program
JP5765893B2 (en) Image processing apparatus, imaging apparatus, and image processing program
JP6904842B2 (en) Image processing device, image processing method
JP2005004510A (en) Image processing program
JP4345366B2 (en) Image processing program and image processing apparatus
JP5410378B2 (en) Video signal correction apparatus and video signal correction program
JP2009272983A (en) Image processing apparatus, method, and program
JP5234127B2 (en) Gradation conversion device, program, electronic camera, and method thereof
JP7443030B2 (en) Learning method, program, learning device, and method for manufacturing learned weights
KR100791374B1 (en) Method and apparatus for image adaptive color adjustment of pixel in color gamut
JP6335614B2 (en) Image processing apparatus, control method thereof, and program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050826

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: 20050920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051003

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: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees