JP4219542B2 - 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体 - Google Patents
画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体 Download PDFInfo
- Publication number
- JP4219542B2 JP4219542B2 JP2000271212A JP2000271212A JP4219542B2 JP 4219542 B2 JP4219542 B2 JP 4219542B2 JP 2000271212 A JP2000271212 A JP 2000271212A JP 2000271212 A JP2000271212 A JP 2000271212A JP 4219542 B2 JP4219542 B2 JP 4219542B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- image
- data
- angle
- image data
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 149
- 238000003672 processing method Methods 0.000 title claims description 17
- 238000004364 calculation method Methods 0.000 claims description 195
- 238000001514 detection method Methods 0.000 claims description 113
- 238000000034 method Methods 0.000 claims description 90
- 230000008569 process Effects 0.000 claims description 64
- 238000000605 extraction Methods 0.000 claims description 61
- 230000009467 reduction Effects 0.000 claims description 30
- 230000008602 contraction Effects 0.000 claims description 21
- 239000000284 extract Substances 0.000 claims description 15
- 238000011946 reduction process Methods 0.000 claims description 5
- 230000010339 dilation Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims 2
- 238000013500 data storage Methods 0.000 description 57
- 238000012937 correction Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 31
- 238000006243 chemical reaction Methods 0.000 description 20
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/145—Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Multimedia (AREA)
- Algebra (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Facsimile Image Signal Circuits (AREA)
- Character Input (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は、文字認識などに利用される画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体に関し、特に、例えばイメージスキャナで読み取った文書や、ファクシミリ装置で受信した文書などの文書画像の傾きを検出してその傾きを補正する、いわゆるスキュー補正処理機能を備えた画像処理装置およびその処理方法、ならびに当該処理方法の処理動作を実行させるためのプログラムがソフトウェアとして格納された記録媒体に関する。
【0002】
【従来の技術】
イメージスキャナで読み取った文書画像や、ファクシミリ装置で受信した文書などの文書画像から領域の切り出しを行い、文書中に含まれる画像の種類や属性を自動的に判別し、そのうち文字と判別された領域に対しては文字認識処理を行う、OCR装置(光学式文字認識装置)などの画像処理装置が知られている。
【0003】
この種の画像処理装置では、領域の切り出しや文字認識などが正しく行われるための前提として、画像が傾きの無い、すなわちスキューの無い状態である必要があり、スキューのある状態で画像が読み取られたり、あるいは受信された場合には、スキュー補正処理を行う必要がある。
【0004】
従来、スキューの検出・補正を行うためにいくつかの技術が提案されてきた。その代表的なものとして、例えば、特開平2−170280号公報に記載されているように、角度θを順次変更しながら文書画像を角度θだけ回転させ、回転画像中に含まれる全黒画素を含む外接矩形を作成し、該外接矩形の面積が最小となる角度θをスキュー角度として検出する技術が知られている。以下、これを第1の従来技術と称す。
【0005】
また、特開平6−203202号公報に記載されているように、画像中に含まれる黒画素の連結性を調べながらその外接矩形を作成し、所定範囲のサイズを持つ外接矩形のみを抽出し、抽出された外接矩形の1つの頂点を種々の方位に投影したヒストグラムを求め、このヒストグラムが最大となる角度をスキュー角度として検出する技術が知られている。以下、これを第2の従来技術と称す。
【0006】
さらに、特開平11−328408号公報に記載されているようなハフ変換を用いた技術(以下、これを第3の従来技術と称す)が知られている。この第3の従来技術では、入力画像にフィルタリング処理を行って濃淡差を強調し、その強調された画像に対して2値化処理を行って2値画像を作成する。次いで、作成された2値画像の各画素に対してハフ変換を行ってハフ空間上にヒストグラムを作成する。次いで、ハフ空間上で頻度が所定閾値以上となる座標を抽出し、抽出された座標をグループ化する。そして、グループごとに代表点座標を抽出し、抽出された座標から画像データの傾斜を推定する。
【0007】
同公報にはさらに、やはりハフ変換を用いた技術(以下、これを第4の従来技術と称す)も開示されている。この第4の従来技術では、入力画像にフィルタリング処理を行って濃淡差を強調し、その強調された画像に対して2値化処理を行って2値画像を作成する。次いで、作成された2値画像の各画素に対してハフ変換を行ってハフ空間上にヒストグラムを作成する。次いで、ハフ空間上で頻度が閾値以上となる座標を抽出する。そして、抽出された座標の個数を角度ごとに積算してヒストグラムを作成し、頻度が最大となる角度を画像データの傾斜角度とする。
【0008】
【発明が解決しようとする課題】
しかしながら、上記第1の従来技術では、画像を複数角度だけ回転させる必要があるため、大きな処理時間を要するという問題点がある。また、画像中に含まれる全黒画素を含む外接矩形からスキュー角度を検出するため、上・下・左・右部に存在する画素が部分的に飛び出している場合は、最適な外接矩形が作成されず、正確にスキュー角を検知できない問題がある。
【0009】
また、上記第2の従来技術では、外接矩形頂点の投影ヒストグラムからスキュー角度を検出するため、文書画像が多段組の文章領域で構成され、また段組間の行の位置がずれているときなど、正確にスキュー角を検知できない問題がある。また、第2の従来技術は、基本的に文字領域を対象とした手法であるため、文書画像中に含まれる文字が少ない場合なども、正確にスキュー角を検知できない問題がある。
【0010】
また、上記第3および第4の従来技術では、入力画像にフィルタリング処理を行って濃淡差を強調し、その濃淡差が強調された画像に対して2値化処理を行って2値画像を作成し、その2値画像に対してハフ変換を行うことから、入力画像が文字・表・線図形などの画像要素のみから構成されている場合には、2値画像のON(黒)画素はそのほとんどが画像要素の輪郭から構成されるため、比較的良い性能を示す。
【0011】
しかしながら、入力画像中に、写真画像や網点画像のような画像要素が含まれていた場合には、2値化した際に写真画像や網点画像中にもON画素が存在したり、あるいは網点画像の各網点ドットをON画素としてしまう。このような2値画像に対してハフ変換を実施した場合、処理時間が増大したり、ハフ空間からスキュー角を検知する際に、その検知精度が低下するなどの問題がある。
【0012】
本発明は、上述した従来技術の問題点を解消すべくなされたものであり、その目的とするところは、入力画像の種別に関係しない、高精度なスキュー角の検出・補正処理を行うことが可能な画像処理装置およびその処理方法、ならびにその処理方法の処理動作を実行させるための画像処理プログラムが格納された記録媒体を提供することにある。
【0013】
【課題を解決するための手段】
本発明に係る画像処理装置は、
文書画像データを入力する入力手段と、この入力手段によって入力された文書画像データから2値画像データを生成する2値画像生成手段と、この2値画像生成手段によって生成された2値画像データから、入力手段によって入力された画像データのスキュー角を算出するスキュー角検知手段とを具備し、前記2値画像生成手段は、前記入力手段によって入力された文書画像データに対して2値化処理を行う2値化手段と、前記2値化手段によって生成された2値画像データを膨張処理しかつ収縮処理してON画素が連続する画素塊を抽出する画素塊抽出手段と、前記画素塊抽出手段によって抽出された画素塊から輪郭画素を抽出する輪郭抽出手段とを有し、
前記画素塊抽出手段は、
前記2値画像データ中のON画素の領域を膨張処理する膨張手段と、
前記膨張手段によって膨張処理されたON画素の領域を収縮処理して前記画素塊とする収縮手段とを有し、
前記スキュー角検知手段は、前記輪郭抽出手段で抽出された輪郭画素の2値画像データに対してハフ変換を行ってハフ空間データを生成するハフ変換手段と、このハフ変換手段によって生成されたハフ空間データからデータ中の各頻度に対して所定の演算を行い、得られた演算結果を角度ごとに加算して頻度演算データを生成する頻度演算手段と、この頻度演算手段によって生成された頻度演算データから角度を算出し、この算出した角度を前記スキュー角とする角度検知手段とを有する構成となっている。
【0014】
また、本発明に係る画像処理方法では、入力された文書画像データに対して2値化処理を行う2値化ステップと、この2値化ステップで生成した2値画像データ中のON画素の領域を膨張処理し、当該膨張処理したON画素の領域を収縮処理して前記2値画像データ中からON画素が連続する画素塊を抽出する画素塊抽出ステップと、この画素塊抽出ステップで抽出した画素塊から輪郭画素を抽出する輪郭抽出ステップと、この輪郭抽出ステップで抽出した輪郭画素の2値画像データに対してハフ変換を行ってハフ空間データを生成するハフ変換ステップと、このハフ変換ステップで生成したハフ空間データからデータ中の各頻度に対して所定の演算を行うことによって得られた演算結果を角度ごとに加算して第1の頻度演算データを生成する頻度演算ステップと、この頻度演算ステップで生成した頻度演算データから角度を算出する角度検知ステップとの各処理を実行し、前記角度検知ステップで算出した角度を前記入力された文書画像データのスキュー角とする。
【0015】
上記構成の画像処理装置およびその処理方法において、入力手段による入力画像データから2値画像生成手段で2値画像データを生成し、この2値画像データから、スキュー角検知手段によって入力画像データのスキュー角を検出する。このとき、スキュー角検知手段では、2値画像生成手段によって生成された2値画像データに対してハフ変換手段によって、ハフ変換を行ってハフ空間データを生成する。次に、頻度演算手段によって、ハフ変換手段によって生成されたハフ空間データから、データ中の各頻度に対して所定の演算を行い、得られた演算結果を角度ごとに加算して頻度演算データを生成する。そして、角度検知手段によって、頻度演算手段によって生成された頻度演算データから角度を算出する。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0017】
<第1実施形態>
図1は、本発明の第1実施形態に係る画像処理装置の構成例を示すブロック図である。図1において、画像入力部1は、原稿のカラー画像情報を色別に読み取り、電気的なディジタル画像信号に変換して出力するものであり、CCDCharge Coupled Device)型固体撮像素子などの光電変換素子を用いたイメージスキャナなどによって構成される。なお、画像入力部1によって読み取られ、電気信号に変換されたディジタル画像信号は、解像度400dpi、各色8bitのRGBカラー画像信号であるとして以下の説明を行うものとする。
【0018】
データ記憶部2は、画像入力部1によって入力された画像データ、各処理部によって画像処理の行われた画像データなどを記憶する。演算制御部3は、マイクロプロセッサやメモリなどによって構成され、マイクロプロセッサがメモリに格納されている画像処理プログラムを実行することにより各処理部の制御を行う。なお、マイクロプロセッサが実行する画像処理プログラムとしては、あらかじめメモリに格納されたものであっても良く、またCD−ROMなどの記録媒体からインストールされたものであっても良い。
【0019】
画像入力部1から出力されるRGB画像データ(RGB各色8ビット)は、データ記憶部2に記憶される。画像入力部1から出力され、データ記憶部2に記憶されたRGB画像データは、演算制御部3の指示によって階調補正部4に読み出され、ここで画像の階調が補正される。階調補正部4によって階調補正の行われたRGB画像データは、データ記憶部2に記憶される。
【0020】
階調補正部4から出力され、データ記憶部2に記憶されたRGB画像データは、演算制御部3の指示によってスキュー補正部5に読み出され、ここで画像データのスキューが補正される。スキュー補正部5によってスキュー補正の行われたRGB画像データは、データ記憶部2に記憶される。スキュー補正部5の詳細については後述する。スキュー補正部5から出力され、データ記憶部2に記憶されたRGB画像データは、演算制御部3の指示によって、例えばCRTや液晶などで構成された画像表示部7に読み出され、ここで表示される。
【0021】
また、スキュー補正部5から出力され、データ記憶部2に記憶されたRGB画像データは、演算制御部3の指示によって色信号変換部6に読み出され、ここでRGB画像信号から出力色信号(例えば、YMCK画像信号)に変換される。色信号変換部6によって色信号変換の行われたYMCK画像データは、データ記憶部2に記憶される。色信号変換部6から出力され、データ記憶部2に記憶されたYMCK画像データは、演算制御部3の指示によって画像出力部8に読み出され、ここで紙などに画像出力される。
【0022】
次に、図2を用いてスキュー補正部5について説明する。図2において、スキュー補正部5に入力された画像データ(解像度400dpi、各画素8bitのRGB画像信号)は、2値化部11および画像回転部14に入力される。2値化部11では、入力されたRGB画像データから、画像中に含まれる例えば文字や線、絵柄や写真などの前景に属する画素はHIGH,背景領域に属する画素はLOWとした各画素1bit、即ち2値化された2値画像データを作成して出力する。2値化部11は、2値画像データ中からHIGH画素(ON画素)の画素塊を抽出する画素塊抽出手段としての機能も合わせ持っている。2値化部11の詳細については後述する。
【0023】
2値化部11から出力された2値画像データは輪郭抽出部12に入力される。輪郭抽出部(即ち、代表点抽出手段)12では、入力された2値画像データ中からHIGH画素領域の輪郭(画素塊の代表点)を抽出し、抽出した輪郭画素による輪郭2値画像データを作成して出力する。輪郭抽出部12の詳細については後述する。輪郭抽出部12から出力された輪郭2値画像データはスキュー角検知部13に入力される。スキュー角検知部13では、入力された輪郭2値画像データを用いて画像データのスキュー角度を算出して出力する。スキュー角検知部13の詳細については後述する。
【0024】
スキュー角検知部13において検知されたスキュー角度は画像回転部14に入力される。また、画像回転部14にはRGB画像データが入力され、スキュー角検知部13において検知されたスキュー角度に基づき、RGB画像データのスキューが補正される。画像回転の方法としては、例えばAffine変換などを用いた周知の方法を用い得る。スキュー補正の行われたRGB画像データ(スキュー補正後RGB画像データ)は、スキュー補正部5でのスキュー補正結果として出力される。
【0025】
次に、図3を用いて2値化部11の詳細について説明する。2値化部11に入力されたRGB画像データは、色成分選択部21に入力される。色成分選択部21では、入力されたRGB画像データからG信号だけを取り出し、G画像データ(解像度400dpi、各画素8bit)を作成して出力する。G信号だけ取り出す理由は、R・G・B信号のうちG信号が、画像の持つ情報に対する寄与度がもっとも大きいからである。
【0026】
色成分選択部21から出力されたG画像データは、浮動2値化部22に入力される。浮動2値化部22では、注目画素周辺の画素を用いて注目画素の浮動2値化処理、即ち動的閾値2値化処理を行い、画素を順次走査して画像全体の2値化を行って出力する。浮動2値化部22の詳細については後述するが、浮動2値化部22からは、濃い領域に属する画素はHIGHとし、淡い領域に属する画素はLOWとした2値画像データが出力される。
【0027】
浮動2値化部22から出力された2値画像データは膨張部23に入力される。膨張部23では画素を順次走査しながら、HIGH画素の膨張処理が行われて出力される。なお、ここでは、2値画像データを直接膨張部23に入力する構成を採っているが、縮小部(図示せず)にて2値画像データに対して縮小処理を行った後、この縮小処理で抽出された2値画像データ(第1の画素塊)を膨張部23に入力する構成を採ることも可能である。こうすることで、ノイズ成分を除去できることになる。
【0028】
膨張部23での膨張処理について図4を用いて説明する。図4(a)に示すように、注目画素を“X”、その周囲8近傍の画素を“A”〜“H”とすると、画素“X”および画素“A”〜“H”、即ち注目画素を中心とする3×3画素のうち1つでもHIGH画素があれば、注目画素“X”に対する膨張処理結果としてHIGHを、画素“X”および画素“A”〜“H”、即ち注目画素を中心とする3×3画素がすべてLOW画素であれば、注目画素“X”に対する膨張処理結果としてLOWを出力する。
【0029】
この処理を、各画素を順次走査しながら画像全体に対して行う。例えば、図4(b)に示すような2値画像データが膨張部23に入力されたとすると、膨張処理結果として、図4(c)に示すような2値画像データが膨張部23から出力される。なお、上記の例では、膨張処理に用いる画素を、注目画素とその周囲8近傍画素、即ち注目画素を中心とする3×3画素としたが、図5に示すように、画素“X”および画素“A”〜“Y”、即ち注目画素を中心とする5×5画素、あるいはさらに大きい領域を用いたり、主走査・副走査方向で異なる画素数の領域を用いることも可能である。
【0030】
上述したように、浮動2値化部22で生成された2値画像データを、膨張部23においてHIGH画素の膨張処理を行うことにより、例えば入力画像中に含まれていた写真・網点領域などが、浮動2値化部22での2値化処理では部分的にLOWとなっても、膨張部23でのHIGH画素の膨張処理により、前記領域内でLOWとなっていた画素をHIGHとすることができ、各領域全体をHIGH画素(第2の画素塊)で連続化することが可能となる。
【0031】
膨張部23から出力された2値画像データは、収縮部24に入力される。収縮部24では画素を順次走査しながら、HIGH画素の収縮処理が行われて出力される。この収縮処理について図4を用いて説明する。
【0032】
図4(a)に示すように、注目画素を“X”、その周囲8近傍の画素を“A”〜“H”とすると、画素“X”および画素“A”〜“H”、即ち注目画素を中心とする3×3画素のうち1つでもLOW画素があれば、注目画素“X”に対する収縮処理結果としてLOWを、画素“X”および画素“A”〜“H”、即ち注目画素を中心とする3×3画素がすべてHIGH画素であれば、注目画素“X”に対する収縮処理結果としてHIGHを出力する。
【0033】
この処理を、各画素を順次走査しながら画像全体に対して行う。例えば、図4(c)に示すような2値画像データが収縮部24に入力されたとすると、収縮処理結果として、図4(d)に示すような2値画像データが収縮部24から出力される。なお、上記の例では、収縮処理に用いる画素を、注目画素とその周囲8近傍画素、即ち注目画素を中心とする3×3画素としたが、膨張部23の場合と同様に、図5に示すように、画素“X”および画素“A”〜“Y”、即ち注目画素を中心とする5×5画素、あるいはさらに大きい領域を用いたり、主走査・副走査方向で異なる画素数の領域を用いることも可能である。
【0034】
このように、膨張部23から出力された2値画像データを、収縮部24において収縮処理することにより、膨張処理によって接続(結合)してしまった領域同士を切り離すことが可能となる。収縮部24で作成された2値画像データ(第3の画素塊)は、2値化部11での処理結果として出力される。
【0035】
なお、本実施形態では、2値化部11での処理結果として、収縮部24を経た2値画像データ(第3の画素塊)を輪郭抽出部12に与えて輪郭画素の抽出を行うようにしたが、先述した縮小部(図示せず)を経た2値画像データ(第1の画素塊)または膨張部23を経た2値画像データ(第2の画素塊)に基づいて輪郭画素の抽出を行うようにすることも可能である。
【0036】
続いて、図6を用いて浮動2値化部22の詳細について説明する。浮動2値化部22に入力された画像データ、本実施形態では解像度400dpi・各画素8bitのG画像データは、3×3画素平均値演算部31と5×5画素平均値演算部32に入力される。3×3画素平均値演算部31では、入力される画像データに対して、注目画素を順次走査させながら、注目画素を中心とする3×3画素の画素平均値を算出する。3×3画素平均値演算部31で算出された3×3画素平均値画像データは、後述する比較部35に入力される。
【0037】
また、5×5画素平均値演算部32では、入力される画像データに対して、注目画素を順次走査させながら、注目画素を中心とする5×5画素の画素平均値を算出する。5×5画素平均値演算部32で算出された5×5画素平均値画像データは、加算部33に入力される。加算部33では、5×5画素平均値演算部32から入力された画像データと、あらかじめ設定された値“Value1”との加算演算が行われ、その演算結果はリミッタ部34に入力される。
【0038】
なお、上記の例では、“Value1”をあらかじめ設定された値として説明したが、3×3画素平均値演算部31あるいは5×5画素平均値演算部32の出力から、所定の演算によって算出した値や、LUT(Look Up Table)を用いて算出した値を用いても構わない。
【0039】
リミッタ部34では、加算部33から入力された画像データを、あらかじめ設定された上限値“LimitH”と、下限値“LimitL”の間に画素値を制限する。すなわち、
注目画素値>LimitH→注目画素に対する出力値=LimitH
注目画素値<LimitL→注目画素に対する出力値=LimitL
上記以外→注目画素に対する出力値=注目画素の入力値
とする。
【0040】
リミッタ部34の出力結果は、比較部35に供給される。比較部35には、3×3画素平均値演算部31から出力された画像データと、リミッタ部34から出力された画像データが入力される。そして、比較部35では、2つの画像データの対応する画素同士の比較が行われる。
【0041】
今、明るい(淡い)領域に属する画素の画素値が大きく、暗い(濃い)領域に属する画素の画素値が小さいとすると、3×3画素平均値演算部31から入力された画像データの注目画素の画素値が、リミッタ部34から入力された画像データの対応する注目画素の画素値よりも小さいときまたは等しいときは、注目画素に対する比較結果としてHIGHを出力する。逆に、前者が後者よりも大きいときは、注目画素に対する比較結果としてLOWを出力する。
【0042】
上記のような2値化処理を行うことにより、濃い領域に属する画素をHIGH画素として抽出することが可能となる。すなわち、白い原稿に描かれた、濃い文字や、写真・絵柄領域などをHIGH画素として抽出することが可能となる。比較部35から出力された比較結果、即ち2値画像データは、浮動2値化部22の演算結果として出力される。
【0043】
次に、図7を用いて2値化部11の他の例について説明する。2値化部11に入力されたRGB画像データは、明度信号生成部25に入力される。明度信号生成部25では、入力されたRGB画像データから明度画像データ(L*画像データ)(解像度400dpi・各画素8bit)を生成する。その生成の方法としては、XYZ色空間を用いて演算で求める方法や、LUTを用いるなど複数の方法があるが、演算処理を簡略化するために、式(1)などの簡易演算式を用いても構わない。
L*=(3R+6G+B)/10 ……(1)
【0044】
明度信号生成部25で生成されたL*画像データは、浮動2値化部22と網点抽出部26に入力される。浮動2値化部22では、明度信号生成部25から入力されたL*画像データから、濃い領域に属した画素はHIGHとし、淡い領域に属した画素はLOWとした2値画像データを生成して出力する。なお、浮動2値化部22の詳細については前述しているので、ここでの説明は省略する。
【0045】
浮動2値化部22から出力された2値画像データは、画像合成部27に入力される。網点抽出部26では、明度信号生成部25から入力されたL*画像データから網点領域を抽出し、網点領域に属する画素はHIGHとし、属さない画素はLOWとする2値化を行う。網点領域の抽出方法としては、過去にいくつか提案されているが、例えば本願出願人に係る特開平11−73503号公報に記載された抽出方法などを用い得る。その抽出方法の詳細についてはここでは記載しないが、その概要は次の通りである。
【0046】
すなわち、入力画像データの2値化を行い、2値画像データのHIGHとなっている画素(または、LOWとなっている画素)が、注目画素を中心としたN1×N1(例えばN1=13)の広範囲領域の中で周期構造を成しているか否かを判定した後、その判定結果に対してN2×N2(例えばN2=25)の広範囲領域を用いて網点領域を判定・抽出するものである。網点抽出部26から出力された2値画像データは、画像合成部27に入力される。
【0047】
画像合成部27では、浮動2値化部22および網点抽出部26から入力された2値画像データの対応する画素同士の論理和演算を行い、その演算結果を出力する。すなわち、浮動2値化部22および網点抽出部26から入力された2値画像データの対応するそれぞれの画素のいずれか一方がHIGHであれば、それらの画素に対する出力をHIGHとし、2つの画素が共にLOWであれば、それらの画素に対する出力をLOWとする2値画像データを作成する。
【0048】
画像合成部27から出力された2値画像データは、膨張部23に入力される。膨張部23では、画像合成部27から入力された2値画像データのHIGH画素の膨張処理を行い、その結果を収縮部24に出力する。収縮部24では、膨張部23から入力された2値画像データのHIGH画素の収縮処理を行い、その結果を出力する。なお、膨張部23および収縮部24の詳細については前述しているので、ここではその説明については省略する。収縮部24の出力は、2値化部11の処理結果として出力される。
【0049】
次に、輪郭抽出部12での輪郭抽出処理の詳細について、図8および図9を用いて説明する。輪郭抽出部12では、2値化部11から入力された2値画像データから、HIGH画素領域の輪郭を抽出し、抽出した輪郭のみをHIGH画素とした輪郭2値画像データを作成して出力する。
【0050】
図8(a)に示すように、注目画素を“X”、その周囲8近傍の画素を“A”〜“H”とすると、図8(b)に示すように、画素“X”がLOWのときは、注目画素が輪郭画素ではないと判定して、注目画素に対する出力としてLOWを、また図8(c)に示すように、画素“X”および画素“A”〜“H”が全てHIGHのときも、注目画素が輪郭画素ではないと判定して、注目画素に対する出力としてLOWを、また図8(d)に示すように、注目画素がHIGHでかつ図8(c)以外の場合は、注目画素が輪郭画素であると判定して、注目画素に対する出力としてHIGHを出力する。
【0051】
例えば、図9(a)に示すような2値画像が輪郭抽出部12に入力された場合は、図9(b)に示すような輪郭を抽出した輪郭2値画像データを出力する。なお、本実施形態では、注目画素がHIGHでかつ図8(c)以外の場合に、注目画素を輪郭画素であると判定しているが、注目画素の値に関係なく、注目画素を中心とする3×3画素がすべてHIGHまたはLOWのとき以外の場合に注目画素を輪郭画素であると判定するようにしても構わない。
【0052】
ただし、注目画素を中心とする3×3画素がすべてHIGHまたはLOWのとき以外の場合に注目画素を輪郭画素であると判定する方法を採った場合には、輪郭画素として判定される画素が増え、結果として輪郭が太くなり、以降の処理の対象となる画素数が増えることになるため、処理時間がかかることになる。これに対して、注目画素がHIGHでかつ図8(c)以外の場合に、注目画素を輪郭画素であると判定する方法を採ると、輪郭画素として判定する画素数が半分以下となるため、処理速度も半分以下で済むという利点がある。
【0053】
次に、スキュー角検知部13の詳細について、図10を用いて説明する。スキュー角検知部13に入力された輪郭2値画像データは、ハフ変換部41に入力される。ハフ変換部41では、入力された輪郭2値画像データ中のHIGH画素に対してハフ変換を行い、その演算(変換)結果(ハフ空間データ)をハフ空間データ記憶部44に入力する。ハフ変換部41の詳細については後述する。
【0054】
ハフ空間データ記憶部44では、ハフ変換部41から入力されたハフ空間データを順次記憶していく。ハフ空間データ記憶部44の詳細については後述する。ハフ空間データ演算投影部(頻度演算手段)42では、ハフ空間データ記憶部44に記憶されているデータを順次読み出し、所定の演算を行った後その演算結果(第1の頻度演算データ)を順次演算投影データ記憶部45に入力する。ハフ空間データ演算投影部42の詳細については後述する。
【0055】
演算投影データ記憶部45では、ハフ空間データ演算投影部42から入力された頻度演算データを順次記憶していく。演算投影データ記憶部45の詳細については後述する。角度検知部43では、演算投影データ記憶部45に記憶されている頻度演算データを順次読み出し、読み出したデータの最大値を求め、その最大値をとる角度を検知し、検知した角度を出力する。角度検知部43の詳細については後述する。角度検知部43から出力された角度は、スキュー角検知部13において検知されたスキュー角度として出力される。
【0056】
以降、スキュー角検知部13内の各処理部の詳細について順次説明していく。まず、ハフ変換部41およびハフ空間データ記憶部44での各処理の詳細について、図11および図12を用いて説明する。
【0057】
図11(a)に示す画像は、画像入力部1によって読み取られる原稿画像である。そして、この図11(a)に示す原稿画像を画像入力部1によって読み取った際に、図11(b)に示すようなスキューの発生した画像が得られたとする。なお、図11(b),(c),(d)において、画像の周囲に描かれている破線の矩形は画像の縁を示しており、画像中には現れない。図11(b)に示す画像に対して、2値化部11で2値化処理が行われ、さらに輪郭抽出部12で輪郭抽出処理が行われることにより、図11(c)に示すような画像が得られる。この図11(c)に示すような画像がハフ変換部41に入力される。
【0058】
ハフ変換は、周知の技術であるのでその詳細についてはここでは省略するが、簡単に述べると、x−y座標空間上に存在する点を、原点からの距離と角度で表す極座標(ρ−θ)空間に変換する処理であり、図12(a)に示す1点51に対してハフ変換を行うことにより、図12(b)に示す曲線52に変換することができる。図12(b)において、θは角度を、ρは距離をそれぞれ示し、曲線52については式(2)で表すことができる。式(2)におけるx、yは、x−y座標空間上での点の座標である。
ρ=x・cosθ+y・sinθ ……(2)
【0059】
図11(c)に示すような画像に対してハフ変換を実施すると、図12(c)に示すような極座標(ρ−θ)空間上でのヒストグラムが、ハフ空間データ記憶部44に作成される。なお、実際に作成されるヒストグラムデータは数値で表されるが、図12(c)では、白いところは頻度が0または小さいところを示し、色が濃くなるにつれて頻度が大きくなっていることを示している。
【0060】
図12(c)に示すような極座標(ρ−θ)空間上でのヒストグラムの作成の処理手順について、図13のフローチャートを用いて説明する。図13のフローチャートにおいて、まず、ハフ空間データ記憶部41内にあらかじめ確保されたハフ空間メモリの初期化、即ち頻度としてすべて“0”を代入する(ステップS101)。
【0061】
次に、輪郭抽出されたすべての画素に対してハフ変換を行うため、ハフ変換の行われていないHIGH画素が有るか否かを判断し(ステップS102)、未処理HIGH画素が無ければ、ハフ変換部41での処理を終了する。また、未処理HIGH画素が有れば、ハフ変換の対象となる未処理HIGH画素のx、y座標を変数x、yに代入し(ステップS103)、次いで式(2)の演算を角度θを順次変更しながら行うため、初期値として角度θに0(rad)を代入する(ステップS104)。
【0062】
続いて、角度θとπ(rad)とを比較し(ステップS105)、θ≧πならば、現在対象となっているHIGH画素に対するハフ変換は終了し、θ<πならば、ハフ変換処理を続ける。ここで、角度θをπ(rad)と比較する理由は、そもそもハフ変換は直線を検出するための処理であり、直線の方向は0≦θ<πの範囲で表すことができるため、即ちπ≦θ<2πの範囲は直線を半回転させたのと同じであるため、演算処理を省略することができる。なお、本実施形態では演算範囲を0≦θ<πとしたが、−π/2≦θ<π/2などでも構わない。
【0063】
ステップS105での比較結果がθ<πならば、x、y、θを用いて式(2)右辺の演算を行い、その演算結果を距離ρに代入する(ステップS106)。次に、角度θおよびステップS106で求めた距離ρの値を用いて、ハフ空間データ記憶部41内のハフ空間メモリ(θ、ρ)座標の頻度を1増分する(ステップS107)。
【0064】
なお、ステップS106で求めた距離ρの値は通常小数で表されるため、ステップS107の処理を実際に行う際には、距離ρの値を四捨五入、切り上げ、切り捨てなどによって、整数に変換する必要がある。また、ハフ空間メモリの容量を削減するために、距離ρをさらに量子化することも可能である。
【0065】
次に、角度θを用いて式(2)右辺の演算を行うため、角度θをあらかじめ定めた値step_aだけ増分する(ステップS108)。この値は、求めるスキュー角の分解能によって決まり、1度単位でスキュー角を求めたければ、step_a=1(度)=π/180(rad)に、0.1度単位でスキュー角を求めたければ、step_a=0.1(度)=π/1800(rad)に設定する。ステップS108の処理が終了したら、ステップS105に戻る。
【0066】
ステップS103〜ステップS108において、1つのHIGH画素に対するハフ変換処理、即ち0≦θ<πでの式(2)右辺の演算が終了したら、次の未処理HIGH画素に処理対象を移す(ステップS109)。
【0067】
上述したように、ハフ変換部41では、入力された輪郭2値画像データに対しハフ変換処理を行い、ハフ空間データ記憶部44内のハフ空間メモリにハフ空間データ(ヒストグラム)が作成される。なお、ハフ変換部41において、生成したハフ空間データについて、注目画素の頻度とその周囲の頻度を用いて平滑化することも可能である。こうすることで、ある領域において全体的に頻度が低いのに、1箇所だけ頻度が高い、というような異常な状態があった場合に、これを平均化することができることになる。
【0068】
次に、ハフ空間データ演算投影部42および演算投影データ記憶部45での各処理の詳細について、図14を用いて説明する。図14(a)は、ハフ空間データ記憶部44内のハフ空間メモリに作成されたハフ空間データ(ヒストグラム)であり、図12(c)と同じものである。
【0069】
ハフ空間データ演算投影部42では、図14(a)に示すハフ空間データ記憶部44内のハフ空間メモリに作成されたハフ空間データ(ヒストグラム)から、頻度を順次読み出し、後述する所定の演算を施した後、求められた値を演算投影データ記憶部45内の演算投影メモリに格納していく。その結果、図14(b)に示すような、演算投影ヒストグラムデータが作成される。
【0070】
上述した演算投影ヒストグラムデータの作成の処理手順について、図15のフローチャートを用いて説明する。図15のフローチャートにおいて、まず、演算投影データ記憶部45内の演算投影メモリの初期化、即ち頻度としてすべて“0”を代入する(ステップS201)。ここで、この演算投影メモリをhist[θ]で表すものとすると、hist[θ]←0(θ:step_a×i、0≦θ<π)の処理を行う。
【0071】
次に、輪郭2値画像データの幅をwidth,高さをheightとしたときに、max_d=sqrt(width2+height2)を求める(ステップS202)。ここで、sqrt( )は平方根を表す。max_dは、輪郭2値画像データの対角線の長さであるため、ハフ空間データのρの最大≦max_d、ρの最小≧−max_dとなる。
【0072】
また、演算投影処理を角度θを順次変更しながら行うため、初期値として角度θに0(rad)を代入する(ステップS203)。続いて、角度θとπ(rad)とを比較し(ステップS204)、θ≧πならば、演算投影処理は終了し、θ<πならば、演算投影処理の初期値として、ρに−max_dを、wに0を設定する(ステップS205)。
【0073】
次に、距離ρをmax_dと比較し(ステップ206)、ρ≦max_dならば、現在の角度θに対する演算投影処理を継続するため、まず、ハフ空間データ(ヒストグラム)から座標(θ、ρ)の頻度を読み出し、頻度vに代入する(ステップS207)。次に、読み出された頻度vに対して所定の演算f(v)を行い、その演算結果をwに加算する(ステップS208)。そして、距離ρを1増分させ(ステップ209)、しかる後ステップS206に戻る。
【0074】
ここで、演算f(v)は、ハフ空間データ(ヒストグラム)から各θごとの頻度の密集度を算出できるものであればどのようなものでも構わないが、式(3)に示すような演算処理が比較的簡易で、かつハフ空間データ(ヒストグラム)から各θごとの頻度の密集度、即ちスキュー角を検知するのに適している。すなわち、各θごとに頻度のn乗和、例えば2乗和(n=2)を計算することにより、計算結果が大きいほど密集度が高いと判定することができる。
f(v)=v2 ……(3)
【0075】
一方、ステップS206の比較処理で、ρ>max_dならば、現在の角度θに対する演算投影処理をすべて終了し、即ち現在の角度θに対してとり得るすべての距離ρに対する演算投影処理を終了し、求まったwを現在の角度θに対する演算投影ヒストグラムデータとして、hist[θ]に代入する(ステップS210)。そして、次の角度θを用いて演算投影処理を行うため、角度θをあらかじめ定めた値step_aだけ増分する(ステップS211)。このstep_aは、図13の説明の中で用いた値と同じである。ステップS211の処理の終了後は、ステップS204に戻る。
【0076】
上述したように、ハフ空間データ演算投影部42では、ハフ空間データ記憶部44内のハフ空間メモリに記憶されているハフ空間データ(ヒストグラム)を順次読み出し、所定の演算処理を施した後、演算投影データ記憶部45に格納し、演算投影データ記憶部45内の演算投影メモリに演算投影ヒストグラムデータを作成する。なお、ハフ空間データ演算投影部42において、生成した生成した頻度演算データの頻度演算値を、周囲の頻度演算値を用いて平滑化することも可能である。
【0077】
最後に、角度検知部43での処理について、図14を用いて説明する。図14(b)は、演算投影データ記憶部45内の演算投影メモリに作成された演算投影ヒストグラムデータである。角度検知部43では、図14(b)に示すような演算投影ヒストグラムデータから、演算投影頻度が最大となる角度θを検出し、検出した角度θを出力する。
【0078】
すなわち、図14(c)に示すように、演算投影頻度最大値maxを見つけ、この演算投影頻度最大値maxをとるときの角度δを、演算投影頻度が最大となる角度θとして検出し、この角度δを出力する。角度検知部43から出力された角度δは、スキュー角検知部13において検知されたスキュー角度として出力される。
【0079】
なお、上記の説明では、輪郭2値画像データに対してハフ変換を行って(2次元)ハフ空間データ(ヒストグラム)を作成し、次にハフ空間データ(ヒストグラム)に対して所定の演算を行って演算投影ヒストグラムデータを作成しているが、この作成法に限られるものではない。
【0080】
すなわち、輪郭2値画像データの全HIGH画素に対してある角度でのハフ変換を行って(1次元)ハフ空間データ(ヒストグラム)を作成し、次に、生成した(1次元)ハフ空間データ(ヒストグラム)に対し所定の演算を行って演算投影ヒストグラムデータを作成する処理を、前記角度を順次変更しながら行うようにすることも可能である。この作成法を用いることで、ハフ空間データ(ヒストグラム)を2次元から1次元にすることができ、処理に必要なメモリ容量を削減することができる。
【0081】
以上説明したように、本発明の第1実施形態に係る画像処理装置およびその処理方法では、文字・線画・写真・網点等の混在した画像に対しても、スキュー角度を検知するのにノイズとなる写真・網点中の画素は抽出しないで適切に輪郭画像を抽出してハフ変換を実施し、またハフ空間データからその密集度を検知できる所定の演算を施して投影ヒストグラムに投影し、この投影されたヒストグラムからスキュー角を検知することにより、入力画像の種別に関係しない、高精度なスキュー角の検出・補正処理を行うことが可能となる。
【0082】
<第2実施形態>
次に、本発明の第2実施形態に係る画像処理装置について説明する。なお、以下の説明の中で、第1実施形態と処理内容が同様の処理部に関しては同一番号を付し、その説明については重複するので省略するものとする。すなわち、第2実施形態に係る画像処理装置では、図1に示す画像処理装置の構成例、図2に示すスキュー補正部5の構成例については、第1実施形態と同じなのでここでの説明は省略し、第1実施形態と構成が異なり、その具体的な構成を特徴とするスキュー角検知部について説明を行うものとする。
【0083】
図16は、本発明の第2実施形態に係る画像処理装置におけるスキュー角検知部の構成例を示すブロック図である。図16において、輪郭抽出部12から入力された輪郭2値画像データは、縮小部46−1〜46−2およびハフ変換部41−3に入力される。縮小部46−1では、後段のハフ変換部41−1・ハフ空間データ記憶部44・ハフ空間データ演算投影部42−1・演算投影データ記憶部45・角度検知部43−1において、第1のスキュー角の概算値を求める際の演算量やメモリ量を削減するために、入力された輪郭2値画像データの縮小が行われる。
【0084】
縮小の方法としては、例えば図17(a)に示すように、画像を複数の4×4画素マトリクスに分割し、同図(b)に示すように、1つの4×4画素マトリクスを縮小後の1画素に割り当てる。その際、例えば縮小前4×4画素=16画素のうち所定閾値以上がHIGH画素ならば、縮小後の画素もHIGHに、所定閾値未満のときは縮小後の画素をLOWとする。所定閾値としては、例えば16画素/2=8画素などが適当である。この場合、図17(c)に示すような画像が入力されると、同図(d)に示すような画像が縮小部46−1から出力される。
【0085】
縮小部46−1から出力された輪郭2値画像データはハフ変換部41−1に入力される。図16に示すように、ハフ変換部41−1には、輪郭2値画像データと、ハフ変換を行う角度の範囲の中心角度を示す“center1”と、ハフ変換を行う角度の範囲を示す“range1”と、ハフ変換を行う角度のステップ(刻み幅)を示す“step1”が入力される。
【0086】
ハフ変換部41−1では、入力された輪郭2値画像データのHIGH画素に対して、center1−range1≦θ<center1+range1の範囲で、step1ごとにハフ変換を行い、ハフ空間データ記憶部44内のハフ空間メモリに、図18(a)に示すようなハフ空間データ(ヒストグラム)が作成される。なお、前記各値として例えば、center1=π/2、range1=π/2、step1=5π/180などを用いる。ハフ変換部41−1の処理は、ハフ変換部41と同様なので、ここでの説明は省略する。
【0087】
ハフ空間データ演算投影部42−1では、ハフ空間データ記憶部44内のハフ空間メモリに記憶されているハフ空間データ(ヒストグラム)を順次読み出し、所定の演算処理を施した後、演算投影データ記憶部45に格納し、演算投影データ記憶部45内の演算投影メモリに、図18(b)に示すような演算投影ヒストグラムデータを作成する。ハフ空間データ演算投影部42−1の処理は、ハフ空間データ演算投影部42と同様なので、ここでの説明は省略する。
【0088】
角度検知部43−1では、図18(b)に示すような演算投影ヒストグラムデータから、演算投影頻度が最大となる角度δ1を検出し、検出した角度δ1をハフ変換部41−2に対して出力する。角度検知部43−1の処理は、角度検知部43と同様なので、ここでの説明は省略する。このようにして、縮小した輪郭2値画像データに対して、粗い角度ステップでハフ変換を行うことにより、第1のスキュー角の概算値(δ1)を求める。
【0089】
スキュー角検知部13に入力された輪郭2値画像データは縮小部46−2にも入力される。縮小部46−2では、後段のハフ変換部41−2・ハフ空間データ記憶部44・ハフ空間データ演算投影部42−2・演算投影データ記憶部45・角度検知部43−2において、第2のスキュー角の概算値を求める際の演算量やメモリ量を削減するために、入力された輪郭2値画像データの縮小が行われる。
【0090】
縮小の方法としては、例えば図19(a)に示すように、画像を複数の2×2画素マトリクスに分割し、図19(b)に示すように、1つの2×2画素マトリクスを縮小後の1画素に割り当てる。その際、例えば縮小前2×2画素=4画素のうち所定閾値以上がHIGH画素ならば、縮小後の画素もHIGHに、所定閾値未満のときは縮小後の画素をLOWとする。所定閾値としては、例えば4画素/2=2画素などが適当である。この場合、図19(c)に示すような画像が入力されると、図19(d)に示すような画像が縮小部46−2から出力される。
【0091】
縮小部46−2から出力された縮小2値画像データはハフ変換部41−2に入力される。ハフ変換部41−2には、縮小2値画像データと、角度検知部43−1から出力された第1のスキュー角の概算値(δ1)と、ハフ変換を行う角度の範囲を示す“range2”と、ハフ変換を行う角度のステップ(刻み幅)を示す“step2”が入力される。
【0092】
ハフ変換部41−2では、入力された輪郭2値画像データのHIGH画素に対して、δ1−range2≦θ<δ1+range2の範囲でstep2ごとにハフ変換を行い、ハフ空間データ記憶部44内のハフ空間メモリに図20(a)に示すようなハフ空間データ(ヒストグラム)が作成される。なお、前記各値としては、0<range2<range1、0<step2<step1でないと意味は無く、例えば、range2=step1=5π/180、step2=π/180などを用いる。ハフ変換部41−2の処理は、ハフ変換部41と同様なので、ここでの説明は省略する。
【0093】
ハフ空間データ演算投影部42−2では、ハフ空間データ記憶部44内のハフ空間メモリに記憶されているハフ空間データ(ヒストグラム)を順次読み出し、所定の演算処理を施した後、演算投影データ記憶部45に格納し、演算投影データ記憶部45内の演算投影メモリに、図20(b)に示すような演算投影ヒストグラムデータを作成する。ハフ空間データ演算投影部42−2の処理は、ハフ空間データ演算投影部42と同様なので、ここでの説明は省略する。
【0094】
角度検知部43−2では、図20(b)に示すような演算投影ヒストグラムデータから、演算投影頻度が最大となるδ2を検出し、検出した角度δ2をハフ変換部41−3に対して出力する。角度検知部43−2の処理は、角度検知部43と同様なので、ここでの説明は省略する。このようにして、縮小した輪郭2値画像データに対して、粗い角度ステップでハフ変換を行うことにより、第2のスキュー角の概算値(δ2)を求める。
【0095】
スキュー角検知部12入力された輪郭2値画像データはハフ変換部41−3にも入力される。ハフ変換部41−3には、輪郭2値画像データと、角度検知部43−2から出力された第2のスキュー角の概算値(δ2)と、ハフ変換を行う角度の範囲を示す“range3”と、ハフ変換を行う角度のステップ(刻み幅)を示す“step3”が入力される。
【0096】
ハフ変換部41−3では、入力された輪郭2値画像データのHIGH画素に対して、δ2−range3≦θ<δ2+range3の範囲でstep3ごとにハフ変換を行い、ハフ空間データ記憶部44内のハフ空間メモリに図20(c)に示すようなハフ空間データ(ヒストグラム)が作成される。なお、前記各値としては、0<range3<range2、0<step3<step2でないと意味は無く、例えば、range3=step2=π/180、step3=π/1800などを用いる。ハフ変換部41−3の処理は、ハフ変換部41と同様なので、ここでの説明は省略する。
【0097】
ハフ空間データ演算投影部42−3では、ハフ空間データ記憶部44内のハフ空間メモリに記憶されているハフ空間データ(ヒストグラム)を順次読み出し、所定の演算処理を施した後、演算投影データ記憶部45に格納し、演算投影データ記憶部45内の演算投影メモリに、図20(d)に示すような演算投影ヒストグラムデータを作成する。ハフ空間データ演算投影部42−3の処理は、ハフ空間データ演算投影部42と同様なので、ここでの説明は省略する。
【0098】
角度検知部43−3では、図20(d)に示すような演算投影ヒストグラムデータから、演算投影頻度が最大となる角度δ3を検出し、検出したδ3をスキュー角検知部13の検知結果として出力する。角度検知部43−3の処理は、角度検知部43と同様なので、ここでの説明は省略する。
【0099】
以上のように、大きい倍率で縮小した輪郭2値画像データに対して、広い角度範囲・粗い角度ステップでハフ変換を行って第1のスキュー角の概算値を求め、次に小さい倍率で縮小した輪郭2値画像データに対して、前よりは狭い角度範囲・前よりは細かい角度ステップでハフ変換を行って第2のスキュー角の概算値を求め、そして、輪郭2値画像データに対して、さらに狭い角度範囲・さらに細かい角度ステップでハフ変換を行うことにより、少ない処理量・少ないメモリ容量で、高速かつ高精度なスキュー角検知を行うことができる。
【0100】
なお、本実施形態では、概算値から詳細値まで3段階の構成でスキュー角の検知を行っているが、2段階でもあるいは4段階以上でも構わない。
【0101】
また、本実施形態では、スキュー角検知部13を縮小部が2つ、ハフ変換部・ハフ空間データ演算投影部・角度検知部がそれぞれ3つで構成しているが、それぞれ1つにし、パラメータを変更しながら処理を行うような構成にしても構わない。
【0102】
以上説明したように、本発明の第2実施形態に係る画像処理装置およびその処理方法では、文字・線画・写真・網点等の混在した画像に対しても、スキュー角度を検知するのにノイズとなる写真・網点領域中の画素は抽出しないで適切に輪郭画像を抽出してハフ変換を実施し、またハフ空間データからその密集度を検知できる所定の演算を施して投影ヒストグラムに投影し、この投影されたヒストグラムからスキュー角を検知する処理を多段階化することにより、入力画像の種別に関係しない、高速・高精度なスキュー角の検出・補正処理を行うことが可能となる。
【0103】
<第3実施形態>
次に、本発明の第3実施形態に係る画像処理装置について説明する。なお、以下の説明の中で、第1,第2実施形態と処理内容が同様の処理部に関しては同一番号を付し、その説明については重複するので省略するものとする。すなわち、第3実施形態に係る画像処理装置では、図1に示す画像処理装置の構成例については、第1,第2実施形態と同じなのでここでの説明は省略し、第1,第2実施形態と構成が異なり、その具体的な構成を特徴とするスキュー補正部について説明を行うものとする。
【0104】
図21は、本発明の第3実施形態に係る画像処理装置におけるスキュー補正部の構成例を示すブロック図である。図21において、スキュー補正部に入力されたRGB画像データは、2値化部11および画像回転部14に入力される。
【0105】
2値化部11では、入力されたRGB画像データから、例えば画像中に含まれる文字や線、絵柄や写真などの領域に属する画素はHIGHとし,背景領域に属する画素はLOWとした各画素1bit、即ち2値化された2値画像データを作成して出力する。2値化部11の詳細については前述しているので、ここでの説明は省略する。2値化部11から出力された2値画像データは、スキュー角検知部15に入力される。スキュー角検知部15では、入力された2値画像データを用いて画像データのスキュー角度を算出して出力する。スキュー角検知部15の詳細については後述する。
【0106】
スキュー角検知部15において検知されたスキュー角度は画像回転部14に入力される。また、画像回転部14にはRGB画像データが入力され、スキュー角検知部15において検知されたスキュー角度に基づき、RGB画像データのスキューが補正される。画像回転の方法としては、例えばAffine変換などを用いた周知の方法を用い得る。スキュー補正の行われたRGB画像データ(スキュー補正後RGB画像データ)は、スキュー補正部でのスキュー補正結果として出力される。
【0107】
続いて、スキュー角検知部15の詳細について図22を用いて説明する。スキュー角検知部15に入力された2値画像データは、縮小部46−1〜46−2および輪郭抽出部12−3に入力される。縮小部46−1では、入力された2値画像データの縮小処理を行い、縮小2値画像データを輪郭抽出部12−1に出力する。縮小部46−1については前述しているので、ここでの説明は省略する。
【0108】
輪郭抽出部12−1では、縮小部46−1から入力された縮小2値画像データのHIGH画素群の輪郭を抽出・輪郭2値画像を生成し、ハフ変換部41−1に出力する。輪郭抽出部12−1での処理は、輪郭抽出部12と同様であり、その詳細については前述しているので、ここでの説明は省略する。
【0109】
このように、第2実施形態とは異なり、2値画像データに対し先に縮小処理を行い、その後縮小処理の行われた画像に対して輪郭抽出処理を行うことにより、2値化部11で画像データの2値化を行った際に、連続したHIGH画素として2値化できなかった写真・網点領域なども、先に縮小処理を行うことにより連続したHIGH画素の領域とすることができ、その領域に対して輪郭抽出を行うことにより、スキュー角度を検知するのに不要な輪郭の抽出を防止することができる。すなわち、高速・少メモリ容量・高精度なスキュー角検知が可能となる。
【0110】
なお、上記で説明した以外の、縮小部46−2、輪郭抽出部12−2〜12−3、ハフ変換部41−1〜41−3、ハフ空間データ記憶部44、ハフ空間データ演算投影部42−1〜42−3、演算投影データ記憶部45、角度検知部43−1〜43−3の処理内容および処理構成は、第2実施形態の場合と同様なので、ここでの説明は省略する。
【0111】
以上説明したように、本発明の第3実施形態に係る画像処理装置およびその処理方法では、文字・線画・写真・網点等の混在した画像に対しても、スキュー角度を検知するのにノイズとなる写真・網点領域中の画素は抽出しないで適切に輪郭画像を抽出してハフ変換を実施し、またハフ空間データからその密集度を検知できる所定の演算を施して投影ヒストグラムに投影し、この投影されたヒストグラムからスキュー角を検知する処理を行うことにより、入力画像の種別に関係しない、高速・高精度なスキュー角の検出・補正処理を行うことが可能となる。
【0112】
<第4実施形態>
次に、本発明の第4実施形態に係る画像処理装置について説明する。なお、以下の説明の中で、第1,第2実施形態と処理内容が同様の処理部に関しては同一番号を付し、その説明については重複するので省略するものとする。すなわち、第4実施形態に係る画像処理装置では、図1に示す画像処理装置の構成例、図2に示すスキュー補正部5の構成例については、第1,第2実施形態と同じなのでここでの説明は省略し、第2実施形態と構成が異なり、その具体的な構成を特徴とするスキュー角検知部について説明を行うものとする。
【0113】
図23は、本発明の第4実施形態に係る画像処理装置におけるスキュー角検知部の構成例を示すブロック図である。図23において、スキュー角検知部の各処理部および処理構成は、第2実施形態を説明するのに用いた図16と比較して、角度検知部47が異なるだけなので、ここでは角度検知部47の詳細について説明し、それ以外に関しては説明を省略する。
【0114】
角度検知部47での処理の詳細について、図24および図25を用いて説明する。角度検知部47は、演算投影データ記憶部45から演算投影ヒストグラムデータを読み出し、所定の処理を施した後、ヒストグラムが最大頻度をとる角度を検出し、検出した角度をハフ変換部41−2に出力する。
【0115】
図24(a)は、演算投影データ記憶部45内の演算投影メモリに記憶された演算投影ヒストグラムデータの例である。図24(a)に示す通り、0≦θ<πの範囲の演算投影ヒストグラムデータ(hist[θ])が作成され、記憶されているものとする。
【0116】
図25のフローチャートに示すように、角度検知部47ではまず、後述する演算投影ヒストグラムデータに対する演算結果を格納する演算投影メモリ(hist2[θ])の初期化を行う(ステップS301)。次に、0≦θ<πの範囲の演算投影ヒストグラムデータを、0≦θ<π/2とπ/2≦θ<πの範囲の2つの演算投影ヒストグラムデータに分割し、それぞれの対応する頻度を加算するために、θに“0”を代入する(ステップS302)。
【0117】
図24(b)には、分割した2つの演算投影ヒストグラムデータを図示しており、曲線61が0≦θ<π/2の範囲の演算投影ヒストグラムデータを、曲線62がπ/2≦θ<πの範囲の演算投影ヒストグラムデータを示している。なお、同図(b)では、曲線62の位相をπ/2ずらして記載してある。
【0118】
次に、角度θとπ/2とを比較し(ステップS303)、θ<π/2の場合には、θおよびθ+π/2における演算投影ヒストグラムデータの頻度を加算し、hist2[θ]に代入する(ステップS304)。そして、角度θをstep1だけ増分する(ステップS305)。ここで、step1は、第2実施形態を説明したのと同じで、ハフ変換部41−1がハフ変換を行う際の角度ステップと同じ値である。
【0119】
すなわち、ステップS302〜ステップS305では、0≦θ<πの範囲の演算投影ヒストグラムデータ(第1の頻度演算データ)を、0≦θ<π/2とπ/2≦θ<πの範囲の2つの演算投影ヒストグラムデータに分割し、この分割した2つの演算投影ヒストグラムデータを、曲線62の方をπ/2位相をずらして頻度を加算し、新たな演算投影ヒストグラム(hist2[θ])を作成する。図24(b)の曲線63が、加算された演算投影ヒストグラムデータ(第2の頻度演算データ)である。
【0120】
一方、ステップ303の比較結果がθ≧π/2の場合には、hist2[θ]において、最大頻度をとる角度θをみつけ、それをδ4に代入する(ステップ306)。続いて、元の演算投影ヒストグラムデータ(hist[θ])におけるδ4およびδ4+π/2の頻度を算出し、それぞれmax4とmax5に代入する(ステップS307)。すなわち、図24(b)において、角度がδ4における曲線61と曲線62の頻度、max4とmax5を算出する。
【0121】
次に、max4とmax5を比較し(ステップS308)、max5の方がmax4よりも大きければ、δ4をπ/2だけ増分する(ステップS309)。一方、maxの方がmax5よりも大きいか、もしくは等しければ、ステップS310に進み、ステップS309の処理が終了した場合と同様に、最終的に、角度検知部47はδ4を検出角度として出力する。
【0122】
このようにして、角度検知部47では、上述した一連の処理を実行して、縮小した輪郭2値画像データに対して、粗い角度ステップでハフ変換を行うことにより、第4のスキュー角の概算値(δ4)を求める。
【0123】
次に、角度検知部47での処理の他の例について、図26を用いて説明する。図26は、演算投影データ記憶部45内の演算投影メモリに記憶された演算投影ヒストグラムデータの例である。角度検知部47では、演算投影ヒストグラムデータから最大頻度(大きい方の極大頻度)となる点、即ち図26における極大値64と、2番目の大きさの極大頻度となる点、即ち図26における極大値65とを見つける。
【0124】
次に、それぞれの極大頻度をとる角度、即ち図26における角度δ5と角度δ6を算出する。そして、角度δ5と角度δ6の差がπ/2に近ければ、角度検知部47は角度δ5を検出角度として出力する。近くなければ、図23中に破線で示した信号線を用いて、ハフ変換部41に入力する“step1”などの値を変更して、再度ハフ変換部41−1からのハフ変換処理を実施したり、あるいはスキュー角度検知不能を示す信号を出力しても構わない。
【0125】
すなわち、このような構成にすることにより、概算で求めたスキュー角度の正確性を判定し、不正確と判定した場合には、パラメータを変更して正確な概算スキュー角度を検知することが可能である。
【0126】
なお、上記の説明では、0≦θ<πの範囲で演算投影ヒストグラムデータを作成しているため、一般にθ=0およびstep1×i(step1×iは、π未満の最大値、iは整数)では極大値をとらないが、本発明では、hist[0]=hist[π]と考え、例えばhist[0]>hist[step1]かつhist[0]>hist[step1×i]のとき、hist[0]は極大値であるとする。
【0127】
また、上記の説明では、2つの極大頻度をとる角度を算出し、その差分から検知した概算スキュー角度の正確さを判定したが、逆に最大頻度(大きい方の極大頻度)をとる角度を算出し、その角度にπ/2を加算(あるいは減算)した角度付近に極大点が存在しているかを判定して、検知した概算スキュー角度の正確さを判定しても構わない。
【0128】
以上説明したように、本発明の第4実施形態に係る画像処理装置およびその処理方法では、文字・線画・写真・網点等の混在した画像に対しても、スキュー角度を検知するのにノイズとなる写真・網点領域中の画素は抽出しないで適切に輪郭画像を抽出してハフ変換を実施し、またハフ空間データからその密集度を検知できる所定の演算を施して投影ヒストグラムに投影し、この投影されたヒストグラムからスキュー角を検知する処理の多段階化を行い、さらに最も粗い概算スキュー角度検知処理の中で検知正確性の判定処理を行うことにより、入力画像の種別に関係しない、高速・高精度なスキュー角の検出・補正処理を行うことが可能となる。
【0129】
<第5実施形態>
最後に、本発明の第5実施形態に係る画像処理装置について説明する。なお、以下の説明の中で、第1実施形態と処理内容が同様の処理部に関しては同一番号を付して、その説明については重複するので省略するものとする。すなわち、第5実施形態に係る画像処理装置では、図1に示す画像処理装置の構成例については、第1実施形態と同じなのでここでの説明は省略し、第1実施形態と構成が異なり、その具体的な構成を特徴とするスキュー補正部について説明を行うものとする。
【0130】
図27は、本発明の第5実施形態に係る画像処理装置におけるスキュー補正部の構成例を示すブロック図である。図27において、スキュー補正部に入力された画像データ(解像度400dpi、各画素8bitのRGB画像信号)は、2値化部11および画像回転部14に入力される。2値化部11では、入力されたRGB画像データから、例えば文字や線、絵柄や写真などの領域に属する画素はHIGHとし,背景領域に属する画素はLOWとした各画素1bit、即ち2値化された2値画像データを作成して出力する。2値化部11の詳細についてはすでに述べているので、ここでの説明は省略する。
【0131】
2値化部11から出力された2値画像データは輪郭抽出部12に入力される。輪郭抽出部12では、入力された2値画像データ中のHIGH画素領域の輪郭を抽出し、抽出した輪郭画素による輪郭2値画像データを作成して出力する。輪郭抽出部12の詳細についてもすでに述べているので、ここでの説明は省略する。輪郭抽出部12から出力された輪郭2値画像データは画像部分抽出部16に入力される。画像部分抽出部16では、入力された輪郭2値画像データから所定の領域を抽出し(切り出し)、抽出した部分抽出輪郭2値画像データを作成して出力する。画像部分抽出部16の詳細については後述する。
【0132】
画像部分抽出部16から出力された部分抽出輪郭2値画像データは、スキュー角検知部13に入力される。スキュー角検知部13では、入力された部分抽出輪郭2値画像データを用いて画像データのスキュー角度を算出して出力する。スキュー角検知部13の詳細についてもすでに述べているので、ここでの説明は省略する。
【0133】
スキュー角検知部13において検知されたスキュー角度は画像回転部14に入力される。また、画像回転部14にはRGB画像データが入力され、スキュー角検知部13において検知されたスキュー角度に基づき、RGB画像データのスキューが補正される。画像回転の方法としては、例えばAffine変換などを用いた周知の方法を用い得る。スキュー補正の行われたRGB画像データ(スキュー補正後RGB画像データ)は、スキュー補正部5でのスキュー補正結果として出力される。
【0134】
続いて、図28および図29を用いて、画像部分抽出部16での処理の詳細について説明する。例えば、図28(a)に示すような原稿をスキャナなどから読み込む際に、この原稿が本や雑誌などの場合に、綴じ代部分がスキャナのコンタクトガラスに密着せず浮いてしまうことにより、同図(b)に示すように、一部分(図28(b)の領域70)が黒っぽくなった画像データが入力されることがある。
【0135】
また、図29(a)に示すような背景部が濃色の原稿をスキャナなどから読み込むときに、この原稿が本や雑誌などの1ページで、このページを曲がって裁断してしまった場合に、同図(b)のように一部分(図29(b)の領域72)が白くなった画像データが入力される。そして、図28(b)や図29(b)に示すような画像データに対して、2値化部11での2値化処理および、輪郭抽出部12での輪郭抽出処理を行うと、図28(c)や図29(c)のような輪郭2値画像データが生成される。
【0136】
しかしながら、図28(c)や図29(c)に示すような輪郭2値画像データに対してスキュー角検知処理を行った場合に、実際の原稿に対して垂直あるいは水平とは異なる長い線分(図28(c)の線分71や図29(c)の線分73)が存在するため、正確なスキュー角検知ができなくなることがある。
【0137】
そこで、画像部分抽出部16では、入力された輪郭2値画像データから、正確なスキュー角検知を行える領域を抽出し、抽出した部分抽出輪郭2値画像データをスキュー角検知部13に出力する。すなわち、図28(d)や図29(d)に示すように、通常は誤検知を発生させる成分の少ない、画像の中央部領域の抽出を行う。
【0138】
また、図示はしていないが、入力された輪郭2値画像データを複数の領域に分割し、それぞれの領域あるいはその内のいくつかの領域を順次画像部分抽出部16から出力し、複数の領域に対してスキュー角検知部13で角度検知を行い、各領域ごとに検知された角度に基づいて最終的なスキュー角度を得るようにすることにより、そのスキュー角度の正確性を上げることも可能である。
【0139】
なお、上述した第5実施形態の説明の中では、輪郭抽出部12の後段(スキュー角検知部13の前段)に画像部分抽出部16を配置した例を用いたが、本発明はこの構成に限定されるものではなく、例えば、2値化部11の前段や、2値化部11の後段(輪郭抽出部12の前段)に画像部分抽出部16を配置しても構わない。
【0140】
以上説明したように、本発明の第5実施形態に係る画像処理装置およびその処理方法では、原稿を曲がって裁断したり、あるいは本・雑誌などをスキャナーで読み込ませるときにコンタクトガラスから原稿が浮くことなどによる、周辺部が歪んだ文字・線画・写真・網点等の混在した画像に対しても、スキュー角度を検知するのに不適当な画像周辺部や、ノイズとなる写真・網点中の画素は抽出しないで適切に輪郭画像を抽出してハフ変換を実施し、またハフ空間データからその密集度を検知できる所定の演算を施して投影ヒストグラムに投影し、この投影されたヒストグラムからスキュー角を検知することにより、入力画像の種別に関係しない、高精度なスキュー角の検出・補正処理を行うことが可能となる。
【0141】
以上説明した上記第1〜第5実施形態に係る画像処理方法の処理動作をコンピュータに実行させるための画像処理プログラムは、フロッピーディスク、CD−ROM、DVD−ROMなどの記録(記憶)媒体にソフトウェアとして格納される。この記録媒体に格納された画像処理プログラムは、必要に応じてコンピュータによって読み取りが行われ、コンピュータ内のメモリにインストールされて用いられる。そして、インストールされた画像処理プログラムに基づいて、上記第1〜第5実施形態に係る画像処理方法の処理動作、特に文書画像のスキュー検出(傾き検出)が実行されることになる。
【0142】
なお、上記各実施形態では、スキュー角検知部13で検知されたスキュー角の検知結果に基づいて画像のスキュー補正を行う画像回転部14を備えた画像処理装置に適用した場合を例に採って説明したが、必ずしも画像回転部14を備えている必要はなく、要は、スキュー角検知部13を備えた画像処理装置全般に適用可能である。
【0143】
【発明の効果】
以上説明したように、本発明によれば、文字・線画・写真・網点等の混在した画像について、画像を入力する際に発生するスキューに対して、スキュー角を検出するのに最適な画素を抽出し、抽出した画素に基づいて大局的に角度検出を行うことができるため、画像種別に関係なく高精度にスキューを補正することができることになる。
【図面の簡単な説明】
【図1】 本発明に係る画像処理装置の構成例を示すブロック図である。
【図2】 本発明の第1実施形態に係るスキュー補正部の構成例を示すブロック図である。
【図3】 2値化部の構成例を示すブロック図である。
【図4】 膨張部および収縮部での各処理内容を説明するためのである。
【図5】 膨張部および収縮部に用いる画素構成の他の例を示す図である。
【図6】 浮動2値化部の構成例を示すブロック図である。
【図7】 2値化部の他の構成例を示すブロック図である。
【図8】 輪郭抽出部での処理内容を説明するための図(その1)である。
【図9】 輪郭抽出部での処理内容を説明するための図(その2)である。
【図10】 スキュー角検知部の構成例を示すブロック図である。
【図11】 ハフ変換部およびハフ空間データ記憶部での各処理内容を説明するための図である。
【図12】 ハフ変換の概念を説明するための図である。
【図13】 ハフ変換部での処理の流れを示すフローチャートである。
【図14】 ハフ空間データ演算投影部および演算投影データ記憶部での各処理内容を説明するための図である。
【図15】 ハフ空間データ演算投影部の処理の流れを示すフローチャートである。
【図16】 本発明の第2実施形態に係るスキュー角検知部の構成例を示すブロック図である。
【図17】 第2実施形態に係るスキュー角検知部における一方の縮小部での処理内容を説明するための図である。
【図18】 ハフ空間データ記憶部に記憶されるデータの一例を示す図である。
【図19】 第2実施形態に係るスキュー角検知部における他方の縮小部での処理内容を説明するための図である。
【図20】 演算投影データ記憶部に記憶されるデータの一例を示す図である。
【図21】 本発明の第3実施形態に係るスキュー補正部の構成例を示すブロック図である。
【図22】 第3実施形態に係るスキュー補正部におけるスキュー角検知部の構成例を示すブロック図である。
【図23】 本発明の第4実施形態に係るスキュー角検知部の構成例を示すブロック図である。
【図24】 角度検知部での処理内容を説明するための図である。
【図25】 角度検知部の処理の流れを示すフローチャートである。
【図26】 角度検知部での他の処理内容を説明するための図である。
【図27】 本発明の第5実施形態に係るスキュー補正部の構成例を示すブロック図である。
【図28】 第5実施形態に係るスキュー補正部における画像部分抽出部の処理内容を示す図(その1)である。
【図29】 第5実施形態に係るスキュー補正部における画像部分抽出部の処理内容を示す図(その2)である。
【符号の説明】
1…画像入力部、2…データ記憶部、3…演算制御部、5…スキュー補正部、8…画像出力部、11…2値化部、12…輪郭抽出部、13,15…スキュー角検知部、14…画像回転部、16…画像部分抽出部、21…色成分選択部、22…浮動2値化部、23…膨張部、24…収縮部、25…明度信号生成部、26…網点抽出部、41,41−1,41−2,41−3…ハフ変換部、42,42−1,42−2,42−3…ハフ空間データ演算投影部、43,43−1,43−2,43−3,47…角度検知部
Claims (21)
- 文書画像データを入力する入力手段と、
前記入力手段によって入力された文書画像データから2値画像データを生成する2値画像生成手段と、
前記2値画像生成手段によって生成された2値画像データから、前記入力手段によって入力された画像データのスキュー角を算出するスキュー角検知手段とを具備し、
前記2値画像生成手段は、
前記入力手段によって入力された文書画像データに対して2値化処理を行う2値化手段と、
前記2値化手段によって生成された2値画像データを膨張処理しかつ収縮処理してON画素が連続する画素塊を抽出する画素塊抽出手段と、
前記画素塊抽出手段によって抽出された画素塊から輪郭画素を抽出する輪郭抽出手段とを有し、
前記画素塊抽出手段は、
前記2値画像データ中のON画素の領域を膨張処理する膨張手段と、
前記膨張手段によって膨張処理されたON画素の領域を収縮処理して前記画素塊とする収縮手段とを有し、
前記スキュー角検知手段は、
前記輪郭抽出手段で抽出された輪郭画素の2値画像データに対してハフ変換を行ってハフ空間データを生成するハフ変換手段と、
前記ハフ変換手段によって生成されたハフ空間データからデータ中の各頻度に対して所定の演算を行い、得られた演算結果を角度ごとに加算して第1の頻度演算データを生成する頻度演算手段と、
前記頻度演算手段によって生成された第1の頻度演算データから角度を算出し、この算出した角度を前記スキュー角とする角度検知手段とを有する
ことを特徴とする画像処理装置。 - 前記スキュー角検知手段として、各々検知条件が異なる複数のスキュー角検知手段を有する
ことを特徴とする請求項1記載の画像処理装置。 - 前記複数のスキュー角検知手段の各検知条件が段階的に異なる
ことを特徴とする請求項2記載の画像処理装置。 - 前記ハフ変換手段は、生成したハフ空間データの頻度を、周囲の頻度を用いて平滑化し、
前記頻度演算手段は、前記ハフ変換手段によって平滑化されたハフ空間データの頻度から第1の頻度演算データを生成する
ことを特徴とする請求項1、請求項2または請求項3記載の画像処理装置。 - 前記頻度演算手段は、生成した第1の頻度演算データの頻度演算値を、周囲の頻度演算値を用いて平滑化し、
前記角度検知手段は、前記頻度演算手段によって平滑化された第1の頻度演算データの頻度演算値から角度を算出する
ことを特徴とする請求項1、請求項2または請求項3記載の画像処理装置。 - 前記スキュー角検知手段は、前記2値画像生成手段によって生成された2値画像データの縮小処理を行う縮小手段を有し、
前記ハフ変換手段は、前記縮小手段によって縮小処理された2値画像データに対してハフ変換を行ってハフ空間データを生成する
ことを特徴とする請求項1記載の画像処理装置。 - 前記所定の演算は、頻度のn乗(n>1)の項を含む頻度の関数である
ことを特徴とする請求項1記載の画像処理装置。 - 前記nは、n=2である
ことを特徴とする請求項7記載の画像処理装置。 - 前記角度検知手段は、前記頻度演算手段によって生成された第1の頻度演算データから最大の頻度演算値を検出し、前記最大の頻度演算値をとる角度を検知する
ことを特徴とする請求項1記載の画像処理装置。 - 前記角度検知手段は、前記頻度演算手段によって生成された第1の頻度演算データを、位相をπ/2(rad)ずらして加算して第2の頻度演算データを生成し、前記第2の頻度演算データから最大の頻度演算値を検出し、前記最大の頻度演算値をとる角度を検知する
ことを特徴とする請求項1記載の画像処理装置。 - 前記角度検知手段は、前記頻度演算手段によって生成された第1の頻度演算データから極大値を検出し、前記極大値をとる角度を検知する
ことを特徴とする請求項1記載の画像処理装置。 - 前記角度検知手段は、前記頻度演算手段によって生成された第1の頻度演算データから少なくとも2つの最大値または極大値を検出し、前記最大値または極大値をとる角度の差から角度を検知する
ことを特徴とする請求項1記載の画像処理装置。 - 前記角度の差は、ほぼπ/2(rad)である
ことを特徴とする請求項12記載の画像処理装置。 - 前記ハフ変換手段は、前記輪郭抽出手段によって抽出された輪郭画素に対してハフ変換処理を行う
ことを特徴とする請求項1記載の画像処理装置。 - 前記2値画像生成手段は、前記画素塊抽出手段によって画素塊の抽出されている2値画像データを縮小処理して第1の画素塊を抽出する縮小手段を有し、
前記輪郭抽出手段は、前記縮小手段によって抽出された第1の画素塊から輪郭画素を抽出する
ことを特徴とする請求項1記載の画像処理装置。 - 前記2値化手段は、前記入力手段によって入力された画像データに対して動的閾値2値化処理を行う浮動2値化手段である
ことを特徴とする請求項1記載の画像処理装置。 - 前記2値画像生成手段は、前記入力手段によって入力された画像データから網点領域を抽出する網点抽出手段を有し、
前記輪郭抽出手段は、前記浮動2値化手段および前記網点抽出手段から出力される各画像データの合成データから画素塊代表点を抽出する
ことを特徴とする請求項16記載の画像処理装置。 - 前記2値画像生成手段はさらに、画像の一部を抽出する画像部分抽出手段を有し、
前記スキュー角検知手段は、前記画像部分抽出部手段によって抽出された画像の一部に対してスキュー角の検知を行う
ことを特徴とする請求項1記載の画像処理装置。 - 前記2値画像生成手段はさらに、画像を複数の領域に分割する画像領域分割手段を有し、
前記スキュー角検知手段は、前記画像領域分割手段によって分割された各領域に対して角度の検知を行い、検知された複数の角度からスキュー角を検知する
ことを特徴とする請求項1記載の画像処理装置。 - 入力された文書画像データに対して2値化処理を行う2値化ステップと、
前記2値化ステップで生成した2値画像データ中のON画素の領域を膨張処理し、当該膨張処理したON画素の領域を収縮処理して前記2値画像データ中からON画素が連続する画素塊を抽出する画素塊抽出ステップと、
前記画素塊抽出ステップで抽出した画素塊から輪郭画素を抽出する輪郭抽出ステップと、
前記輪郭抽出ステップで抽出した輪郭画素の2値画像データに対してハフ変換を行ってハフ空間データを生成するハフ変換ステップと、
前記ハフ変換ステップで生成したハフ空間データからデータ中の各頻度に対して所定の演算を行うことによって得られた演算結果を角度ごとに加算して第1の頻度演算データを生成する頻度演算ステップと、
前記頻度演算ステップで生成した第1の頻度演算データから角度を算出する角度検知ステップと
の各処理を実行し、
前記角度検知ステップで算出した角度を前記入力された文書画像データのスキュー角とする
ことを特徴とする画像処理方法。 - 請求項20記載の画像処理方法の処理手順をコンピュータに実行させるための画像処理プログラムが格納されている
ことを特徴とする記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000271212A JP4219542B2 (ja) | 2000-09-07 | 2000-09-07 | 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体 |
US09/945,806 US7016552B2 (en) | 2000-09-07 | 2001-09-05 | Image processing device, image processing method, and recording medium storing image processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000271212A JP4219542B2 (ja) | 2000-09-07 | 2000-09-07 | 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002084420A JP2002084420A (ja) | 2002-03-22 |
JP4219542B2 true JP4219542B2 (ja) | 2009-02-04 |
Family
ID=18757532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000271212A Expired - Fee Related JP4219542B2 (ja) | 2000-09-07 | 2000-09-07 | 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7016552B2 (ja) |
JP (1) | JP4219542B2 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7411593B2 (en) * | 2001-03-28 | 2008-08-12 | International Business Machines Corporation | Image rotation with substantially no aliasing error |
JP4169522B2 (ja) * | 2002-03-22 | 2008-10-22 | 株式会社リコー | 画像処理装置、画像処理プログラム及びこのプログラムを記憶する記憶媒体 |
US7293562B2 (en) * | 2003-03-27 | 2007-11-13 | Cierra, Inc. | Energy based devices and methods for treatment of anatomic tissue defects |
US20050068583A1 (en) * | 2003-09-30 | 2005-03-31 | Gutkowski Lawrence J. | Organizing a digital image |
JP4345426B2 (ja) * | 2003-10-07 | 2009-10-14 | ソニー株式会社 | 画像照合方法、プログラム、および画像照合装置 |
JP4774200B2 (ja) * | 2004-04-21 | 2011-09-14 | オムロン株式会社 | 文字列領域抽出装置 |
JP2007003636A (ja) * | 2005-06-22 | 2007-01-11 | Fuji Xerox Co Ltd | 教材処理装置、教材処理方法および教材処理プログラム |
JP4852297B2 (ja) * | 2005-10-27 | 2012-01-11 | 株式会社リコー | 画像処理装置及び画像形成装置 |
JP4123267B2 (ja) * | 2005-10-31 | 2008-07-23 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置 |
US8213687B2 (en) * | 2006-04-28 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Image processing methods, image processing systems, and articles of manufacture |
JP4565396B2 (ja) * | 2006-06-29 | 2010-10-20 | 富士ゼロックス株式会社 | 画像処理装置および画像処理プログラム |
EP2315161A1 (en) * | 2006-10-11 | 2011-04-27 | Mitsubishi Electric Information Technology Centre Europe B.V. | Image descriptor for image recognition |
US8270044B2 (en) * | 2006-10-26 | 2012-09-18 | Samsung Electronics Co., Ltd. | Scanning apparatus having image correction function |
GB0700468D0 (en) * | 2007-01-10 | 2007-02-21 | Mitsubishi Electric Inf Tech | Improved image identification |
JP4804433B2 (ja) * | 2007-08-21 | 2011-11-02 | キヤノン株式会社 | 画像処理装置、画像処理方法、及び、画像処理プログラム |
JP4952627B2 (ja) * | 2008-03-21 | 2012-06-13 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP4604100B2 (ja) * | 2008-03-21 | 2010-12-22 | シャープ株式会社 | 画像処理方法、画像処理装置、画像形成装置、プログラムおよび記憶媒体 |
JP5132438B2 (ja) | 2008-06-19 | 2013-01-30 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
US8320670B1 (en) | 2008-08-29 | 2012-11-27 | Adobe Systems Incorporated | Hough transform method for linear ribbon and circular ring detection in the gradient domain |
US8290302B2 (en) * | 2009-01-30 | 2012-10-16 | Xerox Corporation | Method and system for skew detection of a scanned document using connected components analysis |
DE112010001320T5 (de) * | 2009-04-07 | 2012-06-21 | Murata Machinery, Ltd. | Bildverarbeitungsvorrichtung, Bildverarbeitungsverfahren, Bilderverarbeitungsprogramm und Speichermedium |
JP5477542B2 (ja) * | 2009-04-07 | 2014-04-23 | 村田機械株式会社 | 画像処理装置と処理方法、及び処理プログラム |
JP5477541B2 (ja) * | 2009-04-07 | 2014-04-23 | 村田機械株式会社 | 画像処理装置と処理方法、及び処理プログラム |
JP5662675B2 (ja) * | 2009-12-04 | 2015-02-04 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
CN101923710A (zh) * | 2010-06-30 | 2010-12-22 | 青岛海信网络科技股份有限公司 | 图像倾斜校正方法及装置 |
FR2968105A1 (fr) * | 2010-11-26 | 2012-06-01 | Nomad | Procede d'obtention de caracteres au moyen d'un terminal comprenant un ecran tactile, produit programme d'ordinateur, moyen de stockage et terminal correspondants |
US8861793B1 (en) * | 2012-11-05 | 2014-10-14 | Pixelworks, Inc. | Depth map generation based on vanishing lines and vanishing points |
JP6070449B2 (ja) * | 2013-07-08 | 2017-02-01 | 富士ゼロックス株式会社 | 傾斜角度補正装置、画像読取装置、画像形成装置およびプログラム |
US9208403B1 (en) * | 2014-06-16 | 2015-12-08 | Qualcomm Incorporated | Systems and methods for processing image data associated with line detection |
CN104809436B (zh) * | 2015-04-23 | 2017-12-15 | 天津大学 | 一种弯曲书面文字识别方法 |
CN104835120B (zh) * | 2015-04-23 | 2017-07-28 | 天津大学 | 一种基于基准线的弯曲书面展平方法 |
JP6728634B2 (ja) * | 2015-11-04 | 2020-07-22 | 株式会社リコー | 検知装置、検知方法及びプログラム |
US10051253B1 (en) | 2015-12-18 | 2018-08-14 | Snap Inc. | Binarization of a video stream |
CN108027758B (zh) * | 2016-04-28 | 2021-12-03 | 京瓷办公信息系统株式会社 | 数据发送系统及数据发送方法 |
CN106131362B (zh) * | 2016-07-12 | 2019-11-26 | 珠海赛纳打印科技股份有限公司 | 一种图像处理方法、装置及图像形成设备 |
JP2018029289A (ja) * | 2016-08-18 | 2018-02-22 | ブラザー工業株式会社 | 画像処理装置および画像処理方法 |
JP6821418B2 (ja) * | 2016-12-16 | 2021-01-27 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
TWI684134B (zh) * | 2017-07-24 | 2020-02-01 | 國立臺灣師範大學 | 圖像化二維條碼製作裝置及製作方法 |
CN110415183A (zh) * | 2019-06-18 | 2019-11-05 | 平安科技(深圳)有限公司 | 图片校正方法、装置、计算机设备及计算机可读存储介质 |
CN111738936A (zh) * | 2020-05-18 | 2020-10-02 | 浙江托普云农科技股份有限公司 | 基于图像处理的多株水稻穗长的测量方法 |
CN113965420B (zh) * | 2021-12-23 | 2022-03-11 | 西安道法数器信息科技有限公司 | 一种基于人工智能的网络安全加密方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3038714B2 (ja) | 1988-12-22 | 2000-05-08 | 富士ゼロックス株式会社 | 文書傾き補正装置 |
JP2940960B2 (ja) * | 1989-10-31 | 1999-08-25 | 株式会社日立製作所 | 画像の傾き検出方法および補正方法ならびに画像情報処理装置 |
US5054098A (en) * | 1990-05-21 | 1991-10-01 | Eastman Kodak Company | Method of detecting the skew angle of a printed business form |
JP3303246B2 (ja) | 1992-12-28 | 2002-07-15 | 株式会社リコー | 画像処理装置 |
JP3726439B2 (ja) | 1997-08-27 | 2005-12-14 | 富士ゼロックス株式会社 | 画像処理装置および画像処理方法 |
JPH11328408A (ja) | 1998-05-12 | 1999-11-30 | Advantest Corp | データ処理装置および方法、情報記憶媒体 |
-
2000
- 2000-09-07 JP JP2000271212A patent/JP4219542B2/ja not_active Expired - Fee Related
-
2001
- 2001-09-05 US US09/945,806 patent/US7016552B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002084420A (ja) | 2002-03-22 |
US7016552B2 (en) | 2006-03-21 |
US20020028027A1 (en) | 2002-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4219542B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体 | |
JP5875637B2 (ja) | 画像処理装置、画像処理方法 | |
US8384964B2 (en) | Image processing apparatus and image processing method | |
JP2007067932A (ja) | 画像処理装置及びその方法 | |
JP4582204B2 (ja) | 画像処理装置、画像変換方法、およびコンピュータプログラム | |
JP2018139457A (ja) | 画像処理装置、画像処理の制御方法、及びプログラム | |
JP5870745B2 (ja) | 画像処理装置、二値化閾値算出方法及びコンピュータプログラム | |
JP3886727B2 (ja) | 画像処理装置 | |
JP4771428B2 (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
JP5005732B2 (ja) | 画像形成装置及び画像処理方法 | |
JP2004120092A (ja) | 画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム | |
JP2784278B2 (ja) | 画像変倍処理装置 | |
JP2003115031A (ja) | 画像処理装置および方法 | |
JP3142279B2 (ja) | 網点領域分離装置 | |
US7508987B2 (en) | Method, apparatus, system, and program for image processing capable of recognizing, reproducing, and enhancing an image, and a medium storing the program | |
JP3881119B2 (ja) | モアレ除去装置 | |
JP3966448B2 (ja) | 画像処理装置、画像処理方法、該方法を実行するプログラムおよび該プログラムを記録した記録媒体 | |
JP4035696B2 (ja) | 線分検出装置及び画像処理装置 | |
JP2003032480A (ja) | 画像処理装置及び画像処理方法 | |
JPH11136505A (ja) | 画像処理装置およびその方法 | |
JP2005190383A (ja) | 網点領域識別装置、および網点領域識別方法 | |
JP4517288B2 (ja) | 画像処理装置、画像処理方法及びそのプログラム | |
KR100514734B1 (ko) | 디지털 화질 개선방법 및 장치 | |
JPH09238253A (ja) | 画像処理装置及びその方法 | |
JPH0676108A (ja) | 文書画像の傾き検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061106 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070208 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070301 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081010 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |