JP2006279442A - 画像処理方法および装置並びにプログラム - Google Patents
画像処理方法および装置並びにプログラム Download PDFInfo
- Publication number
- JP2006279442A JP2006279442A JP2005094569A JP2005094569A JP2006279442A JP 2006279442 A JP2006279442 A JP 2006279442A JP 2005094569 A JP2005094569 A JP 2005094569A JP 2005094569 A JP2005094569 A JP 2005094569A JP 2006279442 A JP2006279442 A JP 2006279442A
- Authority
- JP
- Japan
- Prior art keywords
- embedding
- patch
- pixel
- priority
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】 修復箇所のボケを防ぐと共に、確実に自然な修復画像を得る。
【解決手段】 修復領域の縁辺上の画素に対して、埋め込み優先度が高い画素からの順で埋め込み用パッチを配置し、埋め込み用パッチ内の画像を画素値が既知の領域の画像に置き換えることによって修復領域の埋め込みを行うのに際し、埋め込み用パッチよりサイズが大きい優先度算出用パッチを修復領域の縁辺上の各画素に配置し、配置された優先度算出用パッチ内の既知領域の画像において、該既知領域側の優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、境界線が検出された優先度算出用パッチが配置された画素の優先度を、境界線が検出されなかった優先度算出用パッチが配置された画素より高く設定する。
【選択図】 図13
【解決手段】 修復領域の縁辺上の画素に対して、埋め込み優先度が高い画素からの順で埋め込み用パッチを配置し、埋め込み用パッチ内の画像を画素値が既知の領域の画像に置き換えることによって修復領域の埋め込みを行うのに際し、埋め込み用パッチよりサイズが大きい優先度算出用パッチを修復領域の縁辺上の各画素に配置し、配置された優先度算出用パッチ内の既知領域の画像において、該既知領域側の優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、境界線が検出された優先度算出用パッチが配置された画素の優先度を、境界線が検出されなかった優先度算出用パッチが配置された画素より高く設定する。
【選択図】 図13
Description
本発明は画像処理、具体的に画像の修復などに用いられる画像処理方法および装置並びにそのためのプログラムに関するものである。
従来、画像上のシミや汚れの除去や、欠損の補修などが行われている。また、シミや汚れではないが、ユーザが存在してほしくない柱や、電線などの被写体を除去してユーザ所望の画像に仕上げる処理なども行われている。これらの処理は、まず、除去や、補修などの対象となる領域(以下修復領域という)を手動指定または自動検出により特定し、特定された修復領域の各画素に対して元の画素値の代わりとなる新たな画素値を求めて与える(すなわち修復領域を埋め込む)ことによって実現されている。
修復領域の画素の新たな画素値を求める方法としては、例えば、特許文献1に記載されたように、修復領域に属さない領域(この領域内の画素の画素値が既に知っているので、以下既知領域という)内の画素の画素値を用いて修復領域内の画素の新たな画素値を求めることができる。具体的には、修復領域の縁辺上に所定のサイズ(例えば3画素×3画素)のパッチを配置し、配置されたパッチ内における既知領域の画素の画素値の平均値を求めて、同じパッチ内における修復領域の画素の新たな画素値とするようにしている。また、平均値の代わりに、パッチ内における既知領域の画素の画素値に対して補間処理を行うことによって、同じパッチ内における修復領域の画素の新たな画素値を求めることもできる。
しかし、特許文献1に提案された方法では、修復領域が小さいときはそれほど違和感なく修復領域を埋め込むことができるが、修復領域が大きいときは、修復領域の中心部に近くなるほど、周波数成分がなくなるため、埋め込まれた修復領域のボケが目立ち、処理後の画像は違和感が大きい。
この問題を解決するために、非特許文献1は、下記のような埋め込む手法を提案している。この手法は、修復領域の縁辺上の各画素に対して埋め込み優先度を求め、求められた埋め込み優先度のうち、最も高い埋め込み優先度を有する画素の位置からの順で埋め込む処理を実行する。埋め込むのに際しては、具体的に、図14に示すように、最も高い優先度を有する画像から、優先度の高い画素からの順に、中心点が当該画素に位置するようにパッチ(以下埋め込み用パッチという)を配置し、この埋め込み用パッチ内の既知領域をマッチング領域として埋め込み用パッチに対して設定して、埋め込み用パッチ内の画像の代わりとなる埋め込み元画像を取得するためのパッチ(以下埋め込み元画像取得用パッチという)を得る。図15(a)は図14に示す埋め込み用パッチの拡大図を例示しており、図15(b)は、図15(a)に示す埋め込み用パッチに基づいて得られた埋め込み元画像取得用パッチを示している。そして、図15(a)に示すような埋め込み元画像取得用パッチ、すなわちマッチング領域が設定されたパッチを、埋め込み用パッチの近傍の既知領域上を移動させながら、移動された各位置において、埋め込み元画像取得用パッチ内のマッチング領域の画像と、埋め込み用パッチ内の既知領域の画像との相似度を求め、この相似度が最も高いマッチング領域の画像に対応する位置における埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得する。そして、埋め込み用パッチ内の画像を、埋め込み元画像に置き換える。
この置き換え、すなわち埋め込みによって、画像中の既知領域が広がり、修復領域が小さくなる。優先度が高い画素の位置からの順でこのような埋め込み処理を、画像上の修復領域が無くなるまで実行することによって、画像上の修復領域が全部既知領域となる。
この手法では、埋め込み優先度を求める処理が極めて重要である。非特許文献1において、縁辺上の各画素の位置においてエッジの検出を行い、エッジ検出の結果に基づいて埋め込み優先度を求める方法が提案されている。具体的には、修復領域の縁辺上の各画素の位置において、既知領域から縁辺に向かって延びるエッジの検出を行い、このようなエッジがある位置の埋め込み優先度を、エッジがない位置の埋め込み優先度より高く設定すると共に、このようなエッジが複数の位置において検出された場合には、これらのエッジの強度に応じて、強度が高いエッジほどこのエッジがある位置の埋め込み優先度を高く設定する。
この方法によって、まず、埋め込み用パッチ内の既知領域の画像の画素値の平均値または補間処理により得られた値の代わりに、既知領域上に実際に存在し、かつマッチング領域の画像が埋め込み用パッチ内の既知領域の画像と相似度の高い画像(埋め込む元画像取得用パッチ内の画像)を用いて埋め込みパッチ内の画像を置き変えるようにしているので、処理後の画像においてボケが生じてしまうことを防ぐことができ、違和感の少ない修復効果を得ることができる。また、エッジがある位置(エッジがある位置が複数検出された場合においては強度が最も高いエッジを有する位置)から埋め込みをしているので、埋め込みによって元々あるエッジが消えてしまうことを防ぐことができる。
また、非特許文献2には、画像全体に対して、領域を分割する処理、例えば画像中の空と海、森と手前の地面などを分割する領域分割処理を行い、この領域分割処理の結果に基づいて修復を行う方法が提案されている。この方法は、画像中の領域間の境界線を得ることができるので、修復領域を埋め込むのに際し、縁辺上にかかる境界線があれば、その境界線の位置から埋め込むようにしている。
特開平7−114639号公報
A.Criminisi,P.Perez,and K.Toyama, Object Removal by Exemplar−based Inpaiting, Conf.on Computer Vision and Pattern Recognition,CVPR, Madison,Wisconsin,2003
J.Jia, and C.K.Tang, Image repairing: Robust Image Synthesis by Adapative ND tensor voting,Conf.on Computer Vision and Pattern Recognition,CVPR, Madison, 2003
しかしながら、非特許文献1に記載の方法は、多くの場合において良い修復効果を得ることができるが、埋め込み優先度を求めるのに際し、局所的なエッジしか検出してないため、長い境界線を有する画像の場合においては、実際の画像と大きく異なる画像に仕上げてしまうという問題がある。
例えば、図16(a)に示すように、修復領域が砂浜と川とに跨り、修復領域の外縁にゴミなどの小さな黒い物体がかかっている画像の場合において、川と砂浜の境界線がつながるように図中点Aまたは点Bから埋め込むことが望ましいが、点A、点Bよりも、点Cにおけるエッジ強度が高いため、非特許文献1に記載の方法では点Cの優先度が高く、点Aからの埋め込みがなされる。その結果、図16(b)に示すように、ゴミ部分が修復領域内に伸び、この埋め込みを繰り返すことによって、修復領域内に実際に存在しない黒い物体が出現すると共に、川と砂浜との境界線が修復領域内に無く、不自然な画像となってしまう。
一方、非特許文献2に記載の方法は、画像全体において領域分割処理を行い、この領域分割の結果に基づいて、境界線のある位置から埋め込むようにしているので、図16(a)に例示した画像の場合、領域分割処理によって画像は砂浜と川との2つの領域に分割され、修復領域縁辺上の点A、点Bは、2つの領域の境界線上にあるので、埋め込みが点Aまたは点Bから行われるようになり、図16(b)に示すような結果にはならない。
しかし、非特許文献2記載の方法は、図16(a)に示すような単純な領域から構成される画像の場合において有効であるが、実際の画像では、領域の数が多く、領域の構造も複雑なほうが多い。そのため、精度良く領域を分割することができず、よい修復効果も得られないという問題がある。
本発明は、上記事情に鑑み、修復箇所のボケを防ぐと共に、確実に自然な修復画像を得ることができる画像処理方法および装置並びにそのためのプログラムを提供することを目的とするものである。
本発明の画像処理方法は、画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求め、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記埋め込み優先度の高い画素からの順に各前記画素に対して行う画像処理方法において、
タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とするものである。
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記埋め込み優先度の高い画素からの順に各前記画素に対して行う画像処理方法において、
タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とするものである。
前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
ここで、前記境界線の検出に当たり、前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出することが望ましい。
ここで、前記境界線の検出に当たり、前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出することが望ましい。
また、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うことが好ましい。
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うことが好ましい。
また、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定するようにすることができる。
本発明の画像処理装置は、画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求める優先度取得手段と、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記優先度取得手段により求められた前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋込手段とを有してなる画像処理装置において、
前記優先度取得手段が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出手段と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定手段とからなることを特徴とするものである。
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記優先度取得手段により求められた前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋込手段とを有してなる画像処理装置において、
前記優先度取得手段が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出手段と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定手段とからなることを特徴とするものである。
ここで、前記境界線検出手段は、前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出するものであることが好ましい。
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出するものであることが好ましい。
また、前記境界線検出手段は、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うものであることが好ましい。
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うものであることが好ましい。
また、前記優先度設定手段は、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定するものであるとすることができる。
本発明の画像処理方法を、コンピュータに実行させるプログラムとして提供してもよい。
本発明の画像処理方法および装置によれば、埋め込み用パッチよりサイズが大きい優先度算出用パッチを、その中心点が画像中における修復領域の縁辺上の画素に位置するように配置し、この優先度算出用パッチ内の既知領域内において、優先度算出用パッチの輪郭線から、優先度算出用パッチ内の修復領域の縁辺まで延びる境界線を検出し、この境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度を、境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度より高く設定する。そして、埋め込むのに際し、埋め込み優先度の高い画素からの順に、修復領域の縁辺上の画素に埋め込み用パッチを配置して埋め込みを行うようにする。こうすることによって、領域を分割する境界線のある部分が優先的に埋め込まれるので、図16(b)に示すような、局部的なエッジの存在により、修復後の画像が不自然になってしまうという問題を解消することができる。
また、画像全体ではなく、優先度算出用パッチ内の既知領域上において領域分割、すなわち境界線の検出を行っているので、複雑な画像の場合においても、領域分割の精度の悪化を抑制することができ、結果的には良い修復効果を得ることができる。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の実施形態となる画像処理装置の構成を示すブロック図である。なお、本実施形態の画像処理装置は、入力された画像に対して修復処理を行うものであり、補助記憶装置に読み込まれた処理プログラムをコンピュータ(たとえばパーソナルコンピュータ等)上で実行することにより実現される。また、この処理プログラムは、CD−ROM等の情報記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされることになる。
また、画像データは画像を表すものであり、以下、特に画像と画像データの区別をせずに説明を行う。
図1に示すように、本実施形態の画像処理装置は、画像を入力する画像入力手段1と、入力された画像において修復する領域(修復領域)の指定をユーザに行わせるための領域指定手段10と、指定された修復領域に画素値を付与することによって修復領域を修復する修復手段100とを有してなる。
画像入力手段1は、本実施形態の画像処理装置の処理対象となる画像を入力するためのものであり、例えば、ネットワークを介して送信されてきた写真画像を受信する受信部や、CD−ROMなどの記録媒体から写真画像を読み出す読取部や、紙や、プリント用紙などの印刷媒体から印刷媒体に印刷(プリントを含む)された画像を光電変換によって読み取って写真画像を得るスキャナなどとすることができる。
領域指定手段10は、画像入力手段1により入力された画像に対して、修復領域の指定を行うためのものであり、修復領域の指定をすることができるものなら何でもよく、例えばキーボードや、マウスや、またはモニタなどの表示画面において指定することが可能なタッチペンなどとすることができる。図3に示す画像D0は、修復領域が指定された画像の例であり、その中央部分の白い空白は指定された修復領域を示し、陰影部分は画素値が既知の画素により構成された既知領域である。
画像入力手段1により入力された画像に対して、領域指定手段10を介して修復領域が指定された画像(画像D0)は、修復手段100に出力され、修復手段100において修復される。図2は、修復手段100の構成を示すブロック図である。
図2に示すように、修復手段100は、多重解像度画像作成手段105と、優先度算出手段110と、埋め込み元画像取得手段115と、埋め込み手段120と、縁辺修整手段130とを備えてなるものである。以下、これらの各構成の詳細について説明する。
多重解像度画像作成手段105は、画像D0から複数の解像度の異なる画像Diを作成するものであり、各画像Diは、iの大きい順から、解像度が低くなっている。本実施形態において、多重解像度画像作成手段105は、まず、画像D0をD1とし、画像D0を1/2、1/4、1/8の縮小率で夫々縮小して得た画像をD2、D3、D4として作成する。図3は、多重解像度画像作成手段105により得られた画像D1、D2、D3、D4を示している。
優先度算出手段110は、画像D0、すなわち解像度が最も高い画像D1における修復領域の縁辺上の各画素の位置の埋め込み優先度βを算出するものである。本実施形態において、優先度算出手段110は、4つの画像Di(i=1〜4)を、解像度の低い画像からの順(すなわち、D4からの順)を夫々用いて優先度βを算出する。ここで、まず、画像Di(i>1)(すなわちD4、D3、D2)を用いて優先度βを算出する処理について説明する。
<画像Di(i>1)を用いた優先度βの算出>
画像Di(i>1)を用いて優先度βを算出するのに当たり、優先度算出手段110は、優先度を算出するためのパッチ(本実施形態において9画素×9画素のパッチ。以下優先度算出用パッチFyという)を図4に示すように、その中心が画像Diにおける修復領域の縁辺上の画素(図中画素A)に位置するように配置し、この位置の埋め込み優先度βを求める。
画像Di(i>1)を用いて優先度βを算出するのに当たり、優先度算出手段110は、優先度を算出するためのパッチ(本実施形態において9画素×9画素のパッチ。以下優先度算出用パッチFyという)を図4に示すように、その中心が画像Diにおける修復領域の縁辺上の画素(図中画素A)に位置するように配置し、この位置の埋め込み優先度βを求める。
画素Aの埋め込み優先度βを求めるのに当たり、優先度算出手段110は、まず、優先度算出用パッチFy内の既知領域の画素数を確認する。優先度算出用パッチFy内の既知領域の画素数が、図7に示すように少なく、所定の閾値K1以下となる場合において、画素Aの優先度を0として設定する。
一方、画素Aに配置された優先度算出用パッチFy内の既知領域の画素数が、閾値K1より大きい場合において、優先度算出手段110は、画素Aにおいて、修復領域を埋め込む方向(以下埋め込み方向)を決定する。本実施形態において、図5に示すような4つの方向を埋め込む方向とする。図5において、黒い領域と白い領域は夫々既知領域と修復領域とを示し、修復領域を埋め込む方向は、左から右(方向d1)、上から下(方向d2)、右から左(方向d3)、下から上(方向d4)の4つとなっている。優先度算出手段110は、画素Aにおける、既知領域から修復領域に向かう法線の方向hに基づいて埋め込み方向を決定するものであり、具体的には、この法線方向hが上記4つの方向のうちのいずれか1つの方向と一致する場合には、法線方向hを埋め込み方向に決定して埋め込み優先度βを求める一方、法線方向hが上記4つの方向のうちの2つの方向の間に位置する場合には、この2つの方向を埋め込み方向候補とし、2つの埋め込み方向候補について夫々埋め込み優先度を求め、求められた埋め込み優先度が高い方の方向を埋め込み方向に決定すると共に、この方向について既に求められた埋め込み優先度をこの位置の埋め込み優先度βとする。
図4に示す画素Aの位置の場合、その法線方向hが図6(a)に示すように上から下の方向、図5(b)に示す方向d2と一致するため、優先度算出手段110は、この方向h(d2)を画素Aにおける埋め込み方向として決定する。一方、図6(b)に示すような場合、画素Bにおける法線方向hが、埋め込み方向d1と埋め込み方向d4との間にあるため、優先度算出手段110は、画素Bに対して、埋め込み方向d1と埋め込み方向d2を埋め込み方向候補とし、2つの方向について埋め込み優先度を算出する。
埋め込み優先度算出手段110は、埋め込み方向(または埋め込み方向候補)を決定した後、優先度算出用パッチFy内の既知領域において境界線の検出を行って、優先度を算出する。
優先度算出手段110は、まず、優先度算出用パッチFy内の既知領域の画素値(例えば輝度値)の分散値を計算し、この分散値が所定の閾値K2以下であれば、優先度算出用パッチFy内の既知領域が均一な1つの領域であり、領域と領域との間の境界線が無いとして優先度を0に設定する。
一方、優先度算出用パッチFy内の既知領域の画素値の分散値が閾値K2より大きい場合において、優先度算出手段110は、優先度算出用パッチFy内の既知領域についてその境界線を検出して、優先度を設定する。
本実施形態において、優先度算出手段110は、レベルセット(Level Set)領域分割手法を用いて境界線の検出を行う。具体的には、まず、優先度算出用パッチFy内の既知領域上において、枠を配置する。ここで、枠を配置するのに当たり、大きい枠を用いると、演算時間を短縮することができるが、領域分割の精度が良くないため、本実施形態において、優先度算出手段110は、図8(b)に示すように、複数(図の例示では3つ)の小さい枠Wを、既知領域上の離れた位置に夫々配置する。そして、優先度算出手段110は、各枠Wに対して変形処理を行って、既知領域を2つの領域に分割する。
変形処理は、下記の式(2)に示す、枠内の画素値の分散値σaと、枠外の画素値の分散値σbとの総和Qが、最も小さくなるように各枠Wを変形させるものであり、具体的に、枠Wを内凹させる内凹処理と、枠Wを外凸させる外凸処理とを繰り返す処理である。内凹処理は、当該枠Wの内縁の画素のうちの、該画素を枠Wの外に出すことによって総和Qが小さくなる画素を内凹処理の対象とし、該画素の位置において枠Wを内凹させる処理であり、外凸処理は、当該枠Wの外縁の画素のうちの、該画素を枠Wの中に入れることによって総和Qが小さくなる画素を外凸処理の対象とし、該画素の位置において枠Wを外凸させる外凸処理である。なお、図9(a)に示すように、枠W上の画素A2を枠Wの外縁の画素とすれば、画素A2と隣接する枠W内の画素A1が内縁の画素となり、図9(b)に示すように、枠W上の画素A2を内縁の画素とすれば、画素A2と隣接する枠W外の画素A3が外縁の画素となる。また、枠上に画素が無ければ、枠を挟んで隣接する2つの画素が夫々内縁の画素と外縁の画素となる。本実施形態においては、図9(b)に示すように、枠W上の画素を当該枠Wの内縁の画素とし、この画素と隣接する枠W外の画素を外縁の画素とする。図9(c)は、枠Wの内縁の画素A2を枠Wの外に出すことによって、前述した分散値の総和Qが小さくなる場合に枠Wを内凹させた例を示しており、図9(d)は、枠Wの外縁の画素A3を枠Wの中に入れることによって、前述した分散値の総和Qが小さくなる場合に枠Wを外凸させた例を示している。
優先度算出手段110は、このような内凹処理と外凸処理を繰り返し、枠Wの変形(および変形に起因する枠の結合)を経て、既知領域を1つの枠の中と外との2つの領域に分割する。そして、分割の結果として、この2つの領域の境界線を得る。
優先度算出手段110は、検出された境界線について、まず、この境界線が、優先度算出用パッチFyの既知領域側の輪郭線から、優先度算出用パッチFy内の修復領域の縁辺まで延びる境界線であるか否かを確認する。具体的には、この境界線の両端は、境界線と、優先度算出用パッチFyの既知領域側の輪郭線と優先度算出用パッチ内の修復領域の縁辺との夫々の接点であるか否かを確認し、夫々の接点であれば、言い変えれば、境界線が優先度算出用パッチFyの輪郭線から修復領域の縁辺まで延びるものであればさらに境界線の態様および埋め込み方向(埋め込み方向候補を含む)に基づいて0より大きい優先度を設定するが、接点ではなければ、画素Aの優先度βを0に設定する。
図10は、境界線が優先度算出用パッチFy内の修復領域の縁辺まで延びる境界線であるか場合において、優先度算出手段110による優先度の設定を説明するための図であり、左から右へ、優先度の高い順を示している。図示のように、優先度は、下記のルールに従って設定される。
ルール1:境界線と修復領域の縁辺との接点の位置が、優先度算出用パッチFyの中心点に近いほど、優先度が高い。
なお、境界線は、図10に示す例(b)、例(c)のように2本ある場合には、この接点の位置を、2本の境界線と修復領域の縁辺との夫々の接点の位置の平均位置とする。
ルール2:ルール1を前提とした上で、境界線が2本ある場合より、境界線が1本しかない場合のほうが、優先度が高い。
ルール3:境界線が2本の場合、2本の境界線により囲まれた領域の面積が大きいほど優先度が高い。
ルール4:ルール1、2、3を前提とした上で、境界線の延びる方向が埋め込み方向に近いほど優先度が高い。
優先度算出手段110は、このようにして優先度算出用パッチFyが配置された位置の画素の優先度を設定する。なお、図6(b)に示すように、埋め込み候補方向が2つある場合において、優先度算出手段110は、2つの埋め込み候補について優先度を夫々算出し、大きいほうの優先度が算出された埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
優先度算出手段110は、優先度算出用パッチFyを最初に配置した位置の画素について上述の処理を行って該画素の優先度βを算出する。そして、優先度算出用パッチFyを、その中心点が修復領域の縁辺上において1画素ずらして配置し、新たなに配置された位置の画素の優先度βを算出する。
優先度算出手段110は、優先度算出用パッチFyの配置、優先度の算出、優先度算出用パッチFyの移動、優先度の算出・・・を繰り返し、画像Diにおける修復領域の縁辺上の各画素の優先度βを得る。
ここで、埋め込み元画像取得手段115は、優先度算出手段110により算出された優先度βに基づいて、優先度βが0より大きい画素のうち、優先度βが最も高い画素からの順にこの画素の位置における埋め込み元画像を取得する。ここで、埋め込み元画像取得手段115により埋め込み元画像を取得する処理について説明する。
<埋め込み元画像を取得する処理>
埋め込み元画像取得手段115は、優先度算出手段110により、画像Di(i>1)を用いて得られた優先度βを確認し、優先度βが0より大きい画素が無ければ、埋め込み元画像を取得する処理を行わないが(この場合の後の処理について後述する)、優先度βが0より大きい画素があれば、まず、優先度算出手段110により優先度を算出した際に用いた画像と同じ画像Di(i>1)において、優先度βが最も高い画素の位置における埋め込み元画像を取得する。具体的には、埋め込み元画像取得手段115は、画像Diにおける修復領域の縁辺上の画素のうちの対象画素(ここでは優先度βが0より大きい画素のうち、最も高い優先度βを有する画素)に対して、まず、優先度算出用パッチFyよりも小さい埋め込み用パッチFu1(本実施形態においては5画素×5画素のパッチ)を、その中心点が対象画素(図11に示す画素A)に位置するように配置する。そして、配置された埋め込み用パッチFu1内において、既知領域の部分をマッチング領域として設定して、図11下部に示す、画素Aに対する埋め込み元画像取得用パッチFu2を得る。なお、分かりやすくするために、図11下部の埋め込み元画像取得用パッチFu2を拡大して表示しているが、埋め込み元画像取得用パッチFu2の大きさは、埋め込み用パッチFu1と同じく5画素×5画素である。そして、埋め込み元画像取得手段115は、埋め込み元画像取得用パッチFu2を、対象画素Aの近傍の既知領域上を移動しつつ、移動された各位置において、埋め込み元画像取得用パッチFu2内におけるマッチング領域の画像と、埋め込み用パッチFu1内の既知領域の画像との相似度を求める。そして、この相似度が最も高い位置に配置された埋め込み元画像取得用パッチFu2内の画像を埋め込み元画像として取得する。
埋め込み元画像取得手段115は、優先度算出手段110により、画像Di(i>1)を用いて得られた優先度βを確認し、優先度βが0より大きい画素が無ければ、埋め込み元画像を取得する処理を行わないが(この場合の後の処理について後述する)、優先度βが0より大きい画素があれば、まず、優先度算出手段110により優先度を算出した際に用いた画像と同じ画像Di(i>1)において、優先度βが最も高い画素の位置における埋め込み元画像を取得する。具体的には、埋め込み元画像取得手段115は、画像Diにおける修復領域の縁辺上の画素のうちの対象画素(ここでは優先度βが0より大きい画素のうち、最も高い優先度βを有する画素)に対して、まず、優先度算出用パッチFyよりも小さい埋め込み用パッチFu1(本実施形態においては5画素×5画素のパッチ)を、その中心点が対象画素(図11に示す画素A)に位置するように配置する。そして、配置された埋め込み用パッチFu1内において、既知領域の部分をマッチング領域として設定して、図11下部に示す、画素Aに対する埋め込み元画像取得用パッチFu2を得る。なお、分かりやすくするために、図11下部の埋め込み元画像取得用パッチFu2を拡大して表示しているが、埋め込み元画像取得用パッチFu2の大きさは、埋め込み用パッチFu1と同じく5画素×5画素である。そして、埋め込み元画像取得手段115は、埋め込み元画像取得用パッチFu2を、対象画素Aの近傍の既知領域上を移動しつつ、移動された各位置において、埋め込み元画像取得用パッチFu2内におけるマッチング領域の画像と、埋め込み用パッチFu1内の既知領域の画像との相似度を求める。そして、この相似度が最も高い位置に配置された埋め込み元画像取得用パッチFu2内の画像を埋め込み元画像として取得する。
なお、相似度については、例えば埋め込み元画像取得用パッチFu2内のマッチング領域の画像と、埋め込み用パッチFu1内の既知領域の画像との輝度値のユークリッド(Euclid)距離を求め、この距離が小さいほど相似度が高いように求めることができる。
埋め込み元画像取得手段115は、このようにして埋め込み元画像を取得する。
一方、その詳細については後述するが、修復手段100の埋め込み手段120は、解像度が最も高い画像D1において、優先度βが高い画素の位置からの順で修復領域の埋め込みを行うものである。それに対して、ここで、優先度算出手段110により算出された優先度βは、算出する際に用いられた画像Di(i>1)における修復領域の縁辺上の画素のものであり、埋め込み元画像取得手段115により得られた埋め込み元画像は、優先度算出時に用いられた画像Di(i>1)における画像である。そのため、埋め込み手段120に供するために、このように算出された優先度βを有する画素が対応する画像D1における画素の位置、および埋め込み元画像が対応する画像D1上の画像の位置を確定する必要がある。以下、この位置を確定する処理を回帰処理という。なお、ここで、回帰処理について説明する。
<回帰処理>
上述したように、回帰処理は、画像Di(i>1)を用いて算出した優先度βが0より大きい画素、および該画素に対して取得された埋め込み元画像に対して行われる。
上述したように、回帰処理は、画像Di(i>1)を用いて算出した優先度βが0より大きい画素、および該画素に対して取得された埋め込み元画像に対して行われる。
まず、最も解像度の低い画像、優先度βの算出および埋め込み元画像の取得に画像D4を用いた場合を例にして回帰処理について説明する。
回帰処理を行うのに当たって、まず、優先度算出手段110は、優先度を算出した際に用いられた画像(ここでは画像D4)より解像度が1つ高い画像、ここでは画像D3において、画像D4を用いて算出された優先度βが0より大きい画素の位置を確定する。画像D4は、画像D3を1/2縮小したものであるため、画像D4における1つの画素の位置が、画像D3上における2つの画素の位置に対応する。優先度算出手段110は、画像D4において算出された、優先度βが0より大きい画素の位置に夫々対応する、画像D3上の画素の位置において、優先度算出用パッチFyの配置および優先度の算出を行う。なお、ここで、優先度算出用パッチFyおよび優先度の算出は、画像D4において算出された、優先度βが0以上の画素の位置に夫々対応する、画像D3上の位置の画素(その数は、画像D4において算出された、優先度βが0より大きい画素の数の2倍)に対してのみ行われるため、短時間でできる。そして、埋め込み元画像取得手段115は、画像D4において取得された埋め込み元画像の、画像D3における位置を、優先度算出手段110により得られた画像D3上の位置に応じて調整し、画像D3上の埋め込み元画像の位置を得る。
そして、埋め込み優先度算出手段110と埋め込み元画像取得手段115は、このように低解像度画像上における位置を、1つ高い解像度上の画像上の対応する位置に確定する処理をD3からD2、D2からD1に繰り返し、解像度が最も高い画像D1における、埋め込み優先度βが0より大きい画素の位置、およびこれらの各画素の位置における埋め込み元画像の位置を確定できたことをもって、回帰処理を終了する。
なお、ここで、画像D4を用いて優先度の算出および埋め込み元画像の取得を行った場合の回帰処理について説明したが、画像D3を用いて優先度の算出および埋め込み元画像の取得を行った場合には、回帰処理として、画像D3より解像度が1つ高い画像、すなわち画像D2において、画像D3において算出された優先度βが0より大きい画素の位置および相対応する埋め込み元画像の位置が確定され、その後、画像D2より解像度が1つ高い画像、すなわち画像D1において、画像D2において算出された優先度βが0より大きい画素の位置および相対応する埋め込み元画像の位置が確定される。また、画像D2を用いて優先度の算出および埋め込み元画像の取得を行った場合には、回帰処理としては、画像D2より解像度が1つ高い画像、すなわち画像D1において、画像D2において算出された優先度βが0より大きい画素の位置および相対応する埋め込み元画像の位置が確定される。
次に、優先度算出手段110が画像D1を用いて優先度βを算出する処理について説明する。
<画像D1を用いた優先度βの算出>
優先度算出手段110は、画像D1を用いて優先度βを算出するのに当たり、他の画像を用いて優先度βを算出する際と同じように、まず、図4に示す優先度算出用パッチFyを、その中心点が画像D1における修復領域の縁辺上の画素に位置するように配置し、配置された優先度算出用パッチFy内の既知領域の画素数を確認する。優先度算出用パッチFy内の既知領域の画素数が閾値K1以下となる場合において、優先度算出手段110は、その画素の優先度を0として設定する。
優先度算出手段110は、画像D1を用いて優先度βを算出するのに当たり、他の画像を用いて優先度βを算出する際と同じように、まず、図4に示す優先度算出用パッチFyを、その中心点が画像D1における修復領域の縁辺上の画素に位置するように配置し、配置された優先度算出用パッチFy内の既知領域の画素数を確認する。優先度算出用パッチFy内の既知領域の画素数が閾値K1以下となる場合において、優先度算出手段110は、その画素の優先度を0として設定する。
一方、優先度算出用パッチFy内の既知領域の画素数が、閾値K1より大きい場合において、優先度算出手段110は、優先度算出用パッチFyが配置された画素の位置における埋め込み方向を決定する。この埋め込み方向を決定する処理は、他の画像Di(i>1)を用いて優先度βを算出する際の埋め込み方向の決定と同じであるので、ここで詳細な説明を省略する。なお、ここでも、図6(a)に示すように埋め込み方向が2つの可能性がある場合において、この2つの方向を埋め込み方向候補にして夫々について優先度を求め、優先度が大きい埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
埋め込み方向(埋め込み方向候補を含む)を決定した後、優先度算出手段110は、優先度算出用パッチFyの中心点においてエッジの検出を行い、該中心点においてエッジが検出されなかった場合には、該中心点に位置する画素の優先度βを1に設定する一方、エッジが検出された場合には、エッジの強度が強いほど高い優先度となるように、優先度算出用パッチFyの中心点の画素の優先度βを1より大きい値に設定する。
なお、この場合は、優先度βは画像D1において算出されているので、回帰処理が行われない。
次いで、本実施形態の画像処理全体の処理についてさらに説明する。
図12は、本実施形態の画像処理装置全体の処理を示すフローチャートである。図示のように、画像入力手段1により得られた処理対象の画像は、領域指定手段10を介して修復領域が指定されて画像D0となって、修復手段100に入力される(S10)。修復手段100において、多重解像度画像作成手段105は、まず、iを4として、i個(すなわち4つ)の解像度の異なる画像D1(D0)、D2、D3、D4を作成する(S15、S20)。そして、優先度算出手段110は、最も解像度の低い画像Di(ここでD4)を用いて優先度の算出を行い、画像D4における修復領域の縁辺上の各画素の優先度β、およびこれらの画素における埋め込み方向を得る(S30)
埋め込み元画像取得手段115は、優先度βが0より大きい画素の有無を確認し、優先度βが0より大きい画素があれば(S110:Yes、S111:Yes)、これらの画素のうちの、優先度βが最も高い画素の位置において埋め込み元画像を取得する(S112)。そして、優先度算出手段110と埋め込み元画像取得手段115は、画像D4において算出された0より大きい優先度βを有する画素の位置および相対応する埋め込み元画像の位置を、画像D1において確定する回帰処理を行って、画像D1において、修復領域の縁辺上の画素のうちの、優先度βが0より大きい画素、およびこれらの画素の埋め込み方向と埋め込み元画像を得る(S113)。そして、埋め込み手段120は、画像D1において、優先度の高い画素からの順に、該画素に対して取得された埋め込み元画像を用いて該埋め込み元画像を取得する際に用いられた埋め込み元画像取得用パッチFu2が対応する埋め込み用パッチFu1内の画像を置き換えることによって埋め込みを実行する。ここで、埋め込み用パッチFu1および埋め込み元画像取得用パッチFu2のサイズは、画像D4における5画素×5画素であるので、画像D1に対応する大きさは40画素×40画素となる。
埋め込み元画像取得手段115は、優先度βが0より大きい画素の有無を確認し、優先度βが0より大きい画素があれば(S110:Yes、S111:Yes)、これらの画素のうちの、優先度βが最も高い画素の位置において埋め込み元画像を取得する(S112)。そして、優先度算出手段110と埋め込み元画像取得手段115は、画像D4において算出された0より大きい優先度βを有する画素の位置および相対応する埋め込み元画像の位置を、画像D1において確定する回帰処理を行って、画像D1において、修復領域の縁辺上の画素のうちの、優先度βが0より大きい画素、およびこれらの画素の埋め込み方向と埋め込み元画像を得る(S113)。そして、埋め込み手段120は、画像D1において、優先度の高い画素からの順に、該画素に対して取得された埋め込み元画像を用いて該埋め込み元画像を取得する際に用いられた埋め込み元画像取得用パッチFu2が対応する埋め込み用パッチFu1内の画像を置き換えることによって埋め込みを実行する。ここで、埋め込み用パッチFu1および埋め込み元画像取得用パッチFu2のサイズは、画像D4における5画素×5画素であるので、画像D1に対応する大きさは40画素×40画素となる。
埋め込み手段120は、まず、優先度βが最も高い画素において埋め込みを行い、優先度が最も高い画素における埋め込みが終了すれば、次に高い優先度βを有する画素において埋め込みを行う。このように優先度βが高い順から、優先度βが0より大きい画素の埋め込みを行う(S1S125:Yes、S118、S120)。優先度βが0より大きい画素の埋め込みが全て終了すれば、画像Di(ここではD4)を用いて算出した優先度βに基づいた埋め込みを終了し、この埋め込みによって得られた新たな画像D1(元の画像D1が、優先度βが0より大きい画素において埋め込みが行われた画像)を多重解像度画像作成手段105に出力する。多重解像度画像作成手段105は、新たな画像D1を用いて、優先度βを求める際に既に用いられた画像(ここではD4)の解像度より1つ高い解像度までの複数の新たな画像(ここでは新たな画像D1、D2、D3)を作成し、優先度算出手段110は、新たな画像のうちの、最も低い解像度を有する画像(ここでは新たな画像D3)を用いて優先度βを算出し、ステップS30からの処理が繰り返される((S125:No、S128、S20、S30〜)。
一方、ステップS111において、優先度βが0より大きい画素がなければ(S111:No)、埋め込み元画像取得手段115は、埋め込み元画像を取得する処理行わず、優先度算出手段110は、前回、優先度βを求める際に既に用いられた画像(ここではD4)より1つ解像度が高い画像(ここではD3)を用いて優先度βを算出し、ステップS30からの処理が繰り返される(S114、S30〜)。
このような処理は、解像度が原画像より1つのみ低い画像(そのときの画像D2)を用いて算出された優先度βに基づいた埋め込みが終了するまで行われる(S20〜S128)。
解像度が原画像より1つのみ低い画像を用いて算出された優先度βに基づいた埋め込みが終了すると、埋め込みがなされた画像が新たな画像D1として得られる。この場合、優先度を算出する処理から、算出された優先度に基づいた埋め込みまでの処理は、原画像より解像度が低い画像について全部行われたので、優先度算出手段110は、原画像と同じ解像度を有する新たな画像D1を用いて優先度βを算出する(S30、S110:Yes)。埋め込み元画像取得手段115と埋め込み手段120は、優先度βが最も高い画素から埋め込みを行い、優先度βが最も低い0となる画素の位置における埋め込みが終了することをもって、処理を終了する(S130〜S136)。
埋め込みが終了した画像(原画像と同じ解像度)に対して、縁辺修整手段130は、埋め込みによって、不平滑な縁辺などの修整を行い、修復処理を終了する。
図13は、優先度算出手段110による優先度βを算出する処理(すなわち図12におけるステップS30の処理P)を示すフローチャートである。図示のように、優先度算出手段110は、画像Diを用いて優先度βの算出に当たり、まず、画像Diにおいて優先度算出用パッチFyを、その中心点が画像Diにおける修復領域の縁辺上の画素に位置するように配置する(S32)。そして、優先度算出用パッチFy内の既知領域の画素数が閾値K1以下であれば、優先度算出用パッチFyの中心点の画素の優先度βを0に設定する(S34:No、S55)一方、優先度算出用パッチFy内の既知領域の画素数が閾値K1より大きければ、埋め込み方向を図5示すいずれかの方向に決定する(S36)。そして、解像度が原画像より低い画像Di(i>1)に対して、優先度算出手段110は、優先度算出用パッチFy内の既知領域の画素値の分散値σを求め(S40:Yes、S42)、分散値σが閾値K2以下であれば、優先度算出用パッチFyの中心点の画素の優先度βを0に設定する(S44:No、S55)一方、分散値σが閾値K2より大きければ、優先度算出用パッチFy内の既知領域において領域の分割を行うことによって境界線を検出する(S44:Yes、S46)。検出された境界線が、優先度算出用パッチFyの既知領域側の輪郭線から優先度算出用パッチFy内の修復領域の縁辺まで延びる境界線ではなければ、優先度算出手段110は、優先度算出用パッチFyの中心点の画素の優先度βを0に設定する(S48:No、S55)一方、検出された境界線が、優先度算出用パッチFyの既知領域側の輪郭線から優先度算出用パッチFy内の修復領域の縁辺まで延びる境界線であれば、その境界線の態様および優先度算出用パッチFyの中心点の画素における埋め込み方向に基づいて、該画素の優先度βを0以上の値に設定する(S48:Yes、S50)。優先度算出手段110は、画像Diにおける修復領域の縁辺上の各画素において優先度算出用パッチFyの配置および優先度算出用パッチFyが配置された位置の画素(優先度算出用パッチFyの中心点の画素)に対して優先度β求め(S60:No、S82、S34〜)、求められた各々の画素の優先度βと、埋め込み方向と共に埋め込み元画像取得手段115に出力する(S60:Yes、S100)。
一方、解像度が原画像と同じ画像D1を用いて優先度βを算出する際に(S40:No)、優先度算出手段110は、優先度算出用パッチFyの中心点においてエッジの検出を行い、該中心点においてエッジが検出されなかった場合には、該中心点に位置する画素の優先度βを1に設定する一方、エッジが検出された場合には、エッジの強度が強いほど高い優先度となるように、優先度算出用パッチFyの中心点の画素の優先度βを1より大きい値に設定すると共に、各画素に対して設定された優先度βをその埋め込み方向と共に埋め込み元画像取得手段115に出力する(S72〜S110)。
なお、図13に示していないが、優先度算出手段110は、優先度算出用パッチFyの中心点の画素における埋め込み方向を決定する際に、図6(a)に示すように埋め込み方向が2つの可能性がある場合において、この2つの方向を埋め込み方向候補にして夫々について優先度を求め、優先度が大きい埋め込み方向候補を埋め込み方向として決定すると共に、該方向について算出された優先度を該画素の優先度とする。
このように、本実施形態の画像処理装置によれば、埋め込み用パッチよりサイズが大きい優先度算出用パッチを、その中心点が画像中における修復領域の縁辺上の画素に位置するように配置し、この優先度算出用パッチ内の既知領域内において、優先度算出用パッチの輪郭線から、優先度算出用パッチ内の修復領域の縁辺まで延びる境界線を検出し、この境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度を、境界線が検出された優先度算出用パッチの中心点の画素の埋め込み優先度より高く設定する。そして、埋め込むのに際し、埋め込み優先度の高い画素からの順に、修復領域の縁辺上の画素に埋め込み用パッチを配置して埋め込みを行うようにする。こうすることによって、領域を分割する境界線のある部分が優先的に埋め込まれるので、局部的なエッジの存在による影響を無くすことができ、良い修復効果を得ることができる。
また、画像全体ではなく、優先度算出用パッチ内の既知領域上において領域分割、すなわち境界線の検出を行っているので、複雑な画像の場合においても、領域分割の精度の悪化を抑制することができ、結果的には良い修復効果を得ることができる。
また、埋め込み用パッチを用いて修復領域の埋め込みを行う修復処理において、埋め込み用パッチのサイズが、修復効果を左右するものである。例えば、パターンが連続的に重複して存在する画像を修復するのに際し、1つのパターンの大きさとほぼ同じ大きさを有する埋め込み用パッチを用いることによって最も良い修復効果を得ることができる。そのため、オペレータにより修復対象の画像を目視などにより確認し、その画像に含まれるパターンなどの特徴に基づいて埋め込み用パッチのサイズを設定することが行われている。しかし、この方法ではオペレータに負担をかける上に、熟練した技術者ではなければ、正確に埋め込み用パッチのサイズを設定することができないという問題がある。また、埋め込み用パッチを変動させながら埋め込みを行い、最もよい修復効果を得ることができる埋め込み用パッチのサイズを探すことも行われているが、長い処理時間を必要とするという問題がある。それに対し、本実施形態において、解像度の異なる複数の画像を作成し、解像度の最も低い画像からの順に、低い解像度の画像において埋め込み元画像を取得し、回帰処理によってこの埋め込み元画像の、原画像(解像度の最も高い画像)における対応する画像を用いて埋め込みを行うようにすることによって、実質的に異なる埋め込み用パッチサイズで修復を行うことを短時間で実現することができる。
以上、本発明の望ましい実施形態について説明したが、本発明の画像処理方法および装置並びにそのためのプログラムは、上述した実施形態に限られることがなく、本発明の主旨を逸脱しない限り、各々のパッチのサイズ、多重解像度画像の個数など、様々な増減、変化を加えることができる。
1 画像入力手段
10 領域指定手段
100 修復手段
105 多重解像度画像作成手段
110 優先度算出手段
115 埋め込み元画像取得用手段
120 埋め込み手段
130 縁辺修整手段
β 埋め込み優先度
10 領域指定手段
100 修復手段
105 多重解像度画像作成手段
110 優先度算出手段
115 埋め込み元画像取得用手段
120 埋め込み手段
130 縁辺修整手段
β 埋め込み優先度
Claims (12)
- 画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求め、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記埋め込み優先度の高い画素からの順に各前記画素に対して行う画像処理方法において、
タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行い、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定することを特徴とする画像処理方法。 - 前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出することを特徴とする請求項1記載の画像処理方法。 - 前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うことを特徴とする請求項1または2記載の画像処理方法。 - 前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定することを特徴とする請求項1から3のいずれか1項記載の画像処理方法。
- 画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求める優先度取得手段と、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を、前記優先度取得手段により求められた前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋込手段とを有してなる画像処理装置において、
前記優先度取得手段が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出手段と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定手段とからなることを特徴とする画像処理装置。 - 前記境界線検出手段が、前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出するものであることを特徴とする請求項5記載の画像処理装置。 - 前記境界線検出手段が、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行うものであることを特徴とする請求項5または6記載の画像処理装置。 - 前記優先度設定手段が、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定するものであることを特徴とする請求項5から7のいずれか1項記載の画像処理装置。
- 画素値が既知の既知領域と、画素値が未知の修復領域とからなる画像中の前記修復領域を埋め込むのに際し、前記修復領域の縁辺上の各画素に対して埋め込み優先度を求める処理と、
前記修復領域の縁辺上の画素に中心点が位置するように所定のタップ数の埋め込み用パッチを配置し、
該埋め込み用パッチにおける前記既知領域をマッチング領域として前記埋め込み用パッチに対して設定して埋め込み元画像取得用パッチを得、
該埋め込み元画像取得用パッチを、前記埋め込み用パッチの近傍の前記既知領域上を移動させながら、移動された各位置において、前記埋め込み元画像取得用パッチ内の前記マッチング領域の画像と前記埋め込み用パッチ内の前記既知領域の画像との相似度を求め、
前記相似度が最も高い位置の前記埋め込み元画像取得用パッチ内の画像を埋め込み元画像として取得し、
前記埋め込み用パッチ内の画像を、前記埋め込み元画像に置き換えることによって該埋め込み用パッチ内の領域を前記既知領域にする処理を前記埋め込み優先度の高い画素からの順に各前記画素に対して行う埋め込み処理とをコンピュータに実行させるプログラムであって、
前記優先度を求める処理が、タップ数が前記埋め込み用パッチのタップ数以上である優先度算出用パッチを、夫々の中心点が前記修復領域の縁辺上の各画素に夫々位置するように配置し、
各前記優先度算出用パッチ内の前記既知領域の画像において、該既知領域側の前記優先度算出用パッチの輪郭線上から前記縁辺まで延びる境界線の検出を行う境界線検出処理と、
前記境界線が検出された前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素が、前記境界線が検出されなかった前記既知領域を有する前記優先度算出用パッチの中心点に位置する前記画素より高い埋め込み優先度を設定する優先度設定処理とからなることを特徴とするプログラム。 - 前記境界線検出処理が、前記優先度算出用パッチ内の前記既知領域において、該既知領域の一部を囲む枠を配置し、
前記枠内の画素の画素値の分散値と前記枠外の画素値の分散値とを夫々算出すると共に、2つの前記分散値の総和を求め、
前記枠の内縁の画素のうちの、該画素を前記枠の外に出すことによって前記総和が小さくなる画素を内凹処理の対象とし、該画素の位置において前記枠を内凹させる前記内凹処理と、前記枠の外縁の画素のうちの、該画素を前記枠の中に入れることによって前記総和が小さくなる画素を外凸処理の対象とし、該画素の位置において前記枠を外凸させる前記外凸処理とからなる前記枠の変形処理を、前記内凹処理および前記外凸処理の対象に該当する画素が無くなるまで繰り返し実行し、
前記変形処理の結果に基づいて前記境界線を検出する処理であることを特徴とする請求項9記載のプログラム。 - 前記境界線検出処理が、前記優先度算出用パッチ内の前記既知領域内の画素の画素値の分散値を求め、
該分散値が所定の閾値より小さい前記既知領域を、前記境界線が存在しない既知領域と判定すると共に、
前記分散値が前記所定の閾値以上である前記既知領域に対してのみ、前記境界線の検出を行う処理であることを特徴とする請求項9または10記載のプログラム。 - 前記優先度設定処理が、前記境界線が検出された前記既知領域を有する複数の前記優先度算出用パッチに対して、検出された前記境界線と前記縁辺との接点が、該境界線に対応する前記優先度算出用パッチの中心点に近いものほど、該優先度算出用パッチの中心点に位置する前記画素の前記埋め込み優先度を高く設定することを特徴とする請求項9から11のいずれか1項記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005094569A JP2006279442A (ja) | 2005-03-29 | 2005-03-29 | 画像処理方法および装置並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005094569A JP2006279442A (ja) | 2005-03-29 | 2005-03-29 | 画像処理方法および装置並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006279442A true JP2006279442A (ja) | 2006-10-12 |
Family
ID=37213730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005094569A Withdrawn JP2006279442A (ja) | 2005-03-29 | 2005-03-29 | 画像処理方法および装置並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006279442A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009142333A1 (ja) * | 2008-05-22 | 2009-11-26 | 国立大学法人東京大学 | 画像処理方法、画像処理装置及び画像処理プログラム並びに記憶媒体 |
JP2011081576A (ja) * | 2009-10-06 | 2011-04-21 | Bridgestone Corp | 欠損画像の補間方法及びこれを用いたタイヤ表面の検査方法 |
JP2013178714A (ja) * | 2012-02-29 | 2013-09-09 | Casio Comput Co Ltd | 画像処理装置、画像処理方法及びプログラム |
US9230309B2 (en) | 2013-04-05 | 2016-01-05 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method with image inpainting |
US9495757B2 (en) | 2013-03-27 | 2016-11-15 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
US9530216B2 (en) | 2013-03-27 | 2016-12-27 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
CN111968059A (zh) * | 2020-08-27 | 2020-11-20 | 李松涛 | 一种多补丁匹配的金相图修复方法及装置 |
-
2005
- 2005-03-29 JP JP2005094569A patent/JP2006279442A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009142333A1 (ja) * | 2008-05-22 | 2009-11-26 | 国立大学法人東京大学 | 画像処理方法、画像処理装置及び画像処理プログラム並びに記憶媒体 |
JPWO2009142333A1 (ja) * | 2008-05-22 | 2011-09-29 | 国立大学法人 東京大学 | 画像処理方法、画像処理装置及び画像処理プログラム並びに記憶媒体 |
JP2011081576A (ja) * | 2009-10-06 | 2011-04-21 | Bridgestone Corp | 欠損画像の補間方法及びこれを用いたタイヤ表面の検査方法 |
JP2013178714A (ja) * | 2012-02-29 | 2013-09-09 | Casio Comput Co Ltd | 画像処理装置、画像処理方法及びプログラム |
US9495757B2 (en) | 2013-03-27 | 2016-11-15 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
US9530216B2 (en) | 2013-03-27 | 2016-12-27 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method |
US9230309B2 (en) | 2013-04-05 | 2016-01-05 | Panasonic Intellectual Property Management Co., Ltd. | Image processing apparatus and image processing method with image inpainting |
CN111968059A (zh) * | 2020-08-27 | 2020-11-20 | 李松涛 | 一种多补丁匹配的金相图修复方法及装置 |
CN111968059B (zh) * | 2020-08-27 | 2024-03-08 | 李松涛 | 一种多补丁匹配的金相图修复方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4154374B2 (ja) | パターンマッチング装置及びそれを用いた走査型電子顕微鏡 | |
JP3028945B2 (ja) | 多階調丸め補正処理方法およびパターン検査装置 | |
JP5387193B2 (ja) | 画像処理システム、画像処理装置およびプログラム | |
JP2011044146A (ja) | プリントアンドスキャン文書の画像評価のためのボケ除去および監視適応的スレッショルディング | |
JP2006279442A (ja) | 画像処理方法および装置並びにプログラム | |
EP0899559A2 (en) | Reference image forming method and pattern inspection apparatus | |
JP2007285754A (ja) | 欠陥検出方法および欠陥検出装置 | |
WO2014129018A1 (ja) | 文字認識装置、文字認識方法及び記録媒体 | |
JP4915166B2 (ja) | ぼかしフィルタ設計方法 | |
EP2782065B1 (en) | Image-processing device removing encircling lines for identifying sub-regions of image | |
JP2012050013A (ja) | 撮像装置、画像処理装置、画像処理方法及び画像処理プログラム | |
JP5772675B2 (ja) | 濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラム | |
JP6293505B2 (ja) | 工具検査方法及び工具検査装置 | |
JP6846232B2 (ja) | 印刷データ処理方法、印刷データ処理装置、および印刷データ処理プログラム | |
JP2006279443A (ja) | 画像処理方法および装置並びにプログラム | |
WO2009104325A1 (ja) | 線画処理装置、プログラム及び線画処理方法 | |
JP4315349B2 (ja) | 画像処理方法および装置並びにプログラム | |
JP6006675B2 (ja) | マーカ検出装置、マーカ検出方法、及びプログラム | |
JP4798018B2 (ja) | 画像照合装置 | |
JP2006309402A (ja) | 文字列認識方法、ナンバープレート認識方法、及び装置 | |
JP6006676B2 (ja) | マーカ埋め込み装置、マーカ検出装置、マーカ埋め込み方法、マーカ検出方法、及びプログラム | |
JP6938935B2 (ja) | 画像比較装置、画像比較方法及び画像比較プログラム | |
JP2008269131A (ja) | 画像処理装置及び画像処理プログラム | |
JP4346620B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2002300404A (ja) | 画像処理方法及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20061208 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |