(57)【特許請求の範囲】
【請求項１】
処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算して、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算し、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する文書画像の傾き角度検出方法において、
前記座標点（ｘ，ｙ）に対応する画素値の加算は、前記入力画像の画素値が濃度か輝度かに基づき、当該画素値が濃度の場合は、当該座標点（ｘ，ｙ）に対応する画素値をそのまま加算し、当該画素値が輝度の場合は、当該座標点（ｘ，ｙ）に対応する画素値の反転値を加算することにより行ない、
前記入力画像の反転画像ｆ’（ｘ，ｙ）がｘ−ｙ画像平面上にあるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、前記反転画像の画素値ｆ’（ｘ，ｙ）を入力とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表をさらに作成し、
前記入力画像の画素値が濃度か輝度かの判定は、当該反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表と、前記最終的に得られた入力画像に関する前記角度・距離パラメータ表との２つの角度・距離パラメータ表から、判定することにより行う文書画像の傾き角度検出方法。
【請求項２】
処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算して、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算し、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する文書画像の傾き角度検出方法において、
前記座標点（ｘ，ｙ）に対応する画素値の加算を行う毎に回数を入れるカウンタｃ（θ，ρ）に１を加算し、
前記最終的に得られた入力画像に関する前記角度・距離パラメータ表ｓ（θ，ρ）と前記カウンタｃ（θ，ρ）から、入力画像の反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）を作成し、前記２つの角度・距離パラメータ表から、入力画像の画素値が濃度か輝度かを判定し、
入力画像の画素値が濃度の場合は前記入力画像に関する角度・距離パラメータ表をそのまま用い、入力画像の画素値が輝度の場合は当該入力画像に関する角度・距離パラメータ表に代えて前記反転画像に関する角度・距離パラメータ表を用いる、
ことから成る文書画像の傾き角度検出方法。
【請求項３】
処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算する手段と、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算する手段とを備え、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する文書画像の傾き角度検出システムにおいて、
前記座標点（ｘ，ｙ）に対応する画素値を加算する手段は、前記入力画像の画素値が濃度か輝度かに基づき、当該画素値が濃度の場合は、当該座標点（ｘ，ｙ）に対応する画素値をそのまま加算し、当該画素値が輝度の場合は、当該座標点（ｘ，ｙ）に対応する画素値の反転値を加算することにより行ない、
前記入力画像の反転画像ｆ’（ｘ，ｙ）がｘ−ｙ画像平面上にあるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、前記反転画像の画素値ｆ’（ｘ，ｙ）を入力とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表をさらに作成する手段を備え、
前記入力画像の画素値が濃度か輝度かの判定は、当該反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表と、前記最終的に得られた入力画像に関する前記角度・距離パラメータ表との２つの角度・距離パラメータ表から、判定することにより行う文書画像の傾き角度検出システム。
【請求項４】
処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算する手段と、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算する手段とを備え、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する文書画像の傾き角度検出システムにおいて、
前記座標点（ｘ，ｙ）に対応する画素値の加算を行う毎に回数を入れるカウンタｃ（θ，ρ）に１を加算する手段と、
前記最終的に得られた入力画像に関する前記角度・距離パラメータ表ｓ（θ，ρ）と前記カウンタｃ（θ，ρ）から、入力画像の反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）を作成し、前記２つの角度・距離パラメータ表から、入力画像の画素値が濃度か輝度かを判定する手段とを備え、
入力画像の画素値が濃度の場合は前記入力画像に関する角度・距離パラメータ表をそのまま用い、入力画像の画素値が輝度の場合は当該入力画像に関する角度・距離パラメータ表に代えて前記反転画像に関する角度・距離パラメータ表を用いることから成る文書画像の傾き角度検出システム。
【請求項５】
処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算して、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算し、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する機能を実現する文書画像の傾き角度検出プログラムにおいて、
前記座標点（ｘ，ｙ）に対応する画素値の加算は、前記入力画像の画素値が濃度か輝度かに基づき、当該画素値が濃度の場合は、当該座標点（ｘ，ｙ）に対応する画素値をそのまま加算し、当該画素値が輝度の場合は、当該座標点（ｘ，ｙ）に対応する画素値の反転値を加算することにより行ない、
前記入力画像の反転画像ｆ’（ｘ，ｙ）がｘ−ｙ画像平面上にあるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、前記反転画像の画素値ｆ’（ｘ，ｙ）を入力とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表をさらに作成し、
前記入力画像の画素値が濃度か輝度かの判定は、当該反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表と、前記最終的に得られた入力画像に関する前記角度・距離パラメータ表との２つの角度・距離パラメータ表から、判定することにより行う文書画像の傾き角度検出プログラム。
【請求項６】
処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算して、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算し、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する機能を実現する文書画像の傾き角度検出プログラムにおいて、
前記座標点（ｘ，ｙ）に対応する画素値の加算を行う毎に回数を入れるカウンタｃ（θ，ρ）に１を加算し、
前記最終的に得られた入力画像に関する前記角度・距離パラメータ表ｓ（θ，ρ）と前記カウンタｃ（θ，ρ）から、入力画像の反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）を作成し、前記２つの角度・距離パラメータ表から、入力画像の画素値が濃度か輝度かを判定し、
入力画像の画素値が濃度の場合は前記入力画像に関する角度・距離パラメータ表をそのまま用い、入力画像の画素値が輝度の場合は当該入力画像に関する角度・距離パラメータ表に代えて前記反転画像に関する角度・距離パラメータ表を用いる、
ことから成る文書画像の傾き角度検出プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２値または多値でコンピュータに取り込まれた文書画像の傾き（回転）角度を検出する処理装置および処理方法と、本発明をコンピュータに実行させるための処理方法を実現するプログラムに関する。
【０００２】
【従来の技術】
文字が規則正しく並んでいる文書をスキャナ（走査装置）で取り込むとき、傾いて（回転して）入力されたり、あるいは、文書自体が傾いて（回転して）コピーされたものをスキャン（走査）すると、取り込まれた文書画像の文字、および文字列は傾いた（回転した）ものとなる。傾いた（回転した）ままの文書に対して文字認識を行うと、認識性能に悪影響を及ぼすため、回転した角度分を逆に回転させることによって、文字列を水平あるいは垂直にする必要がある。また、文書をきれいに保存したいときも、文字列が傾いていると見苦しく、さらに、文書中に罫線などの水平線や垂直線があると、傾いた（回転した）ままではその直線が階段状になってしまう。このような場合は、単に見苦しいだけでなく、画像圧縮する場合の圧縮率にも悪影響を及ぼす。
【０００３】
従来技術として、画像の傾き（回転）角度を検出するため、例えば、「特開平11-328408」にあるような方法が示されている。この方法を図４で説明する。
画像データ６を画像入力処理１０２によって入力し、入力画像データ１０３を得、これをｆ（ｘ，ｙ）とする。（ｘ，ｙ）は各画素の位置座標を示し、ｆ（ｘ，ｙ）で（ｘ，ｙ）座標にある画素値を示す。入力画像データｆ（ｘ，ｙ）から平均算出処理１３１により、画素平均値１３２を得、これをＭとする。入力画像データ１０３と画素平均値１３２から差分算出処理１３３によって差分画像データ｜ｆ（ｘ，ｙ）−Ｍ｜１３４を計算する。この差分画像データ１３４を入力とし、パラメータ変換処理１０６によって角度・距離パラメータ表ｓ（θ，ρ）１０７を作成する。このパラメータ変換処理は、ｘ−ｙ画像平面上の情報である座標（ｘ，ｙ）とその座標における画素値から、角度・距離パラメータ平面上の座標（θ，ρ）にパラメータ変換を行うものであり、このパラメータ変換処理を行うことによって、直線性を検出しやすい形をした角度・距離パラメータ表が得られる。
【０００４】
このパラメータ変換処理の原理を図５、図６で説明する。図５のｘ−ｙ画像平面上にある直線ｌ（エル）を式（１）で表すことができる。
ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）                    ……（１）
【０００５】
ここで、基準点（ここでは、原点（０，０））から直線ｌにおろした垂線をｖ（ヴイ）とすると、ρ（rho ロー）は垂線ｖの長さ、θ（theta シータ）（単位はradian ラジアン）はｘ軸とのなす角度となる。角度・距離パラメータ表ｓ（θ，ρ）は、画素値の累積加算値を格納するものであり、この式（１）により、図５のｘ−ｙ画像平面と図６の角度・距離パラメータ平面とが関連付けられる。図５の各点（ｘ，ｙ）に対し、角度θを一定刻みで変化させ、各θとそのθで式（１）を計算したρのペアを求める。θとρのペアは、角度・距離パラメータ表の座標（θ，ρ）に対応する。求められた全てのθ−ρのペアで示される角度・距離パラメータ表ｓ（θ，ρ）に、（ｘ，ｙ）座標上の画素値ｆ（ｘ，ｙ）を加算する。例えば、図５の点ｐ１（ｘ１，ｙ１）について、この処理を行うことにより、ｓ（θ，ρ）の値が大きい点を表示すると、図６の正弦曲線ｐ１になる。これをｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）について行うことにより、画像全体、あるいは、部分画像に関する、画素値の累積加算値ｓ（θ，ρ）が求まる。ｘ−ｙ画像平面上にある入力画像が、図５の直線ｌ上の点ｐ１（ｘ１，ｙ１）、ｐ２（ｘ２，ｙ２）、ｐ３（ｘ３，ｙ３）からなる場合、角度・距離パラメータ平面上では、３本の正弦曲線が現れ、それぞれ、図６の正弦曲線ｐ１、ｐ２、ｐ３に対応し、これら３つの曲線は図６の点ｌで交差する。図６のこの交差点ｌの座標（θ，ρ）は、基準点からの長さがρでｘ軸とのなす角度がθとなる垂線に垂直な、図５の直線ｌを示しており、図５で直線上にある点が多いほど、図６の座標（θ，ρ）での交差回数が多いため、交差点での累積加算値は大きくなる。従って、累積加算値ｓ（θ，ρ）の値が大きい座標点（θ，ρ）を見つけることにより、角度・距離パラメータ平面上での座標点（θ，ρ）で示される、ｘ−ｙ画像平面上での直線の存在を検出することができる。このような処理方法であることから、検出される直線は実線だけでなく、つながりが途切れている破線に対してもその直線性を検出することができる。文字が規則正しく並んだ文書を見ると、人間は文字列方向に平行な直線を知覚する。知覚される直線は、各文字を構成する線分が破線状に並んでいるかのように見られる。このことから、パラメータ変換を行うことによって、文字が規則正しく並んでいる文書の直線方向を検出することができると考えられる。このパラメータ変換処理は、ラドン変換の特殊な場合であるハフ変換と呼ばれている。図４の傾き（回転）角度検出処理１３５は、パラメータ変換処理１０６で作られた、角度・距離パラメータ表１０７を調査することにより、入力された画像データ６の傾き（回転）角度θ１１５を検出する。
【０００６】
【発明が解決しようとする課題】
画像データは、画面の多くを占める背景があり、その背景の中に対象物が存在すると見られる場合が多い。特に線図形や文字がある画像では、その区別が明確である。対称物と背景との観点から、入力された画像の画素値に対して、次の２種類の意味付けができる。画素値が大きいとき対象物に対応し、画素値が小さいとき背景に対応する場合、このとき、画素値は濃度を示しているとされる。逆に、画素値が小さいとき対象物に対応し、画素値が大きいとき背景に対応する場合、このとき、画素値は輝度を示しているとされる。濃度と輝度とは、このように値が逆の関係にあり、取り得る最大画素値をＧｘとすると式（２）で輝度値ｆ’（ｘ，ｙ）から濃度値ｆ（ｘ，ｙ）に変換することができる。画素のビット数が８で、０から２５５の画素値の場合は、Ｇｘ＝２５５である。ビット数が１の場合は、Ｇｘ＝１である。
ｆ（ｘ，ｙ）  ＝  Ｇｘ  −  ｆ’（ｘ，ｙ）                  ……（２）
【０００７】
パラメータ変換処理１０６は、直線性を抽出するため、対象物に対する画素値を加算し、累積画素値が大きいほど直線性が高いとされることから、対象物に対応する画素値は大きいことが必要となる。つまり、画素値が濃度を示していなければならない。従来の方法では、パラメータ変換処理１０６に対する入力として、差分画像データ｜ｆ（ｘ，ｙ）−Ｍ｜１３４を与えている。入力画像データｆ（ｘ，ｙ）に対し、式（２）により、濃度と輝度の反転処理をした画像をｆ’（ｘ，ｙ）とする。この反転画像ｆ’（ｘ，ｙ）から平均値Ｍ’を計算し、求められた差分画像データ｜ｆ’（ｘ，ｙ）−Ｍ’｜は、｜ｆ（ｘ，ｙ）−Ｍ｜と全く同じ値になる。つまり、従来の方法では、濃度か輝度かの区別をせず、背景に対する余分な画素値も直線性抽出のための情報に入れてしまっていることから、その性能は低い。
【０００８】
特に、次の例を考えてみよう。画素値が１の線と、画素値が０の線が交互に並んだ縞模様の画像ｆ（ｘ，ｙ）を入力したとする。この画素平均値Ｍは０．５であり、差分画像データ｜ｆ（ｘ，ｙ）−Ｍ｜の値は、全ての（ｘ，ｙ）座標で０．５となる。この差分画像データをパラメータ変換処理の入力としたときに得られる角度・距離パラメータ表ｓ（θ，ρ）は、縞模様の方向が変わっても全く同じ値となるため、縞模様という方向が明確に現れているにもかかわらず、正しい傾き（回転）角度を検出することはできない。
そこで、本発明は、係る問題点を解決して、対象とする画像の画素値が濃度を示していても、輝度を示していても、濃度と輝度の判定を行うことにより、画素値が輝度の画像をそのまま使用したときの低性能を防ぐことを目的としている。
【０００９】
【課題を解決するための手段】
本発明の文書画像の傾き角度検出方法及びシステム、並びにそれを実現するプログラムは、処理対象である２値、あるいは、多値の入力画像ｆ（ｘ，ｙ）がｘ−ｙ画像平面上にあり、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、ディジタル化した複数の角度θから式ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）で距離ρを計算して、得られた複数の（θ，ρ）ペアを座標点とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより、直線性を抽出しやすい形にした角度・距離パラメータ表ｓ（θ，ρ）に、当該座標点（ｘ，ｙ）に対応する画素値を加算し、最終的に得られた前記角度・距離パラメータ表ｓ（θ，ρ）から、直線が集中している角度を見つけることにより、前記入力画像の傾き（回転）角度を検出する。この座標点（ｘ，ｙ）に対応する画素値の加算は、前記入力画像の画素値が濃度か輝度かに基づき、当該画素値が濃度の場合は、当該座標点（ｘ，ｙ）に対応する画素値をそのまま加算し、当該画素値が輝度の場合は、当該座標点（ｘ，ｙ）に対応する画素値の反転値を加算することにより行うことを特徴としている。
【００１０】
また、本発明は、入力画像の反転画像ｆ’（ｘ，ｙ）がｘ−ｙ画像平面上にあるものとし、前記ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）の各々に対し、前記反転画像の画素値ｆ’（ｘ，ｙ）を入力とし、（ｘ，ｙ）座標から（角度，距離）座標へのパラメータ変換処理を行うことにより反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表をさらに作成する。入力画像の画素値が濃度か輝度かの判定は、当該反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表と、前記最終的に得られた入力画像に関する前記角度・距離パラメータ表との２つの角度・距離パラメータ表から、判定することにより行う。
【００１１】
また、本発明は、座標点（ｘ，ｙ）に対応する画素値の加算を行う毎に回数を入れるカウンタｃ（θ，ρ）に１を加算し、最終的に得られた入力画像に関する前記角度・距離パラメータ表ｓ（θ，ρ）と前記カウンタｃ（θ，ρ）から、入力画像の反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）を作成する。これら２つの角度・距離パラメータ表から、入力画像の画素値が濃度か輝度かを判定し、入力画像の画素値が濃度の場合は前記入力画像に関する角度・距離パラメータ表をそのまま用い、入力画像の画素値が輝度の場合は当該入力画像に関する角度・距離パラメータ表に代えて前記反転画像に関する角度・距離パラメータ表を用いることを特徴としている。
【００１２】
【発明の実施の形態】
以下、本発明を具体例に基づき説明する。図１は、入力画像の画素値が濃度か輝度かが既知な場合について、本発明に基づく第一の解決方法を例示する図である。画像データ６とその既知な属性である濃度・輝度判定情報１４１を入力とし、画像入力・反転処理１４２により入力画像データｆ（ｘ，ｙ）１０３を得る。濃度・輝度判定情報１４１をもとに、画像データの画素値が濃度の場合はそのままで反転を行わず、輝度の場合は式（２）により反転したものを入力画像データｆ（ｘ，ｙ）１０３とする。パラメータ変換処理１０６に対する入力は、画素値が濃度となっているこの入力画像データｆ（ｘ，ｙ）１０３を使用し、直線性を抽出しやすくした角度・距離パラメータ表ｓ（θ，ρ）１０７を得、この角度・距離パラメータ表から傾き（回転）角度検出処理１４３により画像データ６の傾き（回転）角度１１５が得られる。
【００１３】
以上は画像データの画素値が濃度か輝度かが既知であった場合であるが、すでにハードディスクに保存されている画像や、インターネットなどネットワークから取り込まれた画像など、その中には濃度か輝度かが不明の場合もある。
次は、画素値が濃度か輝度かが不明な場合について、課題の解決方法である第二の方法を図２に、第三の解決方法を図３に示す。
【００１４】
まず、第二の解決方法について図２で説明を行う。画像データ６を画像入力処理１０２により入力し、入力画像データｆ（ｘ，ｙ）１０３を得る。画像反転処理１０４によって、ｆ（ｘ，ｙ）の反転画像データｆ’（ｘ，ｙ）１０５を作成する。パラメータ変換処理１０６に対し、入力画像データｆ（ｘ，ｙ）１０３と反転画像データｆ’（ｘ，ｙ）１０５を入力とし、それぞれ、入力画像データに関する角度・距離パラメータ表ｓ（θ，ρ）１０７と反転画像データに関する角度・距離パラメータ表ｓ’（θ，ρ）１０８を作成する。角度・距離パラメータ表ｓ（θ，ρ）１０７とｓ’（θ，ρ）１０８それぞれから、角度θごとに、直線が集中している度合いを求める。この度合いを直線集中度と呼ぶことにする。この直線集中度から、最大直線集中度検出処理１０９によって、入力画像データと反転画像データに関する、それぞれの最大直線集中度１１０と１１１を求める。入力画像ｆ（ｘ，ｙ）に関する最大直線集中度１１０と反転画像ｆ’（ｘ，ｙ）に関する最大直線集中度１１１を濃度・輝度判定処理１１２により比較し、濃度・輝度判定情報１１３を得る。角度・距離パラメータ表は、単に画素値を加算したものであり、他に比べ、累積加算値が大きいところほど直線性が高いとされる。対象物を示す画素値が大きいとき、つまり、画素値が濃度である場合、累積加算値が大きいところのピークは鋭く、逆に、背景を示す画素値が大きいとき、つまり、画素値が輝度である場合、累積加算値が大きいところのピークはなだらかに現れる。従って、角度・距離パラメータ表を調査し、ピークの鋭さの程度を比較することにより、入力画像の画素値が濃度であったか輝度であったかを判定することができる。これを行うのが、最大直線集中度検出処理１０９と濃度・輝度判定処理１１２である。傾き（回転）角度検出処理１１４に、入力画像ｆ（ｘ、ｙ）に関する角度・距離パラメータ表ｓ（θ，ρ）１０７と反転画像ｆ’（ｘ，ｙ）に関する角度・距離パラメータ表ｓ’（θ，ρ）１０８と濃度・輝度判定情報１１３を与え、入力画像が濃度と判定された場合は、入力画像に関する角度・距離パラメータ表ｓ（θ，ρ）１０７を使用し、入力画像が輝度と判定された場合は、反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）１０８を使用して、傾き（回転）角度１１５を求める。
【００１５】
図２で示される第二の解決方法では、パラメータ変換処理１０６を入力画像と反転画像とで２回行っている。パラメータ変換処理は処理量が多いため、この回数を１回で済ませたい。
パラメータ変換処理を１回にした方法が、図３に示す第三の解決方法であり、これについて説明を行う。画像データ６を画像入力処理１０２により入力し、入力画像データｆ（ｘ，ｙ）１０３を得る。これを入力とし、パラメータ変換処理１２１を実行する。このパラメータ変換処理１２１内では、角度・距離パラメータ表ｓ（θ，ρ）１０７に画素値ｆ（ｘ，ｙ）を加算すると同時に、角度・距離パラメータ表ｓ（θ，ρ）１０７と同じ大きさのカウンタｃ（θ，ρ）１２２の同じ場所（θ，ρ）に１を加算していく。最終的に得られた角度・距離パラメータ表ｓ（θ，ρ）とカウンタｃ（θ，ρ）から、入力画像の取り得る最大画素値をＧｘとすると、式（３）により、反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）を作ることができる。画素のビット数が８のときはＧｘ＝２５５、ビット数が１のときはＧｘ＝１である。
ｓ’（θ，ρ）＝  Ｇｘ・ｃ（θ，ρ）−ｓ（θ，ρ）      ……（３）
これを行うのがパラメータ変換反転処理１２３である。従って、これにより、処理量が多いパラメータ変換処理を１回行うだけで、２回行ったと同じ結果を得ることができる。以上で、入力画像に関する角度・距離パラメータ表ｓ（θ，ρ）１０７と反転画像に関する角度・距離パラメータ表ｓ’（θ，ρ）１０８が得られ、これを使って、最大直線集中度検出処理１０９以降の処理を行う。図３の最大直線集中度検出処理１０９以降は、図２と同様である。
【００１６】
【実施例】
図７は、傾き（回転）角度検出を行う装置の構成を示すブロック図である。図８は、入力用の画像データ例で、１．２度傾いた（回転した）文書画像を示している。ここでは、入力画像の画素値が濃度か輝度かが不明で、直線性を抽出し易くするためのパラメータ変換処理を２回行う、課題を解決するための第二の方法（図２）で説明を行うが、課題を解決するための第一、第三の方法も同様に実施することができる。
図７において、装置の各部はバス１に接続され、全体の動作は制御部２により制御される。処理の種類を選択する場合は、コンソール３でその指示を与える。処理方法を記述したプログラムは、ハードディスク４からメモリ５０に格納され、制御部２がメモリ５０内のプログラムに従って処理を制御する。あるいは、メモリ５０をＲＯＭ（リード・オンリー・メモリ）にして、プログラムを作り付けにしておいてもよい。まず最初の処理では、画像データ６をスキャナ７で入力し、ハードディスク４に格納する。あるいは、画像データが他の入力装置、例えばネットワーク８を通してハードディスク４に格納される場合もある。ハードディスクに格納された画像は、処理を行うためメモリ５１に格納される。この画像が図２の入力画像データ１０３であり、これをｆ（ｘ，ｙ）とする。メモリ５１に格納されているｆ（ｘ，ｙ）を入力とし、図２のパラメータ変換処理１０６によって角度・距離パラメータ表１０７を作成し、図７のメモリ５２に格納する。
【００１７】
ここで、パラメータ変換処理１０６について、詳細な説明を行う。前述では、このパラメータ変換処理において、ラジアン（radian）を単位とした角度θを用い、関係式（１）ρ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）により、角度・距離パラメータ表ｓ（θ，ρ）を作成するとしたが、ここでは、理解しやすい度（°）（degree）を単位としたα（アルファ alpha）を使うことにする。αからθへは、式（４）で変換される。
θ＝α・π／１８０                                        ……（４）
【００１８】
文書の傾き（回転）角度を検出する場合、傾きの程度はあまり大きくないと考えられるため、αの範囲を例えば−５度から５度として処理を行うことにする。刻みは適当に０．１度とした。ただし、αが−５度から５度の範囲では、検出できる直線の方向は垂直線付近のみであるため、水平線付近の直線性を検出できるように、β（ベータ beta）が８５度から９５度の範囲についても角度・距離パラメータ表を用意する必要がある。ただし、β＝α＋９０。垂直付近、水平付近検出用の角度・距離パラメータ表は、それぞれ、ｓｖ（α，ｒ）、ｓｈ（β，ｒ）で示す。ｒは、基準点からある直線におろした垂線の長さであり、量子化して整数値をとるものとする。ｒの個数をＮｒとする。ここで、α、βは、検出したい直線と角度が９０度異なる垂線の角度であるため、α＝０度のときはｘ−ｙ画像平面上の垂直線、β＝９０度のときは水平線を示す。パラメータ変換処理は、ある座標（ｘ，ｙ）について、α＝−５度から５度まで０．１刻みで与えた角度から、式（４）と式（１）でρを計算し、α−ρペアを求め、ｒ≦ρ＜ｒ＋１のとき、角度・距離パラメータ表ｓｖ（α，ｒ）に画素値ｆ（ｘ，ｙ）を加算する。これを、ｘ−ｙ画像平面上の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）に対して繰り返す。角度・距離パラメータ平面上の点（α，ｒ）で示される、ｘ−ｙ画像平面上の直線ｒ＝ｘ・ｃｏｓ（θ）＋ｙ・ｓｉｎ（θ）上に並ぶ点が多いほどｓｖ（α，ｒ）に加算される回数が多いため、ｓｖ（α，ｒ）の累積加算値は大きくなる。同様に、β＝８５度から９５度まで０．１刻みで与えた角度から、式（４）と式（１）でρを計算し、β−ρペアを求め、ｒ≦ρ＜ｒ＋１のとき、角度・距離パラメータ表ｓｈ（β，ｒ）に画素値ｆ（ｘ，ｙ）を加算する。これを、ｘ−ｙ画像平面の全変域、あるいは、部分変域内の座標点（ｘ，ｙ）に対して繰り返す。
【００１９】
図７のメモリ５２には、このｓｖ（α，ｒ）とｓｈ（β，ｒ）が格納される。また、入力画像ｆ（ｘ，ｙ）を式（２）で反転した、反転画像ｆ’（ｘ，ｙ）を入力とし、同様に、図２のパラメータ変換処理１０６によって、反転画像に関する角度・距離パラメータ表ｓｖ’（α，ｒ）とｓｈ’（β，ｒ）を作成し、図７のメモリ５３に格納する。次に、入力画像に関する、垂直付近検出用角度・距離パラメータ表ｓｖ（α，ｒ）、水平付近検出用角度・距離パラメータ表ｓｈ（β，ｒ）を図７のメモリ５２から、反転画像に関する、垂直付近検出用角度・距離パラメータ表ｓｖ’（α，ｒ）、水平付近検出用角度・距離パラメータ表ｓｈ’（β，ｒ）をメモリ５３から読み出し、それぞれ、α、βごとに累積加算値が大きい順に並べ替え、並べ替えたものをｓｖｓ（α，ｉ）、ｓｈｓ（β，ｉ）、ｓｖｓ’（α，ｉ）、ｓｈｓ’（β，ｉ）とする。ｓｖｓ（α，ｉ）とｓｈｓ（β，ｉ）はメモリ５４に、ｓｖｓ’（α，ｉ）とｓｈｓ’（β，ｉ）はメモリ５５に格納される。ここで、ｉは０で始まる整数とする。従って、垂直付近検出用角度・距離パラメータ表の角度がαで、累積加算値が最大の要素はｓｖｓ（α，０）となる。累積加算値が大きいほど直線性が高いことから、直線性が高いところの検出を容易にするために、この並べ替えを行うのである。
【００２０】
次に、図２の最大直線集中度検出処理１０９について説明を行う。角度がα＋９０度の直線が１本しかない場合は、角度・距離パラメータ表の中で、最大値をとる要素（α，ｉ）を見つければよい。しかし、実際の画像では、角度がα＋９０度でも、基準点からの距離が異なる複数の平行線が存在する場合がほとんどで、画像濃度による加算値は、同じ角度αの別の場所ｒ（あるいは、ｉ）に振り分けられ、最大値を見るだけでは、情報を取りこぼしてしまう。従って、この振り分けられた分の加算値も考慮する必要がある。振り分けられた情報も考慮するために、ここでは、各角度α、βごとに、式（５）で累積加算値の上位Ｎｍ個（例えばＮｍ＝９）の平均を求める。
0003760225.tif 000002
【００２１】
ただし、反転していない画像から求められた累積加算値の平均Ｍｖ、Ｍｈと、反転画像から求められた累積加算値の平均Ｍｖ’，Ｍｈ’は、数値を同等に扱うことができないため、比較できるような値に変換する必要がある。これを行うため、式（６）で、各α、βにおける角度・距離パラメータ表の平均Ｍｍ、Ｍｍ’を計算しておく。
Ｍｍ＝Σｓｖ（α，ｒ）
Ｍｍ’＝Σｓｖ（α，ｒ）
（ただし、Σは全てのｒについての加算）            ……（６）
Ｍｍは反転していない画像から求められ、どのα、βでも同じ値となるため、どこか１箇所のα、例えばα＝０で、Ｍｍ＝Σｓｖ（０，ｒ）を計算しておけばよい。Ｍｍ’は反転した画像から求められ、これも、どのα、βでも同じ値となるため、Ｍｍ＝Σｓｖ’（０，ｒ）で計算しておけばよい。このＭｍ，Ｍｍ’を使い、式（７）により、画像を反転しない場合と、反転した場合とが、比較可能になるように正規化を行う。これを角度α、あるいは、βにおける直線集中度とする。
Ｍｎｖ（α）＝Ｍｖ（α）／Ｍｍ
Ｍｎｈ（β）＝Ｍｈ（β）／Ｍｍ
Ｍｎｖ’（α）＝Ｍｖ’（α）／Ｍｍ’
Ｍｎｈ’（β）＝Ｍｈ’（β）／Ｍｍ’                      ……（７）
【００２２】
それぞれの直線集中度の最大値Ｍｘ、Ｍｘ’は、式（８）で求められる。
Ｍｘ＝ｍａｘ｛Ｍｎｖ（α），Ｍｎｈ（α＋９０）｝
Ｍｘ’＝ｍａｘ｛Ｍｎｖ’（α），Ｍｎｈ’（α＋９０）｝    ……（８）
このＭｘが図２の最大直線集中度１１０であり、Ｍｘ’が図２の最大直線集中度１１１である。図２の濃度・輝度判定処理１１２では、ＭｘがＭｘ’より大きい場合、入力画像の画素値が濃度であると判定し、逆の場合は、入力画像の画素値が輝度であると判定して、濃度・輝度判定情報１１３を出力する。
【００２３】
最大直線集中度の別の検出方法としては、次の方法も考えられる。直線集中度が高ければ高いほど、ある角度αにおける距離ｒを変数とした角度・距離パラメータ表の分布は、なだらかでなく、鋭い形になる。従って、分布の鋭さを示す量を求めれば、直線集中度として使うことができる。統計学における分散は、分布がなだらかであるほど大きな値になることから、角度・距離パラメータ表の分散を求めれば、その分散が小さいほど直線集中度が高いということができる。これは、式（９）で計算できる。
0003760225.tif 000003
また、式（７）と式（９）を組み合わせた式を作り、これを直線集中度とすることも考えられる。
【００２４】
図２の傾き（回転）角度検出処理１１４では、この濃度・輝度判定情報に従って、入力画像の画素値が濃度の場合、入力画像から求められた角度・距離パラメータ表から傾き（回転）角度１１５を検出する。具体的には、Ｍｎｖ（α）とＭｎｈ（α＋９０）の中で最大値をとるαを傾き（回転）角度として出力する。入力画像の画素値が輝度の場合、反転画像から求められた角度・距離パラメータ表から傾き（回転）角度１１５を検出する。具体的には、Ｍｎｖ’（α）とＭｎｈ’（α＋９０）の中で、最大値をとるαを傾き（回転）角度として出力する。
画素値が濃度か輝度か不明で、傾いた（回転した）図８の多値画像を入力画像とすると、本発明により、傾き（回転）角度の正解値１．２度が得られる。
傾き（回転）角度が得られれば、図７のメモリ５１、あるいは、ハードディスク４に格納されている入力画像を逆に−１．２度回転して、傾きを補正した画像をハードディスク４などに格納すればよい。
【００２５】
【発明の効果】
本発明による画像の傾き（回転）角度検出手法は、対象とする画像の画素値が濃度を示していても、輝度を示していても、濃度と輝度の判定を行うことから、画素値が輝度の画像をそのまま使用したときの低性能を防ぐことができる。
【図面の簡単な説明】
【図１】本発明である第一の解決方法を示したブロック図。（入力画像の画素値が濃度か輝度かが既知な場合。）
【図２】本発明である第二の解決方法を示したブロック図。（入力画像の画素値が濃度か輝度かが不明で、パラメータ変換処理を２回行う場合。）
【図３】本発明である第三の解決方法を示したブロック図。（入力画像の画素値が濃度か輝度かが不明で、パラメータ変換処理を１回で済ます場合。）
【図４】従来技術の処理概要を示したブロック図。
【図５】パラメータ変換処理の原理を説明するための、ｘ−ｙ画像平面上の直線を示した図。
【図６】パラメータ変換処理の原理を説明するための、角度・距離パラメータ平面上の正弦曲線を示した図。
【図７】本発明である傾き（回転）角度検出を行う装置の構成を示すブロック図。
【図８】入力用の画像データ例で、１．２度傾いた（回転した）文書画像。
【符号の説明】
１：  バス
２：  制御部
３：  コンソール
４：  ハードディスク
５、５０、５１、５２、５３、５４、５５：  メモリ
６：  画像データ
７：  スキャナ
８：  ネットワーク
１０２：  画像入力処理
１０３：  入力画像データ
１０４：  画像反転処理
１０５：  反転画像データ
１０６、１２１：  パラメータ変換処理
１０７、１０８：  角度・距離パラメータ表
１０９：  最大直線集中度検出処理
１１０、１１１：  最大直線集中度
１１２：  濃度・輝度判定処理
１１３、１４１：  濃度・輝度判定情報
１１４、１３５、１４３：  傾き（回転）角度検出処理
１１５：  傾き（回転）角度
１２２：  カウンタ
１２３：  パラメータ変換反転処理
１３１：  平均算出処理
１３２：  画素平均値
１３３：  差分算出処理
１３４：  差分画像データ
１４２：  画像入力・反転処理
【図１】
0003760225.tif 000004
【図２】
0003760225.tif 000005
【図３】
0003760225.tif 000006
【図４】
0003760225.tif 000007
【図５】
0003760225.tif 000008
【図６】
0003760225.tif 000009
【図７】
0003760225.tif 000010
【図８】
0003760225.tif 000011