JP2013240014A - 画像処理装置及びその制御方法 - Google Patents
画像処理装置及びその制御方法 Download PDFInfo
- Publication number
- JP2013240014A JP2013240014A JP2012113476A JP2012113476A JP2013240014A JP 2013240014 A JP2013240014 A JP 2013240014A JP 2012113476 A JP2012113476 A JP 2012113476A JP 2012113476 A JP2012113476 A JP 2012113476A JP 2013240014 A JP2013240014 A JP 2013240014A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- edge
- straight line
- image data
- pixels
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims description 43
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 238000003672 processing method Methods 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000015572 biosynthetic process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Abstract
【課題】 補間処理において、処理対象画素の近傍画素群に基づいてエッジを算出することにより、少ない演算量でより鮮鋭な画像データを得る。
【解決手段】 入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、変換前の注目画素がエッジかどうかを判定する判定手段と、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有する。
【選択図】 図1
【解決手段】 入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、変換前の注目画素がエッジかどうかを判定する判定手段と、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有する。
【選択図】 図1
Description
本発明は、画像データをより画素数の多い画像データに変換するための補間処理をおこなう画像処理装置およびその制御方法に関する。
従来、画像データをより画素数の多い画像データに変換する技術が知られている。例えば、画像データの取得、保持、転送にかかるコストを低減するために、低解像度の画像データを撮影しておき、必要に応じて高解像度な画像データに高解像度化する技術が知られている。このように画像データを画素数の多い画像データに変換する場合、増えた画素を元の画像データに基づいて補間する必要がある。ところが補間処理をすると、入力画像データにおけるエッジ部がぼやけてしまうという問題があった。
入力画像データをより画素数の多い画像データに変換する処理によってエッジ部がぼやけてしまうことを低減する技術として、特許文献1に記載された方法が知られている。特許文献1では、画像データを拡大する際にエッジ・マップを作成し、エッジ・マップにおける境界と交差しない位置にある1つ以上の画素をもとに補間処理して得られる画素値を追加画素として決定する。
入力画像データをより画素数の多い画像データに変換する処理によってエッジ部がぼやけてしまうことを低減する技術として、特許文献1に記載された方法が知られている。特許文献1では、画像データを拡大する際にエッジ・マップを作成し、エッジ・マップにおける境界と交差しない位置にある1つ以上の画素をもとに補間処理して得られる画素値を追加画素として決定する。
前述の特許文献1によれば、画像における複雑なエッジを忠実にマッピングするため、膨大な演算が必要である。本発明は、画像データをより画素数の多い画像データに変換するための補間処理において、処理対象画素の近傍画素群に基づいてエッジを算出することにより、少ない演算量で鮮鋭な画像データを得ることを主な目的とする。
上記課題を解決するために本発明は、入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、変換前の注目画素がエッジかどうかを判定する判定手段と、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有することを特徴とする。
本発明によれば、画像データをより画素数の多い画像データに変換するための補間処理において、処理対象画素の近傍画素群に基づいてエッジを算出することにより、少ない演算量でより鮮鋭な画像データを得ることができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
<第1の実施形態>
第1の実施形態では、入力された画像データをより高解像度な画像データに変換する場合について説明する。処理対象画素とその近傍画素群とに基づいて、処理対象画素を横断するエッジ直線を算出する。そして、算出したエッジ直線に応じて、処理対象画素に対応する変換後の画素値それぞれを決定する。
第1の実施形態では、入力された画像データをより高解像度な画像データに変換する場合について説明する。処理対象画素とその近傍画素群とに基づいて、処理対象画素を横断するエッジ直線を算出する。そして、算出したエッジ直線に応じて、処理対象画素に対応する変換後の画素値それぞれを決定する。
図1は、第1の実施形態に適用可能な画像処理装置の構成を示すブロック図である。画像処理装置は、画像入力部100、入力画像バッファ101、エッジ画素検出部102、細線算出部103、解像度変換部104を有する。画像入力部100は、例えば、スキャナやデジタルカメラなどの画像入力機器やHDDなどの記憶装置から多値のデジタル画像データを取得するインターフェースである。画像入力部100が取得した入力画像データは、入力画像バッファ101に格納される。入力画像バッファ101は、一般的な画像処理装置で用いられるバッファと同様に、複数段のラインメモリから構成することもできるし、以降の各処理部が十分な内部メモリを有する場合には、この入力画像バッファ101を省略することもできる。
エッジ画素検出部102は、入力画像データを構成する画素ごとに、エッジ画素であるかどうかを検出する。処理対象画素がエッジ画素であるかどうかは、処理対象画素の周囲画素を参照して決定する。エッジ画素検出部102は、検出結果を直線算出部103と解像度変換部104に出力する。直線算出部103は、エッジ画素検出部102によって処理対象画素がエッジ画素であると検出された場合、所定領域内における処理対象画素近傍のエッジ直線を算出する。エッジ直線とは、エッジの境界を示す線である。直線算出部103は、算出したエッジ直線を示す情報を解像度変換部104に出力する。詳細については後述する。
高解像度変換部104は、処理対象画素をより高解像度に変換する高解像度化を行う。高解像度化は変換率に従って処理対象画素に対応する画素数を決定し、処理対象画素の画素値に基づいて変換後の各画素値を決定する。例えば、変換率が縦4倍、横4倍である場合、処理対象の1画素は16画素に変換されることになり、16画素の画素値それぞれを決定する。この高解像度化を行うことにより、入力画像データを構成する画素の数が増え、より高解像度な画像データが得られることになる。高解像度変換部104は、処理対象画素がエッジ画素であると検出された場合、エッジ直線に基づいて処理対象画素に対応する変換後の画素値それぞれを決定する。処理対象画素がエッジ画素であると検出されなかった場合は、従来の補間処理を用いて処理対象画素に対応する変換後の画素値を決定すればよい。
次に、エッジ画素検出部102によるエッジ画素検出処理を詳細に説明する。図2(a)は入力画像データを示し、画素300を処理対象とする。図2(c)は、エッジ画素検出部102におけるエッジ画素検出処理のフローチャートである。
まず、ステップS200において、処理対象画素の近傍画素群のうち、近い順に1つ画素を選択する。図3(b)は、処理対象画素の近傍画素群において選択される順番を示す。次に、ステップS201において、処理対象画素の画素値と選択した近傍画素の画素値とを比較し、その差分が所定値以上かどうかを判定する。ここで所定値は10とする。10以上の差分がある場合、処理対象画素をエッジ画素であると判定する。
処理対象画素の画素値と選択した近傍画素の画素値との差分が所定値以上となった場合には、ステップS202において、処理対象画素をエッジ画素と設定し、処理を終了する。また、選択した近傍画素を、処理対象画素の最近傍にあるエッジ画素(以下、最近傍エッジ画素)として設定する。処理対象画素と最近傍エッジ画素の間には、エッジの境界が存在すると言える。処理対象画素の画素値と選択した全ての近傍画素の画素値との差分が所定値以上とならなかった場合には、ステップS203にすすむ。
ステップS203おいて、処理対象画素の近傍画素群のうち、他に選択すべき近傍画素が存在するかどうかを判定する。本実施例では、図2(b)が示すように24番目の近傍画素まで選択する。まだ選択していな近傍画素がある場合には、ステップS200に戻り、次の近傍画素を設定する。ステップS203において、全ての近傍画素について処理対象画素との差分が所定値を超えなかった場合には、ステップS204において、エッジ画素を設定せずに処理を終了する。
以上のエッジ画素検出処理の結果、エッジ画素検出部102は、処理対象画素300をエッジ画素であると検出する。また処理対象画素300に対して、3番目に選択した近傍画素301を処理対象画素に最近傍エッジ画素として検出する。なおここでは、処理対象画素がエッジ画素かどうかを判定する方法として近傍画素との画素値の差分を用いたが、これに限らない。例えば公知技術であるラプラシアンなどを用いてエッジ度を算出し、このエッジ度が所定の値よりも大きい場合に処理対象画素をエッジ画素としてもよい。更に近傍画素については、エッジ度に比例し処理対象画素からの距離に反比例する評価値を用いて、評価値が最も大きい画素を最近傍エッジ画素として検出しても良い。
次に、直線算出部103によるエッジ直線算出処理を説明する。なお前述の通りエッジ直線とは、エッジの境界を示す直線である。直線算出部103は、処理対象画素の最近傍にあるエッジ画素を基準にエッジ直線を算出する。まず直線算出部103は、所定領域内でエッジ画素検出部102が設定した最近傍エッジ画素301を基準に、エッジ直線を形成する画素を検出する。処理対象画素300と最近傍エッジ画素301との位置関係から、エッジ直線を形成する画素を探索する方向を決める。探索対象となった近傍画素の画素値と処理対象画素300の画素値との差分が所定値以上となるかどうかを判定する。次に、すでにエッジ直線を形成する画素として判定された画素との相対的な位置に応じて、エッジ直線となりうるかどうかを判定する。以上の処理を繰り返すことにより、処理対象画素の近傍画素群に基づいて、エッジ直線を形成する画素を検出し、エッジ直線を算出する。
図4は、エッジ直線算出処理のフローチャートである。
ステップS401において、エッジ検出部がエッジ画素として検出した処理対象画素と、その最近傍エッジ画素を入力する。ここでは図3(c)が示すように、処理対象画素として画素300が、最近傍エッジ画素として301が設定される。
ステップ402において、最近傍エッジ画素を囲む8個の画素に対して、エッジ画素を探索する。エッジ画素は、最近傍エッジ画素と同様に処理対象画素300に対するエッジ度に基づいて判定される。探索の対象として選択された最近傍エッジ画素301の周囲にある画素の画素値と、処理対象画素300の画素値との差分が所定値以上であればエッジ画素として判定される。探索する方向は、処理対象画素300と最近傍エッジ画素301との相対的な位置関係によって決まる。最近傍エッジ画素301は処理対象画素300に対して所定値以上の差分をもつ画素であり、処理対象画素300と最近傍エッジ画素301の間にエッジの境界が存在するとみなせる。つまりエッジ直線は処理対象画素300と最近傍エッジ画素301とを結ぶ線に直交する方向に伸びている。従って図3(d)が示すように、エッジ直線が伸びうる左右の方向にエッジ画素を探索し、最近傍エッジ画素301の上下に位置する画素は探索の対象としない。このようにエッジ画素の探索は、異なる2つの方向に行い、処理対象画素300に近い方から順にエッジ画素かどうかを判定していく。例えば最近傍エッジ画素301の右方向を探索する場合、画素302、303、304の順に判定する。このとき、画素302がエッジ画素として検出される。1つの探索方向においてエッジ画素が1つ判定されたら、その探索方向におけるエッジ画素の探索を終了する。同様に、エッジ直線が伸びうる方向にある画素305、306、307に関しても順に判定すると、画素306がエッジ画素として検出される。以上のようにステップS402において、最近傍エッジ画素301の周囲画素のうちエッジ画素を探索し、2つまたは1つのエッジ画素が検出されればステップS403に進む。最近傍エッジ画素の周囲に1つもエッジ画素が見つからなかった場合は、ステップS408に進み、エッジ直線算出処理を終了する。ただし、2つの画素がエッジ画素として検出され、且つ、両方の画素が、エッジ直線が存在すると推定される位置(処理対象画素と最近傍エッジ画素を結ぶ直線に直交する線)よりも注目画素300側にある場合、ステップS408に進み処理を終了する。具体的には、最近傍エッジ画素301に対して、左右両方向において斜め上に位置する2つの画素が検出された場合、あるいは斜め下に位置する2つの画素が検出された場合である。これは、処理対象画素に対して1つのエッジ直線を算出できない可能性が高いためである。
次にステップS403において、検出した画素302及び画素306がエッジ直線を形成する画素となるかどうかを判定する。判定には、最近傍エッジ画素301と連結した場合に、直線を形成しうるかどうかによって判定する。例えば、ステップS402において検出された1つまたは2つのエッジ画素を最近傍エッジ画素301に連結した場合、縦又は横に連続して並ぶか、縦又は横のいずれか一方のみに±1だけ異なるという条件を満たせば、エッジ直線になりうると判定する。図3(e)に示すように、最近傍エッジ画素301に対して、ステップS402で検出された画素302と306を連結した場合、3つの画素は、縦方向に+1異なる範囲で横方向に並んでいる。つまり、画素302と画素306はエッジ直線をなす条件を満たし、エッジ直線を形成する画素であると判定される。エッジ直線にならないと判定された場合は、ステップS408に進み、エッジ直線算出処理を終了する。なお、縦方向に連続する画素数と横方向に連続する画素数のうち、より多くの画素が連続する方向をエッジ直線の伸びる方向として、エッジ形成条件を判定する。
次に、ステップS404において、直前の処理においてエッジ直線を形成する画素として検出された画素を基準エッジ画素として、基準エッジ画素の周囲にある画素からエッジ画素を探索する。ここでは画素302および画素306が基準エッジ画素となる。エッジ画素の検出はステップS402と同様に、処理対象画素300の画素値と探索の対象として選択した画素の画素値との差分が所定値以上であるかどうかに基づいて判定する。各画素値の差分が所定値以上であれば、探索の対象として選択した画素をエッジ画素として検出する。ただし探索方向は、基準エッジ画素と、直前にエッジ直線を形成する画素として設定されたエッジ画素との相対的な位置関係に応じて決まる。ここでは、直前にエッジ直線を形成する画素として設定されたエッジ画素と基準エッジ画素を結ぶ直線方向に探す。画素302の場合、直前にエッジ直線を形成する画素として設定されたエッジ画素は最近傍エッジ画素301であり、2つを結ぶ直線状にエッジ画素を探索する。つまりエッジ画素302の周囲に位置する画素のうち、上、右上、右に隣接する画素が探索の対象となる。
ただし2つの画素を基準エッジ画素として2方向にエッジ画素を探索する場合、2つの基準画素の位置関係によって探索範囲を省略する。エッジ直線を形成する画素である最近傍エッジ画素301、画素302、306を連結したとき、画素302は上方向に移動している。ここでもう一方の画素306でも上方向に移動すると処理対象画素近傍のエッジの境界を算出できないため、画素306における探索方向から上に隣接する画素を除く。そのため画素306については、左、左下に隣接する画素を探索の対象とする。判定を行う順序は、エッジ直線の概ねの位置に応じて決められる。エッジ直線を形成する画素として検出された画素301、302、306を連結した画素群は、処理対象不画素300の右下に位置する。これは、エッジ直線が処理対象画素300から見て右下の方向にあるといえる。そこでエッジ直線に沿うように、左上にある画素から順に判定される。例えば画素302を基準エッジ画素として探索する場合には、画素302の上、右上、右の画素順に探索する。図3(f)に示すように、画素308及び画素309がそれぞれの基準エッジ画素の周囲にあるエッジ画素として検出される。
ステップS404において、1つまたは2つのエッジ画素が検出されればステップS405に進む。基準エッジ画素の周囲にエッジ画素が検出されなければ、ステップS409にすすむ。
次にステップS405において、ステップS404で検出されたエッジ画素がエッジ曲線を形成する画素かどうかを判定する。画素308及び画素309と、今までにエッジ直線を形成する画素と判定された画素301、302、及び306を連結させると、横方向に連結する。つまり画素308および画素309は、それまでに得られたエッジ直線を形成する画素301、302、306が連結する方向に位置する。そのため画素308および309は、エッジ直線を形成する条件を満たすと判定する。
ステップS406において、所定領域内でエッジ直線を形成する画素の探索が終了したかを判定する。ここで所定領域は、処理対象画素を中心に画素7×7の領域である。全ての探索が終了すると、ステップS407に進む。所定領域内で探索する対象がある場合は、ステップS404に戻る。
図3(g)は以上の結果を繰り返した結果を示す。図3(f)において、画素308と画素309のそれぞれを基準エッジ画素として周囲にエッジ画素を探索し、エッジ直線を形成する画素かどうかを判定すると、エッジ直線を形成する画素として画素310が検出される。図3(g)において、直前の処理で検出されたエッジ直線を形成する画素310を基準エッジ画素として、周囲のエッジ画素を探索し、エッジ直線を形成する画素かどうかを判定する。所定領域内に条件を満たす画素はないので、エッジ直線を形成する画素の検出は終了する。
上記のように、最近傍エッジ画素の他に1つ以上の画素がエッジ直線を形成する画素であると判定されると、ステップS407においてエッジ直線を算出する。ここでは図4(h)が示すように、画素301、302、306、308、309、310がエッジ直線を形成する画素として検出されている。これらの画素に基づいて、エッジ直線の方程式を算出する。
まずエッジ直線の傾きを算出する。エッジ直線の傾きは、エッジ直線を形成する画素を連結させた画素群から算出する。本実施例では、エッジ直線を形成する画素は、横方向に連結し、その連続する画素数が2または3となる。そこで、傾きは連続する画素数の平均値をとって横に2.5画素とする。即ち、横に+2.5画素移動すると縦に+1画素移動するような傾きを持つ直線となる。そして最後に検出された画素310の中心位置と算出した傾きからエッジ直線の傾きを得ることができる。エッジ直線は、処理対象画素300の近傍に位置するエッジの境界を示す。本実施例では、エッジ直線と処理対象画素300の相対的な位置関係を算出する。その方法として、例えば、所定領域の左上端を原点(0,0)の座標空間を設定し、エッジ直線の方程式と処理対象画素300の位置関係とから、処理対象画素300の枠とエッジ直線との交点を算出するなどすればよい。その結果図5(a)が示すように、エッジ直線は処理対象画素300上を通過することがわかる。
以上のフローによって直線検出部103は処理対象画素近傍のエッジ直線を算出する。
解像度変換部104における処理対象画素に対応する変換後の画素値の決定方法を説明する。図5は、解像度変換部における処理の結果の一例を示す。本実施例では、処理対象画素を横4倍、縦4倍に変換する変換率に従って高解像度化をする。これにより処理対象の1画素に対して15画素ふえて、処理対象画素に対応する画素数は1から16に変換される。
解像度変換部104は、エッジ画素検出部102によって処理対象画素がエッジ画素として検出された場合、直線算出部103が算出したエッジ直線311を用いて解像度変換後の処理画素値を決定する。本実施例では、解像度変換後の画素位置がエッジ直線を境界にして、高濃度側にあるか低濃度側にあるかに応じて、高濃度側の代表値で置換するか低濃度側の代表値で置換するかを決める。図5(a)は図3(a)が示す入力画像データにおける処理対象画素300を示している。変換率に従って、4×4画素に分割されている。
本実施例のエッジの境界を示すエッジ直線312は、処理対象画素300上を通るエッジの境界である。また処理対象画素300の画素値は46、エッジ画素301の画素値は98である。そこで、エッジ直線312を境界にしてエッジ画素301のある右下方側を高濃度側とし、高濃度側の代表値をエッジ画素の画素値98とする。また、エッジ直線311を境界にして処理画素300のある左上方側を低濃度側とし、低濃度側の代表値を処理画素の画素値46とする。図5(b)は、処理対象画素300の変換処理結果を示している。変処理対象画素300の変換後の出力結果は、階段状ではなく直線によって示されたエッジ境界をもとに画素値が決定されているため、変換率をどのように設定しても解像度変換後の画像にジャギーが発生しにくい。
解像度変換処理部104は、処理対象画素300がエッジ画素として検出されなかった場合、処理対象画素の周囲にはエッジが存在しないことになるため、従来の補間方法を用いて変換後の画素値を決定する。また、処理対象画素300がエッジ画素として検出された場合でも、エッジ直線がないあるいは、エッジ直線が処理対象画素上を通らないときは、従来の変換処理を用いて変換処理をする。
以上のように、処理対象画素がエッジ画素である場合、所定領域における処理対象画素の近傍画素群に基づいて、処理対象画素の近傍にあるエッジの境界を示す直線を算出する。このエッジの境界を示す直線を用いて、変換後の画素値を決定する補間処理をすることで、エッジのジャギーを低減することができる。また本実施形態では、複数かつ複雑なエッジを検出することなく、エッジである処理対象画素の近傍に存在するエッジを予め一つの直線に限定して算出する。任意のエッジを忠実にマッピングする場合、入力画像データと同じ解像度のデータにマッピングすると、エッジ境界が階段状になり、ジャギーを低減できない。一方、任意のエッジを高解像度化後の解像度のデータにマッピングすると、画素値を決定する度に大量にデータアクセスが必要になったり、エッジ・マップによる領域分離等の処理が必要となったりする。本実施形態によれば、近傍画素群に基づいて簡易的にエッジ直線を算出するため、エッジ直線を算出する際も、算出したエッジを補間処理に利用する際にも演算量を大幅に削減することができる。
なお図5(c)は、変換率を縦3倍、横2.5倍とする例である。処理対象画素の枠と解像度変換後の画素それぞれの枠が一致しない場合でも、画素群314のようにジャギーを生じない出力結果が得られる。このように、予め定められる変換率は整数でなくても良いし、縦横が異なる変換率でも良い。
なお本実施例では、エッジ直線を形成する画素を、最近傍エッジ画素を中心に検出した。しかしながら、処理対象画素の近傍画素に基づいて処理対象画素上を通るエッジの境界を算出できればよい。例えば、処理対象画素を囲む周囲8つの画素において、x座標、y座標いずれも異なる2つの画素の組み合わせのうち、最もエッジ量が大きい組み合わせを選択する。そして選択した2つの画素を結ぶ直線をエッジ直線としてもよい。
<第2実施形態>
第2実施形態では、より演算を簡略化するため、入力された画像データを二値化した後、二値化された画像データに基づいてエッジ直線を算出する例を説明する。
第2実施形態では、より演算を簡略化するため、入力された画像データを二値化した後、二値化された画像データに基づいてエッジ直線を算出する例を説明する。
図6は第2実施形態に適用可能な画像処理装置の構成を示すブロック図である。本実施形態の画像処理装置は、画像入力部100、入力画像バッファ101、エッジ判定部105、二値化部106、エッジ形成画素検出部107、解像度変換部104から構成される。尚、同符号がつけられた構成要素については、図1に示す実施例1の画像処理装置の構成と同一であり、その詳細説明を省略する。
エッジ判定部105は、入力された画像データにラプラシアンフィルタをかけ、処理対象画素がエッジ画素かどうかを判定する。図8はラプラシアンフィルタの一例を示す。処理対象画素とその近傍画素にラプラシアンフィルタをかけることにより処理対象画素のエッジ度を算出し、エッジ度が所定値よりも大きければ処理対象画素をエッジ画素として判定する。図7(a)は入力画像データを示し、図7(a)は入力画像データにラプラシアンフィルタをかけた結果を示している。ここでは、100を所定値としてエッジ画素かどうかを判定する。処理対象画素700は、エッジ度が168であり所定値を超えるので、エッジ画素であると判定される。なお、ラプラシアンフィルタを用いたエッジ判定はこの限りでない。図8に示したフィルタとは異なるラプラシアンフィルタでもよいし、所定値も適宜設定すればよい。
二値化部106は、閾値を用いて入力画像データを二値化する。図9は、二値化部106における二値化処理を説明するための図である。図9(a)は図7(a)が示す画素群に行番号と列番号を付加したものである。この画素群に対し、閾値よりも大きいか小さいかによって二値化処理する。ここでは画素700を処理対象画素とするとき、閾値は処理対象画素700とその8近傍の画素において、最小の画素値と最大の画素値2つの平均を用いる。図9(a)において最小画素値となるのは処理対象画素700の左に隣接する画素の画素値37、最大画素値となるのは処理対象画素700の下に隣接する画素の画素値98なので閾値は67.5となる。この閾値よりも大きいか小さいかで1と0の二値に変換すると、エッジ直線を算出するための所定領域内の画素はそれぞれ図9(b)のように二値化される。この二値化した画素群は、入力画像データにおけるエッジ形状を保持している。なお、閾値はこれに限らない。入力レンジの中央値(8bitデータの場合、例えば125)や、所定領域内の平均値などを用いてもよい。
エッジ直線検出部107では、二値化部106によって二値化された画素群に基づいて、処理対処画素近傍を通るエッジ直線を形成する画素を検出する。なお、画像データにおける画素の並びに平行または垂直なエッジは、高解像度化に伴う補間処理をしてもジャギーが発生しにくい。そこで本実施形態では、処理対象画素を通る斜めのエッジ直線を形成する画素を検出する。エッジ直線検出部107は、縦及び横の中央3ラインにおいて、横方向又は縦方向に並ぶ3画素についてエッジ直線形成する条件を満たす画素が連続する数をカウントすることにより、エッジ直線を検出する。
エッジ直線を形成する条件は、以下2通りある。エッジ直線が横方向に伸びている場合、行R3に位置する画素において、二値化後の処理対象画素700と同じ二値化値をもち、その上下に隣接する画素のいずれか一方が処理対象画素700と異なる二値化値である場合、エッジ直線を形成する条件を満たす。同様に、縦方向にエッジ直線がのびている場合には、列C3に位置する画素において二値化後の処理対象画素700と同じ二値化値である、その左右に隣接する画素のいずれか一方が処理対象画素と異なる二値化値である場合もエッジ直線を形成する条件である。またここでは、処理対象画素上を通るエッジの境界のみに注目しているため、エッジ形成条件を満たす画素が連続していても、その中に処理対象画素を含まない場合には無効とする。
まずは、図9(b)に示す二値化した画素群のうち、中央付近の横3ラインの行R2、R3、R4でエッジ直線を検出することを考える。処理対象画素700の画素値は0なので、エッジ形成条件は、縦に並ぶ3画素において、行R3の画素値が0、行R2又は行R4のいずれか画素値が1となる画素群があるかということになる。以上のような条件を満たす画素列が連続して何回続くかを検出するには、図10に示すようなエッジ直線検出回路を用いて行うことができる。図10が示す回路には、所定領域におけるR2,R3,R4に位置する縦3画素がC0から順に入力される。
フリップフロップ1000には、加算器1001によってカウントアップされるエッジ形成条件を満たす縦3画素が連続する数(以下、連続数)が保持される。また、エッジ形成条件を満たさない縦3画素が入力された時点でこのフリップフロップ1000はクリアされて、カウント値は0となる。
フリップフロップ1002には、入力された縦3画素が処理対象画素700を含む縦3画素である場合「1」が保持され、以降、入力された縦3画素がエッジ形成条件を満たし続ける限り「1」が保持される。フリップフロップ1003はフリップフロップ1002が「1」を保持したあと、処理対象画素を含む縦3画素が入力された時の連続数であるフリップフロップ1000の値を保持する。フリップフロップ1004は、ライン中央の縦3画素が入力されたときのフリップフロップ1000のカウント値を保持する。これにより、これは、エッジ形成条件を満たす画素の連続において、処理対象画素の位置を保持することができる。フリップフロップ1005は、エッジ形成条件を満たす縦3画素の連続が終了した時点での特定の値を保持する。フリップフロップ1005は、直線の傾きが正か負かを示す情報を保持する。図12(b)は、レジスタ1005の値を示す。図12(b)に示すように、エッジ形成条件を満たす縦3画素の連続が途切れたときの行R3の値とその直前の行R2及び行R4の値から、エッジの傾きの符号を決定することができる。
図11は、図10に示すエッジ直線検出回路に、C0からC6まで順に、行R2、R3、R4の縦3画素を入力していく際の各フリップフロップ値の遷移を示す。C0の縦3画素は、R3の二値化値が処理対象画素700の二値化値と異なるのでエッジ形成条件を満たさない。そのため、各フリップフロップ値は0が保持される。次にC1の縦3画素が入力されると、R3の二値化値が処理対象画素700の二値化値と同じであり、その上下に隣接する画素のいずれか一方が処理対象画素700と異なる二値化値をもつので、エッジ形成条件を満たす。フリップフロップ1000に「1」が保持される。C2の縦3画素も同様にエッジ形成条件を満たすため、フリップフロップ100には、エッジ形成条件を満たす縦3画素が2つ連続したことを意味する「2」が保持される。C3の縦3画素も同様にエッジ形成条件を満たし、フリップフロップ1000には連続数「3」が保持される。また、C3のR3は処理対象画素700であるため、フリッピフロップ1002に1が保持され、処理対象画素を含む縦3画素が入力された時点でのカウント値「2」がフリップフロップ1004に保持される。次にC4の縦3画素が入力されると、R3の二値化値が処理対象画素700の二値化値と異なるため、エッジ形成条件を満たさず、フリップフロップ1000には0が保持される。また、ここでエッジ形成条件を満たす画素の連続が終了するため、フリップフロップ1005は、連続数が終了したC4とその直前C3の縦3画素を参照し、傾きを示す特定値を保持する。ここでは図12(b)が示すように傾きはプラスなので、「0」が保持される。フリップフロップ1003は、処理対象画素が入る欲された次のタイミングで、処理対象画素を含む連続数「3」が保持される。C5,C6はエッジ形成条件を満たさない。
最終的に各フリップフロップに保持された値からエッジ直線を算出することができる。図12(a)が示すように、フリップフロップ1003に保持された連続数である3は、エッジが縦に1画素移動するとき、横に3画素移動することを示す。また、フリップフロップ1005から傾きは+であるので、+1/3がエッジ直線の傾きとして算出される。
同様に、図10に示すエッジ直線検出回路に右端から左端まで行R2、R3、R4の縦3画素を入力した場合でも、最終的な各フリップフロップ値はほぼ同様の結果が得られる。
解像度変換部104は、エッジ判定部105における判定結果に従って、入力画像データを高解像度な画像データに変換する。処理対象画素がエッジ画素でないと判定さえた場合には、従来の補間処理を行い、変換後の画素値を決定する。一方解像度変換部104は、処理対象画素がエッジ画素であるという判定がされた場合は、エッジ直線検出部107によって検出したエッジ直線を形成する画素情報に基づいて補間処理を行う。各フリップフロップに保持された情報から、処理対象画素とその近傍画素群は、図12(a)に示すようにエッジを形成することがわかる。そこでエッジ直線の傾きと、エッジの端に位置する画素の中心とからエッジ直線を算出する。ここで、フリップフロップ1004の値から、エッジ形成画素における処理対象画素の位置がわかる。エッジ直線と処理対象画素の位置関係を参照し、エッジ直線が処理対処画素上を通らない場合は、従来の補間処理を行う。エッジ直線が処理対象画素上を通る場合、算出したエッジ直線に基づいて補間処理をする。エッジ直線を考慮した補間処理については、第1実施形態と同様の方法で行えばよい。
本実施形態のようにエッジの境界を示す直線を二値化した画像データに基づいて検出する場合にも、処理画素近傍のエッジに対するエッジ直線は、本来のエッジ形状に相似であるため、十分な効果を得ることができる。
また、エッジ判定部105で処理対象画素がエッジであると判定されなかった場合には、処理対象画素上を通るエッジの境界はないことになるため、従来の補間方法を用いて補間ぼけもジャギーも生じない鮮明な画像が得られる。
上記のように、本実施形態では、二値化した画素群に対して、簡単な回路で、エッジを形成する画素を検出することができる。そのため、複雑な小数点演算などを必要とせず、さらに演算量を抑えることができる。尚、本実施形態では、エッジ形成画素検出部107を専用の回路によって実現する例を説明したが、これはCPUによる演算でも実現可能であり、同様に演算量も抑えることができる。
本発明は、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ(又はCPUやMPU)がコンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
Claims (12)
- 入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、
変換前の注目画素がエッジかどうかを判定する判定手段と、
前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、
前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、
前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有することを特徴とする画像処理装置。 - 前記直線は、前記注目画素上を通ることを特徴とする請求項1に記載の画像処理装置。
- 前記判定手段は、前記注目画素と、前記近傍画素群における画素との差分値に基づいて判定することを特徴とする請求項1または2に記載の画像処理装置。
- 前記判定手段は、ラプラシアンフィルタを用いることにより判定することを特徴とする請求項1または2に記載の画像処理装置。
- 前記検出手段は、前記注目画素に最も近いエッジ画素を検出した後、前記最も近いエッジ画素の周囲で前記エッジの境界を形成する画素を検出することを特徴とする請求項1乃至4の何れか一項に記載の画像処理装置。
- 前記検出手段は、前記注目画素と前記近傍画素群に対して二値化処理した後に検出することを特徴とする請求項1乃至5の何れか一項に記載の画像処理装置。
- 前記決定手段は、前記注目画素と前記近傍画素群の入力画素値を用いて補間処理することにより、前記変換後の画素値それぞれを決定することを特徴とする請求項1乃至6の何れか一項に記載の画像処理装置。
- 前記決定手段は、前記注目画素に対応する前記変換後の画素を前記直線によって2つに分類し、前記分類された画素群それぞれに代表値を置換することを特徴とする請求項7に記載の画像処理装置。
- 前記画像処理装置は、前記入力画像データを解像度変換することを特徴とする請求項1乃至8の何れか一項に記載の画像処理装置。
- 前記画像処理装置は、前記入力画像デ―タを拡大することを特徴とする請求項1乃至8の何れか一項に記載の画像処理装置。
- コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項1乃至10の何れか一項に記載された画像形成装置として機能させることを特徴とするコンピュータプログラム。
- 判定手段、検出手段、算出手段、決定手段を有し、入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置ための画像処理方法であって、
前記判定手段が、変換前の注目画素がエッジかどうかを判定し、
前記検出手段が、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出し、
前記算出手段が、前記検出手段の結果から、前記エッジの境界を示す直線を算出し、
前記決定手段が、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定することを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012113476A JP2013240014A (ja) | 2012-05-17 | 2012-05-17 | 画像処理装置及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012113476A JP2013240014A (ja) | 2012-05-17 | 2012-05-17 | 画像処理装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013240014A true JP2013240014A (ja) | 2013-11-28 |
Family
ID=49764664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012113476A Pending JP2013240014A (ja) | 2012-05-17 | 2012-05-17 | 画像処理装置及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013240014A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524538B2 (en) | 2014-09-19 | 2016-12-20 | Fujitsu Ten Limited | Image processing apparatus |
-
2012
- 2012-05-17 JP JP2012113476A patent/JP2013240014A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524538B2 (en) | 2014-09-19 | 2016-12-20 | Fujitsu Ten Limited | Image processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3915563B2 (ja) | 画像処理装置および画像処理プログラム | |
JP6007602B2 (ja) | 画像処理方法、画像処理装置、スキャナ及びコンピュータプログラム | |
CN110298282B (zh) | 文档图像处理方法、存储介质和计算设备 | |
JP6904182B2 (ja) | 画像視点変換装置及び方法 | |
CN105225218B (zh) | 用于文档图像的畸变校正方法和设备 | |
CN109729298B (zh) | 图像处理方法与图像处理装置 | |
WO2014166377A1 (zh) | 图像兴趣点检测方法和装置 | |
CN105335952B (zh) | 匹配代价计算方法和装置、以及视差值计算方法和设备 | |
JP4772819B2 (ja) | 画像検索装置および画像検索方法 | |
US20180184012A1 (en) | Image processing apparatus, control method, and storage medium | |
JP2009212969A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
CN110991310A (zh) | 人像检测方法、装置、电子设备及计算机可读介质 | |
WO2021168703A1 (zh) | 字符处理及字符识别方法、存储介质和终端设备 | |
CN111915628A (zh) | 一种基于预测目标密集边界点的单阶段实例分割方法 | |
JP2013171469A (ja) | 画像処理装置、二値化閾値算出方法及びコンピュータプログラム | |
US20130128045A1 (en) | Dynamic liine-detection system for processors having limited internal memory | |
KR101262164B1 (ko) | 저 해상도 깊이 맵으로부터 고 해상도 깊이 맵을 생성하는 방법 및 이를 기록한 기록매체 | |
CN111063029A (zh) | 地图构建方法、装置、计算机可读存储介质及机器人 | |
CN109325909B (zh) | 一种图像放大方法和图像放大装置 | |
EP2966613A1 (en) | Method and apparatus for generating a super-resolved image from an input image | |
JP2008053875A (ja) | 画像処理装置および方法、プログラム、並びにプログラム格納媒体 | |
JP2013240014A (ja) | 画像処理装置及びその制御方法 | |
CN111767752A (zh) | 一种二维码识别方法及装置 | |
JP4208520B2 (ja) | 画像処理装置および画像処理方法、プログラムおよび記憶媒体 | |
CN115619678A (zh) | 一种图像变形的矫正方法、装置、计算机设备及存储介质 |