(57)【要約】【課題】傾いた（回転した）状態で取り込まれている、画素値が濃度か輝度かが不明な文書画像の傾き（回転）角度を、高速に検出する。【解決手段】ｘ−ｙ平面上にある入力画像データに対し、２値化しきい値を選定し、この値を基準とした上位、下位の画素数から入力画像データの画素値が濃度か輝度かの判定を行う。また、２値化しきい値を基に画像の背景部分を決定し、背景部分を除いた対象物に対応する画素について画素値が濃度、輝度の場合に応じた加算画素値を設定し、各画素の（ｘ，ｙ）座標と設定した加算画素値から、ラドン変換、或いはハフ変換と呼ばれる、（角度、距離）座標へのパラメータ変換を実行し、直線性が抽出しやすい、角度・距離パラメータ表を作成する。この角度・距離パラメータ表の中から、直線が集中している角度を、画像の傾き（回転）角度として検出する。背景部分を除くことで、性能を下げずに処理速度を高速にしている。【選択図】        図１
2004310292.tif 000002
【特許請求の範囲】
【請求項１】
処理対象である２値、あるいは、多値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、当該画像の画素値が濃度であるか輝度であるかを判定するステップと、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算するステップと、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行うステップと、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出するステップとを備えた、画像検査方法。
【請求項２】
処理対象である多値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、２値化しきい値を選定するステップと、
前記２値化しきい値を基準として計算される下位画素数と上位画素数から、当該画像の画素値が濃度であるか輝度であるかを判定するステップと、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算するステップと、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行うステップと、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出するステップとを備えた、画像検査方法。
【請求項３】
処理対象である２値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、画素値が０の画素数と１の画素数から、当該画像の画素値が濃度であるか輝度であるかを判定するステップと、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算するステップと、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行うステップと、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出するステップとを備えた、画像検査方法。
【請求項４】
処理対象である２値、あるいは、多値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、当該画像の画素値が濃度であるか輝度であるかを判定する手段と、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算する手段と、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行う手段と、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出する手段とを備えた、画像検査装置。
【請求項５】
処理対象である多値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、２値化しきい値を選定する手段と、
前記２値化しきい値を基準として計算される下位画素数と上位画素数から、当該画像の画素値が濃度であるか輝度であるかを判定する手段と、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算する手段と、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行う手段と、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出する手段とを備えた、画像検査装置。
【請求項６】
処理対象である２値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、画素値が０の画素数と１の画素数から、当該画像の画素値が濃度であるか輝度であるかを判定する手段と、当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算する手段と、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行う手段と、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出する手段とを備えた、画像検査装置。
【請求項７】
処理対象である２値、あるいは、多値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、当該画像の画素値が濃度であるか輝度であるかを判定するステップと、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算するステップと、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行うステップと、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出するステップとを実行する画像検査プログラム。
【請求項８】
処理対象である多値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、２値化しきい値を選定するステップと、
前記２値化しきい値を基準として計算される下位画素数と上位画素数から、当該画像の画素値が濃度であるか輝度であるかを判定するステップと、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算するステップと、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行うステップと、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出するステップとを実行する画像検査プログラム。
【請求項９】
処理対象である２値の画像がｘ−ｙ画像平面上にあり、当該画像の画素値が濃度か輝度かが未知であるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標上の画素値から、画素値が０の画素数と１の画素数から、当該画像の画素値が濃度であるか輝度であるかを判定するステップと、
当該画像の画素値が濃度であるか輝度であるかに応じて、画素値を変更して得られる、加算を行うための加算画素値を計算するステップと、
当該画像の背景に当たる部分を除いた部分の座標点（ｘ，ｙ）の各々に対し、一定間隔で取った複数の角度θから、式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算し、得られた複数の（θ，ρ）ペアをパラメータ平面上の（角度，距離）座標とし、前記加算画素値をパラメータ平面上に加算して角度・距離パラメータ表を作成するパラメータ変換処理を行うステップと、
最終的に求められた前記角度・距離パラメータ表から、直線が集中している角度を見つけることにより、当該画像の傾き（回転）角度を検出するステップとを実行する画像検査プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータに取り込まれた文書画像の、傾き（回転）角度を検出する検査方法、及び、検査装置、並びに、検査プログラムに関する。
【０００２】
【従来の技術】
文書をスキャナ（走査装置）で取り込んだとき、文書原稿が傾いた（回転した）状態で入力されたり、文書原稿に書かれている文字列自体が傾いて（回転して）いると、入力された文書は、見苦しいだけでなく、画像を圧縮する場合の圧縮率の低下や、文字認識処理を行うときの誤認識の原因にもなりうる。従って、文字列の並びを、水平、あるいは、垂直にしておくことが必要である。そのために、文字列の並びが、水平、あるいは、垂直から傾いて（回転して）いる角度を検出し、その角度分、文書画像全体を逆に回転させることにより、文字列の並びを水平、あるいは、垂直にすることができる。
【０００３】
文書内の画像情報から直線性を検査する方法として、パラメータ変換処理による方法がある。まずは、このパラメータ変換処理の原理を図５、図６で説明する。
図５のｘ−ｙ画像平面上に、入力画像データｇ（ｘ，ｙ）があるとする。（ｘ，ｙ）は各画素の位置座標を示し、ｇ（ｘ，ｙ）が入力画像データの（ｘ，ｙ）座標上の画素値を示す。ｘ−ｙ画像平面上にある直線ｌ（エル）は、式（１）で表すことができる。
【０００４】
ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）                ……（１）
ここで、基準点（ここでは、原点（０，０））から直線ｌにおろした垂線をｖ（ヴイ）とすると、ρ（ｒｈｏ  ロー）は垂線ｖの長さ、θ（ｔｈｅｔａ  シータ）（単位はｒａｄｉａｎ  ラジアン）はｘ軸とのなす角度となる。この式（１）を使い、パラメータ変換処理を行うことで、図５のｘ−ｙ画像平面から図６の角度・距離パラメータ平面への対応付けが行われる。このパラメータ変換処理は、次のようにして行う。
【０００５】
図５の各点（ｘ，ｙ）に対し、角度θを一定刻みで変化させ、各θとそのθで式（１）を計算したρのペアを求める。θとρのペアは、角度・距離パラメータ表の座標（θ，ρ）に対応する。求められた全てのθ−ρのペアで示される角度・距離パラメータ表Ｓ（θ，ρ）に、（ｘ，ｙ）座標上の画素値ｇ（ｘ，ｙ）を加算する。ただし、背景に対し、直線上の画素値は値が大きいものとする。例えば、図５の点ｐ１（ｘ１，ｙ１）について、この処理を行うことにより、Ｓ（θ，ρ）の値が大きい点を表示すると、図６の正弦曲線ｐ１になる。これをｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）について行うことにより、画像全体、あるいは、部分画像に対する、画素値の累積加算値である、角度・距離パラメータ表Ｓ（θ，ρ）が求まる。ｘ−ｙ画像平面上にある入力画像が、図５の直線ｌ上の点ｐ１（ｘ１，ｙ１）、ｐ２（ｘ２，ｙ２）、ｐ３（ｘ３，ｙ３）からなる場合、角度・距離パラメータ平面上では、３本の正弦曲線が現れ、それぞれ、図６の正弦曲線ｐ１、ｐ２、ｐ３に対応し、これら３つの曲線は図６の点ｌで交差する。図６のこの交差点ｌの座標値（θ，ρ）は、基準点からの長さがρでｘ軸に対する角度がθとなる垂線に垂直な、図５の直線ｌを示しており、図５で直線上にある点が多いほど、図６の座標（θ，ρ）での交差回数が多いため、交差点での累積加算値は大きくなる。従って、累積加算値Ｓ（θ，ρ）の値が大きい座標点（θ，ρ）を見つけることにより、角度・距離パラメータ平面上での座標点（θ，ρ）で示される、ｘ−ｙ画像平面上での直線の存在を検出することができる。このパラメータ変換処理は、ラドン（Ｒａｄｏｎ）変換、あるいは、ハフ（Ｈｏｕｇｈ）変換と呼ばれている。
【０００６】
パラメータ変換処理が以上のような方法であることから、検出される直線は実線だけでなく、つながりが途切れている破線に対してもその直線性を検出することができる。文字が規則正しく並んだ文書を見ると、人間は文字列方向に平行な直線を知覚する。知覚される直線は、各文字を構成する線分が破線状に並んでいるかのように見られる。このことから、文書画像に対しパラメータ変換処理を行うことで、文字が規則正しく並んでいる文書の直線方向を検出することができる。
このパラメータ変換処理を利用し、文書画像の傾き（回転）角度を検出する、従来技術の具体例として、「特願２００１−２６４８２４」があり、この方法を図４で説明する。
【０００７】
画像６を画像入力処理１０１により入力して、入力画像データｇ（ｘ，ｙ）１０２を得る。入力画像データ１０２の位置座標（ｘ，ｙ）と画素値ｇ（ｘ，ｙ）から、パラメータ変換処理３０１により、濃度としての角度・距離パラメータ表Ｓ（θ，ρ）３０２とカウンタ表Ｃ（θ，ρ）３０３を作成する。ここでは、前述の式（１）を使用してρを計算する。角度・距離パラメータ表には画素値ｇ（ｘ，ｙ）を加算するのに対し、このカウンタ表には１を加算する。
【０００８】
ここで、画像の濃度と輝度の関係を述べておく。画像データは、画面の多くを占める背景があり、その背景の中に対象物が存在すると見られる場合が多い。特に線図形や文字がある画像では、その区別が明確である。対象物と背景との観点から、入力された画像の画素値に対して、次の２種類の意味付けができる。画素値が大きいとき対象物に対応し、画素値が小さいとき背景に対応する場合、このとき、画素値は濃度を示しているとされる。逆に、画素値が小さいとき対象物に対応し、画素値が大きいとき背景に対応する場合、このとき、画素値は輝度を示しているとされる。
【０００９】
濃度と輝度とは、このように値が逆の関係にあり、取り得る最大画素値をＭとするとｇ（ｘ，ｙ）を輝度値としたとき、式（２）により、濃度値ｇ’（ｘ，ｙ）を求めることができる。ビット数が８の多値画像では、画素値が０から２５５であり、Ｍ＝２５５となる。ビット数が１の２値画像では、Ｍ＝１となる。
ｇ’（ｘ，ｙ）＝Ｍ−ｇ（ｘ，ｙ）                      ……（２）
【００１０】
図４の従来技術においては、入力画像データ１０２の画素値が、濃度であるか輝度であるか、未知の場合を考えており、パラメータ変換処理３０１は、画素値が仮に濃度であるとして、濃度としての角度・距離パラメータ表３０２を作成している。入力画像データの画素値が輝度であった場合も考慮し、式（２）で反転させた画素値に対しても、パラメータ変換処理を行い、輝度としての角度・距離パラメータ表を作成する必要がある。しかし、ここで行うパラメータ変換処理は、処理量が非常に多いため、濃度と輝度について２回、パラメータ変換処理をすることは避けたい。
【００１１】
図４において、パラメータ表反転処理３０４により、濃度としての角度・距離パラメータ表３０２とカウンタ表３０３から、輝度としての角度・距離パラメータ表３０５を作成する。
Ｓ（θ，ρ）を濃度としての角度・距離パラメータ表とすると、式（３）により、輝度としての角度・距離パラメータ表Ｔ（θ，ρ）が求まり、これは、パラメータ変換処理を１回実行するだけで、濃度と輝度に対する２つの角度・距離パラメータ表を作成する方法を示している。
Ｔ（θ，ρ）＝Ｍ・Ｃ（θ，ρ）−Ｓ（θ，ρ）          ……（３）
【００１２】
次に、画素値を濃度として見た場合と輝度として見た場合の角度・距離パラメータ表Ｓ（θ，ρ）とＴ（θ，ρ）から、それぞれについて、最大直線集中度検出処理３０６により、濃度としての最大直線集中度３０７と輝度としての最大直線集中度３０８を検出する。濃度・輝度判定処理３０９により、濃度としての最大直線集中度３０７と輝度としての最大直線集中度３０８から、濃度・輝度判定情報１１２を得る。最後に、傾き（回転）角度検出処理３１０により、濃度・輝度判定情報１１２と、濃度としての角度・距離パラメータ表３０２、あるいは、輝度としての角度・距離パラメータ表３０５から、傾き（回転）角度１１６を検出する。
【００１３】
【発明が解決しようとする課題】
図４の従来技術では、カウンタ表を用いることにより、処理量が多いパラメータ変換処理の実行回数を１回で済ませている。しかし、そのパラメータ変換処理の処理量の多さは、「入力画像データの処理画素数」×「角度θの個数」回、式（１）を実行しなければならないことにある。
そこで、本発明は、係る問題点を解決するため、パラメータ変換処理の実行回数である「入力画像データの処理画素数」×「角度θの個数」のうち、「入力画像データの処理画素数」を、傾き（回転）角度検出の性能を落とさずに減らすことにより、実行時間を短くすることを目的としている。
【００１４】
【課題を解決するための手段】
パラメータ変換処理の処理時間を短くするためには、入力画像データの処理画素数と角度θの個数を減らせばよい。ただし、角度θの個数を減らすことは、検出すべき傾き（回転）角度の精度を下げることであり、検出性能を悪くすることになる。従って、パラメータ変換処理を実行するときの入力画像データの処理画素数を、検出性能を下げずに、減らすことができればよい。
【００１５】
入力画像の処理画素数を減らす方法として、処理する画素を１画素、２画素、あるいは、数画素おきに間引きすることは、よく使われる方法である。ｘ，ｙ方向共１画素おきで１／４、２画素おきで１／９に処理量を減らすことができる。ただし、間引き間隔を大きくし過ぎると、処理に必要な情報まで省いてしまうおそれがある。この方法に加え、更に処理画素数を減らす方法が本発明である。
対象とする文書画像が多値の場合を考える。文書画像の例が図７であり、図８が図７の各画素値（ｐｉｘｅｌ  ｖａｌｕｅ）の頻度（ｆｒｅｑｕｅｎｃｙ）をグラフにした画素値ヒストグラムである。図８において、画素値５０付近で高い頻度を示す部分が図７の文書の背景部分であり、それより高い画素値を持つ画素が対象物となる文字部分である。この背景部分は、パラメータ変換処理に不要な情報であることから、これを除くことができ、従って、性能を落とさずに処理画素数を減らすことができる。
【００１６】
図４の従来技術では、入力画像が濃度か輝度か不明のままパラメータ変換処理３０１を行い、濃度としての角度・距離パラメータ表３０２と輝度としての角度・距離パラメータ表３０５を求め、２つの角度・距離パラメータ表から、濃度か輝度かの判定を行っている。１回のパラメータ変換処理で、２つの角度・距離パラメータ表を作成するためには、入力画像データの全画素数を処理することが必要であり、これが式（３）を成立させるための条件となる。しかし、改良したいことは、処理する画素数を減らすことであり、間引きではない方法で処理画素数を減らす方法では、１回のパラメータ変換処理で２つの角度・距離パラメータ表を作成することが不可能になる。従って、本発明においては、パラメータ変換処理を行う前に、入力画像データの画素値が濃度であるか輝度であるかの判定を行う。
【００１７】
まず、入力画像データの２値化しきい値ｋを選定する。図７の例では、図８で表されているように、しきい値（ｔｈｒｅｓｈｏｌｄ）は１１３であった。画像の背景部分は対象物より多くの部分を占めているのが普通であることから、２値化しきい値以下の画素値の頻度ｎｌと２値化しきい値を超える画素値の頻度ｎｕを比較し、ｎｌ≦ｎｕのときは濃度、ｎｌ＞ｎｕのときは輝度であると判定する。図８においては、ｎｌ≦ｎｕであることから、濃度と判定される。場合によって、ｋ−α以下の画素値の頻度をｎｌ、ｋ＋β以上の画素値の頻度をｎｕとする濃度・輝度判定方法もある。
【００１８】
入力画像データの画素値が濃度であるか輝度であるかが分かれば、濃度の場合は画素値が小さい部分を背景、輝度の場合は画素値が大きい部分を背景として、パラメータ変換処理で背景部分を除いて処理することにより、処理時間を短くすることができる。画素値が濃度を示している場合、背景と対象物を分ける境目に２値化しきい値ｋそのものを使い、２値化しきい値ｋより小さい画素値の画素を全て背景部分とすれば、処理量を大きく減らすことができる。しかし、画像によっては２値化しきい値の選定に失敗することがあるため、本発明においては、２値化しきい値選定の失敗に対処できるよう、画素値が濃度の場合は２値化しきい値からある値γ（ｇａｍｍａ  ガンマ）以下を背景部分に、画素値が輝度の場合は２値化しきい値からある値γ以上を背景部分とする方法を取る。次のように、対象物の下限画素値をｋｌ＝ｋ＋１−γ、上限画素値をｋｕ＝ｋ＋１＋γとして、２値化しきい値ｋを中心とする画素値の範囲を対象物の画素値として設定する。入力画像データの画素値が濃度を示していれば、上限画素値は無くても構わないが、上限画素値を設けるのは、輝度であった場合に必要となるからでもある。γの値は、固定値とする方法や、画像に応じて変化させる方法がある。画像に応じて変化させる方法では、γとして画素値ヒストグラムの分布の広がりに応じた値を取る方法がある。この方法は、画素値ヒストグラムの分布において、その全分散の平方根である標準偏差をσ（ｓｉｇｍａ  シグマ）とし、そのＤ倍を取って、γ＝Ｄ・σとするものである。Ｄは１倍、０．５倍、２倍などとすることができ、値が小さいほど処理画素数を少なくすることができるが、あまり小さくし過ぎると、情報を失って、傾き（回転）角度検出処理の性能を悪化させてしまうおそれがある。図８の場合、標準偏差が５７であり、γを標準偏差の１倍とすると、画素値が１１３−５７＝５６以下を背景部分と見なすことになる。従って、対象物の下限画素値ｋｌ（ｌｏｗｅｒ  ｌｉｍｉｔ）は５７（＝５６＋１）となる。この場合、背景部分を除くことで、処理量は約１／３．５になる。
【００１９】
パラメータ変換処理を実行する場合に加算する加算画素値ｐは、濃度の場合、入力画像データの画素値ｇがｋｌ未満のときはｐ＝０、ｋｌ以上のときはｐ＝ｇ−ｋｌ＋１に、輝度の場合、ｇがｋｕを超えるときはｐ＝０、ｋｕ以下のときはｐ＝ｋｕ−ｇ＋１にする。以上の設定に加え、濃度の場合のｇがｋｕを超えるときと、輝度の場合のｇがｋｌ未満のときに、加算画素値をｐ＝ｋｕ−ｋｌ＋１にする方法もある。
【００２０】
次に、入力画像データが２値の場合を考える。画素値が０の画素数をｎｌ、１の画素数をｎｕとし、入力画像データが多値の場合と同様に、濃度・輝度の判定を行う。濃度の場合（ｎｌ≦ｎｕ）は、パラメータ変換処理において、入力画像データの画素値ｇが１の画素についてのみ処理を行い、そのときの加算画素値を１とする。輝度の場合（ｎｌ＞ｎｕ）は、画素値ｇが０の画素についてのみ処理を行い、そのときの加算画素値を１とする。２値画像データでは、画素値０は背景、１が対象物とするのが普通であるが、本発明では、処理画素数を減らす目的で、単純に、画素数が多い方を背景、少ない方を対象物とする。
【００２１】
入力画像データが多値の場合、２値の場合、どちらも、前述の方法で、濃度・輝度の判定を行い、濃度・輝度の判定情報、及び、下限画素値と上限画素値から、入力画像データの画素値に対して加算画素値を決定し、加算画素値が０である画素を処理対象からはずして、角度・距離パラメータ表に加算画素値を加算する処理を行う。最終的にできた角度・距離パラメータ表から、直線性が高い角度を調査し、入力画像の傾き（回転）角度を検出する方法が本発明である。
【００２２】
【発明の実施の形態】
以下で、入力画像が多値の場合の、本発明に基づく、処理画素数を減らした処理方法を図１で例示する。
画像６を画像入力処理１０１により入力し、入力画像データｇ（ｘ，ｙ）１０２を得る。２値化しきい値選定処理１０３により、入力画像データ１０２から２値化しきい値（ｋ）１０４、及び、標準偏差（σ）１０５を求める。対象物画素値範囲設定処理１０６により、２値化しきい値（ｋ）１０４から、下位画素数（ｋ以下の画素数）（ｎｌ）１０７と上位画素数（ｋを超える画素数）（ｎｕ）１０８、及び、下限画素値（ｋｌ）１０９と上限画素値（ｋｕ）１１０を計算する。下限画素値（ｋｌ）１０９と上限画素値（ｋｕ）１１０は、ｋｌ＝ｋ＋１−Ｄ・σ、ｋｕ＝ｋ＋１＋Ｄ・σとする。ただし、Ｄは定数。濃度・輝度判定処理１１１により、下位画素数（ｎｌ）１０７と上位画素数（ｎｕ）１０８から、ｎｌ≦ｎｕのときは濃度、ｎｌ＞ｎｕのときは輝度、という濃度・輝度判定情報１１２を得る。
【００２３】
パラメータ変換処理１１３により、濃度・輝度判定情報１１２と下限画素値（ｋｌ）１０９、上限画素値（ｋｕ）１１０、及び、入力画像データｇ（ｘ，ｙ）１０２から角度・距離パラメータ表１１４を作成する。
傾き（回転）角度を検出する場合、垂直付近のみ、水平付近のみ、あるいは、垂直・水平両方を使って、直線性を検査する方法がある。従って、これらに対処できるよう、作成する角度・距離パラメータ表は、垂直付近と水平付近検査用に２つ作成することにする。
【００２４】
角度をθ（単位  ｒａｄｉａｎ  ラジアン）の代わりにａｉ（単位  ｄｅｇｒｅｅ  度）を使い、垂直付近、水平付近の角度・距離パラメータ表を、それぞれ、Ｓｖ（ａｉ，ρｊ）、Ｓｈ（ａｉ，ρｊ）とする。ただし、Ｎａを角度の分割個数とすると、ｉ＝０，  １，  ２，  ．．．  ，  Ｎａ−１  である。
なお、ρｊを実数値のまま計算機で処理しようとすると、使用メモリが膨大になるため、量子化しておく必要があり、距離に関して一定範囲の区画を作って量子化し、各区画には番号ｊを付ける。この距離に関する区画の個数をＮｒとすると、ｊ＝０，  １，  ２，  ．．．  ，  Ｎｒ−１  である。距離を量子化するのは、実数値のままでは使用メモリが膨大になるのを防ぐためだけではなく、直線性を検出するために累積加算値をある程度大きくする必要があるからでもある。
【００２５】
文書の傾き（回転）角度を検出する場合、通常であれば、角度の範囲ａｉは０．１度（ｄｅｇｒｅｅ）刻みで−５〜５度位あれば充分と考えられる。この場合、Ｎａ＝１０１となる。ａｉからθへの変換は、式（４）で行える。
θ＝ａｉ・π／１８０                                  ……（４）
【００２６】
このパラメータ変換処理では、まず、角度・距離パラメータ表への加算画素値ｐを計算する。入力画像の画素値ｇが濃度の場合、ｇ＜ｋｌのときｐ＝０、ｇ≧ｋｌのときｐ＝ｇ−ｋｌ＋１とし、輝度の場合、ｇ＞ｋｕのときｐ＝０、ｇ≦ｋｕのときｐ＝ｋｕ−ｇ＋１とする。ｐ＝０のときは、角度・距離パラメータ表への加算処理は行わず、ｐ＞０なるすべてのｇ（ｘ，ｙ）に対し、座標（ｘ，ｙ）と指定した全ての角度ａｉについて、式（４）と式（１）を計算して角度ａｉと距離ρｊのペアで示される（ａｉ，ρｊ）座標を求め、その座標に対する角度・距離パラメータ表Ｓｖ（ａｉ，ρｊ）とＳｈ（ａｉ，ρｊ）へｐの値を加算して行く。
【００２７】
最後に、図１の傾き（回転）角度検出処理１１５によって、パラメータ変換処理１１３で最終的に作成された角度・距離パラメータ表１１４から、直線が集中している角度を検出することにより、傾き（回転）角度１１６を検出する。
この傾き（回転）角度検出処理１１５では、垂直付近の角度・距離パラメータ表Ｓｖ（ａｉ，ρｊ）と水平付近の角度・距離パラメータ表Ｓｈ（ａｉ，ρｊ）について、直線が集中している角度ａｉを検査する。このとき、片方だけを使って検査する方法と、両方を使う方法とがあり、両方を使う場合も、垂直と水平の直線性が高い方の角度ａｉを採用する方法と、垂直と水平の平均の直線性が高い角度ａｉを採用する方法とがある。以下では、片方だけを使って検査する方法で説明を行うことにし、角度・距離パラメータ表をＳ（ａｉ，ρｊ）とする。また、角度ａｉのみについての角度・距離パラメータ表をＳａ（ｊ）、Ｓａ（ｊ）を大きい順に並べ変えたものをＳｓ（ｊ）とする。ただし、ｊ＝０，  １，  ．．．  Ｎｒ−１。
傾き（回転）角度検出処理において、まず、各角度ａｉについて、直線が集中している度合いとして、直線集中度Ｃを計算する。この直線集中度を計算する方法には、次のようなものがある。また、下記の方法を組み合わせた方法も考えられる。
【００２８】
（ａ）直線集中度を、Ｓｓ（ｊ）の上位Ｎｍ個の和とする方法。これは、Ｃ＝Ｃａ＝ΣＳｓ（ｊ）で計算され、Ｃａが大きいほど直線性が高いとされる。ただし、ｊ＝０，  １，  ．．．，  Ｎｍ−１。
（ｂ）直線集中度を、Ｓｓ（ｊ）の分散とする方法。これは、ｖ（ｊ）＝｛０，  １，  −１，  ２，  −２，  ．．．  ｝とすることにより、Ｃ＝Ｃｂ＝ΣＳｓ（ｊ）・｛ｖ（ｊ）−μｓ｝＊＊２  で計算され、Ｃｂが小さいほど直線性が高いとされる。ただし、μｓ＝Σｖ（ｊ）・Ｓｓ（ｊ）／Ｎｒ、ｊ＝０，  １，  ．．．，  Ｎｒ−１。
（ｃ）直線集中度を、前記Ｃｂを前記Ｃａで割った値とする方法。Ｃ＝Ｃｃ＝Ｃｂ／Ｃａで計算され、Ｃｃが小さいほど直線性が高いとされる。
（ｄ）直線集中度を、前記Ｃｂを前記Ｃａの２乗で割った値とする方法。Ｃ＝Ｃｄ＝Ｃｂ／｛Ｃａ｝＊＊２  で計算され、Ｃｄが小さいほど直線性が高いとされる。
（ｅ）直線集中度を、Ｓａ（ｊ）の隣りとの値の差の総和とする方法。これは、Ｃ＝Ｃｅ＝Σ｜Ｓａ（ｊ＋１）−Ｓａ（ｊ）｜で計算され、Ｃｅが大きいほど直線性が高いとされる。ただし、ｊ＝１，  ２，  ３，  ．．．  ，  Ｎｒ−１。
【００２９】
各角度ａｉについて、以上のような直線集中度を計算し、直線集中度が最も高い値を取る角度ａｉを、入力画像データの傾き（回転）角度として出力する。以上が、入力画像データが多値の場合における、本発明による、傾き（回転）角度を検出する方法である。
【００３０】
次に、入力画像データが２値の場合を図２で説明する。
画像入力処理１０１により、画像６を入力して、入力画像データ１０２を得る。下位・上位画素数計算処理２０１により、下位画素数（ｎｌ）１０７、上位画素数（ｎｕ）１０８を計算する。入力画像データが２値であるため、２値化しきい値を求める必要はなく、下位画素数は画素値が０の画素数、上位画素数は画素値が１の画素数とすればよい。濃度・輝度判定処理１１１により、下位画素数１０７と上位画素数１０８を比較することによって、濃度・輝度判定情報１１２を得る。以降は、多値の場合と同様、パラメータ変換処理２０２、傾き（回転）角度検出処理１１５によって、傾き（回転）角度１１６を検出する。
以上の処理を特徴とする方法が本発明である。
【００３１】
【実施例】
図３が、傾き（回転）角度検出を行う装置の構成を示すブロック図である。
装置の各部はバス１に接続され、全体の動作は制御部２により制御される。処理の種類を選択する場合は、コンソール３でその指示を与える。処理方法を記述したプログラムは、ハードディスク４からメモリ５０に格納され、制御部２がメモリ５０内のプログラムに従って処理を制御する。あるいは、メモリ５０をＲＯＭ（リード・オンリー・メモリ）として、プログラムを作り付けにしておいてもよい。
【００３２】
まず、最初の処理では、画像６をスキャナ７で入力し、ハードディスク４に格納する。あるいは、画像が他の入力装置、例えば、ネットワーク８を通してハードディスク４に格納される場合もある。ハードディスクに格納された画像は、処理を行うためメモリ５１に格納される。この格納された画像が図１の入力画像データ１０２である。図３のメモリ５２は、図１の入力画像データ１０２から傾き（回転）角度１１６を検出するまでに、各処理で扱う情報を格納するワークエリアである。図３のメモリ５１に格納されている入力画像データを入力とし、図１の２値化しきい値選定処理１０３により、２値化しきい値１０４、及び、標準偏差１０５を求める。対象物画素値範囲設定処理１０６により、下位画素数１０７、上位画素数１０８、下限画素値１０９、上限画素値１１０を設定する。濃度・輝度判定処理１１１により、濃度・輝度判定情報１１２を得る。パラメータ変換処理１１３により、濃度・輝度判定情報１１２と下限画素値１０９、上限画素値１１０、及び、入力画像データ１０２から、角度・距離パラメータ表１１４を作成する。傾き（回転）角度検出処理１１５により、傾き（回転）角度１１６を検出する。これらの情報は、図３のメモリ５２に格納される。
【００３３】
傾き（回転）角度（ａ度）が得られれば、図３のメモリ５１、あるいは、ハードディスク４に格納されている入力画像データを−ａ度回転して、傾きを補正した画像をハードディスク４などに格納すればよい。
【００３４】
【発明の効果】
本発明による傾き（回転）角度検出処理は、不要な情報を除いて処理しているだけであるため、検出性能の低下を起こさず、ハフ変換（ラドン変換）を使った手法としては、従来技術に比べ、数倍高速に処理することができる。
【図面の簡単な説明】
【図１】本発明である、対象とする画像が多値の場合における、傾き（回転）角度を検出する方法を示すブロック図。
【図２】本発明である、対象とする画像が２値の場合における、傾き（回転）角度を検出する方法を示すブロック図。
【図３】本発明である、傾き（回転）角度検出を行う装置の構成を示すブロック図。
【図４】従来技術の、傾き（回転）角度を検出する方法を示すブロック図。
【図５】パラメータ変換処理の原理を説明するための、ｘ−ｙ画像平面上の直線を示した図。
【図６】パラメータ変換処理の原理を説明するための、角度・距離パラメータ平面上の正弦曲線を示した図。
【図７】入力用文書画像の例。
【図８】図７の文書画像に関する、画素値ヒストグラムを表示した図。
【符号の説明】
１：  バス
２：  制御部
３：  コンソール
４：  ハードディスク
５、５０、５１、５２：  メモリ
６：  画像
７：  スキャナ
８：  ネットワーク
１０１：  画像入力処理
１０２：  入力画像データ
１０３：  ２値化しきい値選定処理
１０４：  ２値化しきい値
１０５：  標準偏差
１０６：  対象物画素値範囲設定処理
１０７：  下位画素数
１０８：  上位画素数
１０９：  下限画素値
１１０：  上限画素値
１１１、３０９：  濃度・輝度判定処理
１１２：  濃度・輝度判定情報
１１３、２０２、３０１：  パラメータ変換処理
１１４：  角度・距離パラメータ表
１１５、３１０：  傾き（回転）角度検出処理
１１６：  傾き（回転）角度
２０１：  下位・上位画素数計算処理
３０２：  濃度としての角度・距離パラメータ表
３０３：  カウンタ表
３０４：  パラメータ表反転処理
３０５：  輝度としての角度・距離パラメータ表
３０６：  最大直線集中度検出処理
３０７：  濃度としての最大直線集中度
３０８：  輝度としての最大直線集中度Ｔ
【図１】
2004310292.tif 000003
【図２】
2004310292.tif 000004
【図３】
2004310292.tif 000005
【図４】
2004310292.tif 000006
【図５】
2004310292.tif 000007
【図６】
2004310292.tif 000008
【図７】
2004310292.tif 000009
【図８】
2004310292.tif 000010