JP5477542B2 - 画像処理装置と処理方法、及び処理プログラム - Google Patents

画像処理装置と処理方法、及び処理プログラム Download PDF

Info

Publication number
JP5477542B2
JP5477542B2 JP2009093222A JP2009093222A JP5477542B2 JP 5477542 B2 JP5477542 B2 JP 5477542B2 JP 2009093222 A JP2009093222 A JP 2009093222A JP 2009093222 A JP2009093222 A JP 2009093222A JP 5477542 B2 JP5477542 B2 JP 5477542B2
Authority
JP
Japan
Prior art keywords
line segment
input image
image
inclination
inclination angle
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.)
Active
Application number
JP2009093222A
Other languages
English (en)
Other versions
JP2010244354A (ja
Inventor
敏行 惣司
智紀 駿河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2009093222A priority Critical patent/JP5477542B2/ja
Priority to PCT/JP2010/050876 priority patent/WO2010116774A1/ja
Priority to US13/258,553 priority patent/US8682080B2/en
Priority to CN2010800047830A priority patent/CN102282588A/zh
Priority to DE112010001320T priority patent/DE112010001320T5/de
Publication of JP2010244354A publication Critical patent/JP2010244354A/ja
Application granted granted Critical
Publication of JP5477542B2 publication Critical patent/JP5477542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Analysis (AREA)

Description

この発明は入力画像の傾斜角の検出に関する。
スキャナで画像を読み取ると、画像が僅かに傾斜した状態で読み取られることがある。これを補正するため、原稿用紙の辺などを検出することが行われている。原稿用紙が方形であれは、辺の向きは主走査方向あるいは副走査方向に平行なはずで、これらの方向からのずれは原稿用紙の傾斜を表している。しかしこの手法で傾斜を検出できるのはスキャン時に限られ、蓄積済みの画像及び外部から転送された画像の傾斜は検出できない。また原稿用紙の傾斜を検出するので、切り抜きのように用紙が定型でないものは傾斜を検出できない。さらにハードカバーの書籍を見開きでスキャンすると、カバーは傾斜していないものの、見開いたページが傾斜していることがある。この場合も傾斜の検出は難しい。これらの問題を解決するには、原稿用紙の傾斜を検出するのではなく、画像自体の傾斜を検出する必要がある。
ここで関連する先行技術を示すと、特許文献1:JPH10-283476Aは、画像中の直線をハフ変換により検出することを記載している。しかしながら特許文献1は、画像の傾斜自体をハフ変換により検出することを示していない。例えば画像中に写真あるいは図形があり、これらに斜線が含まれていれば、ハフ変換により斜線が抽出され、画像自体の傾斜とは異なる斜線角が検出される。
JPH10-283476A
この発明の課題は、入力画像自体の性質を用いて、かつ入力画像中の斜線等の影響を受けずに、入力画像の傾斜角を求めることにある。
この発明の画像処理装置は、入力画像の傾斜角を決定する装置であって、
入力画像を有効画素と無効画素とに二値化する二値化部と、
前記二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換するためのフィルタを備え、線分を点へと単純化する縮退処理を、入力画像に施すための縮退処理部と、
縮退処理後の画像をハフ変換するハフ変換部と、
ハフ変換により抽出した線分の向きから入力画像の傾斜角を決定する傾斜角決定部、とを備えたことを特徴とする。
またこの発明の画像処理方法は、入力画像の傾斜角を決定するために、
入力画像を有効画素と無効画素とに二値化するステップと、
前記二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換することにより、線分を点へと単純化する縮退処理を入力画像に施すステップと、
縮退処理後の画像をハフ変換するステップと、
ハフ変換により抽出した線分の向きから入力画像の傾斜角を決定するステップ、とを備えたことを特徴とする。
またこの発明の画像処理プログラムは、情報処理装置により入力画像の傾斜角を決定するために、
前記情報処理装置を、
入力画像を有効画素と無効画素とに二値化する二値化部と、
前記二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換するためのフィルタを備え、線分を点へと単純化する縮退処理を、入力画像に施すための縮退処理部と、
縮退処理後の画像をハフ変換するハフ変換部と、
ハフ変換により抽出した線分の向きから入力画像の傾斜角を決定する傾斜角決定部、として機能させる。
この明細書において、画像処理装置に関する記載はそのまま画像処理方法及び画像処理プログラムにも当てはまり、画像処理方法に関する記載はそのまま画像処理装置及び画像処理プログラムにも当てはまる。
この明細書において、点は画像中の1画素に限らず、複数の画素で点と見えるものを含んでいる。
入力画像を有効画素と無効画素とに二値化して、二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換して、縮退処理を実行する。縮退処理により、入力画像中の線分は単純な点へ変換されるが、文字の行は保存される。このようにすると、簡単に縮退処理を施して、斜線等の影響を受けずに、入力画像中の文字の行により傾斜角を決定できる。さらに縮退処理により入力画像中の有効画素数が削減されるので、ハフ変換をより高速で実行できる。
好ましくは、前記ハフ変換部と傾斜角決定部を、縮退処理を施した入力画像にハフ変換を施して第1の傾斜角を決定し、かつ縮退処理を施さなかった入力画像にハフ変換を施して第2の傾斜角を決定すると共に、
第1の傾斜角と第2の傾斜角との比較部を設けて、差が所定範囲内の場合は第2の傾斜角を入力画像の傾斜角とし、差が所定範囲外の場合は第1の傾斜角を入力画像の傾斜角とする。
ここで第1の傾斜角は文字の行のみを用いて得た傾斜角を表し、第2の傾斜角は文字の行以外に、表や下線、斜線などを用いて得た傾斜角を表している。そこで第1の傾斜角と第2の傾斜角とが近似する場合、表あるいは下線で、文字の行と平行あるいは直角な線分が寄与していると推定できる。仮に、共に文字の行から傾斜角を求めている場合でも、第2の傾斜角は、縮退処理による入力画像の変化を受けていないので、第1の傾斜角よりも精度が高いと言える。そこで高精度に傾斜角を決定できる。
第1の傾斜角と第2の傾斜角とが著しく異なる場合、第1の傾斜角を入力画像の傾斜角とすると、入力画像中の図形部分あるいは写真部分等での斜線の影響を受けずに、傾斜角を決定できる。
第1の傾斜角と第2の傾斜角との整合性が上記の中間の場合、例えば縮退処理を施した画像をハフ変換したものから、複数の線分を第1のセットとして取り出し、縮退処理を施こさなかった画像をハフ変換したものから、複数の線分を第2のセットとして取り出す。第2のセットから、向きの差が所定範囲内の線分が第1のセットに有るもの、より好ましくは、向きの差が第1の所定範囲内でかつハフ変換での距離の差が第2の所定範囲内の線分が第1のセットに有るものを抽出して、傾斜角を決定する。このような線分は1本でも良いが、複数の線分を用いて傾斜角を決定する方が、信頼性が高い。そこで抽出した線分の本数が少ない場合、信頼性を増すため好ましくは、例えば第1のセットの線分で第2のセットに対応するものが無い線分を抽出した線分に加えて、これらの線分の傾斜から入力画像の傾斜角を決定する。
そこで好ましくは、前記差が前記所定範囲外の場合、
縮退処理を施した入力画像からハフ変換により抽出した第1の線分群と、縮退処理を施さなかった入力画像からハフ変換により抽出した第2の線分群との間に、傾きが近似した線分がない場合は、前記第1の傾斜角を入力画像の傾斜角とし、
前記第1の線分群と第2の線分群の間に、傾きが近似した線分がある場合は、少なくとも第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分の傾きに基づいて、入力画像の傾斜角を決定する。
あるいはまた第1の傾斜角と第2の傾斜角を求めずに、
前記ハフ変換部は、縮退処理を施した入力画像から第1の線分群を抽出すると共に、縮退処理を施さなかった入力画像から第2の線分群を抽出し、
前記傾斜角検出部は、少なくとも第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分の傾きに基づいて、入力画像の傾斜角を決定しても良い。
より好ましくは、前記傾斜角検出部は、第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分が所定本数以上有る場合は、該所定本数以上の線分の傾きに基づいて入力画像の傾斜角を決定し、第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分が所定本数未満の場合は、前記所定本数未満の線分に第1の線分群の線分を加えた線分群の傾きに基づいて入力画像の傾斜角を決定する。
実施例の複合機のブロック図 実施例での前処理部のブロック図 実施例の縮退処理で用いるフィルタを示す図 実施例で、表及び下線から傾斜角を決定するか、文字を用いて傾斜角を決定するかのアルゴリズムを示す図 実施例での前処理アルゴリズムを示す図 実施例でのハフ変換部〜画像回転部のブロック図 実施例での投票テーブルを模式的に示す図 実施例での傾斜角検出のアルゴリズムを示す図 実施例で文字の行を直線と見なすことを示す図 入力画像を直接二値化した例を示す図 実施例での入力画像の縮小画像を示す図 実施例で、縮小画像からノイズを除去した画像を示す図 実施例で、ノイズの除去後の画像から抽出したエッジを示す図 実施例で用いた、エッジ抽出フィルタを示す図 実施例で、エッジの画像を二値化した画像を示す図 実施例で、二値化画像から孤立点を除いた画像を示す図 実施例で、孤立点を除いた後に、縮退処理を施した画像を示す図 偽の最大投票線を示す図 投票テーブルでの近傍点が有効線として複数選択される状況を示す図 実施例で、抽出済みの有効線の近傍をマスクした際の、有効線の抽出状況を示す図で、明度は投票テーブルでの投票数を示す 実施例での抽出した有効線を模式的に示す図 実施例での傾斜角の決定手法を模式的に示す図
以下に本発明を実施するための最適実施例を示す。
図1〜図22に、複合機2を例に実施例を示す。4はLANで、6はパーソナルコンピュータで、情報処理装置の例であり、8はルータで、インターネット10と複合機2及びパーソナルコンピュータ6を接続する。実施例での傾斜角の検出及び補正は複合機2で行うが、パーソナルコンピュータ6などで行っても良く、例えば、複合機2のスキャナ20で読み取った画像をパーソナルコンピュータ6へ転送して、パーソナルコンピュータ6で傾斜角を検出して補正しても良い。
複合機2の構造を説明する。12はLANインターフェースで、14はバス、16は画像メモリで、ページメモリとして画像データを記憶する。メモリ18は汎用のメモリで、プログラム及び中間的なデータなどを記憶する。スキャナ20は、原稿用紙から画像を、モノクロのグレイスケールあるいはフルカラーで読み取り、プリンタ22は画像をプリントし、G3ファクシミリ部24は画像のG3ファクシミリ送信と受信とを行う。e-mail部26は、e-mailの添付ファイルとして画像の送受信を行い、ネットワークサーバ部28は、文書管理サーバあるいはリモートプリンタなどとして複合機2を動作させる。ユーザインターフェース30はユーザのマニュアル入力などを受け付け、画像処理部32は種々の画像処理を行う。スキャンした画像あるいは受信画像もしくは蓄積済みの画像の傾斜角を検出するため、前処理部40とハフ変換部50並びに傾斜角検出部60を設ける。そして検出した傾斜角と反対向きに同じ角度だけ、画像回転部70で画像を回転させ、傾斜を補正する。
図2に前処理部40の構成を示す。画像メモリ16から画像データが縮小処理部41へ入力され、画像の解像度を1/n(nは2以上の自然数で、好ましくは4〜8,特に4〜6)に縮小する。これによって画像データの量は1/n2に減少し、縮小は例えばn×n画素のブロック毎に、画素の値の平均値を求めればよい。またより単純に、縮小処理部41では、n×n画素のブロックの内の代表点、例えばブロックの左上の頂点の、1画素のデータをそのまま出力しても良い。このためハフ変換は、n2倍高速になる。同じ画像データで、データの内容と解像度は一定でも、縮小処理部41での縮小率が異なると、傾斜角の検出結果が異なることがあった。そこでスキャン時の解像度によらず、縮小処理部41で一定の解像度まで解像度を低下させると、解像度の違いによる傾斜角の検出値の差を解消できる。
複合機2でスキャンした画像以外でも、ファクシミリの受信データなどのように、スキャン時の解像度が既知の場合、同様に一定の解像度に画像を縮小する。スキャン時の解像度は、通信のプロトコルあるいは画像ファイルのヘッダなどから判明することが多い。なおjpeg画像のようにヘッダに解像度が記載されていない場合、1/4あるいは1/8などの一定の縮小率で、画像を縮小する。
スムージング部42は、平滑化フィルタなどにより縮小画像からノイズを除去し、画像中のランダムなデータをハフ変換によって直線として抽出しないようにする。次にエッジ抽出部43は、スムージング済みの画像から、ラプラシアンフィルタあるいはソーベルフィルタなどのエッジ抽出用フィルタにより、エッジを抽出する。これによって地色の影響が解消し、また白抜きの文字などでも、文字の輪郭に対応するエッジを抽出できる。
二値化部44は抽出したエッジを二値化する。二値化の閾値は、一定でも良く、あるいは抽出したエッジでの明度もしくはカラー値の分布などから定めても良い。さらに全てのエッジを二値化する必要があるのではなく、例えば画像中の文字部分と、写真部分及び図形部分を判別できる場合、文字部分のみを二値化することが好ましい。
扱う画像データは実施例ではモノクロのグレイスケール画像とするが、RGB画像などでもよい。この場合、RGBデータを、明度画像に変換して傾斜角を検出してもよく、またR,G,Bの各成分毎に傾斜角を検出し、その平均値などを用いてもよい。
孤立点除去部45は二値化画像から孤立点を除去し、二値化前のエッジ画像に対して孤立点を除去しても良い。孤立点の除去によりデータ量が減り、かつ偽の傾斜角を検出する確率が減少する。なお孤立点は写真画像中に特に多く、画像本来の傾きとは無関係なデータである。
縮退処理部46は、孤立点を除去した後の二値化画像に対し、縮退処理を行う。ただし孤立点の除去は省略しても良い。ここに縮退処理とは、上下,左右,斜めなどの方向に有効画素が連続して並んでいる、即ち有効画素が縦/横/斜めなどに連結している場合に、有効画素を連結部分の端から削除する処理のことである。縮退処理では、有効画素が連結されて線分を構成している場合に、線分の端部から有効画素を削除し、線分を1画素あるいは2画素などからなる点へと単純化する。なお有効画素とは二値化画像においてデータのある画素をいい、白であるか黒であるかは問題にしない。縮退処理により線分は例えば2画素まで単純化される。円、方形、及び十字なども、有効画素が互いに連結されたものであれば、例えば2画素、あるいは4画素等に単純化される。この結果、画像中の図形部分及び写真部分の斜線が実質的に消滅し、これらのものが傾斜角の検出に影響することを防止できる。なお縮退処理では、文字も有効画素数が小さくなるが、文字の行がなす直線は失われない。また縮退処理により、ハフ変換の対象となる画素の数を減らして、処理を高速化する。
図3に縮退処理に用いるフィルタ34〜38を示し、処理対象の画像は二値化済みで、6角形の画素が有効画素から無効画素(有効でない画素)へ置き換えるかどうかの対象画素である。○の画素が有効画素で、かつ△の画素のいずれかが有効画素の場合、対象画素を無効画素に置き換える。そして縮退処理では、主走査方向に沿って1ライン処理すると、副走査方向に1画素移動して、次のラインを処理する。また縮退処理では、例えば5個のフィルタ34〜38で並列に処理し、いずれかのフィルタのパターンに該当する対象画素は、無効画素に置き換える。ただし処理の順序や向きは任意である。
フィルタ34〜38は、縦/横/斜め連結された3個の有効画素から端部の1画素を無効画素とする。縮退処理に用いるフィルタは一般に、縦、横あるいは斜めなどに連結された複数の有効画素から、少なくとも端部の1画素を無効画素とするものである。縮退処理では、連結された2個の有効画素から1画素を無効画素としても、あるいは縦横斜めに限らず任意の向きに連結された、4個以上の有効画素から端部の1画素もしくは複数画素を無効画素としても良い。
二値化済みの画像に縮退処理を施すのは容易であるが、例えばスムージング後、あるいはエッジ抽出後などの二値化前の画像にも、縮退処理を施すことができる。例えば明度pを二値化の閾値とし、明度がp以下の画素を有効画素とすることを考える。フィルタ34〜38では、対象画素の位置の画素が明度p以下であれば対象画素とし、図の○及び△の位置の画素が明度p以下で有れば有効画素であるとすればよい。すると、縮退と二値化とを一括して処理できる。縮退処理は画素数を減らす点でエッジ抽出と類似の作用を持ち、スムージング後の画像に施しても良い。この場合、エッジ抽出を省略できる。また縮退処理は、縮小後でスムージング前の画像に施しても良い。極端な場合、縮小前の画像に縮退処理を施し、二値化してハフ変換しても良い。この場合、縮小、スムージング、エッジ抽出、孤立点の除去は省略する。
縮退処理により、画像中の直線から求めた傾斜角Aと、文字の行から求めた傾斜角Bとを比較できる。ここで角度A,Bがほぼ一致する場合、角度Aは、画像中にある文字の行と平行あるいは垂直な罫線の向き、下線の向き、あるいは文字の行の向きを表している。一方角度Bは、画像中にある文字の行の向きのみを表している。そして角度Aと角度Bとがほぼ一致する場合、例えば角度Aが表あるいは下線の向きを表していれば、角度Aの方が角度Bよりも意味がある。角度A,Bを比較し、傾斜角を決定するアルゴリズムを図4に示す。
ステップ1で画像を二値化し、ステップ2でハフ変換し、ステップ3で画像中の線分を複数抽出(例えば8本あるいは16本抽出)して線分のセットAとし、ステップ4で画像の傾斜角Aを決定する。一方、二値化した画像をステップ5で縮退処理した後に、ステップ6でハフ変換し、ステップ7で画像中の線分を複数抽出(例えば8本あるいは16本抽出)して線分のセットBとし、ステップ8で画像の傾斜角Bを決定する。ステップ9で角度A,Bがほぼ等しいか否か、例えば差が±1°以内、より広くは±3°以内か否かを判断し、角度A,Bがほぼ等しい場合、角度Aを画像の傾斜角とする(ステップ10)。角度A,Bがほぼ等しくは無い場合、ステップ11,12で、縮退処理を施さなかったものと施したものとで、近似する線分が所定本数以上、例えば3本以上あるかどうかを判断する。近似する線分とは、例えばθの差が1°以内で、ρの差が所定値以内、例えば10画素以内の線分である。
所定本数以上近似する線分がある場合は、縮退処理を施さなかった側での近似する線分の角度から傾斜角を決定する(ステップ13)。ステップ13では、好ましくは縮退処理を施さなかった側から抽出した線分を用い、各線分への投票数を重み等に加味して、角度を決定する。近似する線分があるが所定本数未満の場合は、縮退処理を施さなかった側での近似する線分の角度及び縮退処理を施した側での他の線分から、傾斜角を決定する(ステップ14)。ただし縮退処理を施した側の線分で、近似する線分が縮退処理を施さなかった側に近似する線分があるものは、類似のデータを重ねて使用することを避けるために用いないことが好ましい。またステップ14では、例えば縮退処理を施さなかった側の線分か否かで定まるパラメータと、線分毎の投票数との積を、各線分への重みとし、縮退処理を施さなかった側の線分には例えば2倍〜4倍等の重みをパラメータとして付加する。近似する線分が無い場合は、縮退処理を施さなかった側では図形部分あるいは写真中の斜線を抽出したものとして、角度Bを出力する(ステップ15)。なお角度A,B自体の決定アルゴリズムは図8に示し、ステップ13,14で角度の決定に用いる線分が定まると、図8のアルゴリズムを再度実行する。ここで図4での線分は、図8での(ρ,θ)空間での点に対応する。
実施例では、図8のアルゴリズムに従い、複数の線分から傾斜角を決定することにより信頼性を増すが、1本の線分から傾斜角を決定しても良い。その場合、ステップ11がyesであれば、角度A側(縮退処理を施さなかった側)の例えば1本の線分から傾斜角を決定し、ステップ12,14は不要である。
角度A,Bを求めず、図4のステップ3とステップ7の次に、ステップ11を実行することができる。この場合、図4で、ステップ4,8,9,10,15を省略し、ステップ11でA,Bに近似する線分が無い場合に、始めてステップ8を実行し、角度Bを出力する。
図5は前処理部40の制御アルゴリズムを示す。ステップ21でスキャナ20により画像を読み取り、ステップ22で一定の解像度へ画像を縮小し、これによってハフ変換の処理速度をn2倍に向上させる。ステップ23でスムージングによりノイズを減らし、ステップ24でエッジを抽出して地色の影響などを除き、また白抜き文字なども検出できるようにする。そしてステップ25で二値化し、ステップ26で孤立点を除く。これによって、写真画像中などの孤立点の、傾斜角の検出への影響を小さくできる。なお孤立点の除去は二値化の前に行っても良い。そしてステップ27で縮退処理によりデータを単純化し、特に写真部分及び図形部分の直線を例えば2画素へ単純化する。ステップ27は、ステップ22〜ステップ26のいずれかの前に実行しても良い。
ステップ22〜ステップ27の前処理は、画像のスキャンと同期して行い、またハフ変換部50でのハフ変換、傾斜角検出部60での傾斜角の検出、画像回転部70での傾斜角の補正も、スキャンと同期して行えるようにする。ここに同期とは、これらの処理速度がスキャナ20の読み込み速度以上であることを意味し、このようにすると画像のスキャンと同時にリアルタイムに画像の傾斜を補正できる。
図6はハフ変換部50〜画像回転部70の構造を示し、ハフ変換部50は例えば16個〜32個の実行ユニット51を備えて、ハフ変換を並列に実行する。また縮退処理後の画像と処理前の画像の双方に対して、ハフ変換を施す。実行ユニット51はρ値計算部52とsin及びcosに対するテーブル53とから成る。32個のテーブル53で、0°〜180°をカバーできるように、1個のテーブル53が記憶する角度の範囲は例えば5.625°(180/32)で、角度の刻みは例えば0.176°(180°/1024)などである。ρ値計算部52はテーブル53からsinθ及びcosθの値を読み出し、縮退処理部46及び孤立点除去部45から出力された有効画素の位置(x,y)に対し、ρ値を ρ=xcosθ+ysinθ として計算する。投票テーブル54はθとρの2次元のテーブルで、管理部55は複数の実行ユニット51を管理する。
図7に、ρ値計算部52と投票テーブル54との関係を示す。テーブル54の各点はρとθとの組み合わせを示し、これは線分を表している。仮にρとθとがそれぞれ1024レベルに分割されているものとし、x,yの値が入力されると、θ毎にρの値を計算し、表の該当する位置のデータを1加算する。なおθは180°の範囲を例えば256〜4096レベル、好ましくは1024〜2048レベルに分解し、傾斜角を0.05°〜0.3°、好ましくは0.1°〜0.2°程度の精度で検出できるようにする。またρの分解能は、θの分解能よりも低くても良い。実行ユニット51は例えば32ユニット有り、各ρ値計算部52は32レベル(1024/32)分のθを担当する。その結果、例えば左から3つめのカラムに○で示すように、(ρ,θ)値が投票される。また57はマスクで、テーブル54から有効線(抽出する直線)として抽出済みの点の周囲をマスクし、マスク57の外部から次の有効線が抽出されるようにする。
図6に戻り、有効線抽出部61は投票テーブル54から例えば上位m位の点を抽出する。投票テーブル54で投票数の多い点は、画像での有効線である可能性が高い。そして抽出済みの点の周囲にマスク57を施し、マスク57内からの他の点が抽出されないようにする。候補角抽出部62は、抽出した有効線から傾斜角の候補(k個で例えばm/2個以上)を抽出し、決定部63はこれらの候補角に基づいて傾斜角θdを決定する。決定した傾斜角θdを座標計算部71へ入力し、画像メモリ16の記憶画像の各画素に対し、傾斜補正後の座標(アドレス)を計算する。アドレス生成部72は、傾斜補正前の座標に基づいて、画像メモリ16への読み出しアドレスを生成する。bicubic処理部73は読み出したデータを補間し、傾斜補正後の座標に基づいて、補間後のデータを画像メモリ16へ書き戻す。これらの処理によって、画像メモリ16の画像は、傾斜を補正するように回転する。なお回転には単純なアフィン変換などを用いてもよい。
図8に傾斜角検出部60でのアルゴリズムを示し、投票テーブルから上位m位、例えば16位あるいは8位の(ρ,θ)からなる点を抽出する(ステップ31)。そして抽出済みの点の近傍、例えば1辺が5〜40レベルの正方形からなる近傍をマスクし(ステップ32)、同じ近傍内から2点以上が抽出されないようにする。なお最大投票数の1/2以上の投票数のある(ρ,θ)のみを抽出する。従ってm位目の点の投票数が最大投票数の1/2未満の場合はエラーとし、傾斜角の検出を行わず、画像回転部70は画像を回転させない(ステップ33)。ステップ32,33はステップ31を実行するための補助的な処理である。このようにして、他の点の近傍に入らず、かつ最大投票数の1/2以上の点をm個抽出する。1/2以上は例であり、例えば2/3以上あるいは0.4以上などとしても良い。ステップ31〜33が、有効線抽出部61の処理に対応する。
次に傾斜角の候補を求めるための角度をθxとし、その直交角をφxとする。ここに φxは正または0で、かつ φx=θx+π/2 もしくは φx=θx−π/2 である。δを許容範囲とし、例えばδは1°あるいは0.5°などであり、θx±δ及びφx±δの範囲に入る点(ρ,θ)の個数が最大となるように、θxを決定する。そしてθx±δ及びφx±δの範囲に入る点を出力する(ステップ34)。言い換えると、m個の点に対し、角度θ成分が±δの範囲で一致する点の数が最大となる角度をθxとする。なお単純にθ成分が±δの範囲で一致する点の数を問題とする代わりに、θx±δ及びφx±δの範囲に入る点に対する、投票数の和が最大となるようにしても良い。そしてこれらの点の数kが閾値未満の場合、例えばm/2未満もしくはm/3未満の場合、ステップ35でエラーとする。エラーの場合、傾斜角の検出を行わず、画像回転部70は画像を回転させない。ステップ34,35が、候補角抽出部62の処理に対応する。
ステップ36は決定部63の処理に対応し、ステップ34で求めたk個の点(ρ,θ)に対し、例えばθの単純平均値を傾斜角θdとして出力する。あるいはk個の点でのθの加重平均を用い、重みには投票数viを用いても良い。これらに代えて、k個のθの候補θ1〜θkの中で、投票数viが最大のθを傾斜角θdとしてもよい。ステップ36ではθdを出力し、θdがπ/2を越える場合、θd−π/2、即ちφdを出力する。
図9〜図22に実施例の動作を示す。図9の上部は原稿画像を示し、画像中の文字の列を直線と見なして、その傾斜を検出する。従って実施例の目的は、図9の上部の画像を図9の下部の画像に変換し、これに対するハフ変換を行うことにある。
図10は入力画像(画像メモリ16の画像)を、縮小もスムージングもエッジ抽出も行わずに、直接二値化した例を示し、円でマークしたように、文字以外の写真部分などの黒画素(この場合の有効画素)が多くなり、ハフ変換の負担が増すと共に、写真中の斜線などの影響が強くなり、検出精度が低下する。そこで入力画像をグレースケールで取り扱い、縮小、スムージング、エッジ抽出等の画像処理を施した後に、二値化する。ハフ変換を高速で行うため、入力画像を1/nに縮小し、これによって以降の計算時間を1/n2に減少させる(図11)。
次にスムージングによりノイズを除去し(図12)、エッジを抽出すると図13の画像が得られる。エッジの抽出により、地色の影響が無くなり、また白抜き文字にも対応でき、さらにデータを単純化して、ハフ変換を容易にする。
図14に、エッジの抽出フィルタ80を示す。被処理画像81に対し、フィルタ80を左上側から適用することにより、被処理画像81の下側と右側のエッジ82を抽出する。これによって被処理画像81のエッジ全体を検出する場合に比べ、エッジの量を1/2にできる。以上のように、好ましくは、上下左右4種類のエッジの内で、下と右、下と左、上と右、上と左のように、2種類のエッジを抽出する。エッジ抽出後の画像を二値化すると、図15の画像が得られる。図15の画像から孤立点を除去すると、図16の画像が得られる。なお孤立点の除去は、図13のエッジの画像に対して行っても良い。
図15,図16のように、図形部分の線あるいは写真部分の線が残っていると、傾斜角の誤検出の原因となる。そこで縮退処理を行うと図17の画像が得られ、写真及び図形中の線は孤立点に変換され、文字の列からなる行は保存される。そこで縮退処理後の画像に対しハフ変換を行うことにより、文字の行から成る直線のみを検出できる。ただし図4のステップ10のように、文字の行と向きが揃った表あるいは下線がある場合、表あるいは下線を用いて傾斜角を検出することが好ましい。このため、実装上は縮退処理後の画像と縮退処理前の画像の双方に対し、ハフ変換を行うことが好ましい。
ハフ変換により投票テーブルにデータが蓄積され、投票テーブルから投票数が最大の点のみを単純に取り出すと、誤った検出が行われることがある。図18はこのような例を示し、図18では画像の一部のみを表示するので、「最大投票直線」がどこから抽出されたのか分かり難いが、画像中の写真部分等から抽出されたものである。このため投票数が上位の点を複数抽出する。ここで単純に上位m位までの点を抽出すると、投票テーブル内での近傍の点が複数抽出されることが多い。そこで投票テーブル54から最上位の点を抽出し、抽出した点の近傍をマスクし、次の投票数の点を抽出し、再度その近傍の点を抽出するようにして、上位m位の点を抽出する。ここで抽出した上位m位のうち、最下位の点が最上位の点の例えば1/2以上の投票数を持たない場合、検出をエラーとする。文字から成る行を抽出している場合、最大投票数の点と、上からm位の点とで、投票数に余り大きな差はないはずである。これにもかかわらず大きな差があるのは、最上位の点が図形中の直線部分などである可能性が高い。あるいはまた、上位m位(例えば16位)のうちから、最上位の点に対して所定の割合以上(例えば1/2以上)の投票数を持つ点を抽出し、抽出した点の数が所定値k(例えば4)以下の場合は、エラーとして傾斜角を未検出としても良い。
図20に投票テーブルの状況を模式的に示し、ここでは投票数を明度で表している。そして選択済みの点の近傍を、黒い四角形のマスクで覆っている。図20では上位8点を抽出済みである。
抽出された上位m位の点に対し、傾斜角を決定する。この手続を図21,図22に模式的に示し、ここではmは例えば8とする。文字の行を検出している場合、文字ブロックの上下の列も同時に検出できるので、傾斜角θdと、その直交角φdとに意味がある。また候補を抽出する際の許容誤差をδ(0.5°あるいは1°程度)とし、角θx±δと φx±δの範囲内に入る点の数kが最大となるように、θxを決定する。ここでどの角度に対してもkの値が閾値(例えばm/2)未満の場合、例えばエラーとする。閾値以上の点を含む角θxが得られた場合、含まれる点の角度の単純加算平均、あるいは加重平均などにより、候補角を決定する。これは図8のステップ36の処理である。
以上のようにして傾斜角θdを例えば±0.1°程度の精度で決定すると、画像回転部70により画像を回転させて傾斜を補正する。画像の回転自身は単純な処理であり、例えばスキャンと同期して実行できる。
実施例では傾斜角の回転と補正とを複合機2の内部で行う例を示したが、パーソナルコンピュータ6などで行っても良い。その場合、実施例の画像処理プログラムをパーソナルコンピュータなどの情報処理装置で実行すると、情報処理装置はこの発明の画像処理装置となる。
本の見開きの傾斜を検出する場合、例えばスキャン前に原稿の種類が見開きであることを入力すると、左右別々の傾斜角を検出できる。あるいは入力画像を左右に分割して、傾斜角を求め、左右の傾斜角が異なると、見開きの画像であると推定しても良い。
2 複合機
4 LAN
6 パーソナルコンピュータ
8 ルータ
10 インターネット
12 LANインターフェース
14 バス
16 画像メモリ
18 メモリ
20 スキャナ
22 プリンタ
24 G3ファクシミリ部
26 e-mail部
28 ネットワークサーバ部
30 ユーザインターフェース
32 画像処理部
34〜38 フィルタ
40 前処理部
41 縮小処理部
42 スムージング部
43 エッジ抽出部
44 二値化部
45 孤立点除去部
46 縮退処理部
50 ハフ変換部
51 実行ユニット
52 ρ値計算部
53 テーブル
54 投票テーブル
55 管理部
56 データ
57 マスク
60 傾斜角検出部
61 有効線抽出部
62 候補角抽出部
63 決定部
70 画像回転部
71 座標計算部
72 アドレス生成部
73 bicubic処理部
80 フィルタ
81 被処理画像
82 エッジ

Claims (7)

  1. 入力画像の傾斜角を決定する装置であって、
    入力画像を有効画素と無効画素とに二値化する二値化部と、
    前記二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換するためのフィルタを備え、線分を点へと単純化する縮退処理を入力画像に施すための縮退処理部と、
    縮退処理後の画像をハフ変換するハフ変換部と、
    ハフ変換により抽出した線分の向きから入力画像の傾斜角を決定する傾斜角決定部、とを備えたことを特徴とする画像処理装置。
  2. 前記ハフ変換部と傾斜角決定部を、縮退処理を施した入力画像にハフ変換を施して第1の傾斜角を決定し、かつ縮退処理を施さなかった入力画像にハフ変換を施して第2の傾斜角を決定するように構成すると共に、
    第1の傾斜角と第2の傾斜角との比較部を設けて、差が所定範囲内の場合は第2の傾斜角を入力画像の傾斜角とし、差が所定範囲外の場合は第1の傾斜角を入力画像の傾斜角とするように構成したことを特徴とする、請求項1の画像処理装置。
  3. 前記差が前記所定範囲外の場合、
    縮退処理を施した入力画像からハフ変換により抽出した第1の線分群と、縮退処理を施さなかった入力画像からハフ変換により抽出した第2の線分群との間に、傾きが近似した線分がない場合は、前記第1の傾斜角を入力画像の傾斜角とし、
    前記第1の線分群と第2の線分群の間に、傾きが近似した線分がある場合は、少なくとも第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分の傾きに基づいて、入力画像の傾斜角を決定するように、
    前記傾斜角検出部を構成したことを特徴とする、請求項2の画像処理装置。
  4. 前記ハフ変換部は、縮退処理を施した入力画像から第1の線分群を抽出すると共に、縮退処理を施さなかった入力画像から第2の線分群を抽出し、
    前記傾斜角検出部は、少なくとも第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分の傾きに基づいて、入力画像の傾斜角を決定することを特徴とする、請求項1の画像処理装置。
  5. 前記傾斜角検出部は、第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分が所定本数以上有る場合は、該所定本数以上の線分の傾きに基づいて入力画像の傾斜角を決定し、第2の線分群の線分で、第1の線分群に傾きが近似するものがある線分が所定本数未満の場合は、前記所定本数未満の線分に第1の線分群の線分を加えた線分群の傾きに基づいて入力画像の傾斜角を決定することを特徴とする、請求項4の画像処理装置。
  6. 入力画像の傾斜角を決定する方法であって、
    入力画像を有効画素と無効画素とに二値化するステップと、
    前記二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換することにより、線分を点へと単純化する縮退処理を入力画像に施すステップと、
    縮退処理後の画像をハフ変換するステップと、
    ハフ変換により抽出した線分の向きから入力画像の傾斜角を決定するステップ、とを備えたことを特徴とする画像処理方法。
  7. 情報処理装置により入力画像の傾斜角を決定するために、
    前記情報処理装置を、
    入力画像を有効画素と無効画素とに二値化する二値化部と、
    前記二値化した入力画像中の互いに連結された有効画素を端部から無効画素に置換するためのフィルタを備え、線分を点へと単純化する縮退処理を入力画像に施すための縮退処理部と、
    縮退処理後の画像をハフ変換するハフ変換部と、
    ハフ変換により抽出した線分の向きから入力画像の傾斜角を決定する傾斜角決定部、として機能させる、画像処理プログラム。
JP2009093222A 2009-04-07 2009-04-07 画像処理装置と処理方法、及び処理プログラム Active JP5477542B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009093222A JP5477542B2 (ja) 2009-04-07 2009-04-07 画像処理装置と処理方法、及び処理プログラム
PCT/JP2010/050876 WO2010116774A1 (ja) 2009-04-07 2010-01-25 画像処理装置と処理方法、処理プログラム、及び記憶媒体
US13/258,553 US8682080B2 (en) 2009-04-07 2010-01-25 Image processing apparatus, image processing method, image processing program, and storage medium
CN2010800047830A CN102282588A (zh) 2009-04-07 2010-01-25 图像处理装置、处理方法、处理程序及存储介质
DE112010001320T DE112010001320T5 (de) 2009-04-07 2010-01-25 Bildverarbeitungsvorrichtung, Bildverarbeitungsverfahren, Bilderverarbeitungsprogramm und Speichermedium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009093222A JP5477542B2 (ja) 2009-04-07 2009-04-07 画像処理装置と処理方法、及び処理プログラム

Publications (2)

Publication Number Publication Date
JP2010244354A JP2010244354A (ja) 2010-10-28
JP5477542B2 true JP5477542B2 (ja) 2014-04-23

Family

ID=43097301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009093222A Active JP5477542B2 (ja) 2009-04-07 2009-04-07 画像処理装置と処理方法、及び処理プログラム

Country Status (1)

Country Link
JP (1) JP5477542B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068883B1 (ja) * 2011-12-28 2012-11-07 パナソニック株式会社 画像処理装置およびこれを備えた原稿読取システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4219542B2 (ja) * 2000-09-07 2009-02-04 富士ゼロックス株式会社 画像処理装置、画像処理方法および画像処理プログラムが格納された記録媒体
JP2002228423A (ja) * 2001-01-31 2002-08-14 Matsushita Electric Ind Co Ltd タイヤ検出方法および装置

Also Published As

Publication number Publication date
JP2010244354A (ja) 2010-10-28

Similar Documents

Publication Publication Date Title
WO2010116774A1 (ja) 画像処理装置と処理方法、処理プログラム、及び記憶媒体
EP2288135B1 (en) Deblurring and supervised adaptive thresholding for print-and-scan document image evaluation
US8559748B2 (en) Edge detection
JP4358193B2 (ja) 画像対象の自動切抜き方法
US10475167B2 (en) Method and device for image rotation, and apparatus for image formation
RU2631765C1 (ru) Способ и система исправления перспективных искажений в изображениях, занимающих двухстраничный разворот
US8218890B2 (en) Method and apparatus for cropping images
KR20100095382A (ko) 화상형성장치 및 이미지 모자이크 생성 방법
US20100329576A1 (en) Method for detecting alterations in printed document using image comparison analyses
JP4419269B2 (ja) 二次元コード抽出方法
JP5042917B2 (ja) 画像処理装置およびプログラム
US20040062455A1 (en) Method for determining skew angle and location of a document in an over-scanned image
JP3698136B2 (ja) 画像処理装置および画像処理プログラム
US8064636B2 (en) Image processing apparatus and method of controlling the same
JP5477542B2 (ja) 画像処理装置と処理方法、及び処理プログラム
JP4208520B2 (ja) 画像処理装置および画像処理方法、プログラムおよび記憶媒体
JP5477541B2 (ja) 画像処理装置と処理方法、及び処理プログラム
JP4679953B2 (ja) 紙葉類の損券判定装置、損券判定方法及び損券判定プログラム
JP2007189577A (ja) コンピュータプログラム、画像入力装置、画像入力システムおよび画像入力方法
JP2010244351A (ja) 画像処理装置と処理方法、及び処理プログラム
US9886648B2 (en) Image processing device generating arranged image data representing arranged image in which images are arranged according to determined relative position
JP2010244353A (ja) 画像処理装置と処理方法、及び処理プログラム
KR100350854B1 (ko) 이진 영상 회전 시스템 및 그 방법
CN107680046A (zh) 影像矫正方法、装置、存储介质和计算机设备
JP2007328652A (ja) 画像処理装置および画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140128

R150 Certificate of patent or registration of utility model

Ref document number: 5477542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250