(57)【要約】【課題】  エッジの検出精度をより改善する。【解決手段】  画像処理装置は、入力画像を取得する取得部と、ベクトル生成部と、エッジ検出部とを備える。ベクトル生成部は、入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを各方向で求める。また、ベクトル生成部は、確率場およびエネルギー場を用いて注目画素のエッジフローベクトルを生成する。エッジ検出部は、入力画像の各位置でそれぞれ生成したエッジフローベクトルを合成し、合成後のエッジフローベクトルが画像内で対向する位置から入力画像のエッジ画素を検出する。そして、ベクトル生成部は、１つの注目画素につき複数のエッジフローベクトルを生成する。【選択図】  図１
2014063377.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を取得する取得部と、
前記入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを各方向で求め、前記確率場および前記エネルギー場を用いて前記注目画素のエッジフローベクトルを生成するベクトル生成部と、
前記入力画像の各位置でそれぞれ生成した前記エッジフローベクトルを合成し、合成後の前記エッジフローベクトルが画像内で対向する位置から前記入力画像のエッジ画素を検出するエッジ検出部と、を備え、
前記ベクトル生成部は、１つの前記注目画素につき複数のエッジフローベクトルを生成する画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記ベクトル生成部は、前記注目画素の周方向に複数の領域を設定し、各領域でそれぞれ前記エッジフローベクトルを生成する第１処理、または、前記注目画素に対して異なる複数の標本点を利用して求めた複数の前記確率場および前記エネルギー場から、それぞれ複数の前記エッジフローベクトルを生成する第２処理の少なくとも一方を実行する画像処理装置。
【請求項３】
入力画像を取得する取得部と、
前記入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを各方向で求め、前記確率場および前記エネルギー場を用いて前記注目画素のエッジフローベクトルを生成するベクトル生成部と、
前記入力画像の各位置でそれぞれ生成した前記エッジフローベクトルを合成し、合成後の前記エッジフローベクトルが画像内で対向する位置から前記入力画像のエッジ画素を検出するエッジ検出部と、を備え、
前記ベクトル生成部は、所定の方向の前記確率場および前記エネルギー場の大きさが閾値未満であるときに、前記所定の方向の前記確率場および前記エネルギー場の値を別の値に置換して処理する画像処理装置。
【請求項４】
入力画像を取得する取得部と、
前記入力画像の画素のうち、エッジ強度が第１閾値以上である画素を前記入力画像のエッジ画素として検出するエッジ検出部と、を備え、
前記エッジ検出部は、前記エッジ強度が前記第１閾値よりも低い画素であっても、前記エッジ強度が第１閾値以上である画素に隣接する画素であれば、さらに前記エッジ画素として補間する画像処理装置。
【請求項５】
入力画像を取得する取得部と、
前記入力画像からエッジ画素を検出するとともに、前記エッジ画素を連結して前記入力画像から前記エッジ画素で囲まれた閉空間を抽出するエッジ検出部と、を備え、
前記エッジ検出部は、エッジの端点から前記エッジ画素の延長方向を求め、前記閉空間を形成するために前記端点に接続される補間エッジの位置を、前記延長方向に基づいて決定する画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記エッジ検出部は、前記延長方向に位置するエッジ画素を優先して、前記端点から前記補間エッジの接続先を決定する画像処理装置。
【請求項７】
請求項５または請求項６に記載の画像処理装置において、
前記エッジ検出部は、前記端点の画素位置と、前記端点から延長して所定距離離れたエッジ画素の画素位置との変化から、前記延長方向を求める画像処理装置。
【請求項８】
請求項５または請求項６に記載の画像処理装置において、
エッジ画素のパターンと、前記延長方向との対応関係を示すテンプレートを記憶したメモリをさらに備え、
前記エッジ検出部は、前記端点を起点とする複数のエッジ画素と、前記テンプレートとのマッチングによって前記延長方向を求める画像処理装置。
【請求項９】
入力画像を取得する取得部と、
前記入力画像からエッジ画素を検出するエッジ検出部と、を備え、
前記エッジ検出部は、エッジの長さが閾値未満で所定範囲内に他のエッジ画素がない場合には前記エッジ画素を削除し、エッジの長さが閾値未満で前記所定範囲内に他のエッジ画素がある場合には前記エッジ画素と前記他のエッジ画素とを連結して補間する画像処理装置。
【請求項１０】
請求項１から請求項９のいずれか１項に記載の画像処理装置において
前記エッジ検出部のエッジ検出結果を用いて領域分割された画像に対して、画像処理を施す画像処理部をさらに備える画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像を用いて塗り絵用の元画像を生成する画像処理装置。
【請求項１２】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像に対して、注目領域の被写体の削除、注目領域の被写体の移動、注目領域への局所的なフィルタ処理の少なくとも１つを行う画像処理装置。
【請求項１３】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像の注目領域に対して、タグ情報を付与する画像処理装置。
【請求項１４】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像を用いて、所定の認識対象を抽出する画像処理装置。
【請求項１５】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像を用いて、立体画像を復元するときの対応点を探索する画像処理装置。
【請求項１６】
請求項１０に記載の画像処理装置において、
前記画像処理部は、それぞれ領域分割された基準画像および処理対象画像を領域単位でマッチングして、前記基準画像に対する前記処理対象画像の類否を判定する画像処理装置。
【請求項１７】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像に対して、領域単位で圧縮率を変化させた画像圧縮を行う画像処理装置。
【請求項１８】
請求項１０に記載の画像処理装置において、
前記画像処理部は、前記領域分割された画像を用いて、領域単位で動きベクトルを求める画像処理装置。
【請求項１９】
入力画像を取得する処理と、
前記入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを求め、前記確率場および前記エネルギー場を用いて前記注目画素のエッジフローベクトルを生成するベクトル生成処理と、
前記入力画像の各位置でそれぞれ生成した前記エッジフローベクトルを合成し、合成後の前記エッジフローベクトルが画像内で対向する位置から前記入力画像のエッジ画素を検出するエッジ検出処理と、コンピュータに実行させ、
前記ベクトル生成処理では、１つの前記注目画素につき複数のエッジフローベクトルを生成するプログラム。
【請求項２０】
入力画像を取得する処理と、
前記入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを求め、前記確率場および前記エネルギー場を用いて前記注目画素のエッジフローベクトルを生成するベクトル生成処理と、
前記入力画像の各位置でそれぞれ生成した前記エッジフローベクトルを合成し、合成後の前記エッジフローベクトルが画像内で対向する位置から前記入力画像のエッジ画素を検出するエッジ検出処理と、をコンピュータに実行させ、
前記ベクトル生成処理では、所定の方向の前記確率場および前記エネルギー場の大きさが閾値未満であるときに、前記所定の方向の前記確率場および前記エネルギー場の値を別の値に置換して処理するプログラム。
【請求項２１】
入力画像を取得する処理と、
前記入力画像の画素のうち、エッジ強度が第１閾値以上である画素を前記入力画像のエッジ画素として検出するエッジ検出処理と、をコンピュータに実行させ、
前記エッジ検出処理では、前記エッジ強度が前記第１閾値よりも低い画素であっても、前記エッジ強度が第１閾値以上である画素に隣接する画素であれば、さらに前記エッジ画素として補間するプログラム。
【請求項２２】
入力画像を取得する処理と、
前記入力画像からエッジ画素を検出するとともに、前記エッジ画素を連結して前記入力画像から前記エッジ画素で囲まれた閉空間を形成するエッジ検出処理と、をコンピュータに実行させ、
前記エッジ検出処理では、エッジの端点から前記エッジ画素の延長方向を求め、前記閉空間を形成するために前記端点に接続される補間エッジの位置を、前記延長方向に基づいて決定するプログラム。
【請求項２３】
入力画像を取得する処理と、
前記入力画像からエッジ画素を検出するエッジ検出処理と、をコンピュータに実行させ、
前記エッジ検出処理では、エッジの長さが閾値未満で所定範囲内に他のエッジ画素がない場合には前記エッジ画素を削除し、エッジの長さが閾値未満で前記所定範囲内に他のエッジ画素がある場合には前記エッジ画素と前記他のエッジ画素とを連結して補間するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来から、画像の領域分割のために、画像のエッジを検出する技術が種々提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Wei-Ying Ma, et al. ”EdgeFlow: A Technique for Boundary Detection and Image Segmentation” IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL9, NO.8, AUGUST 2000
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術では、例えば、ユーザがエッジと認識していない部分からエッジを検出する場合や、ユーザがエッジと認識している部分でエッジが欠ける場合があり、エッジの検出精度になお改善の余地があった。
【課題を解決するための手段】
【０００５】
本発明の一例としての画像処理装置は、入力画像を取得する取得部と、ベクトル生成部と、エッジ検出部とを備える。ベクトル生成部は、入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを各方向で求める。また、ベクトル生成部は、確率場およびエネルギー場を用いて注目画素のエッジフローベクトルを生成する。エッジ検出部は、入力画像の各位置でそれぞれ生成したエッジフローベクトルを合成し、合成後のエッジフローベクトルが画像内で対向する位置から入力画像のエッジ画素を検出する。そして、ベクトル生成部は、１つの注目画素につき複数のエッジフローベクトルを生成する。
【０００６】
本発明の一例としての画像処理装置は、入力画像を取得する取得部と、ベクトル生成部と、エッジ検出部とを備える。ベクトル生成部は、入力画像の注目画素につき、画像の変化の方向を示す確率場と画像の変化の強さを示すエネルギー場とを各方向で求める。また、ベクトル生成部は、確率場およびエネルギー場を用いて注目画素のエッジフローベクトルを生成する。エッジ検出部は、入力画像の各位置でそれぞれ生成したエッジフローベクトルを合成し、合成後のエッジフローベクトルが画像内で対向する位置から入力画像のエッジ画素を検出する。そして、ベクトル生成部は、所定の方向の確率場およびエネルギー場の大きさが閾値未満であるときに、所定の方向の確率場およびエネルギー場の値を別の値に置換して処理する
本発明の一例としての画像処理装置は、入力画像を取得する取得部と、入力画像の画素のうち、エッジ強度が第１閾値以上である画素を入力画像のエッジ画素として検出するエッジ検出部と、を備える。そして、エッジ検出部は、エッジ強度が第１閾値よりも低い画素であっても、エッジ強度が第１閾値以上である画素に隣接する画素であれば、さらにエッジ画素として補間する。
【０００７】
本発明の一例としての画像処理装置は、入力画像を取得する取得部と、入力画像からエッジ画素を検出するとともに、エッジ画素を連結して入力画像からエッジ画素に囲まれた閉空間を抽出するエッジ検出部と、を備える。そして、エッジ検出部は、エッジの端点からエッジ画素の延長方向を求め、閉空間を形成するために端点に接続される補間エッジの位置を、延長方向に基づいて決定する。
【０００８】
本発明の一例としての画像処理装置は、入力画像を取得する取得部と、入力画像からエッジ画素を検出するエッジ検出部と、を備える。そして、エッジ検出部は、エッジの長さが閾値未満で所定範囲内に他のエッジ画素がない場合にはエッジ画素を削除する。また、エッジ検出部は、エッジの長さが閾値未満で所定範囲内に他のエッジ画素がある場合にはエッジ画素と他のエッジ画素とを連結して補間する。
【発明の効果】
【０００９】
本発明によれば、エッジの検出精度をより改善することができる。
【図面の簡単な説明】
【００１０】
【図１】一の実施形態での画像処理装置の構成例を示す図
【図２】（ａ）：入力画像の例を示す図、（ｂ）：領域情報の例を示す図、（ｃ）：出力画像の例を示す図
【図３】一の実形態における領域分割処理の例を示す流れ図
【図４】（ａ），（ｂ）：部分領域の統合処理例を示す図
【図５】エッジ検出処理のサブルーチンの例を示す流れ図
【図６】確率場およびエネルギー場の説明図
【図７】エッジフローベクトルの生成例を示す図
【図８】（ａ）〜（ｄ）：エッジフローベクトルの合成処理の概要図
【図９】（ａ）〜（ｃ）：エッジフローベクトルの合成処理の説明図
【図１０】（ａ）：垂直方向のエッジＶ（ｘ，ｙ）の求め方を示す図、（ｂ）：水平方向のエッジＨ（ｘ，ｙ）の求め方を示す図
【図１１】（ａ），（ｂ）：エッジ画素の補間の例を示す図
【図１２】（ａ），（ｂ）：特徴的処理１でのゼロクリップ処理例の説明図
【図１３】特徴的処理２の第１処理におけるエッジフローベクトルの生成例を示す図
【図１４】第１処理での作用例を示す図
【図１５】特徴的処理２の第２処理におけるエッジフローベクトルの生成例を示す図
【図１６】第２処理での作用例を示す図
【図１７】（ａ），（ｂ）：特徴的処理３での補間処理の説明図
【図１８】（ａ），（ｂ）：エッジ画素の端点からエッジ画素の延長方向を求める第１の例を示す図
【図１９】（ａ）〜（ｅ）：テンプレートの例を示す図
【図２０】（ａ），（ｂ）：エッジ画素の端点からエッジ画素の延長方向を求める第２の例を示す図
【図２１】特徴的処理４での補間エッジの接続先の探索例を示す図
【図２２】（ａ），（ｂ）：特徴的処理５での処理例の説明図
【図２３】画像処理の一例（注目領域の削除）を示す図
【図２４】画像処理の一例（注目領域の移動）を示す図
【図２５】画像処理の一例（注目領域へのフィルタ処理）を示す図
【図２６】タグ情報の付与の例を示す図
【図２７】認識対象の抽出処理の一例を示す図
【図２８】立体画像復元時の対応点の探索例を示す図
【図２９】画像の類否判定の例を示す図
【図３０】画像の圧縮処理の例を示す図
【図３１】動きベクトルの演算例を示す図
【図３２】他の実施形態での撮像装置の構成例を示す図
【発明を実施するための形態】
【００１１】
＜一の実施形態での画像処理装置の構成例＞
図１は、一の実施形態での画像処理装置の構成例を示す図である。一の実施形態では、画像処理装置の一例として、エッジフロー(EdgeFlow)ベクトルを用いたエッジ検出処理で入力画像の領域分割処理を行うコンピュータを説明する。
【００１２】
画像処理装置１１は、入出力Ｉ／Ｆ１２と、画像蓄積部１３と、バンドパス処理部１４と、ベクトル生成部１５と、エッジ検出部１６と、統合処理部１７と、領域情報蓄積部１８と、画像処理部１９と、ＣＰＵ２０と、プログラム記憶部２１を備える。
【００１３】
画像処理装置１１の入出力Ｉ／Ｆ１２には、入力デバイス２２（キーボード、ポインティングデバイスなど）と、出力デバイス２３（モニタ、プリンタなど）と、データ読込部２４とが接続されている。データ読込部２４は、領域分割処理の対象となる入力画像のデータや、プログラムを外部から読み込むときに用いられる。データ読込部２４は、例えば、着脱可能な記憶媒体からデータを取得する読込デバイス（光ディスク、磁気ディスク、光磁気ディスクの読込装置など）や、公知の通信規格に準拠して外部装置と通信を行う通信デバイス（ＵＳＢインターフェース、ＬＡＮモジュール、無線ＬＡＮモジュールなど）である。
【００１４】
入出力Ｉ／Ｆ１２は、入力デバイス２２やデータ読込部２４からのデータを受け付けるとともに、出力デバイス２３に対して画像のデータを出力する。
【００１５】
画像蓄積部１３は、入力画像のデータを記憶する記憶媒体である。なお、図２（ａ）は入力画像の一例を示す図である。画像蓄積部１３の入力画像のデータは、ＣＰＵ２０の制御により、バンドパス処理部１４および画像処理部１９に出力される。
【００１６】
バンドパス処理部１４は、入力画像に対してバンドパスフィルタ処理を施す。なお、バンドパス処理部１４の出力はベクトル生成部１５に接続されている。
【００１７】
ベクトル生成部１５は、入力画像の注目画素のエッジフローベクトルを生成する。なお、ベクトル生成部１５の出力はエッジ検出部１６に接続されている。
【００１８】
エッジ検出部１６は、入力画像の各位置でそれぞれ生成したエッジフローベクトルを合成し、合成後のエッジフローベクトルが画像内で対向する位置から入力画像のエッジ画素を検出する。そして、エッジ検出部１６は、入力画像からエッジ画素に囲まれた閉空間（部分領域）を抽出する。なお、エッジ検出部１６の出力は統合処理部１７に接続されている。
【００１９】
統合処理部１７は、入力画像から抽出された複数の部分領域のうち、画像の特徴が類似する隣接領域を統合する。そして、統合処理部１７は、入力画像の領域分割結果を示すエッジ画像（領域情報）を出力する。なお、図２（ｂ）は、図２（ａ）に対応する領域情報の一例を示す図である。
【００２０】
領域情報蓄積部１８は、上記の領域情報を記憶する記憶媒体である。なお、領域情報蓄積部１８の領域情報は、ＣＰＵ２０の制御により画像処理部１９に出力される。
【００２１】
画像処理部１９は、領域情報による境界線を入力画像に重畳して出力画像を生成する。また、画像処理部１９は、領域情報を用いて、入力画像の部分領域ごとに各種の画像処理（例えば、領域別のぼかし処理、領域別のタグ情報の付与、画像分割、被写体抽出を伴う画像合成など）を施すこともできる。なお、図２（ｃ）は、図２（ａ），（ｂ）に対応する出力画像の一例を示す図である。
【００２２】
ＣＰＵ２０は、プログラムの実行により画像処理装置１１の動作を統括的に制御するプロセッサである。
【００２３】
プログラム記憶部２１は、ＣＰＵ２０の実行するプログラムや、プログラムの実行に必要となる各種のデータを記憶する。例えば、プログラム記憶部２１は、ハードディスクや不揮発性の半導体メモリなどの記憶媒体である。
【００２４】
ここで、図１に示す画像処理装置１１内の機能ブロックは、ハードウェア的には任意のプロセッサ、メモリ、その他のＬＳＩで実現でき、ソフトウェア的にはメモリにロードされたプログラムによって実現される。例えば、バンドパス処理部１４、ベクトル生成部１５、エッジ検出部１６、統合処理部１７、画像処理部１９は、ＡＳＩＣ(Application Specific Integrated Circuit)であってもよく、またはＣＰＵ２０によって処理されるプログラムモジュールであってもよい。なお、画像蓄積部１３および領域情報蓄積部１８は、同一のメモリ上に確保されている複数の記憶領域であってもよい。
【００２５】
＜領域分割処理の説明＞
図３は、一の実施形態における領域分割処理の例を示す流れ図である。図３の流れ図の処理は、ユーザからの指示を受け付けたときに、ＣＰＵ２０がプログラムを実行することによって開始される。
【００２６】
ステップ＃１０１：画像処理装置１１は、データ読込部２４を介して入力画像を取得する。入力画像のデータは、ＣＰＵ２０の制御により画像蓄積部１３に記録される。
【００２７】
ステップ＃１０２：バンドパス処理部１４は、バンドパスフィルタにより、入力画像のノイズ成分を除去する。例えば、＃１０２のバンドパス処理部１４は、入力画像にローパスフィルタ処理を施す。
【００２８】
ステップ＃１０３：ベクトル生成部１５およびエッジ検出部１６は、入力画像のエッジ検出処理を実行する。なお、一の実施形態におけるエッジ検出処理の動作については後述する。
【００２９】
ステップ＃１０４：統合処理部１７は、部分領域の統合処理を実行する。そして、統合処理部１７は、入力画像の領域分割結果を示す領域情報を出力する。
【００３０】
ここで、＃１０４での統合処理は、公知の領域統合のアルゴリズムを用いて行われる。例えば、統合処理部１７は、入力画像から抽出された複数の部分領域について、或る部分領域とその周辺の部分領域との類似度を算出する。この類似度は、例えば画像の輝度・色差などの特徴を用いて算出される。そして、統合処理部１７は、算出した類似度の高い隣接領域を１つの領域に統合する。かかる統合処理を繰り返すことで、エッジ検出処理で細分化された部分領域のうち、画像の特徴が類似する隣接領域が１つにまとまるので、ユーザの感覚に近い領域分割結果を得ることができる。
【００３１】
図４は、部分領域の統合処理例を示す図である。図４（ａ）は、薔薇の花を撮影した画像に対してエッジ検出処理を施した状態を示している。図４（ａ）では、個々の薔薇の花びらがそれぞれ独立した部分領域として抽出されている。一方、図４（ｂ）は、図４（ａ）の画像に対して部分領域の統合処理を施した状態を示している。図４（ｂ）では、色の類似する薔薇の花びらの部分領域が統合され、薔薇の花全体が１つの領域として抽出されている。
【００３２】
ステップ＃１０５：画像処理部１９は、領域分割処理の結果を出力する。
【００３３】
例えば、画像処理部１９は、領域情報による境界線を入力画像に重畳して出力画像を生成する。そして、ＣＰＵ２０は、出力画像を出力デバイス２３に表示させる。また、画像処理部１９は、領域情報を用いて、入力画像の部分領域ごとに選択的に画像処理を施してもよい。なお、＃１０５での画像処理の例は後述する。以上で、図３の流れ図の説明を終了する。
【００３４】
＜エッジ検出処理の説明＞
次に、エッジ検出処理（図３の＃１０３）のサブルーチンの例を説明する。
【００３５】
以下の説明では、理解の便宜のため、まず図５の流れ図に沿って、エッジフローベクトルを用いた一般的なエッジ検出処理の概要を説明する。その後に、一の実施形態での特徴的処理について詳述する。
【００３６】
ステップ＃２０１：ベクトル生成部１５は、入力画像のうちからエッジフローベクトルを求める注目画素を指定する。一例として、＃２０１でのベクトル生成部１５は、入力画像の左上隅を起点として１行ずつ左から右の順で、全ての画素を順次注目画素に指定する。
【００３７】
ステップ＃２０２：ベクトル生成部１５は、注目画素（＃２０１）の各方向で、画像の変化の方向を示す確率場と、画像の変化の強さを示すエネルギー場とをそれぞれ求める。
【００３８】
図６は、確率場およびエネルギー場の説明図である。ベクトル生成部１５は、注目画素から一定距離の円周上に等間隔をあけて複数個の周辺画素（標本点）をサンプリングする。以下の例では、注目画素ｓ（ｘ，ｙ）から周辺画素までの距離をｒと定義する。また、周辺画素は、注目画素ｓ（ｘ，ｙ）を中心として４５°間隔で８個設定する。注目画素ｓ（ｘ，ｙ）の右側に位置する周辺画素の角度をθ０と定義し、θ０から反時計回りで各周辺画素の角度をθ１〜θ７と定義する。
【００３９】
このとき、或る周辺画素Ｆ（ｓ，ｒ，θｉ）は、エネルギー場Ｅ（ｓ，θｉ）および確率場Ｐ（ｓ，ｒ，θｉ）の集合として表現できる（Ｆ（ｓ，ｒ，θｉ）＝（Ｐ（ｓ，ｒ，θｉ），Ｅ（ｓ，θｉ）））。ただし、ｉは０〜７の整数である。
【００４０】
エネルギー場Ｅ（ｓ，θｉ）は、画像の変化の強さ（エッジのエネルギーの大きさ）を示す。なお、注目画素を中心に１８０°回転した位置にある周辺画素同士のエネルギー場Ｅは等しくなる（すなわち、Ｅ（ｓ，θ）＝Ｅ（ｓ，θ＋π））。
【００４１】
確率場Ｐ（ｓ，ｒ，θｉ）は、距離ｒが離れた画素から、エネルギーの方向（θまたはθ＋π）を決定する確率の値である。なお、確率場Ｐの値は、注目画素を中心に１８０°回転した位置にある周辺画素同士で正規化され、Ｐ（ｓ，ｒ，θ）＋Ｐ（ｓ，ｒ，θ＋π）＝１の関係にある。
【００４２】
一例として、＃２０２でのベクトル生成部１５は、各周辺画素でのエネルギー場Ｅ（ｓ，θｉ）および確率場Ｐ（ｓ，ｒ，θｉ）の組み合わせを、以下の手順で求めればよい。なお、周辺画素が８つの場合、エネルギー場Ｅ（ｓ，θｉ）および確率場Ｐ（ｓ，ｒ，θｉ）はそれぞれ８つずつ求められることとなる。
【００４３】
ここで、座標（ｘ，ｙ）での画素値をＩ（ｘ，ｙ）と定義し、座標（ｘ，ｙ）でのガウシアンをＧ（ｘ，ｙ）と定義する。また、Ｇ（ｘ，ｙ）のｘ方向への１次偏微分をＧＤ（ｘ，ｙ）と定義する（ＧＤ（ｘ，ｙ）＝ｄＧ（ｘ，ｙ）／ｄｘ）。また、導関数ＧＤ（ｘ，ｙ）をθだけ回転させた関数をＧＤ（ｘ，ｙ，θ）＝ＧＤ（ｘ’，ｙ’）と定義する。ただし、ｘ’＝ｘｃｏｓθ＋ｙｓｉｎθであり、ｙ’＝−ｘｓｉｎθ＋ｙｃｏｓθである。
【００４４】
このとき、エネルギー場Ｅ（ｓ，θｉ）の値は、式（１）で求めることができる。
Ｅ（ｓ，θｉ）＝｜Ｉ（ｘ，ｙ）＊ＧＤ（ｘ，ｙ，θｉ）｜    …（１）
また、Ｅｒｒ（ｓ，ｒ，θｉ）＝｜Ｉ（ｘ＋ｒｃｏｓ（θｉ），ｙ＋ｒｓｉｎ（θｉ））＊Ｇ（ｘ，ｙ）−Ｉ（ｘ，ｙ）＊Ｇ（ｘ，ｙ）｜のとき、確率場Ｐ（ｓ，ｒ，θｉ）の値は、式（２）で求めることができる。
Ｐ（ｓ，ｒ，θｉ）＝Ｅｒｒ（ｓ，ｒ，θｉ）／（Ｅｒｒ（ｓ，ｒ，θｉ）＋Ｅｒｒ（ｓ，ｒ，θｉ＋π））    …（２）
ステップ＃２０３：ベクトル生成部１５は、確率場およびエネルギー場を用いて注目画素のエッジフローベクトルを生成する。
【００４５】
図７は、エッジフローベクトルの生成例を示す図である。まず、ベクトル生成部１５は、サンプリングする周辺画素を変化させつつ、所定角度（例えば１８０°）の範囲内での確率場の総和をそれぞれ求める。そして、ベクトル生成部１５は、上記の確率場の総和が最も大きくなる範囲（画像の変化の大きい方向Θ（ｓ））を求める。また、ベクトル生成部１５は、画像の変化の大きい方向Θ（ｓ）について、エネルギー場の値からエッジフローベクトルを求める。
【００４６】
一例として、＃２０３でのベクトル生成部１５は、式（３）により、画像の変化の大きい方向Θ（ｓ）を求めればよい。
Θ（ｓ）＝ａｒｇｍａｘ＿｛θ｝Σ＿｛Ａ｝Ｐ（ｓ，ｒ，θ’）
ただし、Ａ＝｛θ’｜θ≦θ’＜θ＋π｝    …（３）
また、＃２０３でのベクトル生成部１５は、式（４）により、エッジフローベクトルＦＬを求めればよい。
ＦＬ＝Σ＿｛Ｂ｝Ｅ（ｓ，θ’）ｅｘｐ（ｊθ’）
ただし、Ｂ＝｛θ’｜Θ（ｓ）≦θ’＜Θ（ｓ）＋π｝    …（４）
ステップ＃２０４：ベクトル生成部１５は、全注目画素でエッジフローベクトルの生成が完了したか否かを判定する。なお、図８（ａ）は入力画像の一例であり、図８（ｂ）は図８（ａ）におけるエッジフローベクトルの初期状態を示す図である。なお、図８は、非特許文献１の図４を引用したものである。
【００４７】
ここで、上記要件を満たす場合（ＹＥＳ側）には、＃２０５に処理が移行する。一方、上記要件を満たさない場合（ＮＯ側）には、ベクトル生成部１５は＃２０１に戻って、次の画素を注目画素に指定して上記動作を繰り返す。
【００４８】
ステップ＃２０５：エッジ検出部１６は、入力画像の各位置でそれぞれ生成したエッジフローベクトルを各ベクトルの方向に伝搬させて合成する。そして、エッジ検出部１６は、合成すべきエッジフローベクトルがなくなって静定するまで、上記の合成処理を反復する。なお、図８（ｃ）は、図８（ｂ）からエッジフローベクトルを合成して静定した状態を示す図である。
【００４９】
ここで、図９を参照しつつ、エッジフローベクトルの合成処理を説明する。図９（ａ）は、画像の上下方向に延長するエッジ近傍でのエッジフローベクトルの初期状態を示している。＃２０５の合成処理ではエッジフローベクトルを各ベクトルの方向に伝搬させる。このとき、ベクトル同士が対向する位置ではエッジフローベクトルが動かない。第１回目の合成処理では、エッジ近傍に位置する第１のエッジフローベクトルは動かず、第２のエッジフローベクトルおよび第３のエッジフローベクトルはエッジの方向に向かって移動する。そして、第１のエッジフローベクトルと第２のエッジフローベクトルとが合成される（図９（ｂ）参照）。その後、第２回目の合成処理では、合成後の第１のエッジフローベクトルは動かず、第３のエッジフローベクトルはエッジの方向に向かって移動する。そして、第１のエッジフローベクトルと第３のエッジフローベクトルとが合成される（図９（ｃ）参照）。かかる合成処理により、エッジ近傍のベクトルにパワーが集中することとなる。
【００５０】
ステップ＃２０６：エッジ検出部１６は、合成後のエッジフローベクトルを用いて入力画像のエッジ画素を検出する。例えば、＃２０６のエッジ検出部１６は、以下の（Ａ１）〜（Ａ３）の処理によってエッジ画素を検出すればよい。
【００５１】
（Ａ１）エッジ検出部１６は、合成後のエッジフローベクトルが対向する位置を対象として、垂直方向および水平方向のエッジの大きさをそれぞれ求める。
【００５２】
図１０（ａ）は、垂直方向のエッジＶ（ｘ，ｙ）の求め方を示す図であり、図１０（ｂ）は、水平方向のエッジＨ（ｘ，ｙ）の求め方を示す図である。例えば、エッジフローベクトルＦＬ（ｘ，ｙ）の水平成分をａ（ｘ，ｙ）、垂直成分をｂ（ｘ，ｙ）と定義したとき、エッジ検出部１６は、式（５）により垂直方向のエッジＶ（ｘ，ｙ）を求め、式（６）により水平方向のエッジＨ（ｘ，ｙ）を求めればよい。
Ｖ（ｘ，ｙ）＝｜ｂ（ｘ，ｙ）−ｂ（ｘ，ｙ＋１）｜    …（５）
Ｈ（ｘ，ｙ）＝｜ａ（ｘ，ｙ）−ａ（ｘ＋１，ｙ）｜    …（６）
（Ａ２）エッジ検出部１６は、上記のＶ（ｘ，ｙ）およびＨ（ｘ，ｙ）を用いて、上記の各位置でのエッジ強度を求める。例えば、エッジ検出部１６は、式（７）により、Ｖ（ｘ，ｙ）およびＨ（ｘ，ｙ）のユークリッドノルムからエッジ強度（ｅｄｇｅＮｏｒｍ（ｘ，ｙ））を求めればよい。
ｅｄｇｅＮｏｒｍ（ｘ，ｙ）＝√（Ｖ（ｘ，ｙ）^２＋Ｈ（ｘ，ｙ）^２）    …（７）
（Ａ３）エッジ検出部１６は、各位置でのエッジ強度（ｅｄｇｅＮｏｒｍ（ｘ，ｙ））の値と閾値ｅｄｇｅＴＨ１とを比較する。そして、エッジ検出部１６は、エッジ強度の値が閾値ｅｄｇｅＴＨ１を超える画素（ｅｄｇｅＮｏｒｍ（ｘ，ｙ）＞ｅｄｇｅＴＨ１）を、エッジ画素として検出する。
【００５３】
なお、エッジ検出部１６は、エッジ画素か否かを示すフラグｅｄｇｅＢＩＮ（ｘ，ｙ）を各画素で生成する。エッジ検出部１６は、エッジ画素の位置ではｅｄｇｅＢＩＮ（ｘ，ｙ）の値を「１」とし、エッジ画素以外の位置ではｅｄｇｅＢＩＮ（ｘ，ｙ）の値を「０」とする。エッジ検出部１６は、ｅｄｇｅＢＩＮ（ｘ，ｙ）の値を参照することで、エッジ画素の位置を２値化したエッジ画像を得ることができる。なお、図８（ｄ）は、入力画像（図８（ａ））にエッジ画像を重畳させた例を示している。
【００５４】
ステップ＃２０７：エッジ検出部１６は、エッジ画像に対して、それぞれ公知の細線化処理およびスパイクノイズ除去処理を施す。なお、＃２０７の処理は適宜省略してもよい。
【００５５】
ステップ＃２０８：エッジ検出部１６は、エッジ画像のエッジ画素を連結して、入力画像からエッジ画素で囲まれた閉空間（部分領域）を抽出する。このとき、エッジ検出部１６は、必要に応じて閉空間を形成していないエッジを、近傍のエッジ画素に連結されるように補間する。ここで、図１１（ａ）は、エッジ画素の補間前の例を示す図であり、図１１（ｂ）は、エッジ画素の補間後の例を示す図である。図１１（ａ）でエッジが欠けている部分（破線で示す）は、図１１（ｂ）においてエッジが補間されている。
【００５６】
そして、ＣＰＵ２０は、＃２０８の処理の後、図３の＃１０４の処理に復帰する。以上で、図５の流れ図の説明を終了する。次に、一の実施形態での特徴的処理を詳述する。なお、後述する特徴的処理は、必ずしも全て行う必要はなく、１ないし複数の特徴的処理を選択的に行うようにしてもよい。
【００５７】
＜一の実施形態での特徴的処理１＞
例えば、図１２（ａ）に示すように、画像の階調が緩やかに変化するグラデーションの部分では、僅かな階調変化を捉えたパワーの小さいエッジフローベクトルが生成される。上記のエッジフローベクトルにより、グラデーションの途中で不自然なエッジが検出される場合がある。
【００５８】
上記の対策として、＃２０２において、ベクトル生成部１５は、所定の方向の確率場およびエネルギー場の大きさが閾値未満であるときに、所定の方向の確率場およびエネルギー場の値を別の値に置換して処理する。例えば、ベクトル生成部１５は、所定の方向の確率場およびエネルギー場の大きさが閾値未満であるときに、所定の方向の確率場およびエネルギー場の値を強制的にゼロに置換する（確率場およびエネルギー場のゼロクリップ処理）。
【００５９】
例えば、一の実施形態でのベクトル生成部１５は、所定の方向のＥｒｒ（ｓ，ｒ，θ）の値と、所定の方向に対して反対方向のＥｒｒ（ｓ，ｒ，θ＋π）の値とがいずれも閾値ＴＨ未満の場合、これらの方向の確率場およびエネルギー場の値を強制的にゼロに置換する。すなわち、Ｅｒｒ（ｓ，ｒ，θ）＜０かつＥｒｒ（ｓ，ｒ，θ＋π）＜０のとき、Ｅ（ｓ，θ）＝Ｅ（ｓ，θ＋π）＝０かつＰ（ｓ，ｒ，θ）＝Ｐ（ｓ，ｒ，θ＋π）＝０とする。このとき、Ｆ（ｓ，ｒ，θ）＝Ｆ（ｓ，ｒ，θ＋π）＝０となる。
【００６０】
上記のゼロクリップ処理を行うことで、図１２（ｂ）に示すように、グラデーションの途中でエッジフローベクトルが生成されなくなる。かかる特徴的処理１によれば、ユーザがエッジと認識していない部分からエッジが検出される可能性が低減するので、エッジの検出精度が改善し、エッジ検出の結果をユーザの認識により近づけることができる。
【００６１】
＜一の実施形態での特徴的処理２＞
一般的なエッジフローベクトルによるエッジ検出処理では、１つの注目画素について１つのエッジフローベクトルが生成される。上記の場合には、画像の変化が最も強くなる方向のみエッジフローベクトルが生成されるため、注目画素の近傍にエッジを検出すべき箇所が複数存在するときに、画像の変化が最も強くなる方向以外は境界が欠けてしまう。
【００６２】
上記の対策として、＃２０２、＃２０３において、ベクトル生成部１５は１つの注目画素につき複数のエッジフローベクトルを生成する。例えば、ベクトル生成部１５は、以下に示す第１処理および第２処理の少なくとも一方を実行することで、１つの注目画素から複数のエッジフローベクトルを生成する。勿論、第１処理と第２処理を組み合わせて実行してもかまわない。
【００６３】
（第１処理の説明）
図１３は、第１処理におけるエッジフローベクトルの生成例を示す図である。第１処理において、各周辺画素でのエネルギー場Ｅ（ｓ，θｉ）および確率場Ｐ（ｓ，ｒ，θｉ）を求めるまでの処理は、＃２０２と同様である。第１処理でのベクトル生成部１５は、画像の変化の大きい方向Θ（ｓ）の範囲を周方向に複数の領域に分割し、各領域でそれぞれエッジフローベクトルを生成する。なお、以下の説明では、第１処理において、画像の変化の大きい方向Θ（ｓ）を３つに分割する例を説明する。
【００６４】
例えば、第１処理でのベクトル生成部１５は、式（８）により、画像の変化の大きい方向Θ（ｓ）を求める。
Θ（ｓ）＝ａｒｇｍａｘ＿｛θ｝Σ＿｛Ａ｝Ｐ（ｓ，ｒ，θ’）
ただし、Ａ＝｛θ’｜θ≦θ’＜θ＋１．５π｝    …（８）
また、第１処理でのベクトル生成部１５は、式（９）〜式（１１）により、エッジフローベクトルＦＬ１〜ＦＬ３をそれぞれ求めればよい。
ＦＬ１＝Σ＿｛Ｂ１｝Ｅ（ｓ，θ’）ｅｘｐ（ｊθ’）
ただし、Ｂ１＝｛θ’｜Θ（ｓ）≦θ’＜Θ（ｓ）＋２β｝    …（９）
ＦＬ２＝Σ＿｛Ｂ２｝Ｅ（ｓ，θ’）ｅｘｐ（ｊθ’）
ただし、Ｂ２＝｛θ’｜Θ（ｓ）＋２β≦θ’＜Θ（ｓ）＋４β｝    …（１０）
ＦＬ３＝Σ＿｛Ｂ３｝Ｅ（ｓ，θ’）ｅｘｐ（ｊθ’）
ただし、Ｂ３＝｛θ’｜Θ（ｓ）＋４β≦θ’＜Θ（ｓ）＋６β｝    …（１１）
つまり、上記の式（８）〜式（１１）の例では、ベクトル生成部１５は、２７０°の刻みで、確率場の総和が最も大きくなる範囲（画像の変化の大きい方向Θ（ｓ））を求める。そして、ベクトル生成部１５は、画像の変化の大きい方向Θ（ｓ）の範囲を周方向に３分割し、それぞれの領域でエネルギー場の値からエッジフローベクトルを生成している。なお、分割する領域は空間的に連続している必要はなく、周方向に離れていてもよい。
【００６５】
図１４は、上記の第１処理での作用例を示す図である。上記の第１処理では、１つの注目画素につき複数のフローベクトルが生成される。注目画素の周辺に境界が複数存在する場合には、複数のフローベクトルでそれぞれ異なる境界のエッジが検出される。したがって、上記の第１処理では、エッジ検出処理のときにエッジの欠けが生じる可能性が低減するので、エッジの検出精度が改善し、エッジ検出の結果をユーザの認識により近づけることができる。
【００６６】
なお、画像の変化の大きい方向Θ（ｓ）の分割数は３つに限定されず、分割数を適宜変更してもよい。また、上記の式（８）の領域Ａの範囲は２７０°に限定されず、任意に設定することが可能である。
【００６７】
（第２処理の説明）
図１５は、第２処理におけるエッジフローベクトルの生成例を示す図である。第２処理でのベクトル生成部１５は、異なる複数の標本点を利用して複数の確率場およびエネルギー場を求める。例えば、ベクトル生成部１５は、注目画素と周辺画素との距離を相違させて確率場およびエネルギー場を複数組求める。そして、ベクトル生成部１５は、異なる距離の確率場およびエネルギー場からそれぞれエッジフローベクトルを生成する。
【００６８】
例えば、第２処理でのベクトル生成部１５は、注目画素ｓ（ｘ，ｙ）を中心として４５°間隔で、注目画素ｓ（ｘ，ｙ）からｒ１離れた８つの第１周辺画素と、注目画素ｓ（ｘ，ｙ）からｒ２離れた８つの第２周辺画素とをそれぞれサンプリングする。なお、図１５の例では、ｒ１＞ｒ２である。
【００６９】
ベクトル生成部１５は、８つの第１周辺画素について、エネルギー場Ｅ（ｓ，θｉ）および確率場Ｐ（ｓ，ｒ１，θｉ）をそれぞれ求め、上記の確率場およびエネルギー場を用いてエッジフローベクトルＦＬ１を生成する。同様に、ベクトル生成部１５は、８つの第２周辺画素について、エネルギー場Ｅ（ｓ，θｉ）および確率場Ｐ（ｓ，ｒ２，θｉ）をそれぞれ求め、上記の確率場およびエネルギー場を用いてエッジフローベクトルＦＬ２を生成する。なお、上記の確率場、エネルギー場およびエッジフローベクトルＦＬ１，ＦＬ２は、上記の式（１）〜式（４）により求めればよい。
【００７０】
図１６は、上記の第２処理での作用例を示す図である。一般に、注目画素と標本点との距離を変えると、両者の差分から求まる画像の変化の向きも相違することが多い。例えば、図１６のように、直線距離の異なる２つのＬ字状の境界が注目画素の周囲に存在する場合を考える。このとき、注目画素と標本点との距離が短ければ、注目画素から比較的近い方の境界に向けてエッジフローベクトルが生成される。同様に、注目画素と標本点との距離が長ければ、注目画素から比較的遠い方の境界に向けてエッジフローベクトルが生成される。異なる距離の確率場およびエネルギー場から複数のエッジフローベクトルを生成することで異なる境界のエッジが検出される。したがって、上記の第２処理では、エッジ検出処理のときにエッジの欠けが生じる可能性が低減するので、エッジの検出精度が改善し、エッジ検出の結果をユーザの認識により近づけることができる。
【００７１】
なお、注目画素から周辺画素の距離を３種類以上設定し、それぞれエッジフローベクトルを求めてもよい。
【００７２】
＜一の実施形態での特徴的処理３＞
上記のエッジ画素の検出（＃２０６）では、エッジ強度を閾値処理してエッジ画素を検出する。そのため、エッジ画像のノイズを抑制できる一方で、境界として本来検出されるべき画素が欠けてしまう場合がある。
【００７３】
上記の対策として、＃２０６において、エッジ検出部１６は、画素のエッジ強度と近傍のエッジ画素の有無とに基づいて補間処理を行う。
【００７４】
図１７は特徴的処理３での補間処理の説明図であって、図１７（ａ）は補間処理前の状態を示し、図１７（ｂ）は補間処理後の状態を示す。エッジ画素はｅｄｇｅＢＩＮ（ｘ，ｙ）＝１であり、非エッジ画素はｅｄｇｅＢＩＮ（ｘ，ｙ）＝０である。また、非エッジ画素のうち、エッジ強度が第１閾値ｅｄｇｅＴＨ１以下で、かつ第２閾値ｅｄｇｅＴＨ２以上である画素（ｅｄｇｅＴＨ２≦ｅｄｇｅＮｏｒｍ（ｘ，ｙ）≦ｅｄｇｅＴＨ１）を図中黒色で示す。なお、第２閾値ｅｄｇｅＴＨ２は、第１閾値ｅｄｇｅＴＨ１よりも低い値であり、相対的に小さいエッジを検出できる程度の値に設定される。
【００７５】
追加処理例３でのエッジ検出部１６は、エッジ強度が第２閾値以上である非エッジ画素のうち、エッジ画素に隣接する画素のｅｄｇｅＢＩＮ（ｘ，ｙ）を「０」から「１」に置換する。これにより、エッジ強度が第２閾値以上である非エッジ画素はエッジ画素に変更される。上記のように、エッジ画素に隣接し、かつある程度のエッジ強度を有する画素をエッジ画素として扱うことで、連続する境界のエッジが欠ける可能性が低減し、エッジの検出精度が改善する。
【００７６】
＜一の実施形態での特徴的処理４＞
エッジ画素を検出した後に、閉空間を形成するためにエッジ画素を連結して補間をするとき（＃２０８）、エッジの端点から最短距離を結ぶように補間を行うと画像のエッジが不自然に接続されることがある。
【００７７】
上記の対策として、＃２０８において、エッジ検出部１６は、エッジの端点からエッジ画素の延長方向を求める。そして、エッジ検出部１６は、閉空間を形成するために端点に接続される補間エッジの位置を延長方向に基づいて決定する。
【００７８】
（エッジ画素の延長方向の求め方）
第１の例として、エッジ検出部１６は、端点の画素位置と、端点から延長して所定距離離れたエッジ画素の画素位置との変化からエッジの延長方向を求めればよい。図１８は、エッジ画素の端点からエッジ画素の延長方向を求める一例を示す図である。図１８の例では、エッジ検出部１６は、端点から２画素離れたエッジ画素の画素位置の変化から、エッジの延長方向を求める。なお、図１８では、水平方向（ｘ方向）の右移動を正の値とし、垂直方向（ｙ方向）の上移動を正の値で表現する。
【００７９】
ここで、図１８（ａ）の場合、端点から２画素離れたエッジ画素から端点までの移動量は、ｘ方向に２画素分、ｙ方向に−１画素分である。図１８（ａ）の場合、エッジの延長方向はａｔａｎ（１／−２）＝３３３°となる。
【００８０】
また、図１８（ｂ）の場合、端点から２画素離れたエッジ画素から端点までの移動量は、ｘ方向に０画素分、ｙ方向に−２画素分である。図１８（ｂ）の場合、エッジの延長方向はａｔａｎ（２／０）＝２７０°となる。
【００８１】
また、第２の例として、エッジ検出部１６は、エッジ画素のパターンと延長方向との対応関係を示すテンプレートを用いたマッチング処理により、エッジ画素の延長方向を求めてもよい。
【００８２】
図１９（ａ）〜（ｅ）は、エッジの延長方向（角度）がそれぞれ３６０°，３３３°，３１５°，２９７°，２７０°のテンプレートの例を示す。図１９のテンプレートは、３×３画素のサイズであって、端点から２画素分のエッジ画素の連結パターンを示している。図１９のテンプレートにおいて、「１」はエッジ画素を示し、「０」は非エッジ画素を示す。また、各テンプレートで端点の位置は周囲にハッチングをして示す。なお、各々のテンプレートは、エッジの延長方向（角度）の情報を予め対応付けした状態で、例えばプログラム記憶部２１に記憶されている。
【００８３】
図２０は、テンプレートを用いた延長方向の求め方を示す図である。エッジ検出部１６は、エッジ画像とテンプレートとのマッチングを実行し、端点から２画素分のエッジ画素と合致するテンプレートを探索する。そして、エッジ検出部１６は、エッジ画像と合致したテンプレートからエッジの延長方向（角度）を求めればよい。
【００８４】
例えば、図２０（ａ）の場合、端点から２画素分のエッジ画素のパターンは、図１９（ｂ）のテンプレートと合致する。そのため、図２０（ａ）の場合はエッジの延長方向が３３３°となる。また、例えば、図２０（ｂ）の場合、端点から２画素分のエッジ画素のパターンは、図１９（ｅ）のテンプレートと合致する。そのため、図２０（ｂ）の場合はエッジの延長方向が２７０°となる。
【００８５】
（補間エッジの位置の決定方法）
そして、エッジ検出部１６は、エッジの端点から補間エッジの接続先を探索するときに、エッジの延長方向に位置するエッジ画素を優先して探索を行う。図２１は、補間エッジの接続先の探索例を示す図である。例えば、エッジ検出部１６は、以下の（Ｂ１）〜（Ｂ３）の処理を行えばよい。
【００８６】
（Ｂ１）まず、エッジ検出部１６は、エッジの延長方向に沿った直線上に位置するエッジ画素を探索する（図２１（ａ）参照）。そして、上記の直線上にエッジ画素が存在する場合、エッジ検出部１６は、検出されたエッジ画素を補間エッジの接続先として決定する。
【００８７】
（Ｂ２）次に、上記（Ｂ１）で補間エッジの接続先が検出できない場合、エッジ検出部１６は、上記（Ｂ１）の直線を中心として、端点から所定角度の範囲に位置するエッジ画素を探索する（図２１（ｂ）参照）。そして、上記の範囲内にエッジ画素が存在する場合、エッジ検出部１６は、検出されたエッジ画素を補間エッジの接続先として決定する。なお、上記の範囲から複数のエッジ画素が検出された場合、エッジ検出部１６は、エッジの延長方向の直線と、端点およびエッジ画素を結ぶ直線のなす角度が最も小さくなるエッジ画素か、端点からの直線距離が最も小さくなるエッジ画素を補間エッジの接続先として決定すればよい。
【００８８】
（Ｂ３）さらに、上記（Ｂ２）で補間エッジの接続先が検出できない場合、エッジ検出部１６は、上記（Ｂ１）の直線を中心として、上記（Ｂ２）よりも広い角度の範囲でエッジ画素を探索する（図２１（ｃ）参照）。そして、上記の範囲内にエッジ画素が存在する場合、エッジ検出部１６は、検出されたエッジ画素を補間エッジの接続先として決定すればよい。
【００８９】
上記の処理によれば、閉空間を形成するときに、エッジの延長方向に近いエッジ画素ほど補間エッジの接続先に決定されやすくなる。したがって、閉空間を形成するときに画像のエッジが比較的自然な状態で接続されるので、最終的なエッジの検出精度を改善することができる。
【００９０】
＜一の実施形態での特徴的処理５＞
エッジ画素を検出した後に閉空間を形成するとき（＃２０８）、近傍に別のエッジが存在しないエッジは消去することが好ましい一方で、１つの境界を断続的に検出しているエッジは連結して補間することが好ましい。
【００９１】
そのため、図２２に示すように、＃２０８において、エッジ検出部１６は、エッジ検出部１６は、エッジの長さが閾値未満で所定範囲内に他のエッジ画素がない場合には、ノイズとみなしてエッジ画素を削除する。また、エッジ検出部１６は、エッジの長さが閾値未満で所定範囲内に他のエッジ画素がある場合にはエッジ画素と他のエッジ画素とを連結して補間する。
【００９２】
上記の処理により、ノイズのエッジが他のエッジに不自然に連結される場合や、逆に検出されるべきエッジが過剰に除去される場合が回避されるので、最終的なエッジの検出精度を改善することができる。
【００９３】
＜領域情報を用いた画像処理の例＞
次に、領域情報を用いた画像処理（＃１０５）について詳述する。例えば、＃１０５でのＣＰＵ２０は、以下の（１）〜（８）の画像処理を画像処理部１９に実行させることができる。
【００９４】
（１：塗り絵用の元画像の生成）
例えば、ＣＰＵ２０は、領域情報（エッジ画像）を塗り絵用の元画像として出力してもよい。なお、画像処理部１９は、必要に応じて線幅の正規化やスパイクノイズ除去などの処理をエッジ画像に施して塗り絵用の元画像を生成してもよい。
【００９５】
（２：注目領域のレタッチ）
画像処理部１９は、入力画像の注目領域に対してレタッチを施してもよい。
【００９６】
一例として、画像処理部１９は、注目領域の被写体を削除するとともに、削除で欠損した部分を補間する処理を行ってもよい（図２３参照）。ここで、画像の補間は、周囲の領域の画素値で単純に補間してもよいが、例えば、河合紀彦  他,「パターン類似度に基づくエネルギー最小化による画像修復」  電子情報通信学会  技術研究報告,PRMU2006-106,Dec.2006に開示の手法を適用してもよい。上記の処理により、領域分割の結果を用いて後処理工程で入力画像の被写体を選択的に削除できるので、ユーザにとって好ましい画像を得ることができる。
【００９７】
また、他の一例として、画像処理部１９は、注目領域の被写体の位置を移動させる処理を行ってもよい（図２４参照）。この場合、画像処理部１９は、注目領域の被写体の位置をユーザの操作に応じて画像内で移動させる。そして、画像処理部１９は、注目領域の被写体を移動先の位置に合成するとともに、画像の欠損部分（注目領域の移動元）を補間する。上記の処理により、領域分割の結果を用いて後処理工程で入力画像上の被写体の位置を調整できるので、ユーザにとって好ましい画像を得ることができる。
【００９８】
また、他の一例として、画像処理部１９は、注目領域の被写体に対して選択的にフィルタ処理を施してもよい。図２５は、注目領域の被写体（人物）にぼかしフィルタをかけた例を示している。なお、注目領域に施すフィルタは、例えばノイズ除去フィルタ、エッジ強調フィルタ、モザイクフィルタなどであってもよい。上記の処理により、領域分割の結果を用いて後処理工程で入力画像上の任意の部分に所望の画像効果を付与できるので、ユーザにとって好ましい画像を得ることができる。
【００９９】
（３：注目領域へのタグ情報の付与）
画像処理部１９は、ユーザの指定した注目領域に対してタグ情報（メタデータ）を付与してもよい（図２６参照）。タグ情報は、例えば、注目領域の属性（人名、山、建物等）やユーザのコメントを記述したテキスト情報や、領域の画像サイズ、画像のデータ量、色情報、入力画像上での領域の位置、などの画像情報を含む概念である。タグ情報のうち、テキスト情報は例えばユーザによって入力され、画像情報は例えば画像処理装置１１によって生成される。なお、上記のタグ情報は、例えば、画像検索のツールや、ユーザのメモとして使用することができる。
【０１００】
一の実施形態では、領域分割の結果を用いて注目領域を簡単に指定できるので、ユーザは所望の被写体の領域に効率よくタグ情報を付与できる。
【０１０１】
（４：認識対象の抽出処理）
画像処理部１９は、領域分割の結果を用いて、入力画像から所定の認識対象を抽出する処理を実行してもよい。この場合、画像の特徴により認識対象か否かを判別する識別器を画像処理部１９に予め準備する。上記の識別器は、例えば、ニューラルネットワークによる識別モデルや、サポートベクターマシンなどの公知のパターン認識手段で構成される。そして、画像処理部１９は、入力画像の各領域をそれぞれ識別器に入力し、領域毎に認識対象であるか否かを判定する。そして、画像処理部１９は、認識対象と判定された領域を示す表示を入力画像に重畳させて表示装置に表示させる。なお、画像内での認識対象の有無や認識対象の位置の情報は、例えば、画像のシーン認識や、類似画像の検索に用いることもできる。
【０１０２】
図２７は、認識対象の抽出処理の一例を示す図である。図２７では、看板を認識対象とする識別器を用いて、入力画像から看板に対応する領域を抽出し、その抽出結果の画像を表示する例を示している。なお、識別器による認識対象は上記に限定されることなく適宜変更することができる。例えば、識別器は、文字、バーコードや、特定種類の被写体（金網など）を認識対象とするものであってもよい。
【０１０３】
一の実施形態では、領域分割の結果を用いて領域毎に認識対象を判定することで、効率よく認識対象の抽出を行うことができる。
【０１０４】
（５：立体画像復元時の対応点の探索）
各々の撮影位置が異なる複数の画像から立体画像を復元するときに、画像処理部１９は、領域分割の結果を用いて画像間の対応点を探索してもよい。
【０１０５】
図２８は、立体画像復元時の対応点の探索例を示す図である。一般に立体画像を復元するときには、撮影位置の異なる画像間でそれぞれ対応点を求め、対応点間の位置変化から被写体の三次元形状を推定する。図２８の例では、画像処理部１９は、例えば色成分ヒストグラムのマッチング等の公知の手法によって、２画像間で同じ物体の領域を探索する。そして、画像処理部１９は、２画像間の同じ物体の領域から対応点を探索する。一の実施形態では、領域分割の結果を用いて、対応する物体の範囲内から対応点を探索するので、画像全体から対応点を探索する場合と比べて、効率よく対応点を探索できる。
【０１０６】
（６：画像の類否判定）
また、画像処理部１９は、領域分割の結果を用いて２画像間の類否を判定してもよい。
【０１０７】
図２９は、画像の類否判定の例を示す図である。ここで、類否判定の基準となる入力画像を基準画像と称し、類否を判定される入力画像を処理対象画像と称する。なお、基準画像および処理対象画像には、それぞれ領域分割処理が施されることを前提とする。
【０１０８】
図２９の例では、まず、基準画像の注目領域を、処理対象画像の各領域とマッチングするマッチング処理を画像処理部１９が実行する。このマッチング処理では、画像処理部１９は、対比する２領域の相関の高さを示す評価値を求めるものとする。基準画像の注目領域と処理対象画像の領域とが合致する場合、画像処理部１９は相対的に高い評価値を算出する。例えば、上記の領域間のマッチング処理は、例えばコーナーを特徴量とするマッチングや、色成分ヒストグラムによるマッチングなどの公知の手法を適用できる。
【０１０９】
ここで、画像処理部１９は、領域のサイズや画像の差違に応じて、上記の評価値を重み付けする。例えば、面積の大きい領域ほど画像の類否に大きな影響を与えるため、画像処理部１９は、マッチングする領域の面積が大きいほど評価値の重み係数を大きくする。また、基準画像の注目領域の位置と、処理対象画像で対応する領域の位置とが画像上で乖離している場合、物体の位置ズレを画像の類否に反映させるため、画像処理部１９は領域位置の乖離量の大きさに応じて評価値の重み係数を小さくする。
【０１１０】
また、画像処理部１９は、マッチング処理のときに、比較する領域の一方に対して、拡大、縮小、回転などの幾何学的変換を行ってもよい。上記の幾何学的変換により領域のマッチングが成功した場合、物体のサイズや向きの違いを画像の類否に反映させるため、画像処理部１９は幾何学的変換の度合いの大きさに応じて評価値の重み係数を小さくする。
【０１１１】
画像処理部１９は、基準画像の全ての領域を順次注目領域に指定し、処理対象画像の領域とのマッチング処理で算出された評価値をそれぞれ求める。そして、画像処理部１９は、求めた評価値による演算結果（例えば、領域ごとに算出した評価値の積算値をパラメータとする値）が閾値以上の場合には処理対象画像が基準画像に類似すると判定し、求めた評価値による演算結果が閾値未満の場合には処理対象画像が基準画像に類似しないと判定する。
【０１１２】
図２９の例において、処理対象画像１のように基準画像と類似する画像は、基準画像と多くの領域が合致するため評価値の演算結果は高い値を示す。一方、処理対象画像２のように、基準画像と大きく異なる画像は、基準画像とほとんどの領域が合致しないため、評価値の演算結果は低い値を示す。よって、一の実施形態では、上記の評価値の演算結果により、基準画像との総合的な類否を判定できる。
【０１１３】
（７：画像圧縮）
また、画像処理部１９は、領域分割の結果を用いて、分割された領域単位で画像の圧縮率を変化させてもよい。例えば、画像処理部１９は注目領域の画像の圧縮率を低くし、注目領域以外の画像の圧縮率を高くしてもよい（図３０参照）。上記の場合には、ユーザが注目する主要被写体の情報を保持しつつ、画像全体のデータ量を効率よく削減することができる。なお、画像の圧縮率は、ユーザの指定や、ＲＯＩ（Region of Interest）の領域内での注目度の平均値や、領域内での高周波数成分の量に応じて変更してもよい。
【０１１４】
（８：動きベクトルの演算）
また、画像処理部１９は、領域分割の結果を用いて、動画撮影時に分割された領域単位で被写体の動きベクトルを求めてもよい（図３１参照）。上記の場合には、通常のブロックよりも大きなサイズの領域単位でマッチングを行うことでマッチングの回数を少なくできる。また、領域の面積や形状の特徴を考慮してマッチングを行うことで、フレーム間で大きな動きがある場合にも誤検出のおそれを低減させることができる。
【０１１５】
＜他の実施形態の説明＞
図３２は、他の実施形態での撮像装置の構成例を示す図である。他の実施形態は、上記の一の実施形態の画像処理装置１１を電子カメラ３１に実装した例であって、電子カメラ３１の撮像部３３から画像処理装置が入力画像を取得する。
【０１１６】
電子カメラ３１は、撮影レンズ３２と、撮像部３３と、画像処理エンジン３４と、第１メモリ３５および第２メモリ３６と、記録Ｉ／Ｆ３７と、操作部３８とを備えている。ここで、撮像部３３、第１メモリ３５、第２メモリ３６、記録Ｉ／Ｆ３７および操作部３８は、それぞれ画像処理エンジン３４と接続されている。
【０１１７】
撮像部３３は、撮影レンズ３２によって結像された被写体の像を撮像（撮影）するモジュールである。例えば、撮像部３３は、光電変換を行う撮像素子と、アナログ信号処理を行うアナログフロントエンド回路と、Ａ／Ｄ変換およびデジタル信号処理を行うデジタルフロントエンド回路とを含んでいる。
【０１１８】
画像処理エンジン３４は、電子カメラ３１の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン３４は、撮影モードにおいて、ユーザの撮影指示入力に応じて、画像を撮像部３３に撮像させる。また、画像処理エンジン３４は、プログラムの実行により、一の実施形態の画像処理装置１１におけるバンドパス処理部１４、ベクトル生成部１５、エッジ検出部１６、統合処理部１７、画像処理部１９、ＣＰＵ２０として動作する。
【０１１９】
第１メモリ３５は、画像のデータ等を一時的に記憶するメモリであって、例えば揮発性の記憶媒体であるＳＤＲＡＭである。この第１メモリ３５は、一の実施形態の画像処理装置１１における画像蓄積部１３、領域情報蓄積部１８として動作する。
【０１２０】
第２メモリ３６は、画像処理エンジン３４の実行するプログラム等を記憶するメモリであって、例えばフラッシュメモリ等の不揮発性メモリである。この第２メモリ３６は、一の実施形態の画像処理装置１１におけるプログラム記憶部２１として動作する。
【０１２１】
記録Ｉ／Ｆ３７は、不揮発性の記憶媒体３９を接続するためのコネクタを有している。そして、記録Ｉ／Ｆ３７は、コネクタに接続された記憶媒体３９に対して画像のデータの書き込み／読み込みを実行する。上記の記憶媒体３９は、例えば、ハードディスクや、半導体メモリを内蔵したメモリカードである。なお、図３２では記憶媒体３９の一例としてメモリカードを図示する。
【０１２２】
操作部３８は、ユーザの操作を受け付ける複数のスイッチを有している。この操作部３８は、例えば、記録用の静止画像の撮影指示を受け付けるレリーズ釦などを含む。
【０１２３】
以下、他の実施形態での電子カメラ３１の動作例を簡単に説明する。一例として、他の実施形態での領域分割処理は、被写体検出や、オートフォーカス（ＡＦ）のＡＦ領域検出の前処理として実行される。
【０１２４】
他の実施形態の電子カメラ３１では、撮像部３３が画像を撮影する。これにより、図３の＃１０１の処理に相当する入力画像の取得が行われる。なお、入力画像は、ユーザの撮影指示に応じて取得された静止画像であってもよく、撮影モード下で所定の時間間隔ごとに取得される観測用の画像（スルー画像）であってもよい。
【０１２５】
そして、画像処理エンジン３４は、図３の＃１０２〜＃１０５の処理を実行し、入力画像の領域分割を行う。なお、画像処理エンジン３４は、＃１０３のエッジ検出処理において、図５の＃２０１〜＃２０８の処理と、上記の特徴的処理１〜５の少なくとも１つとを実行する。かかる他の実施形態においても、上記の一の実施形態とほぼ同様の効果を得ることができる。
【０１２６】
＜実施形態の補足事項＞
上記の特徴的処理３〜５は、エッジフローベクトルによるエッジ検出処理に限定されず、例えば微分フィルタ等による他の公知のエッジ検出処理に組み合わせることもできる。
【０１２７】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【０１２８】
１１…画像処理装置、１２…入出力Ｉ／Ｆ、１３…画像蓄積部、１４…バンドパス処理部、１５…ベクトル生成部、１６…エッジ検出部、１７…統合処理部、１８…領域情報蓄積部、１９…画像処理部、２０…ＣＰＵ、２１…プログラム記憶部、２２…入力デバイス、２３…出力デバイス、２４…データ読込部
【図１】
2014063377.tif 000003
【図２】
2014063377.tif 000004
【図３】
2014063377.tif 000005
【図４】
2014063377.tif 000006
【図５】
2014063377.tif 000007
【図６】
2014063377.tif 000008
【図７】
2014063377.tif 000009
【図９】
2014063377.tif 000010
【図１０】
2014063377.tif 000011
【図１１】
2014063377.tif 000012
【図１２】
2014063377.tif 000013
【図１３】
2014063377.tif 000014
【図１４】
2014063377.tif 000015
【図１５】
2014063377.tif 000016
【図１６】
2014063377.tif 000017
【図１７】
2014063377.tif 000018
【図１８】
2014063377.tif 000019
【図１９】
2014063377.tif 000020
【図２０】
2014063377.tif 000021
【図２１】
2014063377.tif 000022
【図２２】
2014063377.tif 000023
【図２３】
2014063377.tif 000024
【図２４】
2014063377.tif 000025
【図２５】
2014063377.tif 000026
【図２６】
2014063377.tif 000027
【図３０】
2014063377.tif 000028
【図３１】
2014063377.tif 000029
【図３２】
2014063377.tif 000030
【図８】
2014063377.tif 000031
【図２７】
2014063377.tif 000032
【図２８】
2014063377.tif 000033
【図２９】
2014063377.tif 000034