(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
<第1実施形態の説明>
図1は、第1実施形態のコンピュータの構成例を示す図である。第1実施形態のコンピュータは、画像処理プログラムを実行することで、撮影光学系の結像を撮像した撮影画像に対してフレア補正処理を施す。
【0011】
図1に示すコンピュータ101は、データ読込部102、記憶装置103、CPU(Central Processing Unit)104、メモリ105および入出力インターフェース(I/F)106、バス107を有している。データ読込部102、記憶装置103、CPU104、メモリ105および入出力I/F106は、バス107を介して相互に接続されている。さらに、コンピュータ101には、入出力I/F106を介して、入力デバイス108(キーボード、ポインティングデバイスなど)とモニタ109とがそれぞれ接続されている。なお、入出力I/F106は、入力デバイス108からの各種入力を受け付けるとともに、モニタ109に対して表示用のデータを出力する。
【0012】
データ読込部102は、取得部の一例であって、撮影画像のデータや、画像処理プログラムを外部から取得する。データ読込部102は、例えば、着脱可能な記憶媒体からデータを取得する読込デバイス(光ディスク、磁気ディスク、光磁気ディスクの読込装置など)や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス(USBインターフェース、LANモジュール、無線LANモジュールなど)である。
【0013】
記憶装置103は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体である。記憶装置103には、上記の画像処理プログラムや、画像処理プログラムの実行に必要となる各種の情報が記憶されている。なお、記憶装置103には、データ読込部102から読み込んだ撮影画像のデータなどを記憶しておくこともできる。
【0014】
CPU104は、コンピュータ101の各部を統括的に制御するプロセッサである。CPU104は、画像処理プログラムの実行によって、本件開示の画像処理装置の一例である画像処理部200として機能する。画像処理部200は、画像生成部201、輪帯検出部202、光源推定部203、フレア補正部204をそれぞれ有している。なお、画像処理部200、画像生成部201、輪帯検出部202、光源推定部203、フレア補正部204の動作についてはそれぞれ後述する。
【0015】
なお、
図1に示す画像処理部200の各機能ブロック(201〜204)は、ソフトウェア的にはメモリにロードされたプログラムによって実現される。しかし、画像処理部200の各機能ブロックの一部または全部は、プロセッサ、メモリ、電子回路の組み合わせによりハードウェア的に実現してもよい。
【0016】
メモリ105は、画像処理プログラムでの演算結果等を一時的に記憶する。メモリ105は、例えば揮発性の半導体メモリである。
【0017】
以下、
図2の流れ図を参照しつつ、第1実施形態でのコンピュータの動作例を説明する。
図2の処理は、ユーザによるプログラム実行指示に応じて、CPU104が画像処理プログラムを実行することで開始される。
【0018】
ステップS11において、画像処理部200は、処理対象となる撮影画像(以下、入力画像とも称する)のデータを、データ読込部102を介して外部から取得する。ステップS11で取得された入力画像のデータは、画像処理部200の制御によって、記憶装置103またはメモリ105に記録される。なお、画像処理部200は、入力画像のデータが予め記憶装置13に記憶されている場合には、ステップS11の処理を省略してもよい。なお、
図3に入力画像の一例を示す。
【0019】
一例として、第1実施形態の入力画像は、撮影光学系の被写体像を電子カメラで撮影(撮像)したRGB色空間のカラー画像である。また、第1実施形態の入力画像は、回折光学素子(DOE:Diffractive Optical Element)を有する撮影光学系による撮影画像である。回折光学素子を有する撮影光学系で撮影を行う際、極めて高輝度な物体(輝点)が撮影範囲内に存在すると、撮影画像上の輝点像の周辺に色滲みを伴うフレア(色フレア)が発生する。回折光学素子に由来する色フレアは、無色のフレアと比較すると著しく不自然であるため、フレア補正処理で補正されることが望まれる。
【0020】
ステップS12において、画像処理部200は、入力画像にフレア補正処理を施すフレア補正モードであるか否かを判定する。一例として、画像処理部200は、ユーザがフレア補正モードの設定をオンにしている場合に、フレア補正モードであると判定する。また、画像処理部200は、入力画像のヘッダ領域に付加されている撮影情報を参照し、入力画像が回折光学素子を含む撮影光学系で撮影されている場合に、フレア補正モードであると判定する。
【0021】
フレア補正モードである場合(ステップS12の肯定判定)には、ステップS13に処理が移行する。一方、フレア補正モードではない場合(ステップS12の否定判定)には、ステップS24に処理が移行する。
【0022】
ステップS13において、画像処理部200は、入力画像の輝度成分を示す輝度画像を生成する。例えば、画像処理部200は、入力画像をYCbCr色空間に変換し、入力画像のYチャネルを輝度画像としてもよい。あるいは、画像処理部200は、入力画像の各画素でRGB値の平均((R+G+B)/3)を求めることにより、輝度画像を生成してもよい。
【0023】
ステップS14において、画像処理部200は、輝度画像のうちで画素値が飽和レベルに達した飽和画素を検出する。そして、画像処理部200は、検出した飽和画素のまとまりを求めるラベリング処理を行う。以下、ラベリング処理後の飽和画素のまとまりを飽和領域と称することもある。なお、飽和領域には、フレアが発生している光源だけでなく、フレアとは無関係な光源も混在している可能性がある。また、
図4は、
図3から飽和領域を抽出した状態を示す。
【0024】
ステップS15において、画像処理部200は、輝度画像内に存在する各々の飽和領域にゼロ値から順にナンバリングする。以下、飽和領域の番号を示す変数をi(但し、iは0を含む正の整数)とする。上記のナンバリングにより、画像処理部200は、輝度画像内の飽和領域の総数imaxを取得する。また、画像処理部200は、各々の飽和領域iにつき、輝度画像内での位置を示す座標(Xi,Yi)をそれぞれ取得する。例えば、画像処理部200は、上記の座標として飽和領域iの重心の座標を取得する。
【0025】
ステップS16において、画像生成部201は、輝度画像をそれぞれ異なる閾値で二値化して複数の二値化画像を生成する。このとき、画像生成部201は、閾値上限および閾値下限の組み合わせを変化させて複数種類の画素値の範囲を抽出することで、複数の二値化画像を生成する。
【0026】
一例として、輝度画像の階調が8ビット(0〜255)のときに、画像生成部201は、以下の設定で6枚の2値化画像を生成する。
【0027】
まず、画像生成部201は、画素値210〜250の範囲に含まれる画素か否かで輝度画像を二値化して、第1の二値化画像を生成する。また、画像生成部201は、画素値170〜210の範囲に含まれる画素か否かで輝度画像を二値化して、第2の二値化画像を生成する。また、画像生成部201は、画素値130〜170の範囲に含まれる画素か否かで輝度画像を二値化して、第3の二値化画像を生成する。また、画像生成部201は、画素値90〜130の範囲に含まれる画素か否かで輝度画像を二値化して、第4の二値化画像を生成する。また、画像生成部201は、画素値50〜90の範囲に含まれる画素か否かで輝度画像を二値化して、第5の二値化画像を生成する。また、画像生成部201は、画素値30〜50の範囲に含まれる画素か否かで輝度画像を二値化して、第6の二値化画像を生成する。なお、二値化画像の生成数や、上記の閾値の範囲は適宜変更してもよい。
【0028】
図5(a)〜(f)は、
図3に対応する二値化画像の例を示している。
図5(a)は、画素値250を閾値とする二値化画像であり、
図5(b)は画素値210を閾値とする二値化画像である。
図5(c)は画素値170を閾値とする二値化画像であり、
図5(d)は画素値130を閾値とする二値化画像である。
図5(e)は画素値90を閾値とする二値化画像であり、
図5(f)は画素値50を閾値とする二値化画像である。
図5(a)〜(f)では、画素値が閾値以上の部分は白画素で示し、画素値が閾値未満の部分は黒画素で示している。
【0029】
図5(a)〜(f)を比較すると、フレアが発生している光源の周囲には、二値化画像において円形模様が生じていることが分かる。上記の円形模様は、光源を中心として輝度値を徐々に低下させながら外側に広がってゆく画像構造を有している。ここで、異なる2枚の2値化画像の差分をとると、上記のフレアによる画像構造は、光源を中心とした同心円状の画像構造(輪帯)として表現される。つまり、閾値上限および閾値下限で定義される画素値の或る帯域を抽出して二値化画像を生成すると、上記の輪帯を利用してフレアの発生を判定することができる。そのため、画素値の或る帯域を抽出した二値化画像を用いると、フレアが発生している光源の推定が容易になる。
【0030】
図6(a)〜(f)は、
図3に対応する第1の二値化画像から第6の二値化画像の例をそれぞれ示している。
図6(a)〜(f)では、画素値が閾値の範囲内の部分は白画素で示し、画素値が閾値の範囲外の部分は黒画素で示している。
図6(a)に示す第1の二値化画像は、
図5(a)と
図5(b)との差分に相当する。
図6(b)に示す第2の二値化画像は、
図5(b)と
図5(c)との差分に相当する。
図6(c)に示す第3の二値化画像は、
図5(c)と
図5(d)との差分に相当する。
図6(d)に示す第4の二値化画像は、
図5(d)と
図5(e)の差分に相当する。
図6(e)に示す第5の二値化画像は、
図5(e)と
図5(f)の差分に相当する。
図6(f)に示す第6の二値化画像は、
図5(f)と画素値30を閾値とする二値化画像との差分に相当する。
図6(a)〜(f)によれば、フレアが発生している光源の周囲に輪帯が形成されていることが分かる。
【0031】
ステップS17において、画像処理部200は、フレアの発生を判定している光源の番号を示すカウンタkをゼロ値に初期化する(k=0)。なお、例えばk=iのときには、画像処理部200は、ステップS15で番号iを付与された飽和領域についてフレアの発生を判定する。
【0032】
ステップS18において、輪帯検出部202は、カウンタkの値に対応する飽和領域kを判定対象として、複数の二値化画像から輪帯を検出する。一例として、輪帯検出部202は、以下の手順(A)、(B)により、第1の二値化画像から第6の二値化画像のそれぞれで輪帯を検出する。
【0033】
(A)まず、輪帯検出部202は、各々の二値化画像において、判定対象の飽和領域kからの距離と、二値化画像で抽出される抽出画素数との相関を示す度数分布を求める。
【0034】
例えば、輪帯検出部202は、判定対象の飽和領域kについて、ステップS15で取得した飽和領域の座標を基準点(Xk,Yk)とする。そして、輪帯検出部202は、上記の基準点からの距離に対応付けて二値化画像の白画素をカウントする。これにより、輪帯検出部202は、基準点からの距離と、白画素の数との相関を示す度数分布を得ることができる。なお、輪帯検出部202は、1つの飽和領域につき、第1の二値化画像から第6の二値化画像のそれぞれで上記の度数分布を求めることとなる。
【0035】
図7は、フレアが発生している光源に対応する度数分布の一例である。また、
図8は、フレアが発生していない光源に対応する度数分布の一例である。
図7、
図8の縦軸は白画素の数を示し、
図7、
図8の横軸は飽和領域の基準点からの距離を示す。なお、
図7、
図8では、同じ光源について異なる二値化画像から求めた6つの度数分布をまとめて示している。
【0036】
フレアが発生している光源の場合、各二値化画像での光源の周囲には、上記のようにそれぞれ輪帯が現れる。これにより、フレアが発生している光源の度数分布図(
図7)では、輪帯の位置に応じて白画素のピークがグラフ上に明確に現れる。
【0037】
上記のように、フレアの画像構造は光源を中心として輝度値を徐々に低下させながら外側に広がってゆく。したがって、相対的に画素値の高い範囲を抽出した二値化画像では輪帯の位置が光源に近付くため、度数分布のグラフ上で白画素のピークが現れる距離が基準点に近くなる。逆に、相対的に画素値の低い範囲を抽出した二値化画像では輪帯の位置が光源から遠ざかるため、相対的に画素値の高い範囲を抽出した二値化画像の場合と比べて、度数分布のグラフ上で白画素のピークが現れる距離が基準点から離れる。
【0038】
なお、
図7の比較例として、フレアが発生していない光源の度数分布図(
図8)では、複数の二値化画像のいずれでも白画素の数に明確なピークが現れず、各度数分布のグラフは平坦なものとなることが分かる。
【0039】
(B)次に、輪帯検出部202は、上記の手順(A)で求めた度数分布での抽出画素数のピークと、抽出画素のピーク区間の幅とに基づいて輪帯を検出する。
【0040】
例えば、輪帯検出部202は、各々の度数分布について、グラフのシャープ度合いを示す評価値EVを以下の式(1)により求める。そして、輪帯検出部202は、評価値EVの高さが所定の閾値を超えるときに、二値化画像から輪帯を検出できたと判定する。
EV=peak/width% …(1)
上記の「peak」は、度数分布でのピーク強度(例えば、度数分布での白画素の最大値や、最大値近傍で重心をとった位置での白画素の数)を示す値である(
図9参照)。peakの値は、ピーク位置で白画素の数が増えるほど高くなる。
【0041】
また、「width%」は、度数分布の区間全体(
図9では「α」で示す)に対して、白画素のピーク区間(
図9では「β」で示す)が占める割合(β/α)を示す値である。上記のピーク区間は、白画素のピークを隔てて白画素の数が所定値をとる2点を結んだ幅である(
図9参照)。例えば、ピーク区間としてピークの半値幅などを用いてもよい。ピークの高さが同じ条件下では、ピーク区間でのグラフの傾きが急峻であればピーク区間は狭くなるのでwidth%の値は低くなり、ピーク区間でのグラフの傾きが緩やかであればピーク区間は広くなるのでwidth%の値は高くなる。
【0042】
なお、上記の式(1)では、peakの値が高くなるほど評価値EVの値は高くなり、width%の値が低くなるほど評価値EVの値は高くなる。
【0043】
ところで、輪帯検出部202は、各々の二値化画像での輪帯の検出位置(白画素のピーク)が、白画素として抽出される画素値の高さの順に並んでいない場合には、輪帯を検出できていないと判定してもよい。例えば、輪帯検出部202は、第1の二値化画像での白画素のピークが、第2の二値化画像での白画素のピークと比べて基準点から離れている場合には、輪帯を検出できていないと判定する。上記の場合には、白画素がフレアと無関係である可能性が高いからである。
【0044】
また、上記の例では、ステップS15で取得した飽和領域の座標を基準点(Xk,Yk)とする場合を説明した。しかし、実際には飽和領域の重心と輪帯の中心とは必ずしも一致しない。そのため、輪帯検出部202は、ステップS15で取得した飽和領域の座標から基準点を平面方向にずらしてもよい。そして、輪帯検出部202は、複数の基準点でそれぞれ評価値EVを求め、評価値EVが最大値をとる位置を最終的に基準点として決定してもよい。
【0045】
ステップS19において、輪帯検出部202は、ステップS18で輪帯が検出できたか否かを判定する。輪帯が検出できた場合(ステップS19の肯定判定)には、ステップS20に処理が移行する。一方、輪帯が検出できない場合(ステップS19の否定判定)には、ステップS21に処理が移行する。
【0046】
ステップS20において、光源推定部203は、判定対象の飽和領域kがフレアを生じさせる光源であると推定する。そして、光源推定部203は、輪帯の中心に位置する飽和領域kの基準点を光源位置として保存する。このとき、光源推定部203は、飽和領域kのサイズを示す情報や、飽和領域kに対応する輪帯のサイズ(フレアの大きさ)の情報も保存する。なお、光源推定部203は、例えば、ステップS18における白画素のピークを示す距離から輪帯のサイズを算出すればよい。
【0047】
なお、ステップS18で評価値EVが最大値をとる位置を探索して基準点を決定した場合、ステップS20での輪帯検出部202は、上記の探索により決定された基準点を光源位置として保存する。
【0048】
ステップS21において、画像処理部200は、全ての飽和領域を判定対象としたか(k=imaxであるか)否かを判定する。k=imaxである場合(ステップS21の肯定判定)には、ステップS23に処理が移行する。一方、k=imaxでない場合(ステップS21の否定判定)には、ステップS22に処理が移行する。
【0049】
ステップS22において、画像処理部200は、カウンタkの値をインクリメントし(k=k+1)、ステップS18に処理を移行させる。ステップS22でkの値が更新されることにより、ループ後のS18以降の処理では、異なる飽和領域を判定対象として上記の動作が繰り返されることとなる。
【0050】
なお、上記のステップS14〜ステップS22の例では、輝度画像で輪帯を抽出する場合を説明した。しかし、画像処理部200は、さらにRGBの各チャネルを対象としてそれぞれステップS14〜ステップS22と同様の処理を行ってもよい。
【0051】
ステップS23において、フレア補正部204は、入力画像のうち、フレアが発生していると推定された光源の周囲にフレアを抑制する補正処理(フレア補正処理)を施す。例えば、フレア補正部204は、特開2012−134630号公報に開示の手法を適用してフレア補正処理を施せばよい。
【0052】
上記のフレア補正処理の概要を説明すると、フレア補正部204は、以下の手順(C)〜(E)により、フレアが発生していると推定された各々の光源を基準として、それぞれフレア補正処理を施せばよい。
【0053】
(C)第1に、フレア補正部204は、入力画像のうち、フレア補正処理を施すフレア補正範囲を設定する。例えば、フレア補正部204は、ステップS20で保存された光源位置の情報を用いて、フレア補正範囲の中心を決定する。そして、フレア補正部204は、ステップS20で保存された輪帯のサイズの情報を用いて、光源位置を中心としてフレア補正範囲の位置を設定する。上記のフレア補正範囲の形状は、円形に限定されず、例えば矩形や輪帯の相似形であってもよい。なお、フレア補正範囲は、フレアが発生していると推定された各々の光源にそれぞれ設定される。
【0054】
(D)第2に、フレア補正部204は、フレア補正範囲にフレアでの色にじみ(色フレア)が発生しているか否かを判定する。例えば、フレア補正部204は、フレア補正範囲での入力画像の平均値を色成分(RGB)毎に算出する。そして、上記の平均値の色成分間でのばらつきが所定範囲を超えている場合、フレア補正部204は、フレア補正範囲に色フレアが発生していると判定する。色フレアが発生しているフレア補正範囲には、フレア補正部204が後述の(E)の処理を行う。
【0055】
一方、上記の平均値の色成分間でのばらつきが所定範囲を超えていない場合、フレア補正部204は、フレア補正範囲に色フレアが発生していない(無色のフレアである)と判定する。なお、色フレアが発生していないフレア補正範囲には、フレア補正部204は後述の(E)の処理を行わない。なお、フレア補正部204は、色フレアが発生していないフレア補正範囲に無色の輝度フレアに対する一般的な補正処理を施してもよい。
【0056】
(E)第3に、フレア補正部204は、フレア補正範囲の各画素につき、補正すべき色成分(例えばR成分またはB成分)を他の基準色成分(例えばG成分)で除算する。これにより、フレア補正範囲内の相関色分布が生成される。そして、フレア補正部204は、フレア補正範囲の各画素において、基準色成分に相関色分布の値を乗算する。これにより、フレア補正部204は、フレア補正範囲での補正すべき色成分の補正画素値を取得できる。上記のフレア補正範囲での色成分の補正は、1つの色成分のみを対象としてもよく、2つの色成分を対象としてもよい。以上の処理によって、入力画像上で飽和領域の周囲に発生していた色フレアが抑制される。
【0057】
なお、フレア補正部204は、フレア補正範囲に対応するマスク画像にガウシアンフィルタをかけてグレースケールマスク画像を生成し、色フレアを補正した色成分についてグレースケールマスク画像との論理積をとって平滑化処理を施してもよい。上記のグレースケールマスクの適用により、フレア補正範囲の境界部分での階調変化を目立ちにくくすることができる。
【0058】
ステップS24において、画像処理部200は、入力画像をモニタ109へ再生表示させる。画像処理部200による補正が行われている場合、モニタ109には補正後の入力画像が表示される。なお、ステップS24において、ユーザから保存指示が入力された場合、画像処理部200は、補正後の画像をユーザが指示した保存先(例えば記憶装置103など)に記録する。
【0059】
ステップS25において、画像処理部200は、例えば、階調変換、ノイズ除去、輪郭強調、明度補正、彩度補正などの画像処理を含むレタッチ処理の指示をユーザから受け付けたか否か判定する。レタッチ処理の指示を受け付けた場合(ステップS25の肯定判定)には、ステップS26に処理が移行する。一方、レタッチ処理の指示を受け付けていない場合(ステップS25の否定判定)には、ステップS27に処理が移行する。
【0060】
ステップS26において、画像処理部200は、入力画像に対してユーザから指示された内容の画像処理(レタッチ処理)を施し、ステップS24に処理を移行させる。
【0061】
ステップS27において、画像処理部200は、終了指示を受け付けたか否かを判定する。終了指示を受け付けた場合(ステップS27の肯定判定)には、画像処理部200は処理を終了させる。一方、終了指示を受け付けていない場合(ステップS27の否定判定)には、ステップS24に処理が移行する。以上で、
図2の流れ図の説明を終了する。
【0062】
以下、第1実施形態での作用効果を述べる。
【0063】
第1実施形態の画像処理部200は、複数の二値化画像を用いて、入力画像に含まれる輪帯を検出する(S16〜S18)。そして、画像処理部200は、検出された輪帯の位置からフレアを生じさせる光源位置を推定し(S20)、推定された光源位置を基準として設定されたフレア補正範囲にフレア補正処理を行う(S23)。これにより、画像処理部200は、輪帯がなくフレアの発生していない飽和領域に対して不要なフレア補正が行われることを防止できる。また、画像処理部200は、入力画像の画素値の情報からフレアの発生箇所を特定できるので、撮影光学系の結像特性を示す情報が利用できない環境でも、フレアの補正を精度よく行うことが可能となる。
【0064】
また、画像処理部200は、二値化画像を生成するときに閾値上限および閾値下限の組み合わせを変化させて、それぞれ抽出する白画素の範囲が異なる複数の二値化画像(
図6)を用いて輪帯を検出する(S16〜S18)。これにより、画像処理部200は、入力画像に含まれる輪帯の形状を明確に抽出できるので、フレアが発生している光源を容易に推定できる。
【0065】
また、画像処理部200は、二値化画像での飽和領域からの距離と、二値化画像の白画素数との相関を示す度数分布を求め、度数分布での白画素のピークの高さと、ピークの幅とに基づいて輪帯を検出する(S18)。これにより、画像処理部200は、各々の二値化画像で輪帯の位置を明確に抽出できる。
【0066】
また、画像処理部200は、フレア補正処理(S23)により、入力画像の光源の周囲に生じる色フレアを補正する。上記の処理により、例えば、回折光学素子を含む撮影光学系で撮影された画像では、回折光学素子による不自然な色フレアを除去できるので、画像の見栄えを向上させることができる。
【0067】
<第2実施形態の説明>
図10は、本件開示の撮像装置の一例である第2実施形態の電子カメラの構成例を示す図である。なお、第2実施形態において、第1実施形態と同一または同様の構成には同じ符号を付して説明を省略する。
【0068】
電子カメラ300は、レンズユニット301と、撮像部302と、カメラマイコン303と、第1メモリ304と、第2メモリ305と、各種の画像を表示する表示デバイスを含む表示部306と、メディアI/F307と、ユーザからの操作を受け付ける操作部308とを有する。ここで、撮像部302、第1メモリ304、第2メモリ305、表示部306、メディアI/F307、操作部308は、それぞれカメラマイコン303に接続されている。
【0069】
レンズユニット301は、電子カメラ300に着脱可能であり、例えば、回折光学素子などの複数のレンズを含む撮影光学系309を有している。撮影光学系309のレンズ構成等を示すレンズ情報は、電子カメラ300とレンズユニット301とのマウント(不図示)を介してカメラマイコン303に入力される。なお、
図10では、撮影光学系309を1枚のレンズで示している。
【0070】
撮像部302は、撮影光学系309を介して入射された光束による被写体の結像を撮像(撮影)するモジュールである。例えば、撮像部302は、光電変換を行う撮像素子と、撮像素子の出力にアナログ信号処理やA/D変換処理などを施す信号処理回路とを含んでいる。なお、上記の撮像素子の画素には、例えば公知のベイヤ配列に従ってRGBのカラーフィルタが配置されており、カラーフィルタでの色分解によって各色に対応する画像信号を出力する。これにより、撮像部302は、撮影時に例えばRGBのカラー画像を取得できる。
【0071】
カメラマイコン303は、電子カメラ300の動作を統括的に制御するプロセッサである。例えば、カメラマイコン303は、撮像部302での撮影制御、自動露出制御、表示部306での画像の表示制御、メディアI/F307での画像の記録制御を行う。また、第2実施形態でのカメラマイコン303は、本件開示の画像処理装置の一例である画像処理部200を有している。第2実施形態においても、画像処理部200は、画像生成部201、輪帯検出部202、光源推定部203、フレア補正部204をそれぞれ有している。なお、
図10に示す画像処理部200は、メモリにロードされた画像処理プログラムによって実現されてもよく、任意のプロセッサ、メモリ、電子回路によってハードウェア的に実現されてもよい。
【0072】
第1メモリ304は、画像処理の前工程や後工程で撮像した画像のデータを一時的に記憶するバッファメモリである。例えば、第1メモリ304は、揮発性の半導体メモリである。第2メモリ305は、カメラマイコン303で処理されるプログラムや、プログラムで使用される各種データを記憶するメモリである。例えば、第2メモリ305は、フラッシュメモリ等の不揮発性メモリである。
【0073】
メディアI/F306は、不揮発性の記憶媒体310を接続するためのコネクタを有している。そして、メディアI/F306は、コネクタに接続された記憶媒体310に対してデータ(記録用画像)の書き込み/読み込みを実行する。記憶媒体310は、例えば、ハードディスクや、半導体メモリを内蔵したメモリカードである。
【0074】
図11は、第2実施形態での電子カメラの動作例を示す流れ図である。
図11の例では、電子カメラ300が撮影直後に画像にフレア補正処理を施す場合を説明する。
図11の例では、
図2に示すステップS11、S12がそれぞれステップS11’、S12’に置き換わる。また、
図11の例では、
図2に示すステップS24以降の処理がステップS31に置き換わる。なお、
図11のステップS13〜S23の処理は、
図2の場合と同様であるので重複説明を省略する。
【0075】
ステップS11’において、カメラマイコン303は、撮像部302を駆動させて被写体の像を撮影する。撮像部302で撮影された撮影画像のデータは、カメラマイコン303に入力される。これにより、カメラマイコン303は、フレア補正処理の対象となる入力画像を撮像部302から取得する。
【0076】
ステップS12’において、画像処理部200は、入力画像にフレア補正処理を施すフレア補正モードであるか否かを判定する。一例として、ユーザがフレア補正モードの設定をオンにしている場合や、レンズユニット301のレンズ情報を参照して、装着中のレンズユニット301が回折光学素子を有している場合に、画像処理部200は、フレア補正モードであると判定する。
【0077】
フレア補正モードである場合(ステップS12’の肯定判定)には、
図11のステップS13に処理が移行する。一方、フレア補正モードではない場合(ステップS12’の否定判定)には、
図11のステップS31に処理が移行する。
【0078】
ステップS31において、カメラマイコン303は、メディアI/F307を介して撮影画像のデータを記憶媒体310に記録する。以上で、
図11の流れ図の説明を終了する。
【0079】
なお、第2実施形態において、メディアI/F307を介して取得した撮影画像のデータを対象として、画像処理部200が後処理工程でフレア補正処理を行うこともできる。上記の場合の処理は、第1実施形態で説明した
図2の処理と同様となるので説明は省略する。
【0080】
以上のように、第2実施形態の電子カメラにおいても、第1実施形態の構成と同様の効果を得ることができる。
【0081】
<実施形態の補足事項>
(1)上記の実施形態では、入力画像から二値化画像を生成する例を説明した。しかし、本件開示の構成では、入力画像の代わりに、入力画像を間引きまたは低解像度化した縮小画像を用いてもよい。縮小画像を用いる場合には、演算処理を行う画素数が少なくなるので、演算負荷を低下させることができる。
【0082】
また、本件開示の構成では、入力画像の代わりに、入力画像を平滑化した平滑化画像を用いてもよい。平滑化画像を用いる場合には、例えば、細かい輝点やノイズによる白点が除去されるので、フレアを生じさせる光源の推定をより精度よく行うことができる。
【0083】
なお、本件開示の構成では、入力画像の代わりに、平滑化処理を施した縮小画像を用いてもよい。上記の場合、平滑化処理と縮小画像を生成する処理の順番は適宜入れ替えることができる。
【0084】
(2)上記の実施形態ではカラー画像の輝度成分を用いて輪帯を検出する例を説明した。しかし、本件開示の構成では、入力画像のG成分を輝度成分とみなして、G成分の二値化画像から輪帯を検出してもよい。
【0085】
(3)上記の実施形態で説明したフレア補正処理はあくまで一例にすぎず、本件開示の構成が他の手法によりフレアの補正を行うものであってもよい。例えば、色フレアの補正のときに、フレア補正範囲の彩度を低下させる処理を行ってもよい。なお、本件開示の構成によるフレアの光源位置の推定は、回折光学素子による色フレアに限定されず、他のフレアの光源位置の推定にも適用できる。
【0086】
(4)上記の第2実施形態ではレンズ交換式の電子カメラの構成例を説明した。しかし、本件開示の撮像装置は、レンズ一体型の電子カメラであってもよい。また、本件開示の撮像装置は、例えば、携帯電子機器(スマートフォン、携帯電話、タブレットコンピュータ等)に組み込まれるカメラモジュールであってもよい。
【0087】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。