(57)【要約】【課題】  散乱光の影響が低減された画像を得る。【解決手段】  画像処理装置が散乱光を含むカラー画像を示す画像データを取得する取得手段と前記カラー画像において、前記散乱光の基準強度の導出に用いる画素を選択する選択手段と、前記選択された画素の第一の色成分の画素値に基づいて、前記散乱光の、前記第一の色成分に対応する第一の基準強度を導出する第一の導出手段と、前記選択された画素の第二の色成分の画素値に基づいて、前記散乱光の、前記第二の色成分に対応する第二の基準強度を導出する第二の導出手段と、前記カラー画像の各画素について重み値を設定する設定手段と、前記第一の基準強度と前記重み値とを用いて、前記カラー画像の各画素の第一の色成分の画素値を補正し、前記第二の基準強度と前記重み値とを用いて、前記カラー画像の各画素の第二の色成分の画素値を補正した、補正画像を生成する生成手段と、を備える。【選択図】  図６
2018067359.tif 000002
【特許請求の範囲】
【請求項１】
複数の色成分からなり、散乱光に由来する成分を画素値に含む入力画像から、散乱光に由来する成分の少なくとも一部を除去した補正画像を生成する画像処理装置であって、
前記入力画像における画素毎に、前記複数の色成分それぞれ画素値のうち最小画素値に基づいて、散乱光に由来する成分に関連する画像を抽出する抽出手段と、
前記抽出手段により抽出された画像と第１の色成分の画像とに基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分を低減する散乱光除去手段と、
前記抽出手段により抽出された画像と前記散乱光除去手段から得られる情報に基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分のうち波長に依存する成分を算出する算出手段と、
前記散乱光除去手段により得られる情報と前記算出手段により得られる情報とに基づいて、前記補正画像を生成する補正手段とを有する画像処理装置。
【請求項２】
前記補正手段は、前記算出手段により得られる情報に対して所定の係数を乗算した後、前記散乱光除去手段から得られる情報に加算することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
散乱光に由来する成分のうち、波長に依存する成分はレイリー散乱の成分であり、波長に依存しない成分はミー散乱の成分であり、
前記散乱光除去手段は、前記第１の色成分の画像に含まれるミー散乱の成分とレイリー散乱の成分の両方を低減し、
前記算出手段は、前記抽出手段により抽出された画像における複数の色成分の画素値に基づいて、前記第１の色成分の画像に含まれるミー散乱の成分のみを低減し、前記散乱光除去手段により得られる情報と前記ミー散乱の成分のみを低減された情報との差分に基づいて、前記レイリー散乱の成分を推定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記散乱光除去手段は、前記抽出手段により抽出された画像に基づいて複数の参照画素を決定し、前記第１の色成分の画像における前記複数の参照画素の位置と同じ位置の画素の画素値に基づいて、第１の基準強度を算出することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記散乱光除去手段は、前記第１の色成分の画像に対して、注目画素を含む所定の画素群における最小画素値により、前記注目画素の画素値を置換するフィルタ処理を実行し、前記フィルタ処理後の画像における画素の画素値と前記第１の基準強度に基づいて、第１の透過率を算出し、
前記散乱光除去手段は、前記第１の基準強度と前記第１の透過率とに基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分を低減することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記算出手段は、前記抽出手段により抽出された画像における前記複数の参照画素の画素値に基づいて、第２の基準強度を算出することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記算出手段は、前記抽出手段により抽出された画像に対して、注目画素を含む所定の画素群における最小画素値により、前記注目画素の画素値を置換するフィルタ処理を実行し、前記フィルタ処理後の画像における画素の画素値と前記第２の基準強度に基づいて、第２の透過率を算出し、
前記算出手段は、前記第２の基準強度と前記第２の透過率に基づいて、前記第１の色成分画像に含まれる散乱光に由来する成分のうち波長に依存しない成分を低減することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記散乱光除去手段は、前記第１の色成分の画像における前記複数の参照画素の位置と同じ位置の画素の画素値の平均を前記第１の基準強度として算出する請求項４乃至７の何れか一項に記載の画像処理装置。
【請求項９】
前記散乱光除去手段は、前記第１の透過率を画素毎に算出することを特徴とする請求項５に記載の画像処理装置。
【請求項１０】
前記算出手段は、前記第１の画像における前記複数の参照画素の位置と同じ位置の画素の画素値の平均を、前記第２の基準強度として算出することを特徴とする請求項６に記載の画像処理装置。
【請求項１１】
前記算出手段は、前記第２の透過率を画素毎に算出することを特徴とする請求項７に記載の画像処理装置。
【請求項１２】
複数の色成分からなり、散乱光に由来する成分を画素値に含む入力画像から、散乱光に由来する成分の少なくとも一部を除去した補正画像を生成する画像処理装置であって、
前記入力画像から、ミー散乱の成分とレイリー散乱の成分を除去することにより第１の画像を生成する散乱光除去手段と、
前記入力画像に対してダークチャンネル処理を実行することにより、第２の画像を生成する生成手段と、
前記第１の画像と前記第２の画像とを用いて、レイリー散乱の成分に基づく成分を算出する算出手段と、
前記第１の画像と前記レイリー散乱の成分に基づく成分とを用いて、レイリー散乱の成分を含む前記補正画像を生成する補正手段とを有することを特徴とする画像処理装置。
【請求項１３】
前記第２の画像には、前記レイリー散乱の成分に基づく成分が含まれることを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記補正手段は、前記第１の画像における注目画素の画素値に、前記レイリー散乱の成分に基づく成分に係数をかけた値を加算することを特徴とする請求項１２または１３に記載の画像処理装置。
【請求項１５】
前記算出手段は、前記第１の画像と前記第２の画像との画素毎の差分に基づいて、前記レイリー散乱の成分に基づく成分を算出することを特徴とする請求項１２乃至１４の何れか一項に記載の画像処理装置。
【請求項１６】
さらに、前記入力画像における画素毎に、前記複数の色成分それぞれ画素値のうち最小画素値に基づいて、ダークチャンネル画像を抽出する抽出手段を有し、
前記散乱光除去手段は、前記ダークチャンネル画像に基づいて複数の参照画素を決定し、前記第１の色成分の画像における前記複数の参照画素の位置と同じ位置の画素の画素値に基づいて、第１の基準強度を算出することを特徴とする請求項１２または１５の何れか一項に記載の画像処理装置。
【請求項１７】
前記生成手段は、前記ダークチャンネル画像における各画素の画素値に基づいて、ダークチャンネル処理を実行することを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記生成手段は、前記ダークチャンネル画像における複数の参照画素の画素値に基づいて、第２の基準強度を算出し、
前記ダークチャンネル画像に対して、注目画素を含む所定の画素群における最小画素値により、前記注目画素の画素値を置換するフィルタ処理を実行し、前記フィルタ処理後の画像における画素の画素値と前記第２の基準強度に基づいて、第２の透過率を算出し、
前記生成手段は、前記第２の基準強度と前記第２の透過率とに基づいて、前記第１の色成分の画像に含まれるミー散乱の成分を低減することで前記第１の画像を生成することを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
前記散乱光除去手段は、前記第１の色成分の画像における前記複数の参照画素の位置と同じ位置の画素の画素値の平均を、前記第１の基準強度として算出する請求項１６に記載の画像処理装置。
【請求項２０】
前記生成手段は、前記第ダークチャンネル画像における前記複数の参照画素の画素値の平均を、前記第２の基準強度として算出することを特徴とする請求項１８に記載の画像処理装置。
【請求項２１】
複数の色成分からなり、散乱光に由来する成分を画素値に含む入力画像から、散乱光に由来する成分の少なくとも一部を除去した補正画像を生成する画像処理方法であって、
前記入力画像における画素毎に、前記複数の色成分それぞれ画素値のうち最小画素値に基づいて、散乱光に由来する成分に関連する画像を抽出する抽出工程と、
前記抽出工程において抽出された画像と第１の色成分の画像とに基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分を低減する散乱光除去工程と、
前記抽出手段により抽出された画像と前記散乱光除去手段から得られる画像に基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分のうち波長に依存する成分を算出する算出工程と、
前記散乱光除去工程から得られる情報と前記算出工程により得られる情報とに基づいて前記補正画像を生成する補正工程とを有することを特徴とする画像処理方法。
【請求項２２】
複数の色成分からなり、散乱光に由来する成分を画素値に含む入力画像から、散乱光に由来する成分の少なくとも一部を除去した補正画像を生成する画像処理方法であって、
前記入力画像から、ミー散乱の成分とレイリー散乱の成分を除去することにより第１の画像を生成する散乱光除去工程と、
前記入力画像に対してダークチャンネル処理を実行することにより、第２の画像を生成する生成工程と、
前記第１の画像と前記第２の画像とを用いて、レイリー散乱の成分に基づく成分を算出する算出工程と、
前記第１の画像と前記レイリー散乱の成分に基づく成分とを用いて、レイリー散乱の成分を含む補正画像を生成する補正工程とを有することを特徴とする画像処理方法。
【請求項２３】
コンピュータを、請求項１乃至２０のいずれか一項に記載の画像処理装置の各手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、散乱光の影響を低減する画像処理に関する。
【背景技術】
【０００２】
監視カメラなどの分野において、カメラから被写体までの間に存在する微粒子（例えば、霧）の影響によって視認性が低下し、撮像画像の画質が劣化することが問題となっている。この原因として、光が大気中を通過する際に、微粒子成分によって散乱することが挙げられる。そして、この大気中による光散乱には２種類あることが知られている。１つはミー散乱であり、塵、埃、水蒸気の粒など光の波長と比較して粒子径が大きい粒子によって引き起こされる散乱である。ミー散乱は光の波長に依存せず起こるため、ミー散乱が起きた場合、遠方の被写体ほどコントラストが低下して白く見えるようになる。もう１つはレイリー散乱であり、空気分子のような光の波長と比較して粒子径が小さい粒子によって引き起こされる散乱である。レイリー散乱では波長の短い光ほどよく散乱するため、散乱されて眼に届く光は青色成分の方が多くなり、遠くの被写体ほど全体的に青く見えるようになる。
【０００３】
散乱により視認性が低下した画像を補正する技術として、特許文献１に記載の技術が提案されている。特許文献１に記載の技術では、着目画素ごとに、その着目画素の周囲の所定範囲におけるＲＧＢ全てのチャンネル内での最小の画素値を抽出した画像（ダークチャンネル画像）を用いて、コントラストを補正することで視認性の改善を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第８３４０４６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、上述したミー散乱とレイリー散乱の２つの光散乱特性の違いを考慮せずにコントラストを補正するため、特に、レイリー散乱によって散乱された青い光が補正不足となる。そのため、特許文献１に記載の技術を用いて補正された画像では、例えば遠方の被写体ほど青みが強調される傾向にある。
【０００６】
そこで本発明では、これら２つの散乱の特性の違いを考慮し、それぞれの散乱成分を除去することで、散乱光の影響をより低減した画像を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像処理装置は、複数の色成分からなり、散乱光に由来する成分を画素値に含む入力画像から、散乱光に由来する成分の少なくとも一部を除去した補正画像を生成する画像処理装置であって、
前記入力画像における画素毎に、前記複数の色成分それぞれ画素値のうち最小画素値に基づいて、散乱光に由来する成分に関連する画像を抽出する抽出手段と、
前記抽出手段により抽出された画像と第１の色成分の画像とに基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分を低減する散乱光除去手段と、
前記抽出手段により抽出された画像と前記散乱光除去手段から得られる情報に基づいて、前記第１の色成分の画像に含まれる散乱光に由来する成分のうち波長に依存する成分を算出する算出手段と、
前記散乱光除去手段により得られる情報と前記算出手段により得られる情報とに基づいて、前記補正画像を生成する補正手段とを有する。
【発明の効果】
【０００８】
散乱光の影響がより低減された画像を得ることができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置の構成を示す図。
【図２】実施例１の画像処理装置の構成を示す図。
【図３】実施例１の画像処理装置における処理の流れを示すフローチャート。
【図４】ダークチャンネルの抽出処理を説明する図。
【図５】最小値フィルタ処理を説明する図。
【図６】散乱光基準強度算出処理の流れを示すフローチャート。
【図７】参照画素値抽出処理を説明する図。
【図８】実施例２の画像処理装置の構成を示す図。
【図９】実施例２の画像処理装置における処理の流れを示すフローチャート。
【図１０】実施例３の画像処理装置の構成を示す図。
【図１１】実施例３の画像処理装置における処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
＜実施例１＞
本実施例では、散乱光の検出をＲＧＢの各チャンネルについて行うことで、ミー散乱によるコントラストの低下だけでなく、レイリー散乱による色づきも補正する。以下、本実施例の構成について述べる。
【００１１】
図１は、本実施例の画像処理装置１００の構成を示すブロック図である。本実施例の画像処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ  Ｉ／Ｆ１０４、ＨＤＤ１０５、入力Ｉ／Ｆ１０６、出力Ｉ／Ｆ１０７、システムバス１０８を有している。ＣＰＵ１０１は、以下に述べる各構成を統括的に制御するプロセッサである。ＲＡＭ１０２はＣＰＵ１０１の主メモリ、ワークエリアとして機能するメモリであり、ＲＯＭ１０３は、画像処理装置１００内での処理を司るプログラムを格納するメモリである。
【００１２】
ＨＤＤ  Ｉ／Ｆ１０４は、例えばシリアルＡＴＡ（ＳＡＴＡ）等のインタフェースであり、二次記憶装置としてのＨＤＤ１０５をシステムバス１０８に接続する。ＣＰＵ１０１は、ＨＤＤ  Ｉ／Ｆ１０４を介してＨＤＤ１０５からのデータ読み出し、およびＨＤＤ１０５へのデータ書き込みが可能である。さらにＣＰＵ１０１は、ＨＤＤ１０５に格納されたデータをＲＡＭ１０２に展開し、同様に、ＲＡＭ１０２に展開されたデータをＨＤＤ１０５に保存することが可能である。そしてＣＰＵ１０１は、ＲＡＭ１０２に展開したデータをプログラムとみなし、実行することができる。なお、二次記憶装置はＨＤＤの他、光ディスクドライブ等の記憶デバイスでもよい。
【００１３】
入力Ｉ／Ｆ１０６は、例えばＵＳＢやＩＥＥＥ１３９４等のシリアルバスインタフェースである。
【００１４】
画像処理装置１００は、入力Ｉ／Ｆ１０６を介して、外部メモリ１０９および撮像部１１１に接続されている。ＣＰＵ１０１は、入力Ｉ／Ｆ１０６を介して、外部メモリ１０９および撮像部１１１からデータを取得することができる。  出力Ｉ／Ｆ１０７は、例えばＤＶＩやＨＤＭＩ（登録商標）等の映像出力インタフェースである。画像処理装置１００は出力Ｉ／Ｆ１０７を介して表示部１１０と接続されている。ＣＰＵ１０１は、出力Ｉ／Ｆ１０７を介して表示部１１０に画像を出力し、出力した画像を表示部１１０に表示することができる。
【００１５】
システムバス１０８は、各種データの転送経路であり、画像処理装置１００内の各構成部はシステムバス１０８を介して相互に接続されている。
【００１６】
外部メモリ１０９はハードディスク、メモリカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどの記憶媒体であり、画像処理装置１００で処理された画像データなどを保存することができる。
【００１７】
表示部１１０は、ディスプレイなどの表示装置であり、画像処理装置１００で処理された画像などを表示することができる。
【００１８】
撮像部１１１は、被写体の光情報をセンサで受光し、取得した画像をデジタルデータとして出力するカメラである。本実施例では、撮像部１１１は散乱光によりコントラストが低下した画像データを撮像により取得し、画像処理装置１００がその画像データに処理を施すことで、散乱光の影響が低減された画像を生成する。
【００１９】
［散乱光除去処理］
以下、本実施例の画像処理装置における処理を、図２に示すブロック図と、図３に示すフローチャートを用いて説明する。図２は、画像処理装置１００の処理ブロック図である。本実施例では、ＣＰＵ１０１がＲＯＭ１０３やＨＤＤ１０５に格納された図３のフローチャートに示すプログラムを実行することにより、図２に記載の各ブロックとして機能する。もちろん、全ての処理ブロックの機能をＣＰＵ１０１が有していなくてもよく、各処理ブロックに対応する処理回路を画像処理装置１００内に新たに設けるようにしてもよい。
【００２０】
まず、ステップＳ３０１では、取得部２０１が、撮像部１１１から出力された画像データを取得する。この画像データを、以下入力画像データと呼び、入力画像データが示す画像を入力画像と呼ぶ。取得部２０１は、取得した入力画像データを、ダークチャンネル抽出部２０２、基準強度算出部２０３、フィルタ処理部２０４、散乱光除去部２０６に出力する。
【００２１】
ステップＳ３０２では、ダークチャンネル抽出部２０２が、取得部２０１から出力された入力画像データを用いて、入力画像のダークチャンネルを抽出する。ダークチャンネル抽出部２０２は、抽出したダークチャンネルを並べたダークチャンネル画像を基準強度算出部２０３に出力する。
【００２２】
ダークチャンネルとは、ある画素が持つ、画素値のＲ、Ｇ、Ｂ成分の中で最も小さい画素値を持つ値として定義する。画素値のＲ，Ｇ，Ｂ成分の中で最も小さい画素値は、その中で散乱光に由来する成分が占める割合が元の画像信号に対して相対的に大きくなるため、ダークチャンネル画像はカラー画像よりも散乱光の成分の強度が強く反映された画像となる。図４は、ダークチャンネル抽出部２０２が、ある注目画素に対応するダークチャンネルを導出する過程を示す模式図である。図４の左側の画像で示すように、入力画像の注目画素Ｔにおいて、Ｔの画素値が（Ｒ０，Ｇ０，Ｂ０）であったとする。このとき、画素値の絶対値がＲ０＞Ｇ０＞Ｂ０であったとすると、注目画素ＴのダークチャンネルはＢ０となる。以後、この処理を全ての画素に対して適用することにより、ダークチャンネル画像を生成する。
【００２３】
ステップＳ３０３では、基準強度算出部２０３が、ダークチャンネル抽出部２０２から出力されたダークチャンネル画像および、取得部２０１から出力された入力画像データを用いて、散乱光の各色成分の基準強度を求める。ここで、基準強度は、画像データの各画素位置における散乱光の成分の大きさを決定する基準となる値であり、散乱光の色プロファイルを最も表わす画素として、散乱光の成分が支配的な、霧などにより白くかすんだ空の画素などの画素値を基に決定される。この処理の詳細については後述する。
【００２４】
ステップＳ３０４では、フィルタ処理部２０４が、入力画像のＲ成分だけを抜きだしたＲ画像、Ｇ成分だけを抜き出したＧ画像、Ｂ成分だけを抜き出したＢ画像のそれぞれに、最小値フィルタ処理を行う。そして、フィルタ処理により生成された最小値フィルタ画像を透過率算出部２０５に出力する。
【００２５】
図６を用いてここで画像に適用される最小値フィルタについて説明する。Ｒ画像の例について説明する。Ｒ画像において、画素値ＴＲを持つ注目画素Ｔの周囲５×５画素の領域には、画素値の小さい画素として、画素値Ｒ１、Ｒ２、Ｒ３を持つ画素がそれぞれ存在する。例えば、この画素値の大小関係がＲ３＞Ｒ２＞ＴＲ＞Ｒ１であったとすると、フィルタ処理の対象である注目画素Ｔの画素値ＴＲは、そのパッチ内で最小の画素値であるＲ１により置き換えられる。この処理をＲ，Ｇ，Ｂの各画像の各画素について行うことにより、各画素の画素値が、その周囲で最も散乱光の成分を反映した画素値によって置き換えられるので、局所的な構造の影響を低減した最小値フィルタ画像ＩＦ（ｘ，ｙ，ｃ）が得られる。ＩＦ（ｘ，ｙ，ｃ）は、カラープレーンｃの画素位置（ｘ，ｙ）における最小値フィルタ処理後の画素値を示し、ｃ＝１の時はＲ画像、ｃ＝２の時はＧ画像、ｃ＝３の時はＢ画像を示す。この処理により、画像中の局所的な構造やノイズを散乱光由来のものと誤認する可能性が低減される。
【００２６】
ステップＳ３０５では、透過率算出部２０５が、フィルタ処理部２０４から出力された最小値フィルタ画像と、基準強度算出部２０３から出力された散乱光基準強度に基づいて、入力画像の各画素位置における透過率ｔ（ｘ，ｙ，ｃ）を決定する。ｔ（ｘ，ｙ，ｃ）は、以下の式で表わされる。
【００２７】
【数１】
2018067359.tif 000003
【００２８】
ここで、Ａ（ｃ）は、ステップＳ３０３で算出された、カラープレーンｃにおける散乱光の基準強度である。ωは散乱光の基準強度の算出に用いた画素における透過率を仮定した係数であり、本実施例では０．９を用いている。この値は、散乱光除去処理後の画像が好ましい画像になるように、自由に調整して別の値を用いてもよい。透過率算出部２０５は、式（１）の各変数に取得した値をすることで各画素について透過率を決定し、決定した透過率を散乱光除去部２０６に出力する。なお、透過率は式１に基づいて決定しなくてもよく、例えば、ステレオカメラなどを用いて取得した距離に基づいて決定してもよい。  
【００２９】
ステップＳ３０６では、透過率算出部２０５から出力された透過率と、取得部２０１から出力された入力画像データと、基準強度算出部２０３から出力された散乱光の基準強度とを用いて、入力画像に散乱光の除去処理を行う。散乱光が除去処理は以下の式で表わされる。
【００３０】
【数２】
2018067359.tif 000004
【００３１】
ここで、Ｊ（ｘ，ｙ，ｃ）は散乱光除去処理が行われた画像の画素値を意味し、Ｉ（ｘ，ｙ，ｃ）は入力画像の画素値を意味する。ｔ０は調整のための係数であり、例えば、本実施例では０．１である。これは、ｔ（ｘ，ｙ，ｃ）が限りなく０に近い場合に、Ｉの値のわずかな差によってＪの値が大きく変動してしまうのを防ぐために設けられた値であり、より好ましい画像が得られるように０．１以外の値を自由に設定してもよい。散乱光除去部２０６は、式（２）の各パラメータに取得した値を代入して、各画素におけるＪを求め、散乱光除去画像として出力部２０７に出力する。
【００３２】
ステップＳ３０７では出力部２０７が、散乱光除去部２０６から出力された散乱光除去画像を取得し、ＨＤＤ  Ｉ／Ｆ１０４を介してＨＤＤ１０５に出力して処理を終了する。  
【００３３】
以上が、本実施例の画像処理装置１００で行われる処理の流れである。次に、ステップＳ３０３で行われる散乱光の基準強度算出の処理について、図６に示すフローチャートを参照して説明する。
【００３４】
［基準強度算出処理］
ステップＳ６０１では、基準強度算出部２０３が、ダークチャンネル抽出部２０２から出力されたダークチャンネル画像を取得する。
【００３５】
ステップＳ６０２では、基準強度算出部２０３が、ステップＳ６０１で取得したダークチャンネル画像に基づいて、基準強度算出に用いる画素を決定する。ここで、基準強度算出部２０３は、ダークチャンネル画像の各画素の画素値を参照し、画素値が閾値以上となる画素を、基準強度の算出に用いる参照画素として選択する。本実施例では、ダークチャンネル画像の各画素の中で、画素値が大きい画素の上位１％を参照画素とする。ダークチャンネル画像は散乱光の強度が画素値に反映された画像なので、ダークチャンネル画像において画素値が大きい画素は、散乱光の成分が支配的な画素であると考えることができる。なお、参照画素の決定に用いる閾値は上記のものに限られず、画像に対応するシーンに応じて自由に設定してもよい。
【００３６】
ステップＳ６０３では、基準強度算出部２０３が、取得部２０１から出力された入力画像データを取得する。
【００３７】
ステップＳ６０４では、基準強度算出部２０３が、ステップＳ６０３で取得した入力画像データと、ステップＳ６０２で決定された参照画素に基づいて、基準強度の算出に用いる参照画素値を抽出する。図７を用いて参照画素値抽出の方法について説明する。
【００３８】
図７（ａ）は、ダークチャンネル画像の一例を示す図である。各画素には左上から右下に向かって１〜２５の番号が割り当てられており、ダークチャンネル画像の各画素では、入力画像の各画素の画素値（Ｒｋ，Ｇｋ，Ｂｋ）［ｋ＝１〜２５］のうち、画素値が最も小さい色の画素値が抽出して並べられている。参照画素として選択された画素を円で囲むことによって示している。このステップでは、入力画像データのＲ画像、Ｇ画像、Ｂ画像の、参照画像に対応する画素の画素値が、参照画素値として抽出される。つまり、ダークチャンネル画像において画素３、１２、１３、１８が参照画素として選択されたので、図７（ｂ）〜（ｄ）に示すように、Ｒ画像、Ｇ画像、Ｂ画像の画素３、１２、１３、１８の画素値が、それぞれ参照画素値として抽出される。このように、本実施例では、散乱光が支配的であると判定された画素の画素値を色ごとに抽出して基準強度を算出するので、散乱光の波長依存性を反映した基準強度を算出することができる。
【００３９】
ステップＳ６０５では、基準強度算出部２０３が、ステップＳ６０４で抽出された参照画素値に基づいて、Ｒ，Ｇ，Ｂの各色成分に対応する、散乱光の基準強度Ａ（ｃ）を算出する。ステップＳ６０４でＲ画像、Ｇ画像、Ｂ画像について抽出された参照画素値をそれぞれＲｓ、Ｇｓ、Ｂｓとすると、Ａ（ｃ）は以下の式で表わされる。
【００４０】
Ａ（１）＝ΣＲｓ／ｎ
Ａ（２）＝ΣＧｓ／ｎ
Ａ（３）＝ΣＢｓ／ｎ            （３）
ここで、ｎは各画像における参照画素の数である。このステップでは、基準強度算出部２０３が、ステップＳ６０４で抽出された参照画素値を式３に代入することで、Ｒ，Ｇ，Ｂの各色成分に対応する基準強度Ａ（ｃ）を算出する。なお、基準強度Ａ（ｃ）は必ずしも式３を用いて算出される必要はなく、散乱光の各色成分の強度の違いを表わすパラメータであればどのように求められてもよい。例えば参照画素値の参照画素値の加重平均によって求められてもよい。
【００４１】
ステップＳ６０６では、基準強度算出部２０３が、ステップＳ６０５で算出された散乱光の基準強度を、透過率算出部２０５と散乱光除去部２０６に出力する。
【００４２】
以上が本実施例における散乱光の基準強度算出処理である。この処理によれば、ダークチャンネル画像に基づいて基準強度算出に用いる画素を決定することで、散乱光が支配的な画素を正確に求めることができる。そして、散乱光が支配的な画素の画素値を、色成分ごとに抽出して散乱光除去処理を行うことで、散乱光のうち、波長依存性のある成分と波長依存性のない成分の両方を除去した画像を得ることができる。
【００４３】
なお、本実施例において、取得部２０１は、散乱光を含むカラー画像を示す画像データを取得する取得手段として機能した。また、基準強度算出部２０３は、前記カラー画像において、前記散乱光の基準強度の導出に用いる画素を選択する選択手段として機能した。また、基準強度算出部２０３は、前記選択された画素の第一の色成分の画素値に基づいて、前記散乱光の、前記第一の色成分に対応する第一の基準強度を導出する第一の導出手段としても機能した。また、基準強度算出部２０３は、前記選択された画素の第二の色成分の画素値に基づいて、前記散乱光の、前記第二の色成分に対応する第二の基準強度を導出する第二の導出手段としても機能した。
【００４４】
また、フィルタ処理部２０４は、  前記カラー画像の各画素の画素値を置き換えるフィルタ処理を行うフィルタ手段として機能した。また、透過率算出部２０５は、前記カラー画像の各画素について重み値を設定する設定手段として機能した。また、透過率算出部２０５は、前記第一の基準強度を用いて第一の重み値を導出し、前記第二の基準強度を用いて第二の重み値を導出する重み導出手段としても機能した。また、散乱光除去部２０６は、補正画像を生成する生成手段として機能した。前記補正画像は、前記第一の基準強度と前記重み値とを用いて、前記カラー画像の各画素の第一の色成分の画素値を補正し、前記第二の基準強度と前記重み値とを用いて、前記カラー画像の各画素の第二の色成分の画素値を補正した画像である。
【００４５】
＜実施例２＞
実施例１の方法によれば、ミー散乱に相当する成分（以下、ミー散乱成分とする）とレイリー散乱に相当する成分（以下、レイリー散乱成分とする）の両方が除去された画像を得ることができる。しかし、実際の画像では、霧などが存在していない場合であっても、レイリー散乱による散乱が起こることが知られている。つまり、レイリー散乱の除去の度合いを、レイリー散乱の強度を調整する程度にとどめると、より自然な画像になる。そこで、本実施例では、実施例１で得られたミー散乱成分とレイリー散乱成分の両方が除去された画像に、強度が補正されたレイリー散乱成分を加算することで、より自然な散乱光除去画像を得る。なお、ミー散乱成分とは、入力画像において散乱光に影響を受けた画素値のうち、ミー散乱による散乱光に起因すると仮定した画素値のこととする。また、レイリー散乱成分とは、入力画像において散乱光に影響を受けた画素値のうち、レイリー散乱による散乱光に起因すると仮定した画素値のこととする。
【００４６】
以下、本実施例の画像処理装置における処理を、図８に示すブロック図と、図９に示すフローチャートを用いて説明する。図８は、本実施例における画像処理装置１００の処理ブロック図である。本実施例では、ＣＰＵ１０１がＲＯＭ１０３やＨＤＤ１０５に格納された図９のフローチャートに示すプログラムを実行することにより、図８に記載の各ブロックとして機能する。もちろん、全ての処理ブロックの機能をＣＰＵ１０１が有していなくてもよく、各処理ブロックに対応する処理回路を画像処理装置１００内に新たに設けるようにしてもよい。なお、実施例１と同じ処理については、同様の符号を付して説明を省略する。
【００４７】
ステップＳ９０３では、基準強度算出部２０３が、実施例１のステップＳ３０３と同様に、散乱光の基準強度を算出する。ここで行われる基準強度の算出処理は基本的にステップ３０３で行われるものと同じであるが、本実施例では、Ｒ画像、Ｇ画像、Ｂ画像から算出する基準強度Ａ（ｃ）だけでなく、ダークチャンネル画像から算出する基準強度Ａｄａｒｋについても算出を行う。ダークチャンネル画像の参照画素の画素値をＤｓとすると、Ａｄａｒｋは以下の式で表わされる。
【００４８】
Ａｄａｒｋ＝ΣＤｓ／ｎ        （４）
基準強度算出部２０３は、上記の式４に基づいて、Ａ（ｃ）と同様にＡｄａｒｋを求めて透過率算出部２０５と散乱光除去部２０６に出力する。Ａｄａｒｋは波長依存性を持たないため、ミー散乱による成分を反映した散乱光の基準強度となる。
【００４９】
ステップＳ９０４では、フィルタ処理部２０４が、取得部２０１から出力された入力画像データだけでなく、ダークチャンネル抽出部２０２で生成されたダークチャンネル画像も取得する。そして、入力画像とダークチャンネル画像それぞれに最小値フィルタを適用し、透過率算出部２０５に出力する。
【００５０】
ステップＳ９０５では、透過率算出部２０５が、フィルタ処理部２０４から出力されたフィルタ処理済みのＲ，Ｇ，Ｂ画像とダークチャンネル画像を取得し、ステップＳ３０５と同様に透過率の算出を行う。このステップでは、Ｒ、Ｇ、Ｂ画像のそれぞれに対応する透過率だけではなく、ダークチャンネル画像に対応する透過率ｔｄａｒｋ（ｘ，ｙ）も算出する。ｔｄａｒｋ（ｘ，ｙ）は、以下の式によって表わされる。
【００５１】
【数３】
2018067359.tif 000005
【００５２】
ここで、ＩＦｄａｒｋ（ｘ，ｙ）は、フィルタ処理済みのダークチャンネル画像の画素値を示している。透過率算出部２０５は、取得したパラメータを式５に代入することで、ｔｄａｒｋ（ｘ，ｙ）を算出し、散乱光除去部２０６に出力する。
【００５３】
ステップＳ９０６では、散乱光除去部２０６が、透過率算出部２０５から出力された透過率と、取得部２０１から出力された入力画像データと、基準強度算出部２０３から出力された散乱光の基準強度とを用いて、入力画像に散乱光の除去処理を行う。このステップでは、実施例１のステップＳ３０６で行う散乱光の除去処理の他に、ｔｄａｒｋおよびＡｄａｒｋを用いた散乱光の除去処理も行う。この散乱光除去処理は以下の式で表わされる。
【００５４】
【数４】
2018067359.tif 000006
【００５５】
ここで、Ｊｄａｒｋ（ｘ，ｙ，ｃ）は散乱光除去処理が行われた画像の画素値を意味し、Ｉ（ｘ，ｙ，ｃ）は入力画像の画素値を意味する。Ａｄａｒｋおよびｔｄａｒｋは、それぞれダークチャンネル画像を用いて決定された散乱光の基準強度および透過率を示す。この散乱光除去処理では、入力画像の全ての色成分に共通のパラメータを用いた処理が行われるため、波長依存性のないミー散乱光成分だけが除去された画像が得られる。
【００５６】
散乱光除去部２０６は、Ａ（ｃ）およびｔを用いて散乱光の除去処理を行った画像と、Ａｄａｒｋおよびｔｄａｒｋを用いて散乱光の除去処理を行った画像の両方をレイリー散乱成分算出部８０１に出力する。
【００５７】
ステップＳ９０７では、レイリー散乱成分算出部８０１が、散乱光除去部２０６から出力された二種類の散乱光除去画像を用いて、散乱光のレイリー散乱成分を抽出する。
【００５８】
Ｊ（ｘ，ｙ，ｃ）はミー散乱成分とレイリー散乱成分の両方が除去された画像、Ｊｄａｒｋ（ｘ，ｙ，ｃ）はミー散乱成分だけが除去された画像なので、散乱光のうちのレイリー成分に対応する画素値をＫ（ｘ，ｙ，ｃ）とすると、Ｋは以下の式で表わされる。
【００５９】
Ｋ（ｘ，ｙ，ｃ）＝Ｊｄａｒｋ（ｘ，ｙ，ｃ）−Ｊ（ｘ，ｙ，ｃ）  （７）なお、Ｋの値が負の値になる場合は、その画素におけるＫの値を０とする。レイリー散乱成分算出部８０１は、上記式に散乱光除去部２０６から出力された各画像の画素値を代入し、レイリー散乱成分の画素値Ｋ（ｘ，ｙ，ｃ）を算出して合成部８０２に出力する。  
【００６０】
ステップＳ９０８では、合成部８０２が、散乱光除去部２０６から出力されたＪ（ｘ，ｙ，ｃ）と、レイリー散乱成分算出部８０１から出力されたＫ（ｘ，ｙ，ｃ）を加重合成し、最終的に出力する合成画像を生成する。合成部８０２は、ここで生成した合成画像を出力部２０７に出力する。合成画像の画素値をＬ（ｘ，ｙ，ｃ）とすると、画素値Ｌは以下の式で表わされる。
【００６１】
Ｌ（ｘ，ｙ，ｃ）＝Ｊ（ｘ，ｙ，ｃ）＋ｒ・Ｋ（ｘ，ｙ，ｃ）  （８）
ここで、ｒは０〜１の定数であり、レイリー散乱成分の強度を補正するために用いられる。本実施例ではｒ＝０．５を用いているが、ｒの値は好ましい画像が得られるように自由に調整してもよい。
【００６２】
ステップＳ９０９では、出力部２０７が、合成部８０２から出力された合成画像を取得し、ＨＤＤ  Ｉ／Ｆ１０４を介してＨＤＤ１０５に出力して処理を終了する。
【００６３】
以上が本実施例の処理である。以上の処理によると、散乱光のうち、ミー散乱成分が除去され、レイリー散乱成分の強度が補正された画像を得ることができるので、より自然に近い画像を得ることができる。
【００６４】
なお、本実施例において、レイリー散乱成分算出部８０１は、前記補正画像と、前記散乱光のうちの第一の散乱成分を前記カラー画像から除去した画像とを用いて、前記散乱光のうちの第二の散乱成分を抽出する抽出手段として機能した。ここで、第一の散乱成分は波長依存性のない成分であり、第二の散乱成分は波長依存性のある成分である。また、合成部８０２は、前記補正画像に、前記抽出された第二の散乱成分を加重加算する加算手段として機能した。
【００６５】
＜実施例３＞
実施例２では、ミー散乱成分とレイリー散乱成分の両方が除去された画像に、強度が補正されたレイリー散乱成分を加算することで、より自然な散乱光除去画像を得る方法について説明した。しかし、画像が撮影される場所によっては、晴天時に撮影した画像であってもミー散乱による散乱が少し起きる場合がある。そういった場所で撮影された画像においては、ミー散乱の除去の度合いが強すぎると不自然な画像となってしまう場合がある。そこで、本実施例では、ミー散乱成分とレイリー散乱成分の両方が除去された画像に、強度が補正されたレイリー散乱成分だけではなく、強度が補正されたミー散乱成分も加算することで、様々なシーンに応じた、自然な散乱光除去画像を得る。
【００６６】
以下、本実施例の画像処理装置における処理を、図１０に示すブロック図と、図１１に示すフローチャートを用いて説明する。図１０は、本実施例における画像処理装置１００の処理ブロック図である。本実施例では、ＣＰＵ１０１がＲＯＭ１０３やＨＤＤ１０５に格納された図１１のフローチャートに示すプログラムを実行することにより、図８に記載の各ブロックとして機能する。もちろん、全ての処理ブロックの機能をＣＰＵ１０１が有していなくてもよく、各処理ブロックに対応する処理回路を画像処理装置１００内に新たに設けるようにしてもよい。なお、実施例１および２と同じ処理については、同様の符号を付して説明を省略する。
【００６７】
本実施例では、実施例２のフローチャートに、ミー散乱成分算出処理（Ｓ１１０１）が追加されている。
【００６８】
ステップＳ１１０１では、ミー散乱成分算出部１００１が、取得部２０１から出力された入力画像Ｉ（ｘ，ｙ，ｃ）と、散乱光除去部２０６から出力された、Ｊｄａｒｋ（ｘ，ｙ，ｃ）を用いて、散乱光中のミー散乱成分を算出する。Ｉ（ｘ，ｙ，ｃ）は散乱光が除去されていない画像であり、Ｊｄａｒｋ（ｘ，ｙ，ｃ）は散乱光のうちのミー散乱成分だけが除去された画像であるので、散乱光のうちのミー散乱成分に対応する画素値をＭ（ｘ，ｙ，ｃ）とすると、Ｍは以下の式で表わされる。
【００６９】
Ｍ（ｘ，ｙ，ｃ）＝Ｉ（ｘ，ｙ，ｃ）−Ｊｄａｒｋ（ｘ，ｙ，ｃ）  （９）なお、上記式のＭの値が負の値になる場合は、その画素におけるＭの値を０とする。ミー散乱成分算出部１００１は、上記式に散乱光除去部２０６から出力された各画像の画素値を代入し、レイリー散乱成分の画素値Ｋ（ｘ，ｙ，ｃ）を算出して合成部８０２に出力する。
【００７０】
ステップＳ１１０２では、合成部８０２が、散乱光除去部２０６から出力されたＪ（ｘ，ｙ，ｃ）と、レイリー散乱成分算出部８０１から出力されたＫ（ｘ，ｙ，ｃ）と、ミー散乱成分算出部１００１から出力されたＭ（ｘ，ｙ，ｃ）を取得する。そして取得したＪ（ｘ，ｙ，ｃ）とＫ（ｘ，ｙ，ｃ）とＭ（ｘ，ｙ，ｃ）を加重合成し、最終的に出力する合成画像を生成する。合成部８０２は、ここで生成した合成画像を出力部２０７に出力する。この時、合成画像の画素値をＬ（ｘ，ｙ，ｃ）とすると、画素値Ｌは以下の式で表わされる。
【００７１】
Ｌ（ｘ，ｙ，ｃ）＝Ｊ（ｘ，ｙ，ｃ）＋ｍ・Ｍ（ｘ，ｙ，ｃ）ｒ・Ｋ（ｘ，ｙ，ｃ）（１０）
ここで、ｍとｒはそれぞれ０〜１の定数であり、ミー散乱成分とレイリー散乱成分の強度を補正するために用いられる。本実施例では、ｍ＝０．１、ｒ＝０．５を用いているが、ｍおよびｒの値は好ましい画像が得られるように自由に調整してもよい。
【００７２】
以上の処理によれば、ミー散乱成分とレイリー散乱成分の両方を自由に補正することができるので、様々なシーンに合わせた、自然な散乱光除去画像を得ることができる。
【００７３】
＜その他の実施例＞
本発明の実施形態は、上記の実施例に限られるものではない。例えば、上記の実施例において、各画素がＲ、Ｇ、Ｂの三色の画素値を持つ場合を考えたが、例えばシアン、イエロー、マゼンタなどの、別の色の画素値を持つ場合にも本発明は適用できる。また、各色成分が、各画素値からの直接の出力だけでなく、Ｙ，Ｕ，Ｖなどの輝度と色差の線型結合によって表わされる場合にも本発明は適用することができる。
【００７４】
また、上記の実施例ではダークチャンネル画像を用いて散乱光基準強度の算出に用いる画素を決定したが、必ずしもこの方法により散乱光基準強度の算出を行わなくてもよい。例えば、参照画素として用いる領域をユーザが画面上で選択するようにしてもよいし、画像上部に存在する、ある程度の面積を持つコントラストの低い領域に対応する画素を、参照画素として自動的に選択するようにしてもよい。
【００７５】
また、上記の実施例では、散乱光基準強度に透過率を乗算することで、各画素位置における散乱光の強度を決定したが、同じような結果が得られるものであれば、透過率ではない重み値を用いてもよい。例えば、被写体の距離に依存する別のパラメータを重み値として用いてもよい。
【００７６】
また、上記の実施例では、透過率を、散乱光基準強度に依存する計算式に当てはめて算出したが、各パラメータが得られる方法であればどのようなものでもよい。例えば、散乱光基準強度と透過率の対応表を用意しておき、その対応表に基づいて透過率を決定するようにしてもよい。また、晴天時の画像や地図情報から被写体距離を推定して、推定した被写体距離に基づいて各画素の透過率を計算してもよいし、あらかじめ外部で計算された透過率マップを取得して散乱光除去処理に用いてもよい。
【００７７】
なお、本発明は例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。また、複数の機器から構成されるシステムに適用してもよいし、一つの機器からなる装置に適用してもよい。
【００７８】
また、本発明は、上述した実施例の機能（例えば、上記のフローチャートにより示される工程）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が、コンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。
【符号の説明】
【００７９】
１００  画像処理装置
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
２０１  取得部
２０３  基準強度算出部
２０５  透過率算出部
２０６  散乱光除去部
【図１】
2018067359.tif 000007
【図２】
2018067359.tif 000008
【図３】
2018067359.tif 000009
【図４】
2018067359.tif 000010
【図５】
2018067359.tif 000011
【図６】
2018067359.tif 000012
【図７】
2018067359.tif 000013
【図８】
2018067359.tif 000014
【図９】
2018067359.tif 000015
【図１０】
2018067359.tif 000016
【図１１】
2018067359.tif 000017