説明

画像処理装置および画像処理プログラム

【課題】画像全体に対してハフ変換処理やヒストグラム生成処理を行う構成を採ると、2値化画像にON画素数が多い場合に、ハフ変換処理の際の演算処理に時間がかかることになるために、スキュー角検出の処理速度が遅くなる。
【解決手段】2値化画像において連続する画素に対してラベリング部202によって同一ラベルを付与して連続画素群とし、複数の連続画素群のうち、特徴量が所定基準を満たす連続画素群を特定画素群抽出部203によって特定画素群として抽出し、この抽出した特定画素群のみを用いて、ハフ変換部205および角度算出部206によってハフ変換によるスキュー角検出を行う。そして、この検出したスキュー角を基に、スキュー補正部207によって入力画像に対するスキュー補正を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理プログラムに関し、特に画像読み取りの際に傾いて読み込まれた文書画像の傾き角度を検出し、その傾き補正を行う画像処理装置および画像処理プログラムに関する。
【背景技術】
【0002】
文書画像をイメージスキャナで読み取った際に得られる画像データや、ファクシミリ装置が受信する画像データを解析し、文書画像から領域の切り出しを行うとともに、文書中に含まれる画像の種類や属性を判別し、そのうち文字と判別された領域に対しては文字認識処理を施し、画像として読み取った文書から文字あるいは文章を抽出する技術が知られている。
【0003】
この種の画像処理の分野において、領域の切り出しや文字認識などの処理を正しく実行するためには、イメージスキャナや送信側のファクシミリ装置で読み取った文書画像に傾きが無いことが前提となる。したがって、読み込まれた画像に傾きがある場合には、領域の切り出しや文字認識などの処理を行う前処理として、画像の傾き角度(以下、「スキュー角」と記述する)を検出してその傾きを補正する、いわゆるスキュー(skew)補正を行う必要がある。
【0004】
従来、文書画像のスキュー角を検出し、その検出結果を基にしてスキュー補正を行う技術として、ハフ(Hough)変換を用いた技術が知られている(例えば、特許文献1参照)。この特許文献1記載の従来技術では、スキュー角の検出に当たって次のような処理を行うようにしている。
【0005】
先ず、入力画像に対してフィルタリング処理を行い、当該フィルタリング処理によって濃淡差が強調された画像に対して2値化処理を行い2値画像を生成する。次に、生成した2値画像の各画素に対してハフ変換を行い、ハフ空間上にヒストグラムを作成し、ハフ空間上で頻度が所定の閾値以上となる座標を抽出する。そして、抽出した座標をグループ化した後、グループごとに代表点座標を抽出し、抽出した座標から画像のスキュー角を推定する。
【0006】
また、特許文献1には、ハフ空間上で頻度が所定の閾値以上となる座標を抽出した後、抽出した座標の個数を角度ごとに積算してヒストグラムを生成し、頻度が最大となる角度を画像のスキュー角として推定する技術も記載されている。
【0007】
【特許文献1】特開平11−328408号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した従来技術では、文書画像全体に対してハフ変換処理やヒストグラム生成処理を行う構成を採っているために、2値化画像にON画素(例えば、白を背景としたときの黒画素)の画素数が多いと、ハフ変換処理の際の演算処理に時間がかかることになるために、スキュー角検出の処理速度が遅くなるという問題がある。具体的には、ON画素数が少ない画像、例えば縮小画像の場合は、画像全体に対してハフ変換処理を行ってもスキュー角検出の処理速度へのインパクトがそれほど大きくないが、元解像度の画像の場合は、ON画素数が多く、演算処理に時間がかかるために、スキュー角検出の処理速度へのインパクトが大きい。
【0009】
また、画像全体に対してハフ変換処理を行うことにより、無用のON画素に対してもスキュー角検出の処理が行われることになるために、場合によっては、スキュー角の誤検出が発生することもある。
【0010】
スキュー角検出の処理速度を向上させるために、2値画像の輪郭を抽出することによってON画素数を減らし、輪郭画素の座標を基にスキュー角を検出する手法も考えられる。しかし、この手法を採ると、ON画素数が減ることによって演算の処理時間を短縮できるために、スキュー角検出の処理速度を向上できる反面、演算対象のON画素数が減ることによって検出精度が低下するという問題がある。
【0011】
本発明は、上記課題に鑑みてなされたものであって、その目的とするところは、ハフ変換を用いた技術によってスキュー角を検出する処理において、検出精度を低下させることなく、スキュー角検出の処理速度の向上を可能にした画像処理装置および画像処理プログラムを提供することにある。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明は、次のような構成を採っている。すなわち、入力画像を2値化した2値画像において連続する画素に対して同一ラベルを付与し、この同一ラベルが付与された連続画素群のうち、特徴量が所定基準を満たす連続画素群を特定画素群として抽出する。そして、この抽出した特定画素群に対してハフ変換による角度検出を行い、この検出した角度(スキュー角)を基に入力画像に対するスキュー補正を行うようにする。
【0013】
スキュー角検出・補正を行う画像処理において、ハフ変換を用いた技術によって入力画像のスキュー角を検出するのに最もふさわしく、最も簡単で、最も精度が高い図形は、例えば、長い直線や細長い矩形、あるいは大きめの矩形である。そこで、特定画素群として抽出する所定基準を適宜設定することで、特定画素群として直線や細長い矩形、あるいは大きめの矩形などの図形を形成する連続画素群を抽出できる。そして、この抽出した特定画素群に対してハフ変換による角度検出を行ってスキュー角を検出することで、スキュー角の検出に最もふさわしく、最も簡単で、最も精度が高い図形を形成する連続画素群に対してのみハフ変換処理が行われることになる。
【0014】
また、上記目的を達成するために、本発明は、入力画像を2値化した2値画像の輪郭を示す画素を抽出し、この輪郭抽出した2値画像データに対するハフ変換処理によって前記入力画像の傾き角度を段階的に検出するとともに、多段階の角度検出処理の相互間において前段の角度検出処理でのハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での有用画素群を抽出して後段の角度検出処理に渡す。そして、最終段の角度検出処理で検出した角度(スキュー角)を基に入力画像に対するスキュー補正を行うようにする。
【0015】
上記のスキュー角検出・補正処理において、輪郭抽出した2値画像データに対してハフ変換処理を実施後、ハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での有用画素群を抽出することで、当該有用画素群として直線や細長い矩形、あるいは大きめの矩形などの図形を形成する画素群を抽出できる。そして、この抽出した画素群に対してハフ変換による角度検出を行ってスキュー角を検出することで、スキュー角の検出に最もふさわしく、最も簡単で、最も精度が高い図形を形成する画素群に対してのみハフ変換処理が行われることになる。
【発明の効果】
【0016】
本発明によれば、画像全体に対してではなく、スキュー角の検出に最もふさわしく、最も簡単で、最も精度が高い図形を形成する連続画素群(特定画素群)に対してハフ変換処理を行うことで、スキュー角検出を高精度に行うことができ、また演算処理の対象となる画素数を最小限に抑えることができるために、演算時間を短縮できることによってスキュー角検出・補正の処理速度を向上できる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0018】
図1は、本発明による画像処理装置を含む画像処理システムの構成例を示すブロック図である。図1に示すように、本画像処理システムは、画像データ入力部10、画像処理部20および画像データ出力部30を有する構成となっている。
【0019】
画像データ入力部10は、イメージスキャナ等の画像読取装置からなり、文書原稿の画像を読み取ってその画像データを画像処理部20に入力する。なお、イメージスキャナ等の画像読取装置で読み取った画像データをサーバなどの記憶装置に一旦格納しておくシステム構成を採る場合には、サーバが画像データ入力部10として機能することになる。また、ファクシミリ装置にあっては、受信側のファクシミリ装置が画像データ入力部10として機能することになる。
【0020】
画像処理部20は、本発明による画像処理装置に相当し、画像データ入力部10から入力される画像データに基づく画像(入力画像)のスキュー角(傾き角度)を検出し、その検出角度を基に画像データに対してスキュー補正を行う。
【0021】
画像処理部20は、CPU(Central Processing Unit:中央演算装置)21、I/O回路22、ROM23、RAM24およびHDD(ハードディスクドライブ)装置25などを有し、これら構成要素がバスライン26を介して相互に通信可能に接続された構成となっている。
【0022】
CPU21は、演算処理を含む本画像処理部20全体の処理の制御を行う。I/O回路22は、画像データ入力部10および画像データ出力部30を含む周辺機器との入出力を管理する。ROM23は、CPU21による制御の下に実行される各種処理の処理プログラムを格納する。RAM24は、各種処理の実行時に使用される一次記憶装置である。HDD25は、CPU21による制御の下に処理された画像データや、外部から取り込んだ画像データなどを記憶する。
【0023】
画像データ出力部30は、画像処理部20でスキュー補正された画像データを、次段の例えば文字認識装置などの画像処理装置(図示せず)に対して出力する。なお、画像データ出力部30をプリンタやディスプレイ等の出力装置とその制御手段によって構成し、画像処理部20でスキュー補正された画像データに基づく画像を印刷(記録)紙に印刷出力したり、あるいは、表示画面上に表示出力したりすることも可能である。
【0024】
[第1実施形態]
図2は、本発明の第1実施形態に係る画像処理装置(画像処理部)20Aの機能構成例を示すブロック図である。
【0025】
図2に示すように、本実施形態に係る画像処理装置20Aは、2値化部201、ラベリング部202、特定画素群抽出部203、座標抽出部204,ハフ(Hough)変換部205、角度算出部206およびスキュー補正部207を有する構成となっている。
【0026】
2値化部201は、図1の画像データ入力部10から入力される、濃淡が複数ビットで表されている画像データを、入力画像中に含まれる例えば文字や線、絵柄や写真などの前景に属する画素を画素値が論理「1」のON画素(例えば、黒画素)、背景領域に属する画素を画素値が論理「0」のOFF画素(例えば、白画素)とした各画素値が1ビットの2値画像データに2値化してラベリング部202に供給する。
【0027】
ラベリング部202は、2値化部201で2値化された2値画像(データ)において連続する画素(具体的には、ON画素)に対して同一ラベルを付与するラベリング処理を実行する。以下、同一ラベルが付与された連続する画素の集合を連続画素群と言う。
【0028】
特定画素群抽出部203は、ラベリング部202でのラベリング処理によって同一ラベルが付与された連続画素群において、その特徴量が所定基準を満たす連続画素群については特定画素群として抽出する。ここに、連続画素群の特徴量は、当該連続画素群の外接矩形サイズ(縦・横の長さや縦横比)や連続画素群の画素数などである。
【0029】
特定画素群抽出部203における特定画素群の抽出手法としては、次のような手法が考えられる。ただし、これらは一例に過ぎず、これらに限定されるものではない。
【0030】
手法1:連続画素群の外接矩形のサイズ(縦・横の長さや矩形面積)が予め決められた所定サイズ以上の連続画素群を特定画素群として抽出する。
手法2:連続画素群の外接矩形の中でサイズ(縦・横の長さや矩形面積)が一番大きい連続画素群を特定画素群として抽出する。
手法3:連続画素群の画素数が予め決められた範囲(以上なども含む)の連続画素群を特定画素群として抽出する。
手法4:連続画素群の中で画素数が最も多い連続画素群を特定画素群として抽出する。
【0031】
手法5:連続画素群の外接矩形のサイズ(縦・横の長さや縦横比)と連続画素群の画素数とより直線性を算出し、その直線性が予め決められた基準を満たす連続画素群を特定画素群として抽出する。
手法6:連続画素群の外接矩形のサイズ(縦・横の長さや縦横比)と連続画素群の画素数とより直線性を算出し、最も直線性が高い連続画素群を特定画素群として抽出する。
手法7:連続画素群の外接矩形のサイズ(縦・横の長さや縦横比)と連続画素群の画素数とより直線性を算出し、最も直線性が高く、かつ、その直線性が予め決められた基準を満たす連続画素群を特定画素群として抽出する。
【0032】
手法8:連続画素群の外接矩形のサイズ(縦・横の長さや縦横比)と連続画素群の画素数とより長方形度を算出し、その長方形度が予め決められた基準を満たす連続画素群を特定画素群として抽出する。
手法9:連続画素群の外接矩形のサイズ(縦・横の長さや縦横比)と連続画素群の画素数とより長方形度を算出し、最も長方形度が高い連続画素群を特定画素群として抽出する。
手法10:連続画素群の外接矩形のサイズ(縦・横の長さや縦横比)と連続画素群の画素数とより長方形度を算出し、最も長方形度が高く、かつ、その長方形度が予め決められた基準を満たす連続画素群を特定画素群として抽出する。
【0033】
このような各種手法を用いて特定画素群の抽出を行うことにより、特定画素群として、ハフ変換を用いた技術によって入力画像のスキュー角を検出するのに最もふさわしく、最も簡単で、最も精度が高い図形、例えば直線や細長い矩形、あるいは大きめの矩形を形成する連続画素群を抽出することができる。
【0034】
一例として、CAD(Computer Aided Design)で作成した図面など、線と文字が混在する文書画像の場合を例に挙げると、当該文書画像に対して例えば上記手法7を用いて特定画素群の抽出を行うことにより、線と文字が混在する文書画像から直線のみを抽出することができる。直線は、後述するハフ変換の原理から明らかなように、ハフ変換を用いた技術によって入力画像のスキュー角を検出するのに最もふさわしく、最も簡単で、最も精度が高い図形といえる。
【0035】
なお、特定画素群抽出部203における特定画素群において、図形の包含関係より、抽出された特定画素群(図形)に包含される特定画素群については、抽出の対象から除外するようにする。
【0036】
座標抽出部204は、特定画素群抽出部203によって特定画素群として抽出された連続画素群の各ON画素の座標を抽出する。
【0037】
ハフ変換部205は、座標抽出部204で座標抽出された連続画素群に対して周知のハフ変換処理を行う。ここで、ハフ変換処理について説明する。x−y座標上における点(x、y)を通る直線に対し、原点からこの直線に垂線をおろし、その長さをρ、垂線がx軸とのなす角度をθとすると、前記直線はρ−θ座標上(極座標上)で、
ρ=xcosθ+ysinθ
を満たす、点(ρ、θ)に変換される。
【0038】
そして、x−y座標上における点は複数の直線の集まり(交点)と考えると、x−y座標上における点(x、y)は、ρ−θ座標上(極座標上)では、
ρ=xcosθ+ysinθ(0≦θ<π)
なる曲線の式で表すことができる。この曲線がハフ曲線であり、このハフ曲線を求める処理がハフ変換である。すなわち、直線上にある複数の点に対しハフ変換処理をおこない、ρ−θ座標上(極座標上)にハフ曲線を描いていくと、それらのハフ曲線は1点で交わることになる。
【0039】
これを利用し、座標抽出部204によって抽出された全てのON画素の座標に対して、1つの座標ごとに上記式の角度θを0〜πまで順次変化させ、この角度θの変化に対応して得られる距離ρをρ−θ座標上にプロットしていくと、多くの曲線が交わる点、すなわちプロットされた頻度の多い点が複数存在し、この点を算出すると、画像上に存在した直線を見つけることが可能となる。そしてこの直線の傾きが、画像の傾きと考えることができる。
【0040】
なお、ハフ変換処理については、必ずしも、座標抽出された連続画素群の全ON画素に対して行う必要はない。すなわち、ハフ変換部205の前段に間引き処理回路を設けて、連続画素群のON画素を適当な比率で間引き処理を行い、残ったON画素に対してハフ変換処理を行うようにすることも可能である。間引き処理は、座標抽出処理の前処理として行うことも可能である。
【0041】
角度算出部206は、ハフ変換部205によるハフ変換の結果を基に、連続画素群(特定画素群)によって形成される図形(外接矩形/直線)の傾き角度を入力画像のスキュー角として算出する。具体的には、角度算出部206は、ハフ変換部205においてハフ変換されたρ−θ座標上において頻度の多い座標(ρ、θ)のθを参照して角度を求め、この角度をx−y平面における画像のスキュー角として算出する。この角度算出部206はハフ変換部205と共に、特許請求の範囲の角度検出手段を構成している。
【0042】
スキュー補正部207は、角度算出部206で算出された入力画像のスキュー角を基に、当該スキュー角がゼロになるように入力画像を回転させることによってスキュー補正を行う。画像を回転させる手法としては、例えば、アフィン(Affine)変換などの周知の手法を用いることができる。
【0043】
上記構成の画像処理装置20Aの構成要素、即ち2値化部201、ラベリング部202、特定画素群抽出部203、座標抽出部204,ハフ変換部205、角度算出部206およびスキュー補正部207については、PC(パーソナルコンピュータ)のように、所定プログラムを実行することによって情報記憶処理、画像処理、演算処理等の各機能を実行するコンピュータ機器を利用してソフトウェア構成によって実現することが考えられる。
【0044】
ただし、ソフトウェア構成による実現に限られるものではなく、ハードウェア構成、あるいはハードウェアとソフトウェアの複合構成によって実現することも可能である。ソフトウェア構成によって実現する場合、2値化部201、ラベリング部202、特定画素群抽出部203、座標抽出部204,ハフ変換部205、角度算出部206およびスキュー補正部207としてコンピュータを機能させるプログラムが本発明による画像処理プログラムとなる。
【0045】
また、以下に説明する画像処理シーケンスにおける各ステップの処理を実行するプログラムが、本発明による画像処理プログラムであるとも言える。そして、これらの画像処理プログラムについては、あらかじめコンピュータ内にインストールしておくことが考えられる。ただし、あらかじめインストールされているのではなく、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものであっても良く、または有線若しくは無線による通信手段を介して配信されるものであっても良い。
【0046】
(スキュー角検出・補正処理)
次に、入力画像のスキュー角を検出し、その検出角度を基にスキュー補正を行う第1実施形態に係るスキュー角検出・補正処理の手順の一例について、図3のフローチャートを用いて説明する。
【0047】
先ず、入力画像データを取り込み(ステップS11)、次いで、この取り込んだ画像データを2値化して2値画像データを作成し(ステップS12)、次いで、2値化画像(データ)において連続するON画素に対して同一ラベルを付与するラベリング処理を行う(ステップS13)。ここで、同一ラベルが付与された連続する画素の集合が連続画素群となる。
【0048】
次に、先述した手法1〜10などの手法を用いて、同一ラベルが付与された連続画素群のうち、連続画素群の外接矩形サイズ(縦・横の長さや縦横比)や連続画素群の画素数等の特徴量が所定基準を満たす連続画素群を特定画素群として抽出し(ステップS14)、次いで特定画素群として抽出した連続画素群の各ON画素の座標を抽出する(ステップS15)。
【0049】
次に、座標抽出した連続画素群に対してハフ変換処理を行い(ステップS16)、次いで、ハフ変換結果を基に連続画素群(特定画素群)によって形成される図形(外接矩形/直線)の傾き角度を入力画像のスキュー角として算出する(ステップS17)。そして、算出したスキュー角を基に入力画像を回転させることによってスキュー補正を行い(ステップS18)、一連のスキュー角検出・補正処理を終了する。
【0050】
ところで、スキュー角検出・補正を行う画像処理において、ハフ変換を用いた技術によって入力画像のスキュー角を検出するのに最もふさわしく、最も簡単で、最も精度が高い図形は、先述したハフ変換の原理からも明らかなように、例えば長い直線や細長い矩形、あるいは大きめの矩形などの図形であると言える。
【0051】
そこで、上述したように、2値化画像において連続する画素に対して同一ラベルを付与して連続画素群とし、複数の連続画素群のうち、特徴量が所定基準を満たす連続画素群を特定画素群として抽出することにより、スキュー角検出に有用な連続画素群、例えば、スキュー角の検出に最もふさわしく、最も簡単で、最も精度が高い図形、具体的には長い直線や細長い矩形、あるいは大きめの矩形などの図形を形成する画素群を抽出できる。そして、この抽出した特定画素群のみを用いてハフ変換によるスキュー角検出を行うことにより、スキュー角の検出に最もふさわしく、最も簡単で、最も精度が高い図形を形成する連続画素群に対してのみハフ変換処理が行われることになるために、スキュー角の検出精度を高めることができる。
【0052】
また、入力画像全体に対してハフ変換処理を行うのではなく、スキュー角検出に有用な連続画素群のみを特定画素群として抽出してハフ変換処理を行うことにより、スキュー角検出に有効に寄与しない文字や、短い直線、小さい矩形等の図形を演算処理の対象から除外することができるために、ハフ変換での演算処理の対象となる画素数を最小限に抑えることができる。その結果、ハフ変換での演算処理にかかる時間を短縮できるために、スキュー角を検出し、また当該スキュー角に基づいてスキュー補正する一連の処理の処理速度を向上できる。
【0053】
[第2実施形態]
図4は、本発明の第2実施形態に係る画像処理装置(画像処理部)20Bの機能構成例を示すブロック図である。
【0054】
図4に示すように、本実施形態に係る画像処理装置20Bは、グレイ(Gray)変換部211、2値化部212、輪郭抽出部213、縮小部214、概略角度検出部215、頻度多点抽出部216、逆ハフ変換部217、拡大部218、膨張部219、論理積部220、ラベリング部221、所定特徴ラベル抽出部222、詳細角度検出部223およびスキュー補正部224を有する構成となっている。
【0055】
グレイ変換部211は、入力画像がカラー画像の場合、例えば24ビットの画像データを例えば8ビットの画像データに変換する。2値化部212は、グレイ変換部211でグレイ変換された8ビットの画像データを、入力画像中に含まれる例えば文字や線、絵柄や写真などの前景に属する画素を画素値が論理「1」のON画素(例えば、黒画素)、背景領域に属する画素を画素値が論理「0」のOFF画素(例えば、白画素)とした各画素値が1ビットの2値画像データに2値化する。
【0056】
輪郭抽出部213は、2値化部212で2値化された2値画像データのうち、ON画素で構成される領域の輪郭を示す画素を抽出し、ON画素で構成される領域の輪郭を示す輪郭2値画像データを生成する。
【0057】
具体的には、例えば図5に示すように、注目画素を“X”とし、その周囲8画素を“A”〜“H”とすると、輪郭抽出部213は、注目画素“X”がOFF画素である場合、注目画素“X”はON画素で構成される領域の輪郭を示す画素では無いと判断する。注目画素“X”がON画素であり、かつ、周囲8画素“A”〜“H”の全てがON画素である場合も、注目画素“X”はON画素で構成される領域の輪郭を示す画素では無いと判断する。一方、注目画素“X”がON画素であり、周囲8画素“A”〜“H”のいずれかがOFF画素である場合、注目画素はON画素で構成される領域の輪郭を示す画素であると判断する。
【0058】
縮小部214は、輪郭抽出部213で輪郭抽出された輪郭2値画像データに対して、画像を例えば1/2に縮小する処理を行う。ここで入力画像に対して縮小処理を行うのは、次段の概略角度検出部215においてスキュー角を概略的に検出する際の処理速度を高めるためである。また、スキュー角を概略的に検出する場合は、入力画像を縮小した方が検出精度を高めることができる利点がある。
【0059】
概略角度検出部215は、座標抽出部2151、ハフ変換部2152および角度算出部2153によって検出され、縮小部214での縮小処理後の輪郭2値画像データに基づいて入力画像のスキュー角を概略的に、具体的には例えば数度を単位として検出する。
【0060】
この概略角度検出部215において、座標抽出部2151は、縮小処理後の輪郭2値画像データに基づく縮小輪郭画像の各ON画素の座標を抽出する。ハフ変換部2152は、座標抽出部2151で座標抽出された輪郭画素群に対して周知のハフ変換処理を行って極座標(ρ−θ)に変換(投票)する。角度算出部2153は、ハフ変換部2152によるハフ変換の結果を基に、輪郭画素群によって形成される図形の傾き角度を入力画像の概略スキュー角として算出する。具体的には、角度算出部2153は、ハフ変換部2152においてハフ変換結果に基づきx−y平面における直線の傾き角度を入力画像のスキュー角として算出する。
【0061】
頻度多点抽出部216は、ハフ変換部2152でのハフ変換によって得た極座標(ρ−θ)空間中で頻度(投票数)の多い1つ以上の点(ポイント)を抽出する。逆ハフ変換部217は、頻度多点抽出部216で抽出された頻度の多い1つ以上の点に対して逆ハフ変換処理を行うことにより、極座標空間の点をx−y平面上に戻す。極座標空間中の点をx−y平面上に戻せば直線となる。
【0062】
すなわち、極座標空間中で頻度の多い点を抽出し、この抽出した点に対して逆ハフ変換をかけてx−y平面上に戻すことにより、スキュー角検出に有用な(スキュー角検出に適した)画素群候補を抽出することができる。ここに、スキュー角検出に有用な画素群候補とは、直線性が高くかつ画素数の多い画素群、具体的には長い直線や細長い矩形などの図形を形成する画素群(画素の集合)のことである。
【0063】
なお、ここでは、極座標空間中で頻度(投票数)の多い1つ以上のポイント(ρ,θ)を抽出し、この抽出したポイントに対して逆ハフ変換をかけてx−y平面上に戻すことによってスキャン角検出に有用な画素群、例えば直線を求めるとしたが、逆ハフ変換処理を用いるのではなく、頻度の多い1つ以上のポイント(ρ,θ)からx−y平面上での直線を求めるようにすることも可能である。
【0064】
拡大部218は、逆ハフ変換部217で逆ハフ変換された2値画像データに対して、元の画像サイズ、即ち縮小部214で1/2に縮小する前の画像サイズに戻すために、2倍に拡大する処理を行う。
【0065】
膨張部219は、拡大部218で拡大処理された2値画像データに基づく画像のON画素に対して膨張処理を行う。具体的には、例えば図5に示すように、注目画素を“X”とし、その周囲8画素を“A”〜“H”とした場合、膨張部219は、注目画素“X”およびその周囲8画素“A”〜“H”のうち、一つでもON画素があれば、注目画素“X”をON画素とし、注目画素“X”およびその周囲8画素“A”〜“H”の全てがOFF画素であれば、注目画素“X”をOFF画素とする。
【0066】
なお、この膨張処理は、注目画素“X”と、その周囲8画素を“A”〜“H”に着目して膨張処理を行う態様に限定されるものではなく、例えば、注目画素“X”を中心とする5×5画素の領域、あるいは、さらに大きな領域に着目して膨張処理を行うようにしても良いのは勿論である。
【0067】
論理積部220は、輪郭抽出部213で輪郭抽出された2値画像データと、膨張部219で膨張処理された2値画像データとの論理積をとる。このようにして、輪郭抽出後の2値画像データと膨張処理後の2値画像データとの論理積をとることにより、ハフ変換や逆ハフ変換などの演算処理における演算誤差に起因する直線の傾き誤差を排除して、本来の画像上にある直線の傾きを持ったx−y平面上の直線の2値画像データとして取り出すことができる。
【0068】
頻度多点抽出部216、逆ハフ変換部217、拡大部218、膨張部219および論理積部220は、特許請求の範囲の有用画素群抽出手段に相当し、概略角度検出部215でのハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での画素群を抽出して詳細角度検出部223に渡す作用をなす。
【0069】
ラベリング部221は、論理積部220から出力される2値画像データに対して、当該2値画像データに基づく画像において連続するON画素に対して同一ラベルを付与するラベリング処理を実行する。所定特徴ラベル抽出部222は、ラベリング部221でのラベリング処理によって同一ラベルが付与された連続画素群において、その特徴量が所定基準を満たす連続画素群を、詳細角度検出部223での詳細スキュー角の検出に用いる連続画素群、例えば長い直線を表す連続画素群として抽出する。
【0070】
このようにして、論理積部220から出力される2値画像データに対してラベリング処理を行い、かつ特徴量が所定基準を満たす連続画素群を抽出する処理を行うことにより、詳細スキュー角の検出に有用な直線成分のみを抽出し、それ以外のゴミ(ノイズ)成分については除去することができる。
【0071】
ただし、ラベリング部221および所定特徴ラベル抽出部222については必ずしも必要な構成要素ではなく、論理積部220において、詳細スキュー角の検出に有用な直線成分に対応した2値画像データのみを出力できるのであれば、ラベリング部221および所定特徴ラベル抽出部222を省略することも可能である。
【0072】
詳細角度検出部223は、座標抽出部2231、ハフ変換部2232および角度算出部2233によって構成され、論理積部220から出力され、ラベリング部221および所定特徴ラベル抽出部222を経由して入力される2値画像データに基づいて入力画像のスキュー角を詳細に、具体的には概略角度検出部215での検出単位よりも細かい検出単位で検出する。
【0073】
この詳細角度検出部223において、座標抽出部2231は、論理積部220からラベリング部221およびラベリング部221を介して入力される2値画像データに基づく直線の各ON画素の座標を抽出する。ハフ変換部2232は、座標抽出部2231で座標抽出された画素群に対して、概略角度検出部215で検出された概略スキュー角を基にハフ変換処理を行う。角度算出部2233は、ハフ変換部2232によるハフ変換の結果を基に、直線の傾き角度を入力画像の詳細スキュー角として、概略スキュー角の算出単位よりも詳細な単位(例えば、0.1度単位)で算出する。この詳細スキュー角が入力画像の最終的なスキュー角となる。
【0074】
スキュー補正部224は、詳細角度検出部223で検出された詳細スキュー角、即ち入力画像のスキュー角を基に、当該スキュー角がゼロになるように入力画像を回転させることによってスキュー補正を行う。画像を回転させる手法としては、第1実施形態の場合と同様に、例えばアフィン変換などの周知の手法を用いることができる。
【0075】
上記構成の第2実施形態に係る画像処理装置20Bでは、概略角度検出部215で概略スキュー角を検出し、この概略スキュー角を基に詳細角度検出部223で詳細スキュー角を検出するという具合に、概略角度検出部215および詳細角度検出部223による2段階での角度検出処理によって入力画像のスキュー角を検出するとしたが、2段階での角度検出処理に限られるものではなく、3段階以上の多段階での角度検出処理も可能である。
【0076】
この場合、多段階の角度検出部の相互間には、前段の角度検出部でのハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での画素群を抽出して後段の角度検出部に渡す、例えば頻度多点抽出部216および逆ハフ変換部217を含む有用画素群抽出部を設けるようにすれば良い。
【0077】
上記構成の画像処理装置20Bの構成要素、即ちグレイ変換部211、2値化部212、輪郭抽出部213、縮小部214、概略角度検出部215、頻度多点抽出部216、逆ハフ変換部217、拡大部218、膨張部219、論理積部220、ラベリング部221、所定特徴ラベル抽出部222、詳細角度検出部223およびスキュー補正部224については、所定プログラムを実行することによって情報記憶処理、画像処理、演算処理等の各機能を実行するコンピュータ機器を利用してソフトウェア構成によって実現することが考えられる。
【0078】
ただし、ソフトウェア構成による実現に限られるものではなく、ハードウェア構成、あるいはハードウェアとソフトウェアの複合構成によって実現することも可能である。ソフトウェア構成によって実現する場合、グレイ変換部211、2値化部212、輪郭抽出部213、縮小部214、概略角度検出部215、頻度多点抽出部216、逆ハフ変換部217、拡大部218、膨張部219、論理積部220、ラベリング部221、所定特徴ラベル抽出部222、詳細角度検出部223およびスキュー補正部224としてコンピュータを機能させるプログラムが本発明による画像処理プログラムとなる。
【0079】
また、以下に説明する画像処理シーケンスにおける各ステップの処理を実行するプログラムが、本発明による画像処理プログラムであるとも言える。そして、これらの画像処理プログラムについては、あらかじめコンピュータ内にインストールしておくことが考えられる。ただし、あらかじめインストールされているのではなく、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものであっても良く、または有線若しくは無線による通信手段を介して配信されるものであっても良い。
【0080】
(スキュー角検出・補正処理)
次に、入力画像のスキュー角を検出し、その検出角度を基にスキュー補正を行う第2実施形態に係るスキュー角検出・補正処理の手順の一例について、図6のフローチャートを用いて説明する。
【0081】
先ず、多値の画像データを2値化して得られる2値画像データまたは直接入力される2値画像データを取り込み(ステップS21)、次いで、この取り込んだ2値画像データのうち、ON画素で構成される領域の輪郭を示す画素を抽出し、ON画素で構成される領域の輪郭を示す輪郭2値画像データを生成し(ステップS22)、次いで、この輪郭2値画像データに対して、画像を例えば1/2に縮小する処理を行う(ステップS23)。
【0082】
次に、縮小処理後の輪郭2値画像データに基づいて入力画像の概略スキュー角を、輪郭画素群に対してハフ変換処理を行って極座標(ρ−θ)に変換し、このハフ変換結果を基に例えば数度を単位として検出し(ステップS24)、次いで、ハフ変換によって得た極座標空間中で頻度の多い1つ以上の点を抽出し(ステップS25)、次いで、この抽出した頻度の多い1つ以上の点に対して逆ハフ変換処理を行うことにより、極座標空間の点をx−y平面上に戻す(ステップS26)。
【0083】
次に、逆ハフ変換した2値画像データに対して、元の画像サイズに戻すために、2倍に拡大する処理を行い(ステップS27)、次いで、この拡大した2値画像データに基づく画像のON画素に対して膨張処理を行い(ステップS28)、次いで、この膨張処理後の2値画像データと2値画像データから輪郭抽出して得た2値画像データとの論理積をとる(ステップS29)。
【0084】
次に、論理積演算後の2値画像データに対して、当該2値画像データに基づく画像において連続するON画素に対して同一ラベルを付与するラベリング処理を実行し(ステップS30)、次いで、同一ラベルが付与された連続画素群において、その特徴量が所定基準を満たす連続画素群を詳細スキュー角の検出に用いる連続画素群として抽出し(ステップS31)、次いで、概略スキュー角を基にハフ変換による技術を用いて詳細スキュー角を入力画像の最終的なスキュー角として検出する(ステップS32)。そして、この算出した詳細スキュー角を基に入力画像を回転させることによってスキュー補正を行い(ステップS33)、一連のスキュー角検出・補正処理を終了する。
【0085】
上述したように、輪郭抽出した2値画像データに対してハフ変換処理を実施後、ハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での有用画素群を抽出することで、当該有用画素群として長い直線や細長い矩形、あるいは大きめの矩形などの図形を形成する画素群を抽出できる。そして、この抽出した画素群に対してハフ変換による角度検出を行ってスキュー角検出を行うことにより、スキュー角の検出に最もふさわしく、最も簡単で、最も精度が高い図形を形成する画素群に対してのみハフ変換処理が行われることになるために、スキュー角の検出精度を高めることができる。
【0086】
また、入力画像全体に対してハフ変換処理を行うのではなく、初段の角度検出部では輪郭抽出した2値画像データに対して、2段目以降ではスキュー角検出に有用な画素群のみを抽出してハフ変換処理を行うことにより、スキュー角検出に有効に寄与しない文字や、短い直線、小さい矩形等の図形を演算処理の対象から除外することができるために、ハフ変換での演算処理の対象となる画素数を最小限に抑えることができる。その結果、ハフ変換での演算処理にかかる時間を短縮できるために、スキュー角を検出し、また当該スキュー角に基づいてスキュー補正する一連の処理の処理速度を向上できる。
【図面の簡単な説明】
【0087】
【図1】本発明による画像処理装置を含む画像処理システムの構成例を示すブロック図である。
【図2】本発明の第1実施形態に係る画像処理装置の機能構成例を示すブロック図である。
【図3】第1実施形態に係るスキュー角検出・補正処理の手順の一例を示すフローチャートである。
【図4】本発明の第2実施形態に係る画像処理装置の機能構成例を示すブロック図である。
【図5】輪郭抽出部による輪郭抽出の説明図である。
【図6】第2実施形態に係るスキュー角検出・補正処理の手順の一例を示すフローチャートである。
【符号の説明】
【0088】
10…画像データ入力部、20,20A,20B…画像処理装置(画像処理部)、30…画像データ出力部、21…CPU、22…I/O回路、23…ROM、24…RAM、25…HDD(ハードディスクドライブ)装置、26…バスライン、201,212…2値化部、202,221…ラベリング部、203…特定画素群抽出部、204,2151,2231…座標抽出部、205,2152,2232…ハフ変換部、206,2153,2233…角度算出部、207,224…スキュー補正部、214…縮小部、215…概略角度検出部、216…頻度多点抽出部、217…逆ハフ変換部、218…拡大部、219…膨張部、220…論理積部、222…所定特徴ラベル抽出部、223…詳細角度検出部

【特許請求の範囲】
【請求項1】
入力画像を2値化した2値画像において連続する画素に対して同一ラベルを付与するラベリング手段と、
前記ラベリング手段によって同一ラベルが付与された連続画素群のうち、特徴量が所定基準を満たす連続画素群を特定画素群として抽出する特定画素群抽出手段と、
前記特定画素群抽出手段が抽出した前記特定画素群に対してハフ変換による角度検出を行う角度検出手段と、
前記角度検出手段が検出した角度を基に前記入力画像に対するスキュー補正を行うスキュー補正手段と
を備えることを特徴とする画像処理装置。
【請求項2】
入力画像を2値化した2値画像において連続する画素に対して同一ラベルを付与するラベリングステップと、
前記ラベリングステップで同一ラベルが付与された連続画素群のうち、特徴量が所定基準を満たす連続画素群を特定画素群として抽出する特定画素群抽出ステップと、
前記特定画素群抽出ステップで抽出した前記特定画素群に対してハフ変換による角度検出を行う角度検出ステップと、
前記角度検出ステップで検出した角度を基に前記入力画像に対するスキュー補正を行うスキュー補正ステップと
の各処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項3】
入力画像を2値化した2値画像の輪郭を示す画素を抽出する輪郭抽出手段と、
前記輪郭抽出手段で輪郭抽出された2値画像データに対するハフ変換処理によって前記入力画像の傾き角度を段階的に検出する多段階の角度検出手段と、
前記多段階の角度検出手段の相互間において前段の角度検出手段でのハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での有用画素群を抽出して後段の角度検出手段に渡す有用画素群抽出手段と、
前記多段階の角度検出手段における最終段の角度検出手段が検出した角度を基に前記入力画像に対するスキュー補正を行うスキュー補正手段と
を備えることを特徴とする画像処理装置。
【請求項4】
前記有用画素群抽出手段は、
前記極座標空間中で頻度の多い1つ以上のポイントを抽出する頻度多点抽出手段と、
前記頻度多点抽出手段で抽出された頻度の多い1つ以上の点に対して逆ハフ変換処理を行う逆ハフ変換手段とを有する
ことを特徴とする請求項3記載の画像処理装置。
【請求項5】
前記有用画素群抽出手段が抽出した前記有用画素群の各画素に対して膨張処理を行う膨張手段と、
前記膨張手段で膨張処理された2値画像データと前記輪郭抽出手段で輪郭抽出された2値画像データとの論理積をとって前記後段の角度検出手段に渡す論理積手段と
をさらに備えることを特徴とする請求項3記載の画像処理装置。
【請求項6】
入力画像を2値化した2値画像の輪郭を示す画素を抽出する輪郭抽出ステップと、
前記輪郭抽出ステップで輪郭抽出した2値画像データに対するハフ変換処理によって前記入力画像の傾き角度を段階的に検出する多段階の角度検出ステップと、
前記多段階の角度検出ステップの相互間において前段の角度検出ステップでのハフ変換処理による極座標空間中で頻度の多い1つ以上のポイントを基にx−y平面上での有用画素群を抽出して後段の角度検出ステップに渡す有用画素群抽出ステップと、
前記多段階の角度検出ステップにおける最終段の角度検出ステップで検出した角度を基に前記入力画像に対するスキュー補正を行うスキュー補正ステップと
の各処理をコンピュータに実行させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−11135(P2008−11135A)
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2006−179008(P2006−179008)
【出願日】平成18年6月29日(2006.6.29)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】