第1実施形態
図1は、本発明の一実施形態に係る画像処理装置を備えるカメラ10の概略図である。カメラ10は、光学系16等が備えられるレンズ鏡筒部14と、撮像素子22等が備えられるカメラ本体部12を含む。本実施形態では、画像処理装置を備える機器として、レンズ鏡筒部14がカメラ本体部12に着脱自在に取り付けられるレンズ交換式カメラを例に説明するが、本実施形態に係る画像処理装置が備えられる機器はこれに限定されない。例えば、レンズ鏡筒部14とカメラ本体部12が一体であるカメラや、ビデオカメラ、携帯電話、画像データ等を処理できるPC(パーソナルコンピュータ)等であってもよい。
図1に示すカメラ本体部12には、シャッター18、光学フィルタ20および撮像素子22等が備えられる。シャッター18は、光学系16から撮像素子22へ向かう撮影光を遮蔽および通過させることによって、露光時間を調整する。また、光学フィルタ20は、撮像に際して偽色(色モアレ)等の発生を防止する光学ローパスフィルタ等によって構成される。
撮像素子22は、光学系16によって導かれた光を光電変換することによって、画像データを取得することができる。しかしながら、図1に示すように、撮影光の光路上にあって撮影光を透過する光学フィルタ20等の部材にゴミ等の異物24が付着している場合、撮像素子22によって取得される画像データのなかに、ゴミ等の異物24の影響を受けた画素が含まれる場合がある。異物24の影響を受けた画素としては、例えば、異物24によって撮影光の透過が阻害された結果、色(明度等)が、本来の撮影光の色から変化した画素等が含まれる。本実施形態にかかるカメラ10は、後述のように、異物24の影響を受けた画素を検出する画像処理を行うことができる。また、カメラ10は、後述のように、異物24の影響を受けた画素を含む撮影画像について、異物24の影響を軽減もしくは除去する画像処理を行うことができる。
図2は、図1に示すカメラ10に備えられる画像処理装置の構成を示す概略ブロック図である。カメラ10は、図1に示す撮像素子22等を含む撮影部26と、撮影部26等で撮影された撮影画像に対して画像処理を行う画像処理装置を含む。カメラ10に搭載される画像処理装置は、画像変換部115、画像入力部28、記憶部30、操作信号入力部32、撮影条件信号入力部34、表示部36および演算部38等を含む。
画像入力部28には、撮影部26で撮影された撮影画像が、画像データの形で入力される。撮影画像は、例えばRGBデータ等であるが、撮影画像のデータ形式は特に限定されない。画像入力部28は、入力された撮影画像を、演算部38に出力する。演算部38は、画像入力部28を介して入力された撮影画像について、画像処理を行う。なお、画像入力部28には、撮影部26で撮影された撮影画像だけでなく、その他の撮影装置で撮影された撮影画像が入力されてもよい。また、演算部38が画像処理を行う撮影画像としては、撮影部26で撮影された撮影画像に限られず、その他の撮影装置で撮影された撮影画像を含む。
さらに、画像入力部28には、光学系16による像を光電変換して得られた撮影画像だけでなく、画像変換部115によって、撮影画像にγ補正等を施した画像処理済みの撮影画像も入力される。画像変換部115は、例えば、光学系16による像を光電変換して得られた撮影画像に対して、γ補正等の画像処理や、保存形式の変更や、データの圧縮処理等を施す。これにより、画像変換部115は、撮影画像が液晶等の表示装置に表示された際に、より鮮やかに表示されたり、より自然な色合いに表示されるように、撮影画像を補正することができる。また、画像変換部115が撮影画像を圧縮することによって、カメラ10は、不図示のメモリカード等に、より多くの撮影画像を保存させることができる。撮影画像変換部115が撮影画像に対して施す画像処理には、線形補正と、非線形補正が含まれる。
演算部38は、情報算出部46、異物判断部48および異物画像補正部50を含む。情報算出部46は、撮影画像を分析し、撮影画像の色等に関するデータを算出することができる。異物判断部48は、情報算出部46で算出されたデータを用いて、所定の検出領域が、撮影画像に写りこんだゴミ等の異物に対応する部分であるか否かを判断することができる。さらに、異物画像補正部50は、異物判断部48による判断に基づいて、撮影画像に写りこんだ異物に対応する部分を特定し、異物の影響を低減する画像処理を、撮影画像に対して施すことができる。また、異物画像補正部50は、情報算出部46で算出されたデータを用いて、異物の影響を低減する画像処理を行うことができる。
情報算出部46は、明るさ情報算出部54と、彩度情報算出部56と、色相情報算出部58と、明るさ勾配情報算出部60と、領域算出部62を有する。情報算出部46に含まれる各算出部54,56,58,60,62は、撮影画像に対して演算処理を行い、算出部54,56,58,60,62ごとに異なるデータを算出する。
明るさ情報算出部54は、撮影画像の明るさに対応する明るさ情報を算出する。明るさ情報算出部54が算出する明るさ情報は、撮影画像の輝度情報であってもよく、撮影画像の明度情報であっても良く、輝度情報と明度情報の両方であってもよい。
明るさ情報算出部54は、例えば以下の式(1)を用いて、撮影画像における各画素のRGB値から各画素の輝度値Yを算出する。
また、明るさ情報算出部54は、画素の輝度値Yから、撮影画像に対応する輝度平面を生成する。したがって、明るさ情報算出部54が算出する輝度情報は、各画素の輝度値Yや、各画素の位置および輝度値Yによって構成される輝度平面を含む。
明るさ情報算出部54は、輝度情報の代わりに、あるいは輝度情報とあわせて、明度情報を算出してもよい。明度情報は、RGBデータをHSV変換することによって得られる。HSV変換は、RGBデータを色相(Hue)、彩度(Saturation)および明度(Value)に変換するものである。撮影画像における各画素の明度値V、色相値H、および彩度値Sは、各画素のRGB値から、以下の式(2−1)〜式(2−10)によって求めることができる。
なお、式(2−3)〜(2−5)で変換された結果、H<0の時には、Hに2πを加える。また、Vmax=0の時は、S=0,H=不定となる。
明るさ情報算出部54は、上記の式(2−1)および(2−6)を用いて、撮影画像における各画素のRGB値から各画素の明度値Vを算出する。また、明るさ情報算出部54は、画素の明度値Vから、撮影画像平面に対応する明度平面を生成する。したがって、明るさ情報算出部54が算出する明度情報は、各画素の明度値Vや、各画素の位置および明度値Vによって構成される明度平面を含む。
彩度情報算出部56は、撮影画像の彩度に対応する彩度情報を算出する。彩度情報算出部56は、例えば上記の式(2−2)、(2−6)および(2−7)を用いて、撮影画像における各画素のRGB値から、各画素の彩度値Sを算出する。また、彩度情報算出部56は、画素の彩度値Sから、撮影画像平面に対応する彩度平面を生成する。したがって、彩度情報算出部56が算出する彩度情報は、各画素の彩度値Sや、各画素の位置および彩度値Sによって構成される彩度平面を含む。
色相情報算出部58は、撮影画像の色相に対応する色相情報を算出する。色相情報算出部58は、例えば上記の式(2−3)〜(2−5)および(2−6)〜(2−10)を用いて、撮影画像における各画素のRGB値から、各画素の色相値Hを算出する。また、色相情報算出部58は、画素の色相値Hから、撮影画像平面に対応する色相平面を生成する。したがって、色相情報算出部58が算出する色相情報は、各画素の色相値Hや、各画素の位置および色相値Hによって構成される色相平面を含む。
明るさ勾配情報算出部60は、明るさ情報算出部54で算出された輝度平面や明度平面から、撮影画像の明るさの勾配に対応する明るさ勾配情報を算出する。明るさ勾配情報算出部60で算出される明るさ勾配情報としては、輝度勾配情報や明度勾配情報が挙げられる。
この場合、明るさ勾配情報算出部60は、逆γ補正部40によって逆γ補正された輝度平面や明度平面から、明るさ勾配情報を算出することが好ましい。撮影画像は、表示装置等にあわせてγ補正された状態で保存されていることが多いため、画像入力部28を介して演算部38に入力される撮影画像についても、γ補正が施されている可能性が高い。したがって、逆γ補正部40が輝度平面や明度平面を逆γ補正することによって、これらの明るさ情報を、RAWデータが有する本来の明るさ情報に近づけることが可能である。
逆γ補正前の輝度平面および明度平面をYP1,VP1とし、逆γ補正後の輝度平面および明度平面をYP2,VP2とすると、逆γ補正部40で行われる逆γ補正は、以下の式(3−1),(3−2)で表される。
明るさ勾配情報算出部60は、例えば明度平面VP2から、撮影画像内の各位置(画素)における明度勾配値Vgrad(i,j)を算出する。明るさ勾配情報算出部60は、明度平面VP2に対して、縦方向、横方向の微分フィルタをかけ、縦方向の差分Δyf(i,j)および横方向の差分Δxf(i,j)を算出し、算出された差分を用いて、各位置の明度勾配値Vgrad(i,j)を算出する。明度平面VP2に含まれる各画素の明度値VをV(i,j)とすると、明度勾配値Vgrad(i,j)は、以下の式(4−1)〜(4−3)によって算出される。
なお、式(4−1)〜(4−3)におけるiは、画素の横方向の位置を表しており、jは、画素の縦方向の位置を表している。明るさ勾配情報算出部60は、各位置の明度勾配値Vgrad(i,j)から、撮影画像平面に対応する明度勾配平面を生成する。したがって、明るさ勾配情報算出部60が算出する明度勾配情報には、明度勾配値Vgrad(i,j)や明度勾配平面が含まれる。
また、明るさ勾配情報算出部60は、明度勾配情報に代えて、あるいは明度勾配情報に加えて、輝度平面YP2から、輝度勾配情報を算出することができる。輝度勾配情報には、輝度勾配値Ygrad(i,j)や輝度勾配平面が含まれる。輝度勾配情報の算出方法は、上述した明度勾配情報と同様である。
領域算出部62は、異物が写りこんでいるか否かを検出するための検出領域を算出する。領域算出部62は、例えば明るさ勾配情報算出部60で算出された明るさ勾配情報を用いて、検出領域を算出することができる。
検出領域は、撮影画像の一部であれば特に限定されないが、異物が写りこんでいる可能性が高い領域を、検出領域とすることが好ましい。ここで、明るさ勾配情報算出部60において算出された明度勾配平面において、被写体エッジに相当する部分や異物が写りこんでいる部分は、明度勾配値Vgrad(i,j)が相対的に大きい傾向にある。それに対して、空や被写体の内部などに対応する部分は、明度勾配値Vgrad(i,j)が相対的に小さい傾向にある。
そこで、本実施形態に係る領域算出部62は、明度勾配平面を二値化した二値化画像を算出し、明度勾配値Vgrad(i,j)が高い画素が連結している連結領域を、検出領域とすることができる。すなわち、領域算出部62は、明度勾配平面に対して所定の閾値を設定し、その閾値より高い明度勾配値を有する画素の値を「1」に置き換え、その閾値より低い明度勾配値を有する画素の値を「0」に置き換えることによって、二値化画像を算出する。
さらに、領域算出部62は、算出された二値化画像から、値が「1」である画素を抽出し、値が「1」である画素を検出領域とする。領域算出部62は、値が「1」である画素同士が連結していれば、それらの画素の集まりを、一つの検出領域として特定する。反対に、領域算出部62は、値が「1」である1つの画素集合が、値が「1」である他の画素集合に対して、値が「1」である画素によって連結されていなければ、これらの2つの領域を、別の検出領域として特定する。
領域算出部62は、上述のように、明度勾配平面から検出領域を算出してもよいが、それ以外にも、明るさ情報算出部54で算出された輝度勾配平面から、検出領域を算出することもできる。領域算出部62は、明度勾配平面と同様に、輝度勾配平面から二値化画像を算出することによって、検出領域を算出することができる。
異物判断部48は、情報算出部46で算出された各情報を用いて、それぞれの検出領域が、撮影画像に写りこんだ異物に対応する部分であるか否かを判断する。異物判断部48は、第1判断部64、第2判断部66、第3判断部68および第4判断部70を含む。第1〜第4判断部64〜70は、互いに異なる判断基準を用いて、判断の対象となっている検出領域が、撮影画像に写りこんだ異物に対応する部分であるか否かを判断する。
第1判断部64は、判断の対象となっている検出領域の大きさに基づいて、その検出領域が、画像に写りこんだ異物に対応する部分であるか否かを判断する。本実施形態に係る画像処理装置において、異物判断部48における判断の対象となる検出領域およびその大きさは、明るさ勾配情報算出部60で算出された明るさ勾配情報を用いて、領域算出部62で算出される。したがって、例えば領域算出部62が輝度勾配平面から検出領域を算出している場合、第1判断部64は、各画素の輝度勾配値等の情報を用いて判断を行う。また、領域算出部62が明度勾配平面から検出領域を算出している場合、第1判断部64は、各画素の明度勾配値等の情報を用いて判断を行う。
第1判断部64は、領域算出部62で算出された検出領域の大きさが所定の範囲であれば、その検出領域は画像に写りこんだ異物に対応する部分であると、判断することができる。また、第1判断部64は、領域算出部62で算出された検出領域の大きさが、所定の範囲を超えて大きいか、あるいは所定の範囲より小さければ、その検出領域は画像に写りこんだ異物に対応する部分ではないと、判断することができる。
第1判断部64において異物が写りこんだ領域であると判定される大きさの範囲は、撮影画像の大きさや撮影条件等に応じて設定されるが、例えば下限値は25画素、上限値は300画素とすることができる。
第2判断部66は、検出領域の彩度に対応する彩度情報を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断する。第2判断部66は、彩度情報算出部56で算出された彩度値S、および彩度平面を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断する。本実施形態に係る第2判断部66は、検出領域の彩度に対応する第1彩度情報と、検出領域の周辺の領域の彩度に対応する第2彩度情報との差異を調査する。第2判断部66は、第1彩度情報と第2彩度情報との差異が予め定められた範囲にあるとき、判断の対象となっている検出領域が異物に対応する部分であると判断する。また、第2判断部66は、第1彩度情報と第2彩度情報との差異が予め定められた範囲でないとき、判断の対象となっている検出領域が異物に対応する部分でないと判断してもよい。
ここで、第1彩度情報は、例えば、検出領域に含まれる画素の彩度値Sの平均値とすることができる。また、第2彩度情報は、検出領域の周辺の領域の画素の彩度値Sの平均値とすることができる。なお、検出領域の周辺の領域は、例えば、検出領域の周辺を当該検出領域の外周に接触しながら取り囲む領域であって、検出領域と同程度の面積を有する領域であると規定することができる。
第2判断部66が、判断の対象となる検出領域を、異物が写りこんだ領域であると判断する数値範囲は特に限定されない。また、異物が写りこんだ領域であると判断する数値範囲は、彩度値Sの差の大きさ(絶対値)で規定されていてもよく、第1彩度情報と第2彩度情報の値の比で規定されていてもよい。
例えば、第2判断部66は、検出領域に含まれる画素の彩度値Sの平均値S1が、検出領域の周辺の領域の画素の彩度値Sの平均値S2の0.95〜2倍である場合に、判断の対象となる検出領域を異物が写りこんだ領域であると判断する。ゴミではなく、被写体として画像に写っている像は、彩度情報に強く情報を残し、その反対に、異物が写りこんだ像は、彩度にほとんど影響を残さないからである。したがって、検出領域にゴミが写りこんでいなければ、第1彩度情報と第2彩度情報の差異は大きく、その反対に、検出領域にゴミが写りこんでいれば、第1彩度情報と第2彩度情報の差異は小さい。
第2判断部66は、上述のように彩度情報を用いて判断を行うだけでなく、それに加えて、検出領域の明るさに対応する明るさ情報を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断してもよい。明るさ情報を用いて判断を行う場合、第2判断部66は、明るさ情報算出部54で算出された明度値V、および明度平面を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断することができる。また、第2判断部66は、明るさ情報算出部54で算出された輝度値Y、および輝度平面を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断してもよい。
本実施形態に係る第2判断部66は、例えば、検出領域の明度に対応する第1明度情報と、検出領域の周辺の領域の明度に対応する第2明度情報との差異を調査する。第2判断部66は、第1明度情報と第2明度情報との差異が予め定められた範囲にないとき、判断の対象となっている検出領域が異物に対応する部分であると判断する。
ここで、第1明度情報は、例えば、検出領域に含まれる画素の明度値Vの平均値とすることができる。また、第2明度情報は、検出領域の周辺の領域の画素の明度値Vの平均値とすることができる。例えば、第2判断部66は、検出領域に含まれる画素の明度値Vの平均値V1が、検出領域の周辺の領域の画素の明度値Vの平均値V2の0.975倍未満である場合に、判断の対象となる検出領域を異物が写りこんだ領域であると判断する。異物の写りこみは、彩度や色相にほとんど影響を残さないが、明るさに強く情報を残すからである。
さらに、第2判断部66は、彩度情報を用いた判断に加えて、検出領域の色相に対応する色相情報を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断してもよい。色相情報を用いて判断を行う場合、第2判断部66は、色相情報算出部58で算出された色相値H、および色相平面を用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断することができる。
本実施形態に係る第2判断部66は、例えば、検出領域の色相に対応する第1色相情報と、検出領域の周辺の領域の色相に対応する第2色相情報との差異を調査する。第2判断部66は、第1色相情報と第2色相情報との差異が予め定められた範囲であるとき、判断の対象となっている検出領域が異物に対応する部分であると判断する。
ここで、第1色相情報は、例えば、検出領域に含まれる画素の色相値Hの平均値とすることができる。また、第2色相情報は、検出領域の周辺の領域の画素の色相値Hの平均値とすることができる。例えば、第2判断部66は、検出領域に含まれる画素の色相値Hの平均値H1が、検出領域の周辺の領域の画素の色相値Hの平均値H2の0.94〜1.06倍である場合に、判断の対象となる検出領域を異物が写りこんだ領域であると判断する。ゴミではなく、被写体として画像に写っている像は、色相情報に強く情報を残し、その反対に、異物が写りこんだ像は、色相にほとんど影響を残さないからである。
第3判断部68は、検出領域の周辺の領域の明るさに対応する第2明度情報等が、予め定められた範囲でないとき、判断の対象となっている検出領域が異物に対応する部分でないと判断する。また、第3判断部68は、検出領域の周辺の領域の明度に対応する第2明度情報が、予め定められた範囲にあるとき、判断の対象となっている検出領域が異物に対応する部分であると判断する。第3判断部68が用いる明るさ情報としては、検出領域の周辺の領域の画素の明度値Vの平均値である第2明度情報や、検出領域の周辺の領域の画素の輝度値Yの平均値である第2輝度情報等が挙げられる。
例えば、第3判断部68は、検出領域の周辺の領域に含まれる画素の明度値Vの平均値V2が、60以下である場合には、前記検出領域が異物に対応する部分でないと判断する。検出領域の周辺の領域の明るさが所定の値より低い場合は、たとえ検出領域に異物が写りこんでいたとしても、異物の写りこみが画像に与える影響が小さいと考えられるからである。
第4判断部70は、検出領域の周辺の領域における明るさの標準偏差が、予め定められた範囲でないとき、判断の対象となっている検出領域が異物に対応する部分でないと判断する。また、第4判断部70は、検出領域の周辺の領域における明るさの標準偏差が、予め定められた範囲であるとき、判断の対象となっている検出領域が異物に対応する部分でないと判断する。ここで、検出領域の周辺の領域における明るさの標準偏差としては、検出領域の周辺の領域の画素の明度値Vの標準偏差や、検出領域の周辺の領域の画素の輝度値Yの標準偏差が挙げられる。
例えば、第4判断部70は、検出領域の周辺の領域に含まれる画素の明度値V(i,j)と、検出領域の周辺の領域に含まれる画素の明度値V(i,j)の平均値V2から、検出領域の周辺の領域における明るさの標準偏差Vstdを、以下の式(5)を用いて算出する。
なお、式(5)におけるnは、検出領域の周辺の領域に含まれる画素数である。第4判断部70において、検出領域に異物が写りこんでいるか否かを判断するための閾値は、撮影画像の撮影条件によって適宜設定される。例えば、第4判断部70は、検出領域の周辺の領域における明るさの標準偏差Vstdが、0.6以上である場合は、その検出領域は画像に写りこんだ異物に対応する部分ではないと、判断することができる。検出領域の周辺の領域における明るさの標準偏差が大きい場合は、検出領域における高い明度勾配値または輝度勾配値が、異物の写りこみによるものではなく、被写体光によるものである可能性が高いからである。
第4判断部70は、検出領域の周辺の領域に含まれる画素の輝度値Yから、検出領域の周辺の領域における明るさの標準偏差を算出しても良い。第4判断部70は、輝度情報から算出した標準偏差を用いた場合でも、明度情報から標準偏差を算出した場合と同様に、判断の対象となっている検出領域が異物に対応する部分であるか否かを判断することができる。
上述のように、異物判断部48に含まれる第1〜第4判断部64〜70は、それぞれ独立に、判断の対象となる検出領域が画像に写りこんだ異物に対応する部分であるか否かを判断することができる。異物判断部48は、第1〜第4判断部64〜70の判断結果を、すべて検出修正部44および異物画像補正部50に出力することができる。また、異物判断部48は、第1〜第4判断部64〜70の判断結果を用いて、各検出領域に異物が写りこんでいるか否かを総合的に判断し、総合的な判断結果を、検出修正部44および異物画像補正部50に出力してもよい。
例えば、異物判断部48は、1以上の第1〜第4判断部64〜70が、判断の対象となっている検出領域は異物に対応する部分でないと判断した場合は、判断の対象となっている検出領域は異物に対応する部分でないという総合判断を行う。あるいは、異物判断部48は、すべての第1〜第4判断部64〜70が、判断の対象となっている検出領域が異物に対応する部分であると判断した場合は、判断の対象となっている検出領域が異物に対応する部分であるという総合判断を行う。
異物画像補正部50は、異物判断部48での判断結果や、情報算出部46で算出されたデータを用いて、撮影画像に写りこんだ異物に対応する部分に対して、異物の影響を低減する補正を行う。また、異物画像補正部50は、異物判断部48での判断結果の代わりに、検出修正部44によって修正された判断結果である修正結果に基づき、撮影画像から異物の影響を低減する補正を行っても良い。
検出修正部44は、操作信号入力部32を介して演算部38に入力された操作信号に応じて、異物判断部48の判断を修正することができる。例えば、検出修正部44は、異物判断部48の第1〜第4判断部64〜70で使用される閾値のうち、少なくとも一つを、操作信号に応じて変更する。これにより、検出修正部44は、検出領域が異物に対応する部分であるか否かを再判断し、異物判断部48の判断を修正できる。
図5は、検出修正部44による判断の修正過程を表した概念図である。図5は、領域算出部62で算出された検出領域を、検出領域の大きさと、検出領域内外の明度比(第1明度情報と第2明度情報の比)とに応じてプロットしたものである。図5における丸印98および三角印96は、それぞれ1つの検出領域に対応する。なお、丸印98は、検出修正部44によって異物に対応する部分であると再判断される検出領域に対応している。また、三角印96は、検出修正部44によって異物に対応する部分でないと再判断される検出領域に対応している。
図5に示す例では、図2に示す検出修正部44が、第1判断部64で行われた判断(検出領域の大きさによる判断)と、第2判断部66で行われた判断(検出領域の明度と検出領域の周辺の領域の明度との差異に基づく判断)とを修正する。検出修正部44は、操作信号に基づいて、検出領域の大きさに関する閾値C1や、検出領域内外の明度比に関する閾値C2を変更することができる。検出領域の大きさに関する閾値C1や、検出領域内外の明度比に関する閾値C2が、検出感度に大きな影響を有するからである。
ここで、図5において三角印96および丸印98で表される検出領域は、矢印111で示す左上方向にプロットされているものほど、撮影画像により顕著な影響を与えている異物に対応する部分であると考えられる。なぜなら、検出領域が大きく、かつ、周辺領域に対する明度の差異が大きい(明度比(第1明度情報/第2明度情報)が小さい)検出領域ほど、目立ち易いからである。反対に、矢印113で示す右下方向にプロットされている検出領域ほど、撮影画像に与える影響が少ないと考えられる。異物と判断される検出領域の大きさが小さく、周辺領域に対する明度の差異が小さいものほど、目立ちにくいからである。
図2に示す検出修正部44は、入力部32からの操作信号に応じて図5に示す閾値C1を増加させる方向に変化させることによって、閾値C1より大きい検出領域のみを異物に対応する部分であると再判断し、異物の誤検出を低下させることができる。その反対に、検出修正部44は、入力部32からの操作信号に応じて図5に示す閾値C1を減少させる方向に変化させることによって、異物の検出もれを低下させることができる。また、検出修正部44は、操作信号に応じて閾値C2を増減させることによって、閾値C1の場合と同様に、検出感度を調整することができる。
検出修正部44は、閾値C1と閾値C2の値を独立に変化させてもよいが、例えば閾値C1および閾値C2を変数とする所定の関数(一次関数等)を用いて、閾値C1と閾値C2とを1つのパラメータに従って変化させてもよい。検出修正部44が変更する閾値は、検出領域の大きさに関する閾値C1や、検出領域内外の明度比に関する閾値C2に限定されない。
例えば、検出修正部44が変更する閾値は、第2判断部66の彩度値Sに関する閾値や、第2判断部66の輝度値Yに関する閾値や、第2判断部66の色相値Hに関する閾値や、第3判断部68における周辺領域の明度値Vに関する閾値や、第4判断部70における周辺領域の明るさの標準偏差Vstdに関する閾値であってもよい。また、検出修正部44は、領域算出部62における明度勾配値Vgrad(i,j)に関する閾値を変更することによって、情報算出部46および異物判断部48における算出結果および判断結果を変更してもよい。検出修正部44は、これらの閾値を変更して異物判断部48での判断結果を修正する。これによって、本実施形態に係る画像処理装置は、使用者の好みに合わせた異物検出を行うことができる。
検出修正部44は、撮影画像に重ねて、異物判断部48での判断結果や、検出修正部44によって異物に対応する部分であると再判断される検出領域の位置を、表示部36に表示させてもよい。これによってカメラ10の使用者は、画像処理装置による異物の検出感度を視覚的に認識しながら、好みに応じた判断修正を、検出修正部44に実施させることができる。また、検出修正部44には、検出領域が異物に対応する部分であるか否かの判断を、撮影画像における検出領域の位置を使用者が直接指定して修正する操作信号が、入力されてもよい。これにより、検出修正部44は、より使用者の好みに応じた判断修正を行うことができる。
また、検出修正部44は、修正した判断基準である修正判断基準や、図5に示すような検出領域のデータに検出修正部44の判断を対応させたデータ(異物マップ)を、記憶部30に出力しても良い。修正判断基準には、上述の閾値C1と閾値C2の値が含まれる。また、検出領域のデータに検出修正部44の判断結果を対応させたデータは、図5に示すような検出領域の分類と、検出領域の大きさや明度比の値と、検出領域の位置が含まれる。記憶部30は、検出修正部44によって修正された修正判断基準や、検出領域のデータを記憶し、必要に応じて、判断基準変更部42に出力することができる。
判断基準変更部42は、修正判断基準に基づき、異物判断部48における第1〜第4判断部64〜68が判断を行う際の判断基準である初期判断基準を、変更することができる。判断基準変更部42は、異物判断部48の初期判断基準を、修正判断基準に近づけるように、変更することができる。
初期判断基準は、検出修正部44の修正前において異物判断部48が行う判断に関する判断基準である。修正判断基準は、検出修正部44よる修正判断の際に用いられた判断基準である。したがって、判断基準変更部42は、異物判断部48の初期判断基準を、カメラ10の使用者の好みに近づけることができる。これにより、本実施形態に係る画像処理装置は、使用者の好みに応じた異物検出を効率的に行うことができる。なお、判断基準変更部42は、記憶部30に記憶された複数の修正判断基準の平均値を算出し、修正判断基準の平均値に基づいて、異物判断部48の初期判断基準を、変更してもよい。
また、判断基準変更部42は、検出領域のデータに検出修正部44の判断結果を対応させたデータを、複数回の判断にわたって蓄積した蓄積データを用いて、異物判断部48の初期判断基準を変更してもよい。例えば、判断基準変更部42は、異物に対応する部分であると判断された検出領域(図5の丸印98)の割合が、異物に対応する部分でないと判断された検出領域(図5の三角印96)の割合より大きい範囲を、異物マップの蓄積データから算出する。そして、判断基準変更部42は、異物マップの蓄積データから算出された範囲に基づいて、異物判断部48の初期判断基準を変更する。これにより、判断基準変更部42は、異物判断部48の初期判断基準を、カメラ10の使用者の好みに近づけることができる。
異物画像補正部50は、異物判断部48での判断や、検出修正部44によって修正された判断に基づき、撮影画像に写りこんだ異物に対応する部分に対して、異物の影響を低減する画像補正を行う。本実施形態に係る異物画像補正部50は、第1画像補正部74と、第2画像補正部76と、第3画像補正部78とを有する。
第1画像補正部74は、明るさ情報算出部54で算出された明度情報を用いて、撮影画像に写りこんだ異物に対応する部分に対して、当該異物の影響を低減する第1補正を行うことができる。第1画像補正部74は、明るさ情報算出部54で算出された各画素の明度値Vおよび明度平面を用いて、第1画像補正を行う。
第1画像補正部74は、局所的な明度値Vの規格化(正規化)処理を行って、補正対象となる検出領域について、明度透過率信号VT(i,j)を算出し、補正対象となる検出領域についての明度透過率マップ(明度ゲインマップ)を生成する。ここで、第1画像補正部74において補正対象となる検出領域は、異物判断部48または検出修正部44において、異物に対応する部分であると判断された検出領域である。
明度透過率信号VT(i,j)は、検出領域における着目画素(i,j)の明度値V(i,j)と、着目画素(i,j)を含む局所範囲の明度値の平均値との相対比を演算することによって算出される。本実施形態における第1画像補正部74は、以下の式(6)によって、明度透過率信号VT(i,j)を算出することができる。
式(6)において、αおよびβは、局所平均を取る範囲に相当する。αは、着目画素(i,j)を中心に左右に広がる画素数、βは着目画素(i,j)を中心に上下に広がる画素数を表している。明度透過率信号VT(i,j)の算出において、局所平均を取る範囲は、想定される異物写りこみ領域の3倍程度に設定することができるが、特に限定されない。例えば、第1画像補正部74は、明度透過率信号VT(i,j)の算出において、画素数αおよびβの値を、α=36〜55、β=36〜55とすることができる。
図4は、第1画像補正部74において行われる明度透過率マップの生成を説明した概念図である。図4(a)は、撮影画像の明度平面における左右方向の明度値Vの変化を表したものである。図4(a)に示す明度平面(曲線)81には、明度値Vが周辺部分に対して低く、明度勾配値Vgrad(i,j)が大きい落ち込み部82,84が存在する。図4(a)において、第1画像補正部74の補正対象となる検出領域は、落ち込み部82,84に対応する検出領域Aと検出領域Bである。
図2に示す第1画像補正部74は、図4(a)に示す明度平面(曲線)の検出領域Aに含まれる各画素と、検出領域Bに含まれる各画素について、明度透過率信号VT(i,j)を算出する。図4(b)は、図4(a)に示す明度平面(曲線)から算出された明度透過率マップを表している。図4(a)に示す明度平面における落ち込み部82,84は、局所的な規格化処理により、異物による明度低下のみが抽出され、図4(b)に示す明度透過率マップでは、明度透過率の落ち込み部82a,82bに置き換えられている。このようにして、第1画像補正部74は、異物に対応する部分であると判断された検出領域について、明度透過率マップを生成する。第1画像補正部74は、それぞれの検出領域についてゲインマップを生成することによって、第1画像補正の補正量である第1補正量(明度ゲイン)を、それぞれの検出領域ごとに独立に算出してもよい。
さらに、第1画像補正部74は、各検出領域の位置情報と、各検出領域の明度透過率マップを用いて、撮影画像に写りこんだ異物に対応する部分について、異物の影響を低減もしくは除去する第1画像補正を実施する。第1画像補正部74は、検出領域に含まれる各画素の明度値V(i,j)に、明度透過率信号VT(i,j)の逆数を掛け算して、ゲイン補正を行う。すなわち、第1画像補正部74は、撮影画像に写りこんだ異物に対応する検出領域に含まれる画素の明度値Vをゲイン補正し、異物の写りこみによる明度の変化を低減もしくは除去する。例えば、第1画像補正部74は、以下の式(7)を用いて、補正された明度値VC(i,j)を算出する。
このように、第1画像補正部74は、検出領域の明度値V(i,j)を、上述のゲイン補正された明度値VC(i,j)に置き換えることによって、撮影画像の明度平面を補正する。これにより、第1画像補正部74は、異物の写りこみによる明度の変化を、撮影画像から低減もしくは除去することができる。
第2画像補正部76は、彩度情報算出部56で算出された彩度情報を用いて、撮影画像に写りこんだ異物に対応する部分に対して、当該異物の影響を低減する第2画像補正を行うことができる。第2画像補正部76は、彩度情報算出部56で算出された各画素の彩度値Sおよび彩度平面を用いて、第2画像補正を行う。
第2画像補正部76は、第1画像補正部74と同様に、局所的な彩度値Sの規格化(正規化)処理を行って、補正対象となる検出領域について、彩度透過率信号ST(i,j)を算出し、補正対象となる検出領域についての彩度透過率マップ(彩度ゲインマップ)を生成する。第2画像補正部76において補正対象となる検出領域は、第1画像補正部74と同様に、異物判断部48または検出修正部44において、異物に対応する部分であると判断された検出領域である。
彩度透過率信号ST(i,j)の算出式は、式(6)における明度透過率信号VT(i,j)および明度値V(i,j)を、彩度透過率信号ST(i,j)および彩度値S(i,j)に置き換えたものを用いることができる。また、第2画像補正部76は、第1画像補正部74と同様に、異物に対応する部分であると判断された検出領域について、彩度透過率マップを生成する。第2画像補正部76は、それぞれの検出領域についてゲインマップを生成することによって、第2画像補正の補正量である第2補正量(彩度ゲイン)を、それぞれの検出領域ごとに独立に算出してもよい。
第2画像補正部76は、第1画像補正部74と同様に、各検出領域の位置情報と、各検出領域の彩度透過率マップを用いて、撮影画像に写りこんだ異物に対応する部分について、異物の影響を低減もしくは除去する第2画像補正を実施する。第2画像補正部76は、検出領域に含まれる各画素の彩度値S(i,j)に、彩度透過率信号ST(i,j)の逆数を掛け算して、ゲイン補正を行う。例えば、第2画像補正部76は、以下の式(8)を用いて、補正された彩度値SC(i,j)を算出する。
このように、第2画像補正部76は、検出領域の彩度値S(i,j)を、上述のゲイン補正された彩度値SC(i,j)に置き換えることによって、撮影画像の彩度平面を補正する。これにより、第2画像補正部76は、異物の写りこみによる彩度の変化を、撮影画像から低減もしくは除去することができる。
第3画像補正部78は、色相情報算出部58で算出された色相情報を用いて、撮影画像に写りこんだ異物に対応する部分に対して、当該異物の影響を低減する第3画像補正を行うことができる。第3画像補正部78は、色相情報算出部58で算出された各画素の色相値Hおよび色相平面を用いて、第3画像補正を行う。
第3画像補正部78は、第1画像補正部74と同様に、局所的な色相値Hの規格化(正規化)処理を行って、補正対象となる検出領域について、色相透過率信号HT(i,j)を算出し、補正対象となる検出領域についての色相透過率マップ(色相ゲインマップ)を生成する。第3画像補正部78において補正対象となる検出領域は、第1画像補正部74と同様に、異物判断部48または検出修正部44において、異物に対応する部分であると判断された検出領域である。
色相透過率信号HT(i,j)の算出式は、式(6)における明度透過率信号VT(i,j)および明度値V(i,j)を、色相透過率信号HT(i,j)および色相値H(i,j)に置き換えたものを用いることができる。また、第3画像補正部78は、第1画像補正部74と同様に、異物に対応する部分であると判断された検出領域について、色相透過率マップを生成する。第3画像補正部78は、それぞれの検出領域についてゲインマップを生成することによって、第3画像補正の補正量である第3補正量(色相ゲイン)を、それぞれの検出領域ごとに独立に算出してもよい。
第3画像補正部78は、第1画像補正部74と同様に、各検出領域の位置情報と、各検出領域の色相透過率マップを用いて、撮影画像に写りこんだ異物に対応する部分について、異物の影響を低減もしくは除去する第3画像補正を実施する。第3画像補正部78は、検出領域に含まれる各画素の色相値H(i,j)に、色相透過率信号HT(i,j)の逆数を掛け算して、ゲイン補正を行う。例えば、第3画像補正部78は、以下の式(9)を用いて、補正された色相値HC(i,j)を算出する。
このように、第3画像補正部78は、検出領域の色相値H(i,j)を、上述のゲイン補正された色相値HC(i,j)に置き換えることによって、撮影画像の色相平面を補正する。これにより、第3画像補正部78は、異物の写りこみによる色相の変化を、撮影画像から低減もしくは除去することができる。
異物画像補正部50は、例えば色補正判断部52が、現在補正しようとしている撮影画像が、例えばJPEG画像のように、非線形補正が施されている画像であると判断した場合は、第1〜第3画像補正部74〜78による第1〜第3画像補正によって撮影画像を補正するHSV補正を行う。
第1〜第3画像補正部74〜78によるHSV補正は、撮影画像をHSV変換し、明度平面、彩度平面、色相平面のそれぞれについて別個にゲインマップを作成し、画像補正を行う。したがって、第1〜第3画像補正部74〜78によるHSV補正は、撮影画像の色が非線形補正を施されているような場合であっても、異物の写りこみによる色の変化を、周辺部分の色合いと高い整合性を保ちながら補正することができる。
なお、異物画像補正部50は、例えば色補正判断部52が、現在補正しようとしている撮影画像が、例えばRAW画像のように、非線形補正が施されていない画像であると判断した場合は、一般的な輝度のみによる補正(明度のみによる補正でも良い)を行っても良い。
一般的な輝度補正は、たとえば次のようにして行われる。局所的な輝度値Yの規格化(正規化)処理を行って、補正対象となる検出領域について、輝度透過率信号YT(i,j)を算出し、補正対象となる検出領域についての輝度透過率マップ(輝度ゲインマップ)を生成する。輝度透過率信号YT(i,j)の算出式は、式(6)における明度透過率信号VT(i,j)および明度値V(i,j)を、輝度透過率信号YT(i,j)および輝度値Y(i,j)に置き換えたものを用いることができる。
検出領域に含まれる各画素のR値R(i,j)、G値G(i,j)およびB値B(i,j)のそれぞれに、輝度透過率信号YT(i,j)の逆数を掛け算して、ゲイン補正を行う。例えば、以下の式(10−1)〜(10−3)を用いて、補正されたR値RC(i,j)、G値GC(i,j)およびB値BC(i,j)を算出する。
このように、検出領域に含まれる各画素のRGB値を、上述のゲイン補正されたR値RC(i,j)、G値GC(i,j)およびB値BC(i,j)に置き換える(一般的な輝度のみによる補正)ことによって、撮影画像を補正してもよい。
なお、一般的な輝度のみによる補正では、式(10−1)〜(10−3)に示すように、輝度のゲインマップ(YT(i,j))のみを用いて補正を行っている。このため、非線形補正された画像に対して、一般的な輝度のみによる補正を行うと、補正後の画素におけるRGB値(RC(i,j),GC(i,j),BC(i,j))の何れかが、周辺部分の画素におけるRGB値から離れた値となり、補正痕が発生してしまう場合がある。
また、このような問題は、補正の対象となる撮影画像に強い非線形補正が施されている場合に起こりやすい。しかも撮影画像に対する非線形補正の方式は、カメラなどの撮影装置の機種毎に異なる場合もある。それに対して、本実施形態に係るHSV補正では、式(7)〜(9)に示すように、明度ゲインマップ、彩度ゲインマップおよび色相ゲインマップをそれぞれ生成して補正を行うので、ゲイン補正される画素は、周辺部分の画素に近い色に補正される。また、HSV補正によれば、補正対象となる撮影画像が非線形補正を施されているような場合であっても、補正後の撮影画像に補正痕が発生してしまう問題を防止でき、しかも補正対象となる画像の非線形補正の形式を問わない。すなわち、たとえばJPEG以外の非線形補正後の画像に対しても、本実施形態の効果が期待できる。
なお、異物画像補正部50によるHSV補正は、第1〜第3画像補正部74〜78によって補正された明度平面、彩度平面および色相平面を組み合わせることによって補正後の撮影画像を生成しても良いが、第2画像補正部74または第3画像補正部78による画像補正を省略しても良い。すなわち、異物画像補正部50によるHSV補正では、彩度平面または色相平面のいずれか一方についてはゲイン補正を行わず、ゲイン補正していない彩度平面または色相平面を、補正後の明度平面等と組み合わせることによって、補正後の撮影画像を生成してもよい。
本実施形態では、第1画像補正部74を用いた明度による補正(輝度による補正も含む)に、第2画像補正部76を用いた彩度による補正を組み合わせることで、一般的な輝度のみの補正に比較して、特に非線形補正されている画像に対する異物除去補正の精度が向上する。また、本実施形態では、第1画像補正部74を用いた明度による補正(輝度による補正も含む)に、第3画像補正部78を用いた色相による補正を組み合わせることで、一般的な輝度のみの補正に比較して、特に非線形補正されている画像に対する異物除去補正の精度が向上する。
なお、異物画像補正部50は、HSV補正において、第1〜第3画像補正に係る補正量である第1〜第3補正量を、検出領域ごとに独立に算出して行っても良い。検出領域ごとに補正量を算出することによって、本実施形態に係る画像処理装置は、撮影画像全体について補正量を計算する場合に比べて、演算量を抑制することができる。また、異物画像補正部50の第1画像補正部では、明度情報に代えて、輝度情報を用いて、画像補正を行ってもよいことはもちろんである。
色補正判断部52は、異物画像補正部50において異物の影響を除去する補正の対象となっている撮影画像が、カメラ10における光学系16による像を光電変換して得られた撮影画像に対して非線形補正が施されたものであるか否かを判断する。色補正判断部52は、異物画像補正部50において異物の影響を除去する補正の対象となっている撮影画像が、非線形補正が施されたものであるか否かを判断し、異物画像補正部50に判断結果を出力する。
異物画像補正部50は、現在補正しようとしている撮影画像が、色補正判断部52によって、非線形補正が施されたものであると判断されたとき、第1〜第3画像補正部74〜78による上述のHSV補正を行い、異物画像補正部50から異物の影響を減少させる補正を行う。その反対に、異物画像補正部50は、現在補正しようとしている撮影画像が、色補正判断部52によって、非線形補正が施されたものでないと判断されたとき、第1〜第3画像補正部74〜78による画像補正を行わず、一般的な輝度のみによる補正を行い、異物画像補正部50から異物の影響を減少させる補正を行ってもよい。
また、色補正判断部52は、異物画像補正部50において異物の影響を除去する補正の対象となっている撮影画像が施された非線形補正の強弱を判断するものであってもよい。色補正判断部52は、異物画像補正部50において異物の影響を除去する補正の対象となっている撮影画像が施された非線形補正の強弱を判断し、異物画像補正部50に判断結果を出力する。
この場合、異物画像補正部50は、現在補正しようとしている撮影画像が、色補正判断部52によって、強い非線系補正が施されたものであると判断されたとき、第1〜第3画像補正部74〜78による上述のHSV補正を行い、異物画像補正部50から異物の影響を減少させる補正を行う。その反対に、異物画像補正部50は、現在補正しようとしている撮影画像が、色補正判断部52によって、弱い非線形補正が施されたものであると判断されたとき、第1〜第3画像補正部78による画像補正を行わず、一般的な輝度のみによる補正を行い、異物画像補正部50から異物の影響を減少させる補正を行ってもよい。
記憶部30は、検出修正部44によって修正された修正判断基準や、検出領域のデータや、撮影画像の撮影条件等を記憶する。記憶部30は、不揮発性メモリ等によって構成される。操作信号入力部32は、撮影画像に写りこんだ異物に対応する部分を特定するために使用者が行った操作に対応する操作信号が入力される入力部である。操作信号入力部32には、例えば、検出領域の大きさに関する閾値C1や、検出領域の内外の明度比に関する閾値C2など、異物判断部48の第1〜第4判断部64〜70で使用される閾値(判断基準)を、変更する旨の操作信号が入力される。
操作信号入力部32は、例えばカメラ本体部12(図1参照)に備えられるボタンや、十字キーや、回転式セレクター等など、使用者が画像処理装置に操作信号を入力するためのユーザーインターフェースを含む。検出修正部44は、操作信号入力部32を介して演算部38に入力された操作信号に応じて、異物判断部48の判断を修正することができる。
撮影条件信号入力部34には、異物判断部48において判断される撮影画像や、異物画像補正部50において画像補正が行われる撮影画像に関する撮影条件が入力される。撮影条件信号入力部34に入力される撮影条件には、例えば撮影画像を撮影したときの絞り値や撮影感度、撮影画像を撮影したときに使用した光学系の種類や焦点距離等が含まれる。
検出修正部44は、撮影条件信号入力部34を介して入力された撮影条件に対応させて、修正した判断基準である修正判断基準や、図5に示すような異物マップに関するデータを、記憶部30に記憶させることができる。また、判断基準変更部42は、撮影条件に対応している修正判断基準に基づき、異物判断部48における第1〜第4判断部64〜70が判断を行う際の判断基準である初期判断基準を、撮影条件ごとに変更することができる。使用者の好みに応じた異物検出感度は、撮影条件に応じて変化する場合があり、撮影条件信号入力部34を含む画像処理装置は、異物判断部48の初期判断基準を、よりカメラ10の使用者の好みに近づけることができる。
また、光学フィルタ20の特定の位置にある異物が付着し続けているような場合、撮影条件が同一であれば、撮影画像の決まった位置に、その異物が写りこみ続ける可能性が高い。したがって、撮影条件に応じて異物マップに関するデータを保存することによって、本実施形態に係る画像処理装置は、使用者が気になる異物の写りこみ位置を容易に特定することができる。
表示部36は、例えばカメラ本体部12(図1参照)に備えられる液晶表示装置等によって構成される。表示部36は、検出修正部44によって異物に対応する部分であると再判断される検出領域の位置を、撮影画像に重ねて表示することができる。
図3Aおよび図3Bは、図2に示すカメラ10において行われる画像処理演算の一例を表すフローチャートである。図3Aは、画像処理演算の前半部分を表しており、図3Bは、画像処理演算の後半部分を表している。図3Aおよび図3Bに示すように、画像処理演算には、ステップS003〜ステップS007を含む演算Iと、ステップS008〜ステップS011を含む演算IIと、ステップS012〜ステップS016を含む演算IIIと、ステップS017〜ステップS020を含む演算IVとが含まれる。
演算Iでは、演算部38は、明るさ情報や彩度情報など、撮影画像の色に関する情報を算出する演算を実施する。演算IIでは、演算部38は、演算Iで算出された情報を用いて、異物が写りこんでいる位置など、撮影画像に写りこんだ異物に関する異物情報を算出する。また、演算IIでは、演算部38は、演算Iで算出された情報を用いて、撮影画像内の検出領域が、撮影画像内に写りこんだ異物に対応する部分であるか否かを判断する。
演算IIIでは、演算部38は、操作信号入力部32を介して使用者の操作信号を入力し、入力された操作信号に応じて演算IIで行われた判断を修正する演算を行う。演算IVでは、演算部38は、演算IIまたは演算IIIでの判断結果に基づいて、異物が写りこんだ検出領域を特定した上で、演算Iで算出された情報を用いて、撮影画像に写りこんだ異物に対応する部分に対して、異物の影響を低減する画像補正を行う。演算IVでは、演算部38は、演算Iで算出された明るさ情報を用いて異物の影響を低減する第1画像補正(第1画像補正部74による画像補正)を行う。さらに、演算IVでは、演算Iで算出された彩度情報を用いて異物の影響を低減する第2画像補正(第2画像補正部76による画像補正)や、演算Iで算出された色相情報を用いて異物の影響を低減する第3画像補正(第3画像補正部78による画像補正)を行う。
図2に示すカメラ10に搭載された画像処理装置は、図3Aに示すように、ステップS001において一連の画像処理演算を開始する。ステップS002では、画像入力部28を介して、撮影部26で撮影された撮影画像が、演算部38に入力される。
図6は、符号aで示す撮影画像の一部である撮影画像b(符号b)を一例に挙げて、図2に示すカメラ10において行われる画像処理演算を説明したものである。図3Aに示すステップS002では、撮影画像bが、演算部38に入力される。
図3Aに示すステップS003〜ステップS007では、図2に示す演算部38における情報算出部46が、撮影画像の色に関する情報を算出する。ステップS003では、情報算出部46の明るさ情報算出部54が、撮影画像の明るさに対応する明るさ情報を算出する。明るさ情報算出部54は、撮影画像の輝度平面を算出しても良いし、撮影画像の明度平面を算出してもよいが、図3Aに示すステップS003において、明るさ情報算出部54は、先述の式(2−1)および(2−6)を用いて明度平面を算出する。
ステップS003では、情報算出部46の彩度情報算出部56が、先述の式(2−2)、(2−6)および(2−7)を用いて、彩度平面を算出する。また、ステップS005では、先述の式(2−3)〜(2−5)および(2−6)〜(2−10)を用いて、色相平面を算出する。
図6に示すように、ステップS003では、撮影画像bから、撮影画像bの明度平面d(符号d)が算出される。また、ステップS004では、撮影画像bから、撮影画像bの彩度平面(不図示)が算出される。さらに、ステップS005では、撮影画像bから、撮影画像bの色相平面cが算出される。
図3Aに示すステップS006では、情報算出部46の明るさ勾配情報算出部60が、撮影画像の明るさの勾配に対応する明るさ勾配情報を算出する。明るさ勾配情報算出部60は、撮影画像の輝度勾配平面を算出しても良いし、撮影画像の明度勾配平面を算出してもよいが、図3Aに示すステップS006において、明るさ勾配情報算出部60は、ステップS003で算出された明度平面のデータおよび先述の式(4)を用いて、明度勾配平面を算出する。
図3Aに示すステップS007では、情報算出部46の領域算出部62が、検出領域を算出する。領域算出部62は、明るさ勾配情報算出部60において算出された明度勾配平面を用いて二値化画像を算出し、検出領域を算出する。領域算出部62は、閾値より高い明度勾配値を有する画素が連結した領域を、一つの検出領域として特定する。
図6に示すように、ステップS006では、撮影画像bの明度平面d(符号d)から、撮影画像bの明度勾配平面e(符号e)が算出される。また、ステップS007では、明度勾配平面eから、二値化画像f(符号f)が算出される。
図3Aに示すステップS008〜ステップS011では、図2に示す演算部38における異物判断部48が、情報算出部46で算出された情報を用いて、領域算出部62によって特定された各検出領域について、当該検出領域が異物に対応する部分であるか否かを判断する。
図3Aに示すステップS008では、異物判断部48の第1判断部64が、判断の対象となっている検出領域の大きさに基づいて、その検出領域が、画像に写りこんだ異物に対応する部分であるか否かを判断する。第1判断部64は、二値化画像fを用いて、検出領域に含まれる画素の数等から検出領域の大きさを算出することができる。また第1判断部64は、二値化画像fに基づいて算出された検出領域の大きさが所定の範囲内になければ、判断の対象となっている検出領域は、異物に対応する部分でないと判断する。
図3Aに示すステップS009では、異物判断部48の第2判断部66が、検出領域の彩度に対応する彩度情報と、検出領域の色相に対応する色相情報と、検出領域の明度に対応する明度情報とを用いて、その検出領域が画像に写りこんだ異物に対応する部分であるか否かを、判断する。
ステップS009において、第2判断部66は、まず、明るさ情報算出部54で算出された明度平面を用いて、検出領域の明度に対応する第1明度情報と、検出領域の周辺の領域の明度に対応する第2明度情報との差異を調査する。ステップS009において、第2判断部66は、検出領域に含まれる画素の明度値Vの平均値を第1明度情報とし、検出領域の周辺の領域に含まれる画素の明度値Vの平均値を第2明度情報とする。第2判断部66は、第1明度情報と第2明度情報の比が、予め定められた範囲内でないとき、判断の対象となっている検出領域は、異物に対応する部分でないと判断する。
次に、第2判断部66は、彩度情報算出部56で算出された彩度平面を用いて、検出領域の彩度に対応する第1彩度情報と、検出領域の周辺の領域の彩度に対応する第2彩度情報との差異を調査する。ステップS009において、第2判断部は、検出領域に含まれる画素の彩度値Sの平均値を第1彩度情報とし、検出領域の周辺の領域に含まれる画素の彩度値Sの平均値を第2彩度情報とする。第2判断部66は、第1彩度情報と第2彩度情報の比が、予め定められた範囲内でないとき、判断の対象となっている検出領域は、異物に対応する部分でないと判断する。
さらに、第2判断部66は、色相情報算出部58で算出された色相平面を用いて、検出領域の色相に対応する第1色相情報と、検出領域の周辺の領域の色相に対応する第2色相情報との差異を調査する。ステップS009において、第2判断部66は、検出領域に含まれる画素の色相値Hの平均値を第1色相情報とし、検出領域の周辺の領域に含まれる画素の色相値Sの平均値を第2色相情報とする。第2判断部66は、第1色相情報と第2色相情報の比が、予め定められた範囲内でないとき、判断の対象となっている検出領域は、異物に対応する部分でないと判断する。
図3Aに示すステップS010では、異物判断部48の第3判断部68が、検出領域の周辺の領域の明るさに対応する明るさ情報を用いて、その検出領域が、画像に写りこんだ異物に対応する部分であるか否かを判断する。第3判断部68は、明るさ情報算出部54で算出された明度平面を用いて、検出領域の周辺の領域の明度に対応する第2明度情報を算出する。第3判断部68は、第2判断部66と同様に、検出領域の周辺の領域に含まれる画素の明度値Vの平均値を第2明度情報とする。第3判断部68は、第2明度情報が、予め定められた範囲でないとき、判断の対象となっている検出領域が異物に対応する部分でないと判断する。
図3Aに示すステップS011では、異物判断部48の第4判断部70が、検出領域の周辺の領域の明るさの標準偏差から、その検出領域が、画像に写りこんだ異物に対応する部分であるか否かを判断する。第4判断部70は、明るさ情報算出部54で算出された明度平面及び先述の式(5)を用いて、検出領域の周辺の領域の明度の標準偏差を算出する。第4判断部70は、検出領域の周辺の領域の明るさの標準偏差が、予め定められた範囲でないとき、判断の対象となっている検出領域が異物に対応する部分でないと判断する。
図6に示すように、ステップS008〜ステップS0012では、二値化画像fから、符号gで示される二値化画像gのように、異物に対応しない検出領域が除外され、異物が写りこんだ検出領域のみが抽出される。
なお、図3AのステップS008〜ステップS011に対応する判断は、撮影画像bに含まれる全ての検出領域について行っても良いが、ステップS009〜ステップS011に対応する判断は、直前のステップS009〜ステップS011において異物に対応する部分でないと判断されなかった領域のみについて行っても良い。異物判断部48は、ステップS008〜ステップS011のいずれにおいても異物に対応する部分でないと判断されなかった検出領域のみが、異物に対応する部分であると判断する。
また、異物判断部48は、1つの検出領域について、ステップS008からステップS011まで順番に判断を行った後に、他の1つの検出領域について、ステップS008からステップS011まで順番に判断を行っても良い。この場合において、1つの検出領域に関する判断は、ステップS008からステップS011に含まれるいずれか1つのステップにおいて、判断の対象となる検出領域が異物に対応する部分でないと判断された時点で、当該検出領域に対する残りの判断(ステップ)をスキップし、他の1つの検出領域についての判断を開始してもよい。この場合、異物判断部48は、ステップS011において判断の対象となった検出領域であって、ステップS011において異物に対応する部分でないと判断されなかった検出領域が、異物に対応する部分であると判断する。異物判断部48が、ステップS009からステップS011に対応する判断をスキップできるようにすることによって、画像処理装置は、異物判断部48における演算量を軽減できる。
演算部38は、図3AのステップS007〜ステップS011を含む演算IIを終えた後に、図3BのステップS012〜ステップS016を含む演算IIIを実行する。なお、演算部38は、使用者の設定等に応じて、図3AのステップS007〜ステップS011を含む演算IIを終えた後に、演算IIIを行わず、図3BのステップS017〜ステップS020を含む演算IVを実行してもよい。
図3Bに示すステップS012〜ステップS016では、演算部38の修正判断部44等が、操作信号入力部32を介して使用者の操作信号を入力し、入力された操作信号に応じてステップS008〜ステップS011で行われた判断を修正する演算を行う。
図3Bに示すステップS012では、検出修正部44が、表示部36に、撮影画像に重ねて、異物判断部48での判断結果を表示させる。図6において符号hで示す画像のように、表示部36は、検出修正部44からの指示を受けて、撮影画像bに重ねて、異物判断部48において異物に対応する部分であると判断された検出領域を、他の検出領域と区別して表示する。符号hで示す画像では、領域算出部62で抽出された検出領域のうち、異物判断部48において異物に対応する部分であると判断された検出領域の位置のみが、3角形の図形を用いて表示されている。
図3Bに示すステップS013では、操作信号入力部32を介して、異物判断部48で行われた判断を修正するための操作信号が、演算部38の検出修正部44に入力される。ステップS013において、使用者は、表示部36に表示された判断結果を確認しながら、操作信号入力部32に含まれるユーザーインターフェースを操作して、異物判断部48に行われた判断を修正するための操作信号を入力することができる。
使用者は、異物判断部48の判断では異物の検出感度が低すぎると考えた場合には、異物判断部48で行われた判断より高い検出感度で再判断が行われるように、判定に使用される閾値を変更する操作信号を入力する。例えば、使用者は、検出領域の大きさに関する閾値C1(図6参照)を減少させるように変更する操作信号や、検出領域内外の明度比に関する閾値C2(図6参照)を増加させる(1に近づける)ように変更する操作信号を入力する。
その反対に、使用者は、異物判断部48の判断では異物の検出感度が高すぎると考えた場合には、異物判断部48で行われた判断より低い検出感度で再判断が行われるように、判定に使用される閾値を変更する操作信号を入力する。例えば、使用者は、検出領域の大きさに関する閾値C1(図6参照)を増加させるように変更する操作信号や、検出領域内外の明度比に関する閾値C2(図6参照)を減少させる(0に近づける)ように変更する操作信号を入力する。
図3Bに示すステップS014では、検出修正部44が、操作信号入力部32を介して演算部38に入力された操作信号に応じて、異物判断部48における判断で用いられた閾値を変更し、検出領域が異物に対応する部分であるか否かの再判断を行う。すなわち、ステップS014において、検出修正部44は、操作信号に応じて変更された閾値を用いて、異物判断部48における第1〜第4判断部64〜70で行われた判断を修正する。
例えば、ステップS013において、検出領域の大きさに関する閾値C1(図6参照)を減少させる旨の操作信号が入力された場合、検出修正部44は、以下のようにして異物判断部48の判断を修正する。すなわち、検出修正部44は、操作信号に応じて第1判断部64における閾値C1を減少させた上で、異物判断部48に、ステップS008〜ステップS011を含む演算IIを再計算させる。検出修正部44は、再計算によって異物に対応する部分であると判定された検出領域を、異物に対応する部分であると再判断された検出領域であると認定する。
図3Bに示すステップS015では、検出修正部44が、表示部36の表示を更新させる。すなわち、表示部36は、検出修正部44によって修正された判断に基づいて、ステップS014において異物に対応する部分であると再判断された検出領域を、撮影画像に重ねて表示する。
使用者は、ステップS015において更新された表示部36の表示を確認し、検出修正部44によって再判断された検出結果が適切であると考えた場合は、検出領域の再判断を終了する旨の操作信号を、カメラ10に入力する。この場合、検出修正部44は、ステップS016の処理を進める。また、使用者は、検出修正部44によって再判断された検出結果が不適切であると考えた場合は、検出修正部44に対して、検出領域の再判断をやり直す旨の操作信号を入力する。この場合、検出修正部44は、ステップS013〜ステップS15に係る処理をやり直す。
図3Bに示すステップS016では、検出修正部44は、再判断の際の閾値や、再判断において異物に対応する部分であると判断された検出領域の位置などを、記憶部30に出力する。記憶部30は、再判断の際の閾値や、異物に対応する部分であると判断された検出領域の位置などのデータを記憶し、必要に応じて、判断基準変更部42に対して、記憶したデータを出力できる。
図3Bに示すステップS017〜ステップS020では、演算部38の異物画像補正部50が、明るさ情報算出部54で算出された情報を用いて、検出修正部44によって異物に対応する部分であると判断された検出領域について、撮影画像から異物の影響を低減する画像補正を行う。
ステップS017では、異物画像補正部50が、検出修正部44によって異物に対応する部分であると判断された検出領域を、撮影画像から異物の影響を低減する画像補正の対象領域であると特定する。ステップS018では、色補正判断部52が、現在補正しようとしている撮影画像が、画像変換部15等によって非線形補正が施されたものであるか否かを判断する。
ステップS018において、撮影画像が非線形補正を施されたものであると判断されたとき、ステップS019およびステップS020では、異物画像補正部50の第1〜第3画像補正部74〜78による画像補正が行われる。この場合、ステップS019では、異物画像補正部50の第1〜第3画像補正部74〜78が、明るさ情報算出部54で算出された明度情報と、彩度情報算出部56で算出された彩度情報と、色相情報算出部58で算出された色相情報を用いて、画像補正の対象領域についてゲインマップを生成する。異物画像補正部50の第1〜第3画像補正部74〜78は、情報算出部46で算出された情報と上述の式(6)を用いて、明度透過率マップ、彩度透過率マップおよび色相透過率マップを生成する。
ステップS020では、異物画像補正部50の第1〜第3画像補正部74〜78が、明度透過率マップ、彩度透過率マップおよび色相透過率マップと先述の式(7)〜(9)を用いて、撮影画像の明度平面、彩度平面および色相平面のゲイン補正を行う。さらに、異物画像補正部50は、第1〜第3画像補正部74〜78によってゲイン補正された明度平面、彩度平面および色相平面を組み合わせることによって補正後の撮影画像を生成する。
ステップS018において、撮影画像が非線形補正を施されたものでないと判断されたとき、ステップS019およびステップS020では、一般的な輝度のみによる補正を行っても良い。
ステップS021では、ステップS020で生成された補正後の撮影画像の保存処理が行われた後、一連の画像処理演算を終了する。
上述のように、本実施形態に係る画像処理装置は、検出領域の明るさ情報と、検出領域の彩度情報を用いて、検出領域が撮影画像に写りこんだ異物に対応する部分であるか否かを判断する異物判断部48を有する。異物判断部48は、検出領域の明るさ情報だけでなく、彩度情報を用いて検出領域を判断するため、検出領域に異物が写りこんでいるか否かを正確に判断することができる。なぜなら、撮影画像に写りこんだ異物は、彩度や色相にはほとんど影響を残さないが、明るさに強く影響を残すという特徴を有するからである。また、異物の写りこみによる色変化を撮影画像の中から検出するためには、彩度情報と明るさ情報を組み合わせて判断を行うことが効果的であるからである。
なお、検出領域の明るさ情報および検出領域の彩度情報に加えて、検出領域の色相情報を用いて検出領域を判断することによって、本実施形態に係る画像処理装置は、検出領域に異物が写りこんでいるか否かをより正確に判断することができる。また、検出領域の周辺の領域の明るさの情報や、検出領域の周辺の領域における明るさの標準偏差を用いて判断することによって、本実施形態に係る画像処理装置は、検出領域に異物が写りこんでいるか否かをさらに正確に判断することができる。撮影画像における暗部や、明度のばらつきが大きい部分では、被写体エッジを誤って異物の移り込みによるエッジであると誤検出しやすいからである。また、これらの領域では、たとえ異物の移り込みによるエッジが存在していても、比較的目立ち難い。また、本実施形態に係る画像処理装置は、明るさ情報による判断を行った後に、彩度情報または色相情報による判断を行うことによって、彩度情報または色相情報を用いて、明るさ情報による判断を補足または検証することができる。
本実施形態に係る画像処理装置は、使用者による操作信号に基づいて、異物判断部48の判断を修正する検出修正部44を有する。したがって、本実施形態に係る画像処理装置は、使用者の好みに適合する検出レベルで、撮影画像に写りこんだ異物を検出することができる。また、検出修正部44による修正前後の検出結果を表示する表示部36を有するため、使用者が表示部36の表示を確認しながら検出レベルを調整することにより、異物の誤検出や検出漏れを防止することができる。
また、本実施形態に係る画像処理装置は、検出修正部44による修正判断基準に基づき、異物判断部48における第1〜第4判断部64〜68が判断を行う際の判断基準である初期判断基準を変更する判断基準変更部42を有する。判断基準変更部42は、異物判断部48の初期判断基準を、カメラ10の使用者の好みに近づけることができるため、本実施形態に係る画像処理装置は、使用者の好みに応じた異物検出を効率的に行うことができる。なお、検出修正部44は、領域算出部62が二値化画像を生成する際の閾値を修正してもよく、判断基準変更部42は、領域算出部62が二値化画像を生成する際の閾値を変更してもよい。領域算出部62が二値化画像を生成する際の閾値を修正したり、その閾値をフィードバックすることによっても、本実施形態に係る画像処理装置は、異物検出感度を適切化することができる。
本実施形態に係る画像処理装置は、明度ゲインマップによるゲイン補正に、彩度ゲインマップによるゲイン補正、および/または色相ゲインマップによるゲイン補正を加えることで、撮影画像に写りこんだ異物の影響を低減する画像補正を行う異物画像補正部50を有する。したがって、本実施形態に係る画像処理装置は、補正対象となる撮影画像が非線形補正を施されているような場合であっても、異物の写りこみによる色の変化を、周辺部分の色合いと高い整合性を保ちながら補正することができる。また、本実施形態に係る画像処理装置は、補正対象となる撮影画像が非線形補正を施されているような場合であっても、補正後の撮影画像に補正痕が発生してしまう問題を防止できる。
なお、上述の実施形態では、画像処理装置が搭載されたカメラ10を例に挙げて、撮像装置の説明を行ったが、画像処理装置を有する撮影装置はスチルカメラに限定されず、ビデオカメラや携帯電話等を含む。また、上述の画像処理を実行させるためのプログラムは、スチルカメラ、ビデオカメラ、携帯電話に搭載されたコンピュータを実行させるものに限定されず、その他の画像処理が可能なコンピュータを実行させるプログラムを含む。
第2実施形態
図7は、本発明の第2実施形態に係る画像処理装置を含むパソコンなどのコンピュータ120のブロック図である。コンピュータ120は、図2に示す撮像部26、操作信号入力部32、撮影条件信号入力部23および画像変換部115を含まず、その代わりに、図7に示すように、I/F(インターフェース)122および操作信号入力部124を含む。図7に示すコンピュータ120は、図2に示す撮像部26等以外の部分については、図2に示すカメラ10と同様の構成であるため、図2に示すカメラ10と同様の構成については、図2と同じ符号を付し、説明を省略する。
コンピュータ120は、メモリカード、カメラ、携帯電話等と接続するためのI/F122を有している。コンピュータ120の画像入力部28には、I/F122や、コンピュータ120に内蔵される記憶部30から、撮影画像が入力される。図7に示す演算部38は、図2に示すカメラ10における演算部38と同様に、画像入力部28を介して入力された撮影画像について、画像処理を行う。なお、演算部38には、I/F122等を介して、撮影画像とともに、撮影条件等が入力されてもよい。演算部38は、その内部に存在する情報算出部46、異物判断部48および異物画像補正部50などを構成する専用回路であっても良いが、好ましくは、これらの機能を実現するためのプログラムが記憶してある記憶手段と、その記憶手段に記憶してあるプログラムを実行する中央情報処理装置(CPU)とで構成してある。
操作信号入力部124は、第1実施形態に係る操作信号入力部32と同様に、撮影画像に写りこんだ異物に対応する部分を特定するために使用者が行った操作に対応する操作信号が入力される入力部である。操作信号入力部124としては、例えばキーボード、マウス、タッチパッド等が挙げられるが、特に限定されない。
コンピュータ120の演算部38は、画像入力部28を介して入力された撮影画像について、第1実施形態に係る演算部28と同様に、撮影画像に写りこんだ異物の検出や、撮影画像に写りこんだ異物の影響を低減する画像補正を行うことができる。したがって、このコンピュータ120に含まれる画像処理装置も、第1実施形態に係るカメラ10に搭載された画像処理装置と同様の効果を奏する。