JPH10124614A - 書体識別装置および書体識別方法および情報記憶媒体 - Google Patents
書体識別装置および書体識別方法および情報記憶媒体Info
- Publication number
- JPH10124614A JPH10124614A JP8294586A JP29458696A JPH10124614A JP H10124614 A JPH10124614 A JP H10124614A JP 8294586 A JP8294586 A JP 8294586A JP 29458696 A JP29458696 A JP 29458696A JP H10124614 A JPH10124614 A JP H10124614A
- Authority
- JP
- Japan
- Prior art keywords
- character
- stroke
- thickness
- typeface
- stroke thickness
- 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.)
- Pending
Links
Landscapes
- Character Discrimination (AREA)
Abstract
(57)【要約】
【課題】 斜めのストロークやノイズを含む文字画像に
対しても、その文字の書体を容易にかつ正確に識別する
ことが可能である。 【解決手段】 書体識別部4は、文字画像において、文
字のストロークの太さをストローク太さとして抽出する
ストローク太さ抽出部11と、ストローク太さ抽出部1
1で抽出された文字のストローク太さを該文字の大きさ
(サイズ)で正規化するストローク太さ正規化部12と、
ストローク太さ正規化部12で正規化されたストローク
太さを所定の閾値と比較して、該文字の書体(フォント)
の識別を行なう比較識別部13とを有している。
対しても、その文字の書体を容易にかつ正確に識別する
ことが可能である。 【解決手段】 書体識別部4は、文字画像において、文
字のストロークの太さをストローク太さとして抽出する
ストローク太さ抽出部11と、ストローク太さ抽出部1
1で抽出された文字のストローク太さを該文字の大きさ
(サイズ)で正規化するストローク太さ正規化部12と、
ストローク太さ正規化部12で正規化されたストローク
太さを所定の閾値と比較して、該文字の書体(フォント)
の識別を行なう比較識別部13とを有している。
Description
【0001】
【発明の属する技術分野】本発明は、文字の書体(フォ
ント)の識別を行なう書体識別装置および書体識別方法
および情報記憶媒体に関する。
ント)の識別を行なう書体識別装置および書体識別方法
および情報記憶媒体に関する。
【0002】
【従来の技術】従来、例えば特開平6−208649号
には、文字の縦方向および横方向の文字線幅を推定し、
これらの線幅の比によって、文字の書体が明朝体である
かゴシック体であるかを識別する書体識別技術が示され
ている。この書体識別技術は、より具体的には、文字画
像の水平方向および垂直方向のランレングスヒストグラ
ムのモード(最頻値)によって、横方向および縦方向の文
字線幅を推定し、これらの線幅の比によって、文字の書
体が明朝体であるかゴシック体であるかを識別するよう
になっている。
には、文字の縦方向および横方向の文字線幅を推定し、
これらの線幅の比によって、文字の書体が明朝体である
かゴシック体であるかを識別する書体識別技術が示され
ている。この書体識別技術は、より具体的には、文字画
像の水平方向および垂直方向のランレングスヒストグラ
ムのモード(最頻値)によって、横方向および縦方向の文
字線幅を推定し、これらの線幅の比によって、文字の書
体が明朝体であるかゴシック体であるかを識別するよう
になっている。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来の書体識別技術では、「中」や「田」等のように
文字を構成するストロークの多くが水平または垂直な直
線で、かつ画像にノイズがない場合にしか、書体を良好
に識別することができないという問題があった。すなわ
ち、ほとんどの文字のフォントは、斜めのストロークが
存在し、文字に斜めのストロークが存在する場合、上述
した従来の書体識別技術では、ランレングスヒストグラ
ムのピーク(最頻値)が誤ったところに出てしまい、正し
い線幅を検出できないので、大半の文字の書体を正確に
識別することができず、実用化には適しないという問題
があった。
た従来の書体識別技術では、「中」や「田」等のように
文字を構成するストロークの多くが水平または垂直な直
線で、かつ画像にノイズがない場合にしか、書体を良好
に識別することができないという問題があった。すなわ
ち、ほとんどの文字のフォントは、斜めのストロークが
存在し、文字に斜めのストロークが存在する場合、上述
した従来の書体識別技術では、ランレングスヒストグラ
ムのピーク(最頻値)が誤ったところに出てしまい、正し
い線幅を検出できないので、大半の文字の書体を正確に
識別することができず、実用化には適しないという問題
があった。
【0004】本発明は、斜めのストロークやノイズを含
む文字画像に対しても、その文字の書体を容易にかつ正
確に識別することの可能な書体識別装置および書体識別
方法および情報記憶媒体を提供することを目的としてい
る。
む文字画像に対しても、その文字の書体を容易にかつ正
確に識別することの可能な書体識別装置および書体識別
方法および情報記憶媒体を提供することを目的としてい
る。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、請求項1乃至請求項7記載の発明では、文字画像に
おいて文字のストロークの太さをストローク太さとして
抽出し、抽出した文字のストローク太さを該文字の大き
さによって正規化し、正規化した文字のストローク太さ
に基づいて、該文字の書体を識別することを特徴として
いる。これにより、文字画像の文字の書体(フォント)を
精度良く識別することが可能となる。
に、請求項1乃至請求項7記載の発明では、文字画像に
おいて文字のストロークの太さをストローク太さとして
抽出し、抽出した文字のストローク太さを該文字の大き
さによって正規化し、正規化した文字のストローク太さ
に基づいて、該文字の書体を識別することを特徴として
いる。これにより、文字画像の文字の書体(フォント)を
精度良く識別することが可能となる。
【0006】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は本発明に係る書体識別装置の
構成例を示す図である。図1を参照すると、この書体識
別装置は、文書を例えば2値画像として読み込む画像入
力部1と、画像入力部1で読み込まれた文書画像等を記
憶するメモリ2と、文書画像から文字画像を抽出する文
字切り出し処理部3と、文字切り出し処理部3により切
り出された文字画像に対し、その文字の書体(フォント)
の識別を行なう書体識別部4と、全体の制御を行なう制
御部5と、書体識別部4による文字の書体の識別結果を
出力する結果出力部6とを有している。
基づいて説明する。図1は本発明に係る書体識別装置の
構成例を示す図である。図1を参照すると、この書体識
別装置は、文書を例えば2値画像として読み込む画像入
力部1と、画像入力部1で読み込まれた文書画像等を記
憶するメモリ2と、文書画像から文字画像を抽出する文
字切り出し処理部3と、文字切り出し処理部3により切
り出された文字画像に対し、その文字の書体(フォント)
の識別を行なう書体識別部4と、全体の制御を行なう制
御部5と、書体識別部4による文字の書体の識別結果を
出力する結果出力部6とを有している。
【0007】ここで、文字切り出し処理部3は、文書画
像から例えば図2に示すように1つの文字画像を切り出
すようになっている。すなわち、図2の例では、1つの
文字画像(図2の例では、文字「K」)は、文字の外接矩
形領域ARとして切り出される。
像から例えば図2に示すように1つの文字画像を切り出
すようになっている。すなわち、図2の例では、1つの
文字画像(図2の例では、文字「K」)は、文字の外接矩
形領域ARとして切り出される。
【0008】また、図3は図1の書体識別部4の構成例
を示す図である。図3の例では、書体識別部4は、文字
画像において、文字のストロークの太さをストローク太
さとして抽出するストローク太さ抽出部11と、ストロ
ーク太さ抽出部11で抽出された文字のストローク太さ
を該文字の大きさ(サイズ)で正規化するストローク太さ
正規化部12と、ストローク太さ正規化部12で正規化
されたストローク太さを所定の閾値と比較して、該文字
の書体(フォント)の識別を行なう比較識別部13とを有
している。
を示す図である。図3の例では、書体識別部4は、文字
画像において、文字のストロークの太さをストローク太
さとして抽出するストローク太さ抽出部11と、ストロ
ーク太さ抽出部11で抽出された文字のストローク太さ
を該文字の大きさ(サイズ)で正規化するストローク太さ
正規化部12と、ストローク太さ正規化部12で正規化
されたストローク太さを所定の閾値と比較して、該文字
の書体(フォント)の識別を行なう比較識別部13とを有
している。
【0009】ここで、ストローク太さ抽出部11は、第
1の抽出例として、文字を構成する各ストロークの太さ
を検出し、各ストロークの太さの平均を該文字のストロ
ーク太さとして抽出することができる。
1の抽出例として、文字を構成する各ストロークの太さ
を検出し、各ストロークの太さの平均を該文字のストロ
ーク太さとして抽出することができる。
【0010】あるいは、ストローク太さ抽出部11は、
第2の抽出例として、文字を構成する各ストロークのう
ち、特定の方向のストロークの太さのみを検出し、該特
定の方向のストロークの太さをストローク太さとして抽
出することもできる。より具体的に、例えば、特定の方
向のストロークについて、その太さの平均をストローク
太さとして抽出することができる。
第2の抽出例として、文字を構成する各ストロークのう
ち、特定の方向のストロークの太さのみを検出し、該特
定の方向のストロークの太さをストローク太さとして抽
出することもできる。より具体的に、例えば、特定の方
向のストロークについて、その太さの平均をストローク
太さとして抽出することができる。
【0011】なお、ストローク太さ抽出部11は、文字
を構成する1つのストロークの太さを検出するのに、例
えば、元の文字画像が図2のようなものである場合(な
お、図2において、斜線を施した部分が文字部分であ
る)、図2の文字画像に対し細線化処理を施し、図4の
ような細線化処理された文字画像(スケルトン(骨格)画
像)とし、この骨格画像において、ある1つの端点(例え
ばT1)から次の端点あるいは分岐点(例えばT2)まで骨
格を追跡し、この追跡の結果得られる1つの端点T1か
ら次の端点あるいは分岐点T2までの部分を、1つのス
トロークの骨格L1’と判断し、1つの端点の座標位置
(x1,y1)と次の端点あるいは分岐点の座標位置(x2,
y2)とに基づき、例えば、(y2−y1)/(x2−x1)によ
って、このストロークの方向Rを検出し、このストロー
クの骨格L1’に対応した細線化前の文字画像のストロ
ーク(図2にL1で示すストローク)のある1つの点Tiに
おいて、このストロークの方向R=(y2−y1)/(x2−
x1)と垂直な方向Vの画素数Niを、このストロークの
太さとして抽出するようになっている。図2の例では、
1つのストロークL1のある1つの点Tiにおける太さ
は、“3”として抽出される。なお、この場合、このス
トロークのある1つの点Tiにおける太さを、このスト
ロークの太さとして抽出することもできるが、より正確
さを期するために、このストロークの各点において、上
記のようにストロークの太さを抽出し、このストローク
の各点でのストロークの太さの平均を、このストローク
のストローク太さとして抽出することもできる。
を構成する1つのストロークの太さを検出するのに、例
えば、元の文字画像が図2のようなものである場合(な
お、図2において、斜線を施した部分が文字部分であ
る)、図2の文字画像に対し細線化処理を施し、図4の
ような細線化処理された文字画像(スケルトン(骨格)画
像)とし、この骨格画像において、ある1つの端点(例え
ばT1)から次の端点あるいは分岐点(例えばT2)まで骨
格を追跡し、この追跡の結果得られる1つの端点T1か
ら次の端点あるいは分岐点T2までの部分を、1つのス
トロークの骨格L1’と判断し、1つの端点の座標位置
(x1,y1)と次の端点あるいは分岐点の座標位置(x2,
y2)とに基づき、例えば、(y2−y1)/(x2−x1)によ
って、このストロークの方向Rを検出し、このストロー
クの骨格L1’に対応した細線化前の文字画像のストロ
ーク(図2にL1で示すストローク)のある1つの点Tiに
おいて、このストロークの方向R=(y2−y1)/(x2−
x1)と垂直な方向Vの画素数Niを、このストロークの
太さとして抽出するようになっている。図2の例では、
1つのストロークL1のある1つの点Tiにおける太さ
は、“3”として抽出される。なお、この場合、このス
トロークのある1つの点Tiにおける太さを、このスト
ロークの太さとして抽出することもできるが、より正確
さを期するために、このストロークの各点において、上
記のようにストロークの太さを抽出し、このストローク
の各点でのストロークの太さの平均を、このストローク
のストローク太さとして抽出することもできる。
【0012】そして、ストローク太さ抽出部11は、第
1の抽出例に従って文字のストローク太さを抽出する場
合、文字を構成する各ストロークの太さを上記のように
検出し(細線化した画像(スケルトン(骨格))から全ての
端点を抽出し、ある1つの端点から骨格を次の端点ある
いは分岐点まで追跡し、この追跡の結果得られる1つの
端点から次の端点あるいは分岐点までの部分を、1つの
ストロークと判断し)、文字を構成する各ストロークの
太さの平均を、この文字のストローク太さとして最終的
に抽出するようになっている。具体的に、図2の例で
は、文字を構成するストロークは、L1,L2,L3の3
個であり、これら3つのストロークL1,L2,L3のそ
れぞれの太さの平均をストローク太さとして抽出するよ
うになっている。
1の抽出例に従って文字のストローク太さを抽出する場
合、文字を構成する各ストロークの太さを上記のように
検出し(細線化した画像(スケルトン(骨格))から全ての
端点を抽出し、ある1つの端点から骨格を次の端点ある
いは分岐点まで追跡し、この追跡の結果得られる1つの
端点から次の端点あるいは分岐点までの部分を、1つの
ストロークと判断し)、文字を構成する各ストロークの
太さの平均を、この文字のストローク太さとして最終的
に抽出するようになっている。具体的に、図2の例で
は、文字を構成するストロークは、L1,L2,L3の3
個であり、これら3つのストロークL1,L2,L3のそ
れぞれの太さの平均をストローク太さとして抽出するよ
うになっている。
【0013】また、ストローク太さ抽出部11は、第2
の抽出例に従って文字のストローク太さを抽出する場
合、文字を構成する各ストロークの方向を上述したよう
な仕方で判定し、そのうち、特定の方向のストロークの
太さのみを検出し、該特定の方向のストロークの太さを
ストローク太さとして抽出するようになっている。具体
的に、図2の例において、特定の方向として方向Rが用
いられる場合、文字を構成する3つのストロークL1,
L2,L3のうち、方向RのストロークL1の太さをこの
文字のストローク太さとして抽出するようになってい
る。
の抽出例に従って文字のストローク太さを抽出する場
合、文字を構成する各ストロークの方向を上述したよう
な仕方で判定し、そのうち、特定の方向のストロークの
太さのみを検出し、該特定の方向のストロークの太さを
ストローク太さとして抽出するようになっている。具体
的に、図2の例において、特定の方向として方向Rが用
いられる場合、文字を構成する3つのストロークL1,
L2,L3のうち、方向RのストロークL1の太さをこの
文字のストローク太さとして抽出するようになってい
る。
【0014】また、ストローク正規化部12において、
ストローク太さを正規化するために用いられる文字の大
きさ(サイズ)は、図2に示すように、文字切り出し処理
部3によって文書画像から文字画像を文字の外接矩形領
域ARとして切り出すとき、この外接矩形領域ARの大
きさ(例えば、高さh)として検出することができる。
ストローク太さを正規化するために用いられる文字の大
きさ(サイズ)は、図2に示すように、文字切り出し処理
部3によって文書画像から文字画像を文字の外接矩形領
域ARとして切り出すとき、この外接矩形領域ARの大
きさ(例えば、高さh)として検出することができる。
【0015】図5は図1の書体識別装置のハードウェア
構成例を示す図である。図5を参照すると、この書体識
別装置は、例えばパーソナルコンピュータ等で実現さ
れ、全体を制御するCPU21と、CPU21の制御プ
ログラム等が記憶されているROM22と、CPU21
のワークエリア等として使用されるRAM23と、文書
を文書画像として読込むスキャナ24と、スキャナ24
で読込まれた文書画像が例えばページ単位で記憶される
文書画像ファイル25と、文書画像に含まれている各文
字画像に対し書体識別を行なった結果の情報を出力する
結果出力装置(例えば、ディスプレイやプリンタ)26と
を有している。
構成例を示す図である。図5を参照すると、この書体識
別装置は、例えばパーソナルコンピュータ等で実現さ
れ、全体を制御するCPU21と、CPU21の制御プ
ログラム等が記憶されているROM22と、CPU21
のワークエリア等として使用されるRAM23と、文書
を文書画像として読込むスキャナ24と、スキャナ24
で読込まれた文書画像が例えばページ単位で記憶される
文書画像ファイル25と、文書画像に含まれている各文
字画像に対し書体識別を行なった結果の情報を出力する
結果出力装置(例えば、ディスプレイやプリンタ)26と
を有している。
【0016】ここで、スキャナ24,文書画像ファイル
25,結果出力装置26は、図1の画像入力部1,メモ
リ2,結果出力部6にそれぞれ対応している。また、C
PU21は、図1の制御部5,文字切り出し処理部3,
書体識別部4の機能を有している。
25,結果出力装置26は、図1の画像入力部1,メモ
リ2,結果出力部6にそれぞれ対応している。また、C
PU21は、図1の制御部5,文字切り出し処理部3,
書体識別部4の機能を有している。
【0017】なお、CPU21におけるこのような制御
部5,文字切り出し処理部3,書体識別部4等としての
機能は、例えばソフトウェアパッケージ(具体的には、
CD−ROM等の情報記憶媒体)の形で提供することが
でき、このため、図5の例では、情報記憶媒体30がセ
ットさせるとき、これを駆動する媒体駆動装置31が設
けられている。
部5,文字切り出し処理部3,書体識別部4等としての
機能は、例えばソフトウェアパッケージ(具体的には、
CD−ROM等の情報記憶媒体)の形で提供することが
でき、このため、図5の例では、情報記憶媒体30がセ
ットさせるとき、これを駆動する媒体駆動装置31が設
けられている。
【0018】換言すれば、本発明の書体識別装置は、イ
メージスキャナ,ディスプレイ等を備えた汎用の計算機
システムにCD−ROM等の情報記憶媒体に記録された
プログラムコードを読み込ませて、この汎用計算機シス
テムのマイクロプロセッサに書体識別処理を実行させる
装置構成においても実施することが可能である。この場
合、本発明の書体識別処理プログラムなどを格納する情
報記憶媒体としては、CD−ROMに限られるものでは
なく、ROM,RAM,FD等が用いられても良い。
メージスキャナ,ディスプレイ等を備えた汎用の計算機
システムにCD−ROM等の情報記憶媒体に記録された
プログラムコードを読み込ませて、この汎用計算機シス
テムのマイクロプロセッサに書体識別処理を実行させる
装置構成においても実施することが可能である。この場
合、本発明の書体識別処理プログラムなどを格納する情
報記憶媒体としては、CD−ROMに限られるものでは
なく、ROM,RAM,FD等が用いられても良い。
【0019】次にこのような構成の書体識別装置の処理
動作を図6乃至図8のフローチャートを用いて説明す
る。なお、図6,図7は全体の処理動作を説明するため
のフローチャート、図8は図6,図7の処理動作におい
てストローク太さを求める処理の一例を示すフローチャ
ートである。
動作を図6乃至図8のフローチャートを用いて説明す
る。なお、図6,図7は全体の処理動作を説明するため
のフローチャート、図8は図6,図7の処理動作におい
てストローク太さを求める処理の一例を示すフローチャ
ートである。
【0020】図6,図7を参照すると、先ず、ステップ
S101では、画像入力部1により、書体識別対象であ
る文字が記載された文書(例えば原稿)を読込み、これを
文書画像としてメモリ2内に取り込む。次いで、ステッ
プS102では、文字切り出し部3によって文書画像か
ら文字画像のみを切り出し、その外接矩形領域の座標を
求める文字矩形切り出し処理を行なう。このようにし
て、文字画像に含まれる各文字画像に対して切り出しを
行ない、切り出した各文字画像に対して順番に番号付け
をする。
S101では、画像入力部1により、書体識別対象であ
る文字が記載された文書(例えば原稿)を読込み、これを
文書画像としてメモリ2内に取り込む。次いで、ステッ
プS102では、文字切り出し部3によって文書画像か
ら文字画像のみを切り出し、その外接矩形領域の座標を
求める文字矩形切り出し処理を行なう。このようにし
て、文字画像に含まれる各文字画像に対して切り出しを
行ない、切り出した各文字画像に対して順番に番号付け
をする。
【0021】次いで、ステップS103では、各文字画
像をサーチするための番号iを“1”に初期設定する。
次いで、ステップS104では、i番目の文字のストロ
ーク太さを求める。
像をサーチするための番号iを“1”に初期設定する。
次いで、ステップS104では、i番目の文字のストロ
ーク太さを求める。
【0022】ステップS104におけるストローク太さ
を求める処理は、例えば図8のようにしてなされる。な
お、図8の処理例は、前述した第1の抽出例に従い、文
字を構成する全てのストロークを用いてストローク太さ
を抽出するものである。図8を参照すると、先ず、ステ
ップS201では、文字画像を細線化し、次いで、ステ
ップS202では、ステップS201で細線化した文字
画像(骨格画像)から端点を抽出し、全ての端点をメモリ
2に記憶する。この際、抽出した各端点に順番に番号付
けをして記憶する。次いで、ステップS203では、端
点をサーチするための番号jを“1”に初期設定する。
を求める処理は、例えば図8のようにしてなされる。な
お、図8の処理例は、前述した第1の抽出例に従い、文
字を構成する全てのストロークを用いてストローク太さ
を抽出するものである。図8を参照すると、先ず、ステ
ップS201では、文字画像を細線化し、次いで、ステ
ップS202では、ステップS201で細線化した文字
画像(骨格画像)から端点を抽出し、全ての端点をメモリ
2に記憶する。この際、抽出した各端点に順番に番号付
けをして記憶する。次いで、ステップS203では、端
点をサーチするための番号jを“1”に初期設定する。
【0023】次いで、ステップS204では、j番目の
端点から次の端点あるいは分岐点まで骨格を追跡し、こ
の追跡の結果得られる1つの端点から次の端点あるいは
分岐点までの部分を、1つのストローク(ストロークの
骨格)と判断し、このストロークの方向を判定し、しか
る後、このストロークの骨格に対応する細線化前の文字
画像のストロークにおいて、上記ストロークの方向(骨
格の方向)と垂直な方向ヘの画素数をカウントすること
によって、このストロークの太さを求める。
端点から次の端点あるいは分岐点まで骨格を追跡し、こ
の追跡の結果得られる1つの端点から次の端点あるいは
分岐点までの部分を、1つのストローク(ストロークの
骨格)と判断し、このストロークの方向を判定し、しか
る後、このストロークの骨格に対応する細線化前の文字
画像のストロークにおいて、上記ストロークの方向(骨
格の方向)と垂直な方向ヘの画素数をカウントすること
によって、このストロークの太さを求める。
【0024】しかる後、ステップS205では、番号j
を“1”だけインクリメントし、ステップS206で
は、j番目の端点が存在するか否かを判定し、存在すれ
ば、ステップS204へ戻り、次の端点について、上述
したと同様の処理(文字の中の1つのストロークの太さ
を抽出する処理)を行なう。
を“1”だけインクリメントし、ステップS206で
は、j番目の端点が存在するか否かを判定し、存在すれ
ば、ステップS204へ戻り、次の端点について、上述
したと同様の処理(文字の中の1つのストロークの太さ
を抽出する処理)を行なう。
【0025】このようにして、ステップS202でメモ
リ2に記憶された全ての端点について追跡を行ない、こ
の文字画像に含まれる各ストロークの太さを順次に求
め、ステップS206でj番目の端点が存在しなくなっ
たとき(全ての端点の処理を完了したとき)、ステップS
207では、この1つの文字画像内において全てのスト
ロークの太さの平均を求める。次いで、ステップS20
8では、ステップS207で求めたストローク太さ(各
ストロークのストローク太さの平均)を文字サイズで除
算することによって正規化し、これを、この文字画像の
ストローク太さとして最終的に抽出する。
リ2に記憶された全ての端点について追跡を行ない、こ
の文字画像に含まれる各ストロークの太さを順次に求
め、ステップS206でj番目の端点が存在しなくなっ
たとき(全ての端点の処理を完了したとき)、ステップS
207では、この1つの文字画像内において全てのスト
ロークの太さの平均を求める。次いで、ステップS20
8では、ステップS207で求めたストローク太さ(各
ストロークのストローク太さの平均)を文字サイズで除
算することによって正規化し、これを、この文字画像の
ストローク太さとして最終的に抽出する。
【0026】図6のステップS104において、i番目
の文字のストローク太さを、例えば図8のステップS2
01乃至S208のようにして求めた後、図6のステッ
プS105では、番号iを“1”だけインクリメント
し、次いで、ステップS106では、i番目の文字が存
在するか否かを判定し、存在すれば、ステップS104
へ戻り、次の文字について、上述したと同様の処理(こ
の文字のストローク太さを抽出する処理)を行なう。
の文字のストローク太さを、例えば図8のステップS2
01乃至S208のようにして求めた後、図6のステッ
プS105では、番号iを“1”だけインクリメント
し、次いで、ステップS106では、i番目の文字が存
在するか否かを判定し、存在すれば、ステップS104
へ戻り、次の文字について、上述したと同様の処理(こ
の文字のストローク太さを抽出する処理)を行なう。
【0027】このようにして、ステップS101で入力
された文書画像に含まれる各文字画像について、ストロ
ーク太さを求める処理を順次に行ない、ステップS10
6でi番目の文字が存在しなくなったとき(全ての文字
画像についてストローク太さを求める処理を完了したと
き)、ステップS107では、ステップS104で求め
た各文字のストローク太さの平均を求める。すなわち、
ステップS101で入力された文書画像に含まれている
各文字のストローク太さの平均を求める。そして、ステ
ップS108では、ステップS107で求めたストロー
ク太さの平均に予め決めた定数を乗じた値を閾値として
決定する。すなわち、ステップS101で入力された文
書画像の各文字の書体を識別するための識別関数の閾値
を決定する。なお、この閾値としては、上記の他に、予
め決めた定数を用いることもできる。
された文書画像に含まれる各文字画像について、ストロ
ーク太さを求める処理を順次に行ない、ステップS10
6でi番目の文字が存在しなくなったとき(全ての文字
画像についてストローク太さを求める処理を完了したと
き)、ステップS107では、ステップS104で求め
た各文字のストローク太さの平均を求める。すなわち、
ステップS101で入力された文書画像に含まれている
各文字のストローク太さの平均を求める。そして、ステ
ップS108では、ステップS107で求めたストロー
ク太さの平均に予め決めた定数を乗じた値を閾値として
決定する。すなわち、ステップS101で入力された文
書画像の各文字の書体を識別するための識別関数の閾値
を決定する。なお、この閾値としては、上記の他に、予
め決めた定数を用いることもできる。
【0028】このようにして、ステップS107,S1
08で閾値を定めた後、ステップS109では、各文字
の書体を識別するために、先ず、番号iを“1”に初期
設定する。次いで、ステップS110では、i番目の文
字のストローク太さをステップS108で決定した閾値
と比較して、i番目の文字の書体を識別する。具体的
に、i番目の文字のストローク太さが閾値よりも小さけ
れば、ステップS111においてこのi番目の文字の書
体を明朝体であると判定し、また、i番目の文字のスト
ローク太さが閾値よりも大きければ、ステップS112
において、このi番目の文字の書体をゴシック体である
と判定する。
08で閾値を定めた後、ステップS109では、各文字
の書体を識別するために、先ず、番号iを“1”に初期
設定する。次いで、ステップS110では、i番目の文
字のストローク太さをステップS108で決定した閾値
と比較して、i番目の文字の書体を識別する。具体的
に、i番目の文字のストローク太さが閾値よりも小さけ
れば、ステップS111においてこのi番目の文字の書
体を明朝体であると判定し、また、i番目の文字のスト
ローク太さが閾値よりも大きければ、ステップS112
において、このi番目の文字の書体をゴシック体である
と判定する。
【0029】しかる後、ステップS113では、番号i
を“1”だけインクリメントし、ステップS114で
は、i番目の文字が存在するか否かを判定し、存在すれ
ば、ステップS110へ戻り、次の文字について、上述
したと同様の処理(この文字の書体を識別する処理)を行
なう。このようにして、文書画像に含まれている各文字
について、その書体を識別する処理を順次に行ない、ス
テップS111でi番目の文字が存在しなくなったとき
(全ての文字について書体を識別する処理を完了したと
き)、全ての処理を終了する。
を“1”だけインクリメントし、ステップS114で
は、i番目の文字が存在するか否かを判定し、存在すれ
ば、ステップS110へ戻り、次の文字について、上述
したと同様の処理(この文字の書体を識別する処理)を行
なう。このようにして、文書画像に含まれている各文字
について、その書体を識別する処理を順次に行ない、ス
テップS111でi番目の文字が存在しなくなったとき
(全ての文字について書体を識別する処理を完了したと
き)、全ての処理を終了する。
【0030】なお、図8の例では、第1の抽出例に従っ
て、全てのストロークを用いてストローク太さを抽出し
たが、文字を構成する各ストロークのうち予め定めた特
定の方向のストロークだけを用いて、文字のストローク
太さを抽出することも可能である。図9は、図6のステ
ップS104において、図8の処理のかわりに、第2の
抽出例に従って、予め定めた特定の方向のストロークだ
けを用いて文字のストローク太さを抽出する場合の処理
例を示すフローチャートである。
て、全てのストロークを用いてストローク太さを抽出し
たが、文字を構成する各ストロークのうち予め定めた特
定の方向のストロークだけを用いて、文字のストローク
太さを抽出することも可能である。図9は、図6のステ
ップS104において、図8の処理のかわりに、第2の
抽出例に従って、予め定めた特定の方向のストロークだ
けを用いて文字のストローク太さを抽出する場合の処理
例を示すフローチャートである。
【0031】図9を参照すると、先ず、ステップS30
1では、文字画像を細線化し、次いで、ステップS30
2では、ステップS301で細線化した文字画像(骨格
画像)から端点を抽出し、全ての端点をメモリ2に記憶
する。この際、抽出した各端点に順番に番号付けをして
記憶する。次いで、ステップS303では、端点をサー
チするための番号jを“1”に初期設定する。
1では、文字画像を細線化し、次いで、ステップS30
2では、ステップS301で細線化した文字画像(骨格
画像)から端点を抽出し、全ての端点をメモリ2に記憶
する。この際、抽出した各端点に順番に番号付けをして
記憶する。次いで、ステップS303では、端点をサー
チするための番号jを“1”に初期設定する。
【0032】次いで、ステップS304では、j番目の
端点から次の端点あるいは分岐点まで骨格を追跡し、こ
の追跡の結果得られる1つの端点から次の端点あるいは
分岐点までの部分を、1つのストローク(ストロークの
骨格)と判断し、このストロークの方向を抽出する。し
かる後、ステップS305では、このストロークの方向
が予め定めた特定の方向であるかを判定し、予め定めた
特定の方向である場合には、ステップS306におい
て、このストロークの骨格に対応する細線化前の文字画
像のストロークにおいて、上記ストロークの方向(骨格
の方向)と垂直な方向ヘの画素数をカウントすることに
よって、このストロークの太さを求める。また、ステッ
プS305において、このストロークの方向が予め定め
た特定の方向でない場合には、このストロークの太さを
求めない。
端点から次の端点あるいは分岐点まで骨格を追跡し、こ
の追跡の結果得られる1つの端点から次の端点あるいは
分岐点までの部分を、1つのストローク(ストロークの
骨格)と判断し、このストロークの方向を抽出する。し
かる後、ステップS305では、このストロークの方向
が予め定めた特定の方向であるかを判定し、予め定めた
特定の方向である場合には、ステップS306におい
て、このストロークの骨格に対応する細線化前の文字画
像のストロークにおいて、上記ストロークの方向(骨格
の方向)と垂直な方向ヘの画素数をカウントすることに
よって、このストロークの太さを求める。また、ステッ
プS305において、このストロークの方向が予め定め
た特定の方向でない場合には、このストロークの太さを
求めない。
【0033】次いで、ステップS307では、端点の番
号jを“1”だけインクリメントし、ステップS308
では、j番目の端点が存在するか否かを判定し、存在す
れば、ステップS304へ戻り、次の端点について、上
述したと同様の処理(文字を構成するストロークのう
ち、特定の方向のストロークの太さを抽出する処理)を
行なう。
号jを“1”だけインクリメントし、ステップS308
では、j番目の端点が存在するか否かを判定し、存在す
れば、ステップS304へ戻り、次の端点について、上
述したと同様の処理(文字を構成するストロークのう
ち、特定の方向のストロークの太さを抽出する処理)を
行なう。
【0034】このようにして、ステップS302でメモ
リ2に記憶された全ての端点について追跡を行ない、こ
の文字画像に含まれる各ストロークのうち、予め定めた
特定の方向のストロークについてだけ、その太さを順次
に求め、ステップS308でj番目の端点が存在しなく
なったとき(全ての端点の処理を完了したとき)、ステッ
プS309では、この1つの文字画像内において予め定
めた特定の方向であると判定した各ストロークについて
のみ、そのストローク太さの平均を求める。
リ2に記憶された全ての端点について追跡を行ない、こ
の文字画像に含まれる各ストロークのうち、予め定めた
特定の方向のストロークについてだけ、その太さを順次
に求め、ステップS308でj番目の端点が存在しなく
なったとき(全ての端点の処理を完了したとき)、ステッ
プS309では、この1つの文字画像内において予め定
めた特定の方向であると判定した各ストロークについて
のみ、そのストローク太さの平均を求める。
【0035】次いで、ステップS310では、ステップ
S309で求めたストローク太さ(ストローク太さの平
均)を文字サイズで除算することによって正規化し、こ
れを、この文字画像のストローク太さとして最終的に抽
出する。
S309で求めたストローク太さ(ストローク太さの平
均)を文字サイズで除算することによって正規化し、こ
れを、この文字画像のストローク太さとして最終的に抽
出する。
【0036】このように、本発明では、文字を構成する
ストロークに斜めのストロークが存在する場合、この斜
めのストロークについても、ストローク太さをこのスト
ロークの正確な特徴量として抽出するので、斜めのスト
ロークを含む文字画像に対しても、その文字の書体(フ
ォント)を小さなプログラムサイズで容易にかつ正確に
精度良く識別することができる。
ストロークに斜めのストロークが存在する場合、この斜
めのストロークについても、ストローク太さをこのスト
ロークの正確な特徴量として抽出するので、斜めのスト
ロークを含む文字画像に対しても、その文字の書体(フ
ォント)を小さなプログラムサイズで容易にかつ正確に
精度良く識別することができる。
【0037】さらに、本発明において、書体(ストロー
ク太さ)を識別するために用いられるストロークとし
て、所定の長さを有するもののみを対象とすることも可
能であり、この場合には、書体(ストローク太さ)を識別
するために用いられるストロークとしてノイズが誤まっ
て抽出される率を低減でき、書体を識別する際にノイズ
による影響を除去することができる。
ク太さ)を識別するために用いられるストロークとし
て、所定の長さを有するもののみを対象とすることも可
能であり、この場合には、書体(ストローク太さ)を識別
するために用いられるストロークとしてノイズが誤まっ
て抽出される率を低減でき、書体を識別する際にノイズ
による影響を除去することができる。
【0038】なお、上述の例では、書体として、明朝
体,ゴシック体のいずれかを識別する場合が示されてい
るが、本発明は、書体として、明朝体,ゴシック体の他
のフォントを識別することももちろん可能であり、ま
た、書体として、明朝体,ゴシック体に加えてさらに他
のフォントを識別することも可能である。
体,ゴシック体のいずれかを識別する場合が示されてい
るが、本発明は、書体として、明朝体,ゴシック体の他
のフォントを識別することももちろん可能であり、ま
た、書体として、明朝体,ゴシック体に加えてさらに他
のフォントを識別することも可能である。
【0039】このように、本発明では、文字画像の文字
の書体(フォント)を精度良く識別することが可能とな
り、このようにして得られた文字の書体(フォント)の識
別結果に基づいて、例えば文書画像を再現したりするの
に有用である。
の書体(フォント)を精度良く識別することが可能とな
り、このようにして得られた文字の書体(フォント)の識
別結果に基づいて、例えば文書画像を再現したりするの
に有用である。
【0040】
【発明の効果】以上に説明したように、請求項1乃至請
求項7記載の発明によれば、文字画像において文字のス
トロークの太さをストローク太さとして抽出し、抽出し
た文字のストローク太さを該文字の大きさによって正規
化し、正規化した文字のストローク太さに基づいて、該
文字の書体を識別するので、文字画像の文字の書体(フ
ォント)を容易にかつ正確に精度良く識別することがで
きる。
求項7記載の発明によれば、文字画像において文字のス
トロークの太さをストローク太さとして抽出し、抽出し
た文字のストローク太さを該文字の大きさによって正規
化し、正規化した文字のストローク太さに基づいて、該
文字の書体を識別するので、文字画像の文字の書体(フ
ォント)を容易にかつ正確に精度良く識別することがで
きる。
【図1】本発明に係る書体識別装置の構成例を示す図で
ある。
ある。
【図2】1つの文字画像の一例を示す図である。
【図3】図1の書体識別部の構成例を示す図である。
【図4】図2の文字画像に対し細線化処理を施した結果
の骨格画像を示す図である。
の骨格画像を示す図である。
【図5】図1の書体識別装置のハードウェア構成例を示
す図である。
す図である。
【図6】図1の書体識別装置の処理動作を説明するため
のフローチャートである。
のフローチャートである。
【図7】図1の書体識別装置の処理動作を説明するため
のフローチャートである。
のフローチャートである。
【図8】図1の書体識別装置の処理動作を説明するため
のフローチャートである。
のフローチャートである。
【図9】図1の書体識別装置の処理動作を説明するため
のフローチャートである。
のフローチャートである。
【符号の説明】 1 画像入力部 2 メモリ 3 文字切り出し処理部 4 書体識別部 5 制御部 6 結果出力部 11 ストローク太さ抽出部 12 ストローク太さ正規化部 13 比較識別部 21 CPU 22 ROM 23 RAM 24 スキャナ 25 文書画像ファイル 26 結果出力装置 30 情報記憶媒体 31 媒体駆動装置
Claims (7)
- 【請求項1】 文字画像において文字のストロークの太
さをストローク太さとして抽出するストローク太さ抽出
手段と、ストローク太さ抽出手段で抽出された文字のス
トローク太さを該文字の大きさによって正規化する正規
化手段と、正規化手段で正規化された文字のストローク
太さに基づいて、該文字の書体を識別する識別手段とを
有していることを特徴とする書体識別装置。 - 【請求項2】 請求項1記載の書体識別装置において、
前記ストローク太さ抽出手段は、文字を構成する各スト
ロークの太さを検出し、検出した各ストロークの太さの
平均をストローク太さとして抽出することを特徴とする
書体識別装置。 - 【請求項3】 請求項1記載の書体識別装置において、
前記ストローク太さ抽出手段は、文字を構成する各スト
ロークのうち特定の方向のストロークの太さのみを検出
し、該特定の方向のストロークの太さをストローク太さ
として抽出することを特徴とする書体識別装置。 - 【請求項4】 請求項1記載の書体識別装置において、
前記識別手段は、前記正規化された文字のストローク太
さと予め決められた閾値とを比較することによって、該
文字の書体を識別することを特徴とする書体識別装置。 - 【請求項5】 請求項4記載の書体識別装置において、
前記閾値は、所定文書画像に含まれる全ての文字のスト
ローク太さの平均に所定の定数を乗ずることによって決
定され、この場合、前記識別手段は、文書画像に含まれ
ている各文字のストローク太さを前記閾値と比較して、
各文字の書体をそれぞれ識別することを特徴とする書体
識別装置。 - 【請求項6】 文字画像において文字のストロークの太
さをストローク太さとして抽出し、抽出した文字のスト
ローク太さを該文字の大きさによって正規化し、正規化
した文字のストローク太さに基づいて、該文字の書体を
識別することを特徴とする書体識別方法。 - 【請求項7】 文字画像において文字のストロークの太
さをストローク太さとして抽出し、抽出した文字のスト
ローク太さを該文字の大きさによって正規化し、正規化
した文字のストローク太さに基づいて、該文字の書体を
識別するためのプログラムが記憶されていることを特徴
とする情報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8294586A JPH10124614A (ja) | 1996-10-16 | 1996-10-16 | 書体識別装置および書体識別方法および情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8294586A JPH10124614A (ja) | 1996-10-16 | 1996-10-16 | 書体識別装置および書体識別方法および情報記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10124614A true JPH10124614A (ja) | 1998-05-15 |
Family
ID=17809703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8294586A Pending JPH10124614A (ja) | 1996-10-16 | 1996-10-16 | 書体識別装置および書体識別方法および情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10124614A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784146A (zh) * | 2018-12-05 | 2019-05-21 | 广州企图腾科技有限公司 | 一种字体种类识别方法、电子设备、存储介质 |
-
1996
- 1996-10-16 JP JP8294586A patent/JPH10124614A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784146A (zh) * | 2018-12-05 | 2019-05-21 | 广州企图腾科技有限公司 | 一种字体种类识别方法、电子设备、存储介质 |
CN109784146B (zh) * | 2018-12-05 | 2023-11-07 | 广州企图腾科技有限公司 | 一种字体种类识别方法、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5539841A (en) | Method for comparing image sections to determine similarity therebetween | |
US5410611A (en) | Method for identifying word bounding boxes in text | |
US7035463B1 (en) | Document image processor, method for extracting document title, and method for imparting document tag information | |
US6327384B1 (en) | Character recognition apparatus and method for recognizing characters | |
US7146047B2 (en) | Image processing apparatus and method generating binary image from a multilevel image | |
JP2002015280A (ja) | 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体 | |
US6968501B2 (en) | Document format identification apparatus and method | |
JP3099797B2 (ja) | 文字認識装置 | |
JPH10124614A (ja) | 書体識別装置および書体識別方法および情報記憶媒体 | |
JP2001222683A (ja) | 画像処理方法、画像処理装置、文字認識方法、文字認識装置及び記憶媒体 | |
JPH1185905A (ja) | 書体識別装置および書体識別方法および情報記憶媒体 | |
JP2002245404A (ja) | 領域切り出しプログラムおよび装置 | |
JPH10187887A (ja) | 書体識別装置および書体識別方法および情報記録媒体 | |
JP3095470B2 (ja) | 文字認識装置 | |
JP2821303B2 (ja) | 掠れ文字結合方式 | |
JPH10154191A (ja) | 帳票識別方法及び装置並びに帳票識別プログラムを記録した媒体 | |
CN115131806B (zh) | 一种基于深度学习的各类证件ocr图像信息识别方法、系统 | |
JPH10334188A (ja) | 書体識別装置および書体識別方法および情報記憶媒体 | |
US10878271B2 (en) | Systems and methods for separating ligature characters in digitized document images | |
JP3391987B2 (ja) | 帳票認識装置 | |
JP2909132B2 (ja) | 光学的文字読取装置 | |
JP3919390B2 (ja) | 文字認識装置 | |
JPH09319830A (ja) | フォント識別方法 | |
JPH10214308A (ja) | 文字判別方法 | |
JPH0816719A (ja) | 文字切り出し方法とこれを用いた文字認識方法及び装置 |