説明

画像処理装置および画像処理プログラム

【課題】画像構造の保存性を維持しつつ白傷・黒傷を効果的に除去すること。
【解決手段】画像処理装置は、異色画素と同色画素を同時に参照する異色込み型のMax,Minフィルタと、同色画素のみを参照する同色のみ型のMax,Minフィルタとの2組を有する。画像処理装置は、異色込み型のMax,Minフィルタを基本に使用しつつ、特に、残留突出点の発生が目立つ有彩色部の平坦部領域という条件に限って、限定的に同色のみ型のMax,Minフィルタを用いる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【0002】
固体撮像素子を長時間露光すると、蓄積時間に対して正比例せずに、周辺画素よりも突出して明るくなる画素や周辺画素よりも突出して暗くなる画素が多数現れてくる。これらは一般に白傷(hot pixel)、黒傷(cold pixel)と呼ばれ、露光時間が長くなるほど、また撮像感度が高くなるほど出現する画素の割合が多くなってくる性質をもつ。これらの欠陥画素を補正するのに通常、MaxフィルタとMinフィルタが用いられる。すなわち、周囲画素の最大値と最小値を計算して、処理対象画素の画素値が周囲画素の最大値や最小値よりも突出していればこれらの値で置き換える。特許文献1には、Bayer配列のようなカラーの単板撮像素子の入力面に対して、Max,Minフィルタを用いて直接Bayer面の段階で白傷、黒傷補正をする方法が開示されている。Bayer面上で処理対象画素を中心に5×5画素の範囲に含まれる同色画素の周辺8点の画素値を用いてMax,Minフィルタが構成される。
【0003】
また、本出願人と同一発明者による特許文献2には、同色画素も参照しつつ同時にそれより近接して存在する異色画素も用いて空間分解能の高いMax,Minフィルタを構成する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第7202894号明細書
【特許文献2】特開2011−135566号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の方法では、参照する同色画素が最近接画素よりも離れて存在するため、空間分解能の低いフィルタ特性とならざるをえない。したがって、突出点は除去するものの、画像の構造破壊が極めて大きい結果しか得られないという問題があった。
また、特許文献2の方法では、通常、長時間露光の撮影に用いられる夜景などの撮影頻度の多いシーンでは、有効に突出点を除去しつつ、画像の構造破壊を防止する機能が実現できる。しかしながら、マクベスチャートのような有彩色部を多く含むシーンを敢えて長時間露光によって撮影すると、有彩色のカラーパッチの領域で、元の白傷や黒傷の突出点よりは随分と強度が減衰されているものの、突出点が依然として残留して見える場合が、特に彩度の高い領域で発生するという問題があった。
【課題を解決するための手段】
【0006】
本発明は、画像データの画素値を補正する画像処理装置に適用され、複数の色成分からなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する入力手段と、画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素と、複数の周囲の同色画素よりも処理対象画素に近接して存在する、処理対象画素とは異なる色成分を有する複数の周囲の異色画素からなる第1のグループの画素値の中から最大値を算出する第1のグループの最大値算出手段と、画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素からなる第2のグループの画素値の中から最大値を算出する第2のグループの最大値算出手段と、第1のグループの画素値の分布幅を算出する第1のグループの分布幅算出手段と、第2のグループの画素値の分布幅を算出する第2のグループの分布幅算出手段と、第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最大値を周囲の画素の最大値と設定し、それ以外の条件のときは第1のグループの最大値を周囲の画素の最大値と設定する最大値設定手段と、処理対象画素の値と周囲の画素の最大値を比較して、処理対象画素の値が周囲の画素の最大値よりも大きな値を示す場合、処理対象画素の値を周囲の画素の最大値で置き換える補正手段とを備えることを特徴とする。
本発明は、画像データの画素値を補正する画像処理装置に適用され、複数の色成分からなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する入力手段と、画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素と、複数の周囲の同色画素よりも処理対象画素に近接して存在する、処理対象画素とは異なる色成分を有する複数の周囲の異色画素からなる第1のグループの画素値の中から最小値を算出する第1のグループの最小値算出手段と、画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素からなる第2のグループの画素値の中から最小値を算出する第2のグループの最小値算出手段と、第1のグループの画素値の分布幅を算出する第1のグループの分布幅算出手段と、第2のグループの画素値の分布幅を算出する第2のグループの分布幅算出手段と、第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最小値を周囲の画素の最小値と設定し、それ以外の条件のときは第1のグループの最小値を周囲の画素の最小値と設定する最小値設定手段と、処理対象画素の値と周囲の画素の最小値を比較して、処理対象画素の値が周囲の画素の最小値よりも小さな値を示す場合、処理対象画素の値を周囲の画素の最小値で置き換える補正手段とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、画像構造の保存性を維持しつつ白傷・黒傷を効果的に除去することができる。
【図面の簡単な説明】
【0008】
【図1】本発明の第一の実施形態によるカメラの構成を例示するブロック図である。
【図2】制御装置が実行する補正処理の流れを説明するフローチャートである。
【図3】白傷・黒傷補正フィルタを模式的に表す図である。
【図4】Max,Minフィルタ処理の流れを説明するフローチャートである。
【図5】(a)補正対象画素がR画素の場合のフィルタを例示する図、(b)補正対象画素がB画素の場合のフィルタを例示する図、(c)補正対象画素がG画素の場合のフィルタを例示する図である。
【図6】(a)異色画素込みの画素値の分布を例示する図、(b)同色画素のみの画素値の分布を例示する図である。
【図7】(a)異色画素込みの画素値の分布を例示する図、(b)同色画素のみの画素値の分布を例示する図である。
【図8】画素値の統計異常を例示する図である。
【図9】第二の実施形態における白傷・黒傷補正フィルタを模式的に表す図である。
【図10】(a)補正対象画素がR画素の場合のフィルタを例示する図、(b)補正対象画素がB画素の場合のフィルタを例示する図、(c)補正対象画素がG画素の場合のフィルタを例示する図である。
【図11】コンピュータ装置を例示する図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明を実施するための形態について説明する。
(第一の実施形態)
図1は、本発明の第一の実施形態による画像処理装置を搭載するカメラの構成を例示するブロック図である。カメラ100は、操作部材101と、撮像素子102と、制御装置103と、メモリカードスロット104と、モニタ105とを備えている。操作部材101は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、十字キー、決定ボタン、再生ボタン、削除ボタンなどを含んでいる。
【0010】
撮像素子102は、CMOSイメージセンサーなどによって構成される。撮像素子102は、不図示のレンズにより結像される被写体像を撮像する。そして、撮像によって得られた画像信号を制御装置103へ出力する。
【0011】
制御装置103は、メモリ、およびその他の周辺回路により構成され、カメラ100が行う撮影動作を制御する。制御装置103を構成するメモリには、SDRAMやフラッシュメモリが含まれる。SDRAMは揮発性のメモリであって、制御装置103がプログラム実行時にプログラムを展開するためのワークメモリとして使用される。また、SDRAMは、データを一時的に記憶するためのバッファメモリとしても使用される。一方、フラッシュメモリは不揮発性のメモリであって、制御装置103が実行するプログラムのデータや、プログラム実行時に読込まれる種々のパラメータなどが記録されている。
【0012】
メモリカードスロット104は、記憶媒体としてのメモリカードを挿入するためのスロットである。制御装置103は、撮影処理を行なうことによって生成した画像ファイルを、メモリカードスロット104に挿入されているメモリカードへ書込んで記録する。また、制御装置103は、メモリカードスロット104に挿入されているメモリカード内に記録されている画像ファイルを読込む。
【0013】
モニタ105は、カメラ100の背面に搭載された液晶モニタ(背面モニタ)である。当該モニタ105には、メモリカードに記録されている画像ファイルに基づく再生画像や、カメラ100を設定するための設定メニューなどが表示される。また、使用者が操作部材101を操作してカメラ100を撮影モードに設定すると、制御装置103は、撮像素子102から時系列で取得した画像の表示用画像データをモニタ105に出力する。これによってモニタ105にスルー画が表示される。
【0014】
本実施形態では、撮像素子102を単板式カラー撮像素子によって構成し、その撮像面にはR(赤)、G(緑)、およびB(青)のカラーフィルタがBayer配列されているものとする。すなわち、撮像素子102から制御装置103に出力される画像データはRGB表色系で示されるものとし、この画像データを構成する各々の画素には、RGBの何れか1つの色成分の色情報が存在する。
【0015】
本実施形態は、上記カメラ100の制御装置103が実行する白傷および黒傷に対する欠陥画素補正処理に特徴を有するので、以下の説明はこの補正処理を中心に行う。図2は、制御装置103が実行する補正処理の流れを説明するフローチャートである。図2のステップS10において、制御装置103は、撮像素子102からBayer画像データを読み出す。これにより、制御装置103には、光量に対して線型階調のBayer画像データが入力される。
【0016】
その後、制御装置103はステップS20へ進み、ホワイトバランス補正を行う。例えば、制御装置103は、RGB間のホワイトバランス・ゲインがR/G=k1、B/G=k2のとき、Bayer面のR画素にはk1倍のゲインを、B画素にはk2倍のゲインを掛ける。その後、ステップS30へ進む。
【0017】
ステップS30において、制御装置103は、以下のように白傷と黒傷を補正する。本説明では、ホワイトバランス補正の済んだBayer画像データにおいて補正対象画素[i,j]の画素値をSin[i,j]で表す。本補正処理は、突出点除去フィルタを掛けて当該補正対象画素[i,j]を補正した画素値Sout[i,j]を出力するものとする。ここでは、Bayer面上の色成分に無関係に共通のフィルタを定義して、簡便なフィルタ回路を組むことができる例を示す。
【0018】
<データコピー>
制御装置103は、次式(1)によりデータコピーを行う。すなわち、元画像データをSinのバッファメモリに退避させておく。
Sout[i,j]=Sin[i,j] ・・・(1)
【0019】
<Max,Minフィルタ>
制御装置103は、以下の手順でMax,Minフィルタを掛けて白傷・黒傷補正を行う。図3は、白傷・黒傷補正フィルタを模式的に表す図である。図3において、中心画素がBayer面上のRないしはBに該当するとき+印の画素は全て異色画素、×印の画素は全て同色画素に相当する。中心画素がGに該当するときは+印の画素には異色画素と同色画素が混在し、×印の画素は全て同色画素に相当する。
【0020】
図4は、Max,Minフィルタ処理の流れを例示するフローチャートである。図4のステップS321〜S322において、制御装置103は2種類の最大値を算出する。制御装置103は、同色画素のみの最大値max_same (S321)と、異色画素込みの最大値max_diff (S322)とを算出する。Maxフィルタは次式(2)〜(6)により表される。次式(5)により同色画素のみの最大値を算出し、次式(6)により異色画素込みの最大値を算出する。大文字で示すMAXは、最大値を返す関数である。
【0021】
本実施の形態では、画像データが正方格子配列の場合を想定し、ここで用いるフィルタは、図3に示すように、「○」で表す補正対象画素を中心とした9×9画素の範囲に含まれる周辺画素24点のフィルタとする。このフィルタは、補正対象画素がR画素、B画素、及びG画素の全ての場合に共通に使用する。すなわち、図5(a)に示すように補正対象画素がR画素の場合には、図3において「+」で表す異色画素(B画素及びG画素)8点と、「×」で表す同色画素(R画素)16点とのMaxフィルタとする。同様に、図5(b)に示すように補正対象画素がB画素の場合も、図3において「+」で表す異色画素(R画素及びG画素)8点と、「×」で表す同色画素(B画素)16点とのMaxフィルタとする。また、図5(c)に示すように補正対象画素がG画素の場合には、図3において「+」で表す異色画素(R画素及びB画素)と同色画素(G画素)とを含む8点と、「×」で表す同色画素(G画素)16点とのMaxフィルタとする。
【0022】
Max1= MAX{ Sin[i-1,j], Sin[i+1,j], Sin[i,j-1], Sin[i,j+1],
Sin[i-1,j-1], Sin[i+1,j+1], Sin[i-1,j+1], Sin[i+1,j-1] }・・・(2)
max2= MAX{ Sin[i-2,j], Sin[i+2,j], Sin[i,j-2], Sin[i,j+2],
Sin[i-2,j-2], Sin[i+2,j+2], Sin[i-2,j+2], Sin[i+2,j-2] }・・・(3)
max3= MAX{ Sin[i-4,j-2], Sin[i-4,j+2], Sin[i+4,j-2], Sin[i+4,j+2],
Sin[i-2,j-4], Sin[i+2,j-4], Sin[i-2,j+4], Sin[i+2,j+4] }・・・(4)
同色画素のみの最大値max_same の算出
max_same = MAX{ max2, max3 } ・・・(5)
異色画素込みの最大値max_diff の算出
max_diff = MAX{ max1, max_same } ・・・(6)
【0023】
ステップS323〜S324において、制御装置103は2種類の最小値を算出する。制御装置103は、同色画素のみの最小値min_same (S323)と、異色画素込みの最小値min_diff (S324)とを算出する。Minフィルタは次式(7)〜(11)により表される。次式(10)により同色画素のみの最小値を算出し、次式(11)により異色画素込みの最小値を算出する。大文字で示すMINは、最小値を返す関数である。
【0024】
Minフィルタは、上記Maxフィルタと同様に、図3に例示した「○」で表す補正対象画素を中心とした9×9画素の範囲に含まれる周辺画素24点、すなわち「+」で表す異色画素8点と「×」で表す同色画素16点のMinフィルタである。ただし、Maxフィルタの場合と同様に、G画素が補正対象画素のときは「+」で表す画素は異色画素4点と同色画素4点となる。
【0025】
min1= MIN{ Sin[i-1,j], Sin[i+1,j], Sin[i,j-1], Sin[i,j+1],
Sin[i-1,j-1], Sin[i+1,j+1], Sin[i-1,j+1], Sin[i+1,j-1] }・・・(7)
min2= MIN{ Sin[i-2,j], Sin[i+2,j], Sin[i,j-2], Sin[i,j+2],
Sin[i-2,j-2], Sin[i+2,j+2], Sin[i-2,j+2], Sin[i+2,j-2] }・・・(8)
min3= MIN{ Sin[i-4,j-2], Sin[i-4,j+2], Sin[i+4,j-2], Sin[i+4,j+2],
Sin[i-2,j-4], Sin[i+2,j-4], Sin[i-2,j+4], Sin[i+2,j+4] }・・・(9)
同色画素のみの最小値min_same の算出
min_same = MIN{ min2, min3 } ・・・(10)
異色画素込みの最小値min_diff の算出
min_diff = MIN{ min1, min_same } ・・・(11)
【0026】
ステップS325において、制御装置103は、最大値と最小値の切り替え設定を行う。図6は、補正対象画素を中心とする周辺画素の画素値の分布を例示する図である。図6(a)は、異色画素込みの画素値の分布を例示する図であり、縦軸は画素値を表し、横軸は頻度を表す。図6(b)は、同色画素のみの画素値の分布を例示する図であり、縦軸は画素値を表し、横軸は頻度を表す。
【0027】
異色画素込みの画素値の分布幅を、異色画素込みの画素値の最大値と最小値の差で表現することができる。同様に、同色画素のみの画素値の分布幅を、同色画素のみの画素値の最大値と最小値の差で表現することができる。
【0028】
同色画素と異色画素を同時に含む異色画素込みの画素値の分布幅を見れば、その領域が有彩色部にあるのか無彩色部にあるのかを見積もることができる。しかしながら、異色画素込みの画素値の分布幅が大きいということは、必ずしも有彩色部であることを意味しない。すなわち、図6に例示した分布の場合は、無彩色部でテキスチャ構造領域であってもこの条件に合致するし、有彩色部でテキスチャ構造領域であってもこの条件に合致する。
【0029】
そうすると、例えば天体写真の天の川のような無彩色の星が密集するような領域も有彩色部の条件に合致してしまう。仮に有彩色部の条件に合致する領域を全て、異色込みのMax, Minフィルタから同色画素のみによるMax, Minフィルタに置き換えてしまうと、テキスチャ構造領域の画像構造の破壊が甚大となってしまう。
【0030】
したがって、同色画素のみによるMax, Minフィルタに置き換える条件として更なる限定条件が必要となる。そこで、同色画素のみの画素値の値の分布を調べれば、そこが有彩色部で平坦領域であるのか、有彩色部でテキスチャ構造領域であるのかを区別することができる。主に白傷・黒傷が残留する問題が目立つのは有彩色部の平坦領域である。有彩色部のテキスチャ構造領域でも白傷・黒傷の残留問題は同じく生じているが、テキスチャの中に存在する点はテキスチャと区別がつかず視覚的に目立ちにくいため対処する必要性は低い。
【0031】
図7は、有彩色部で平坦領域である場合における、周辺画素の画素値の分布を例示する図である。図7(a)は、異色画素込みの画素値の分布を例示する図であり、縦軸は画素値を表し、横軸は頻度を表す。図7(b)は、同色画素のみの画素値の分布を例示する図であり、縦軸は画素値を表し、横軸は頻度を表す。図7(b)によれば、同色画素のみの画素値の分布幅が小さいので、有彩色部で平坦領域であることを区別できる。
【0032】
このように、2種類の画素値の分布幅を調べれば、異色込み型のMax, Minフィルタで白傷・黒傷の残留問題に対処する必要がある領域を区別できる。
【0033】
制御装置103は、有彩色部の平坦部領域では、同色画素のみの最大値max_same を最大値Max に、同色画素のみの最小値min_same を最小値Min にそれぞれ設定する。それ以外の領域では従来通り異色画素込みの最大値max_diff を最大値Max に、異色画素込みの最小値min_diff を最小値Min にそれぞれ設定する。この設定は、次式(12)で表される。
if ( max_diff - min_diff > ThS && max_same - min_same <= Thflat )
{max = max_same,min = min_same}
else
{max = max_diff,min = min_diff} ・・・(12)
ここに、彩度の閾値を表すThSの値は、たとえば256階調の場合に15程度の値に設定する。平坦性の閾値を表すThflatはの値は、ノイズのゆらぎ幅と同じ値σnoiseを採用する。すなわち、撮像素子102に設定されているISO感度が高いほど大きな値を設定する。
【0034】
ステップS326において、制御装置103は、統計判別による最大値と最小値への置き換えを行う。処理対象画素が周辺画素に対して突出しているか否かの判断は、単に最大値や最小値に比べて突出しているかを判断するのではなく、画像構造の非破壊性を高めるため、引用文献2に示されているように階調方向に関する統計異常を検知して適応的に最大値・最小値への置き換えを行うのか否かの判断を行う方式を採用する。
【0035】
制御装置103は、次式(13)〜(15)により最大値と最小値へ置き換える。
Th = ( max - min ) * α ・・・(13)
if ( Sin[i,j] > max + Th ) → Sout[i,j] = max + Th' ・・・(14)
if ( Sin[i,j] < min - Th ) → Sout[i,j] = min + Th' ・・・(15)
ここに、定数倍αの値は0〜1の範囲の値をとるが、通常1に設定するとよい。それ以外の代表的設定値は、1/2、1/3、1/6である。また、Th'=0〜Thの範囲の値をとる。すなわちTh'はThの関数である。通常Th'=0でよい。
【0036】
max-minの値は、平坦領域では±3σ程度のノイズのゆらぎ幅を表し、テキスチャ・エッジ領域では画像構造のコントラスト幅を表す。これらの基準幅を大幅に越えて突出している画素は、白傷や黒傷が発生している統計異常な画素と判断する。図8は、画素値の統計異常を例示する図であり、縦軸は画素値を表し、横軸は頻度を表す。
【0037】
このようにして、第一の実施形態では、従来の異色込み型のMax, Minフィルタの画像構造非破壊性の性能を保ちつつ、有彩色部においても白傷・黒傷が残らない補正処理を行うことができる。
【0038】
制御装置103は、その後ステップS40(図2)へ進み、色補間処理を実行する。すなわち、各画素位置にRGB3色を生成する色補間処理を公知の技術によって行う。その後、図2による処理を終了する。
【0039】
以上説明した第一の実施形態によれば、次の作用効果が得られる。
(1)画像データの画素値を補正する制御装置103は、複数の色成分R,G,Bからなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する制御装置103と、画像データの1つの処理対象画素に対し、該処理対象画素と同じ色成分を有する16点の周囲の同色画素と、該16点の同色画素よりも処理対象画素に近接して存在する、処理対象画素とは異なる色成分を有する8点の周囲の異色画素からなる24点の異色画素込みの画素値の中から最大値max_diffを算出する制御装置103と、画像データの1つの処理対象画素に対し、該処理対象画素と同じ色成分を有する16点の周囲の同色画素のみの画素値の中から最大値max_sameを算出する制御装置103と、異色画素込みの画素値の分布幅max_diff - min_diffを算出する制御装置103と、同色画素のみの画素値の分布幅max_same - min_sameを算出する制御装置103と、異色画素込みの分布幅max_diff - min_diffがThS以上の大きさを示し、かつ、同色画素のみの分布幅max_same - min_sameがThflat以下の大きさを示す条件を満たすとき、同色画素のみの最大値max_sameを周囲の画素の最大値Maxと設定し、それ以外の条件のときは異色画素込みの最大値max_diffを周囲の画素の最大値Maxと設定する制御装置103と、処理対象画素の値Sin[i,j]と周囲の画素の最大値Maxを比較して、処理対象画素の値が周囲の画素の最大値Maxよりも大きな値を示す場合、処理対象画素の値Sin[i,j]を周囲の画素の最大値maxで置き換える制御装置103とを備えようにした。このように、異色画素と同色画素を同時に参照する異色込み型のMaxフィルタと同色画素のみを参照する同色のみMaxフィルタの2つを用意し、異色込み型のMaxフィルタを基本に使用しつつ、特に残留突出点の発生が目立つ有彩色部の平坦部領域という条件に限って限定的に同色のみMaxフィルタを用いるようにしたので、画像構造の保存性を維持しつつ白傷を効果的に除去することができる。
【0040】
(2)上記(1)の制御装置103は更に、異色画素込みの最大値max_diffの算出に参照した同じ画素の画素値の中から最小値min_diffを算出する制御装置103と、同色画素のみの最大値max_sameの算出に参照した同じ画素の画素値の中から最小値min_sameを算出する制御装置103と、を備え、制御装置103は、異色画素込みの最大値max_diffから最小値min_diffを減算した値を異色画素込みの画素値の分布幅max_diff - min_diffとし、制御装置103は、同色画素のみの最大値max_sameから最小値min_sameを減算した値を同色画素のみの画素値の分布幅max_same - min_sameとするようにした。これにより、周囲画素において異色画素込みの場合と同色画素のみの場合のそれぞれで、適切に分布幅を求めることができる。
【0041】
(3)上記(2)の制御装置103は更に、異色画素込みの分布幅max_diff - min_diffがThS以上の大きさを示し、かつ、同色画素のみの分布幅max_same - min_sameがThflat以下の大きさを示す条件を満たすとき、同色画素のみの最小値min_sameを周囲の画素の最小値Minと設定し、それ以外の条件のときは異色画素込みの最小値min_diffを周囲の画素の最小値Minと設定する制御装置103と、周囲の画素の最大値Maxから周囲の画素の最小値Minを差し引いた差分値を算出し、該差分値に対してα倍した値Thを処理対象画素に対する閾値として設定する制御装置103とを備え、制御装置103は、処理対象画素の値Sin[i,j]と、周囲の画素の最大値maxに対して閾値Thを加算した値を比較して、処理対象画素の値Sin[i,j]が該加算値max+Thを超えて大きな値を示す場合、処理対象画素の値Sin[i,j]を周囲の画素の最大値maxで置き換える。これにより、白傷を適切に除去することができる。
【0042】
(4)画像データの画素値を補正する制御装置103は、複数の色成分R,G,Bからなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する制御装置103と、画像データの1つの処理対象画素に対し、該処理対象画素と同じ色成分を有する16点の周囲の同色画素と、該16点の同色画素よりも処理対象画素に近接して存在する、処理対象画素とは異なる色成分を有する8点の周囲の異色画素からなる24点の異色画素込みの画素値の中から最小値min_diffを算出する制御装置103と、画像データの1つの処理対象画素に対し、該処理対象画素と同じ色成分を有する16点の周囲の同色画素のみの画素値の中から最小値min_sameを算出する制御装置103と、異色画素込みの画素値の分布幅max_diff - min_diffを算出する制御装置103と、同色画素のみの画素値の分布幅max_same - min_sameを算出する制御装置103と、異色画素込みの分布幅max_diff - min_diffがThS以上の大きさを示し、かつ、同色画素のみの分布幅max_same - min_sameがThflat以下の大きさを示す条件を満たすとき、同色画素のみの最小値Min_sameを周囲の画素の最小値Minと設定し、それ以外の条件のときは異色画素込みの最小値Min_diffを周囲の画素の最小値Minと設定する制御装置103と、処理対象画素の値Sin[i,j]と周囲の画素の最小値Minを比較して、処理対象画素の値Sin[i,j]が周囲の画素の最小値Minよりも小さな値を示す場合、処理対象画素の値Sin[i,j]を周囲の画素の最小値Minで置き換える制御装置103とを備えるようにした。このように、異色画素と同色画素を同時に参照する異色込み型のMinフィルタと同色画素のみを参照する同色のみMinフィルタの2つを用意し、異色込み型のMinフィルタを基本に使用しつつ、特に残留突出点の発生が目立つ有彩色部の平坦部領域という条件に限って限定的に同色のみMinフィルタを用いるようにしたので、画像構造の保存性を維持しつつ黒傷を効果的に除去することができる。
【0043】
(5)上記(4)の制御装置103は更に、異色画素込みの最小値Min_diffの算出に参照した同じ画素の画素値の中から最大値Max_diffを算出する制御装置103と、同色画素のみの最小値Min_sameの算出に参照した同じ画素の画素値の中から最大値Max_sameを算出する制御装置103と、を備え、制御装置103は、異色画素込みの最大値max_diffから最小値min_diffを減算した値を異色画素込みの画素値の分布幅max_diff - min_diffとし、制御装置103は、同色画素のみの最大値max_sameから最小値min_sameを減算した値を同色画素のみの画素値の分布幅max_same - min_sameとするようにした。これにより、周囲画素において異色画素込みの場合と同色画素のみの場合のそれぞれで、適切に分布幅を求めることができる。
【0044】
(6)上記(5)の制御装置103は更に、異色画素込みの分布幅max_diff - min_diffがThS以上の大きさを示し、かつ、同色画素のみの分布幅max_same - min_sameがThflat以下の大きさを示す条件を満たすとき、同色画素のみの最大値max_sameを周囲の画素の最大値Maxと設定し、それ以外の条件のときは異色画素込みの最大値max_diffを周囲の画素の最大値Maxと設定する制御装置103と、周囲の画素の最大値Maxから周囲の画素の最小値Minを差し引いた差分値を算出し、該差分値に対してα倍した値Thを処理対象画素に対する閾値として設定する制御装置103とを備え、制御装置103は、処理対象画素の値Sin[i,j]と、周囲の画素の最小値Minに対して閾値Thを減算した値を比較して、処理対象画素の値Sin[i,j]が該減算値Min-Thを超えて小さな値を示す場合、処理対象画素の値Sin[i,j]を周囲の画素の最小値Minで置き換える。これにより、黒傷を適切に除去することができる。
【0045】
(変形例1)
なお、上述した「最大値と最小値の切り替え設定」(ステップS325)では、彩度の指標として、異色画素と同色画素を同時に含む画素値の分布のうち最大値から最小値を引いた値を採用したが、参照画素として定義した異なる色成分間の画素差分の絶対値を最も近接に存在する画素の間で複数とってそれらの和を用いてもよい。同様に、平坦領域の指標として、同色画素の画素値の分布のうち最大値から最小値を引いた値を採用したが、参照画素として定義した同じ色成分間の画素差分の絶対値を同色画素の間で複数とってそれらの和を用いてもよい。
【0046】
(第二の実施形態)
上述した第一の実施形態では、図2に示したフローチャートのステップS30において、図3に示した9×9画素の範囲に含まれる異色画素を含んだ周辺画素24点のMax、Minフィルタを用いて白傷・黒傷補正を行う例について説明した。第二の実施の形態では、ハードウェアなどの実装時の回路規模を削減するため、参照画素の範囲を減らした簡略案を説明する。なお、第一の実施形態と異なる点を中心に説明する。
【0047】
図9は、第二の実施形態における白傷・黒傷補正フィルタを模式的に表す図である。図9において、「○」で表す補正対象画素を中心とした5×5画素の範囲に含まれる周辺画素16点のフィルタとする。補正対象画素がR画素、B画素、及びG画素の全ての場合にフィルタを共通に使用する点は、第一の実施形態と同様である。
【0048】
<2種類の最大値の算出>
制御装置103はMaxフィルタを定義する。Maxフィルタは次式(16)〜(19)により表される。次式(18)により同色画素のみの最大値を算出し、次式(19)により異色画素込みの最大値を算出する。大文字で示すMAXは、最大値を返す関数である。
【0049】
図10(a)に示すように補正対象画素がR画素の場合には、図9において「+」で表す異色画素(B画素及びG画素)8点と、「×」で表す同色画素(R画素)8点とのMaxフィルタとする。同様に、図10(b)に示すように補正対象画素がB画素の場合も、図9において「+」で表す異色画素(R画素及びG画素)8点と、「×」で表す同色画素(B画素)8点とのMaxフィルタとする。また、図10(c)に示すように補正対象画素がG画素の場合には、図9において「+」で表す異色画素(R画素及びB画素)と同色画素(G画素)とを含む8点と、「×」で表す同色画素(G画素)8点とのMaxフィルタとする。
【0050】
max1= MAX{ Sin[i-1,j], Sin[i+1,j], Sin[i,j-1], Sin[i,j+1],
Sin[i-1,j-1], Sin[i+1,j+1], Sin[i-1,.j+1], Sin[i+1,j-1] }・・・(16)
max2= MAX{ Sin[i-2,j], Sin[i+2,j], Sin[i,j-2], Sin[i,j+2],
Sin[i-2,j-2], Sin[i+2,j+2], Sin[i-2,.j+2], Sin[i+2,j-2] }・・・(17)
同色画素のみの最大値の算出
max_same = max2 ・・・(18)
異色画素込みの最大値の算出
max_diff = MAX{ max1, max_same } ・・・(19)
【0051】
<2種類の最小値の算出>
制御装置103はMinフィルタを定義する。Minフィルタは次式(20)〜(23)により表される。次式(22)により同色画素のみの最小値を算出し、次式(23)により異色画素込みの最小値を算出する。大文字で示すMINは、最小値を返す関数である。
【0052】
Minフィルタは、上記Maxフィルタと同様に、図9に例示した「○」で表す補正対象画素を中心とした5×5画素の範囲に含まれる周辺画素16点、すなわち「+」で表す異色画素8点と「×」で表す同色画素8点のMinフィルタである。ただし、Maxフィルタの場合と同様に、G画素が補正対象画素のときは「+」で表す画素は異色画素4点と同色画素4点となる。
【0053】
min1= MIN{ Sin[i-1,j], Sin[i+1,j], Sin[i,j-1], Sin[i,j+1],
Sin[i-1,j-1], Sin[i+1,j+1], Sin[i-1,.j+1], Sin[i+1,j-1] }・・・(20)
min2= MIN{ Sin[i-2,j], Sin[i+2,j], Sin[i,j-2], Sin[i,j+2],
Sin[i-2,j-2], Sin[i+2,j+2], Sin[i-2,.j+2], Sin[i+2,j-2] }・・・(21)
同色画素のみの最小値の算出
min_same = min2 ・・・(22)
異色画素込みの最小値の算出
min_diff = MIN{ min1, min_same } ・・・(23)
【0054】
以上説明した第二の実施形態によれば、第一の実施形態に比べて小さい回路規模で、第一の実施形態と同様の作用効果が得られる。
【0055】
(変形例2)
上述した実施形態では、デジタルカメラ1に画像処理装置を搭載する例を説明したが、画像処理装置をパーソナルコンピュータによって構成するようにしてもよい。図2、図4に例示したフローチャートの処理を行うプログラムを図11に示すコンピュータ装置200に実行させることにより、画像処理装置を構成してもよい。プログラムをパーソナルコンピュータ200に取込んで使用する場合には、パーソナルコンピュータ200のデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させることによって画像処理装置として使用する。
【0056】
パーソナルコンピュータ200に対するプログラムのローディングは、プログラムを格納したCD−ROMなどの記憶媒体204をパーソナルコンピュータ200にセットして行ってもよいし、ネットワークなどの通信回線201を経由する方法でパーソナルコンピュータ200へローディングしてもよい。通信回線201を経由する場合は、通信回線201に接続されたサーバー(コンピュータ)202のハードディスク装置203などにプログラムを格納しておく。プログラムは、記憶媒体204や通信回線201を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。以上説明した変形例によれば、上記実施形態と同様の作用効果が得られる。
【0057】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。
【符号の説明】
【0058】
100…カメラ
101…操作部材
102…撮像素子
103…制御装置
105…モニタ
200…パーソナルコンピュータ

【特許請求の範囲】
【請求項1】
複数の色成分からなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する入力手段と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素と、前記複数の周囲の同色画素よりも前記処理対象画素に近接して存在する、前記処理対象画素とは異なる色成分を有する複数の周囲の異色画素からなる第1のグループの画素値の中から最大値を算出する第1のグループの最大値算出手段と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素からなる第2のグループの画素値の中から最大値を算出する第2のグループの最大値算出手段と、
前記第1のグループの画素値の分布幅を算出する第1のグループの分布幅算出手段と、
前記第2のグループの画素値の分布幅を算出する第2のグループの分布幅算出手段と、
前記第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、前記第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最大値を周囲の画素の最大値と設定し、それ以外の条件のときは第1のグループの最大値を周囲の画素の最大値と設定する最大値設定手段と、
前記処理対象画素の値と前記周囲の画素の最大値を比較して、前記処理対象画素の値が前記周囲の画素の最大値よりも大きな値を示す場合、前記処理対象画素の値を前記周囲の画素の最大値で置き換える補正手段とを備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置において、更に、
前記第1のグループの最大値の算出に参照した同じ画素の画素値の中から最小値を算出する第1のグループの最小値算出手段と、
前記第2のグループの最大値の算出に参照した同じ画素の画素値の中から最小値を算出する第2のグループの最小値算出手段と、
を備え、
前記第1のグループの分布幅算出手段は、前記第1のグループの最大値から前記第1のグループの最小値を減算した値を前記第1のグループの分布幅とし、
前記第2のグループの分布幅算出手段は、前記第2のグループの最大値から前記第2のグループの最小値を減算した値を前記第2のグループの分布幅とする
ことを特徴とする画像処理装置。
【請求項3】
請求項2に記載の画像処理装置において、更に、
前記第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、前記第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最小値を周囲の画素の最小値と設定し、それ以外の条件のときは第1のグループの最小値を周囲の画素の最小値と設定する最小値設定手段と、
前記周囲の画素の最大値から前記周囲の画素の最小値を差し引いた差分値を算出し、前記差分値に対して定数倍した値を前記処理対象画素に対する閾値として設定する閾値設定手段と
を備え、
前記補正手段は、前記処理対象画素の値と、前記周囲の画素の最大値に対して前記閾値を加算した値を比較して、前記処理対象画素の値が前記加算値を超えて大きな値を示す場合、前記処理対象画素の値を前記周囲の画素の最大値で置き換えることを特徴とする画像処理装置。
【請求項4】
複数の色成分からなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する入力手段と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素と、前記複数の周囲の同色画素よりも前記処理対象画素に近接して存在する、前記処理対象画素とは異なる色成分を有する複数の周囲の異色画素からなる第1のグループの画素値の中から最小値を算出する第1のグループの最小値算出手段と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素からなる第2のグループの画素値の中から最小値を算出する第2のグループの最小値算出手段と、
前記第1のグループの画素値の分布幅を算出する第1のグループの分布幅算出手段と、
前記第2のグループの画素値の分布幅を算出する第2のグループの分布幅算出手段と、
前記第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、前記第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最小値を周囲の画素の最小値と設定し、それ以外の条件のときは第1のグループの最小値を周囲の画素の最小値と設定する最小値設定手段と、
前記処理対象画素の値と前記周囲の画素の最小値を比較して、前記処理対象画素の値が前記周囲の画素の最小値よりも小さな値を示す場合、前記処理対象画素の値を前記周囲の画素の最小値で置き換える補正手段とを備えることを特徴とする画像処理装置。
【請求項5】
請求項4に記載の画像処理装置において、更に、
前記第1のグループの最小値の算出に参照した同じ画素の画素値の中から最大値を算出する第1のグループの最大値算出手段と、
前記第2のグループの最小値の算出に参照した同じ画素の画素値の中から最大値を算出する第2のグループの最大値算出手段と、
を備え、
前記第1のグループの分布幅算出手段は、前記第1のグループの最大値から前記第1のグループの最小値を減算した値を前記第1のグループの分布幅とし、
前記第2のグループの分布幅算出手段は、前記第2のグループの最大値から前記第2のグループの最小値を減算した値を前記第2のグループの分布幅とする
ことを特徴とする画像処理装置。
【請求項6】
請求項5に記載の画像処理装置において、更に、
前記第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、前記第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最大値を周囲の画素の最大値と設定し、それ以外の条件のときは第1のグループの最大値を周囲の画素の最大値と設定する最大値設定手段と、
前記周囲の画素の最大値から前記周囲の画素の最小値を差し引いた差分値を算出し、前記差分値に対して定数倍した値を前記処理対象画素に対する閾値として設定する閾値設定手段と
を備え、
前記補正手段は、前記処理対象画素の値と、前記周囲の画素の最小値に対して前記閾値を減算した値を比較して、前記処理対象画素の値が前記減算値を超えて小さな値を示す場合、前記処理対象画素の値を前記周囲の画素の最小値で置き換えることを特徴とする画像処理装置。
【請求項7】
複数の色成分からなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する入力処理と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素と、前記複数の周囲の同色画素よりも前記処理対象画素に近接して存在する、前記処理対象画素とは異なる色成分を有する複数の周囲の異色画素からなる第1のグループの画素値の中から最大値を算出する第1のグループの最大値算出処理と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素からなる第2のグループの画素値の中から最大値を算出する第2のグループの最大値算出処理と、
前記第1のグループの画素値の分布幅を算出する第1のグループの分布幅算出処理と、
前記第2のグループの画素値の分布幅を算出する第2のグループの分布幅算出処理と、
前記第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、前記第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最大値を周囲の画素の最大値と設定し、それ以外の条件のときは第1のグループの最大値を周囲の画素の最大値と設定する最大値設定処理と、
前記処理対象画素の値と前記周囲の画素の最大値を比較して、前記処理対象画素の値が前記周囲の画素の最大値よりも大きな値を示す場合、前記処理対象画素の値を前記周囲の画素の最大値で置き換える補正処理と、
をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項8】
複数の色成分からなり、1つの画素に1つの色成分を有する複数の画素からなる画像データを入力する入力処理と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素と、前記複数の周囲の同色画素よりも前記処理対象画素に近接して存在する、前記処理対象画素とは異なる色成分を有する複数の周囲の異色画素からなる第1のグループの画素値の中から最小値を算出する第1のグループの最小値算出処理と、
前記画像データの1つの処理対象画素に対し、前記処理対象画素と同じ色成分を有する複数の周囲の同色画素からなる第2のグループの画素値の中から最小値を算出する第2のグループの最小値算出処理と、
前記第1のグループの画素値の分布幅を算出する第1のグループの分布幅算出処理と、
前記第2のグループの画素値の分布幅を算出する第2のグループの分布幅算出処理と、
前記第1のグループの分布幅が第1の所定値以上の大きさを示し、かつ、前記第2のグループの分布幅が第2の所定値以下の大きさを示す条件を満たすとき、第2のグループの最小値を周囲の画素の最小値と設定し、それ以外の条件のときは第1のグループの最小値を周囲の画素の最小値と設定する最小値設定処理と、
前記処理対象画素の値と前記周囲の画素の最小値を比較して、前記処理対象画素の値が前記周囲の画素の最小値よりも小さな値を示す場合、前記処理対象画素の値を前記周囲の画素の最小値で置き換える補正処理と、
をコンピュータに実行させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−81130(P2013−81130A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2011−220973(P2011−220973)
【出願日】平成23年10月5日(2011.10.5)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】