(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-20
(45)【発行日】2023-12-28
(54)【発明の名称】情報処理装置、プログラム及び制御方法
(51)【国際特許分類】
G06V 30/148 20220101AFI20231221BHJP
【FI】
G06V30/148
(21)【出願番号】P 2019120036
(22)【出願日】2019-06-27
【審査請求日】2022-06-23
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】七海 嘉仁
【審査官】小池 正彦
(56)【参考文献】
【文献】特開平11-053469(JP,A)
【文献】特開昭63-136181(JP,A)
【文献】特開2002-056356(JP,A)
【文献】特開平05-128308(JP,A)
【文献】特開平10-055408(JP,A)
【文献】米国特許出願公開第2017/0351913(US,A1)
【文献】特開2012-048621(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/148
(57)【特許請求の範囲】
【請求項1】
画像データを読み込む情報処理装置であって、
前記画像データを基に文字行領域の分割位置を決定し、当該決定された分割位置で前記画像データを前記文字行領域ごとに分割する第一の分割手段と、
前記分割位置に接する文字を構成する画素の塊を検知する第一の検知手段と、
前記検知手段で検知した画素の塊が所定の条件を満たすか判断する第一の判断手段と、
前記判断手段で、所定の条件を満たすと判断した画素の塊を、当該画素の塊が接する分割位置をまたいだ隣接する文字行領域に結合させる第一の結合手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記第一の分割手段は画像データ全体を横方向に射影をとり、出現する文字を構成する画素の数が閾値以上の領域を文字行領域と判定し分割を行う
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記所定の条件とは所定の面積以下の画素の塊、または所定の高さ以上もしくは以下の位置にある画素の塊である
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記所定の条件とは画素の塊を当該画素の塊が接する分割位置をまたいだ隣接する文字行領域に結合させた時に、当該文字行領域にある文字を構成する画素の塊と結合すること
ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記情報処理装置は
前記第一の結合手段で結合を行ったあとの画像データを用いて、文字行領域の分割位置になる可能性のある位置で再度、分割する第二の分割手段と、
当該分割位置に接する文字を構成する画素の塊を検知する第二の検知手段と
前記第二の検知手段で検知した画素の塊が所定の条件を満たすか判断する第二の判断手段と、
前記判断手段で、所定の条件を満たすと判断した画素の塊を当該画素の塊が接する分割位置をまたいだ隣接する文字行領域に結合させる第二の結合手段とをさらに有する
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
【請求項6】
前記可能性のある位置とは、文字を構成する画素の塊の上端もしくは下端の位置が、当該画素の塊と同じ行に含まれる複数の文字の文字を構成する画素の塊の上端もしくは下端の位置と同じである場合の位置である
ことを特徴とする請求項
5に記載の情報処理装置。
【請求項7】
前記可能性は、前記第一の結合手段で結合を行った画素の塊を含む画素の塊の上端もしくは下端の位置が、当該画素の塊と同じ行に含まれる他の複数の文字の文字を構成する画素の塊の上端もしくは下端の位置と同じである場合に高いとされ、当該画素の塊と同じ行に含まれる他の文字を構成する画素の塊の上端もしくは下端の位置と異なる場合に前記可能性は低いとされる
ことを特徴とする請求項
5に記載の情報処理装置。
【請求項8】
前記第一の分割手段は、分割位置に文字を構成する所定以上の画素の塊が含まれる場合は、文字行領域を広げた位置に分割位置を決定し、前記第一の結合手段は結合を行わない
ことを特徴とする請求項5に記載の情報処理装置。
【請求項9】
前記文字行領域を広げた位置に分割位置を決定した場合、前記第一の判断手段で判断する所定の条件は当該広げた度合いに応じて決まる
ことを特徴とする請求項8に記載の情報処理装置。
【請求項10】
前記情報処理装置は
分割位置に接する文字を構成する画素の塊が当該分割位置よりも上もしくは下にある割合に応じて当該画素の塊を前記分割位置の上もしくは下の文字行領域に分類する分類手段をさらに有する
ことを特徴とする請求項5に記載の情報処理装置。
【請求項11】
前記情報処理装置は前記結合手段で結合した後の画像データに含まれる文字に対して文字認識を行う文字認識手段を更に有する
ことを特徴とする請求項1から10のいずれか一項に記載の情報処理装置。
【請求項12】
画像データを読み込む情報処理装置が実行する情報処理方法であって、
前記画像データを基に文字行領域の分割位置を決定し、当該決定された分割位置で前記画像データを前記文字行領域ごとに分割する第一の分割工程と、
前記分割位置に接する文字を構成する画素の塊を検知する第一の検知工程と
前記検知工程で検知した画素の塊が所定の条件を満たすか判断する第一の判断工程と、
前記判断工程で、所定の条件を満たすと判断した画素の塊を、当該画素の塊が接する分割位置をまたいだ隣接する文字行領域に結合させる第一の結合工程と
を有することを特徴とする情報処理方法。
【請求項13】
請求項12に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字画像を行単位に分割した行分割画像からノイズ除去、およびノイズ結合することが可能な情報処理装置、情報処理方法、コンピュータプログラムに関するものである。
【背景技術】
【0002】
従来、カメラやスキャナにより読込んだ画像に対し、画像内の文字を認識する技術(OCR)がある。画像内の文字を認識するためには、文書を行単位、文字単位に分割する(以下、行分割、文字分割)ことで、文字領域の位置、サイズを把握し、各文字領域に対して文字認識処理を行うことにより文字を特定する。
【0003】
しかし、文字の大きさや並びにばらつきがある場合や、文書の読み取り時にゴミが混入する場合には、行分割処理により文字行を切り出す際、その周辺に記載された他の文字の画素の一部などを同時に切り出してしまい、対象となる文字行に異なる行の文字の画素が含まれてしまうことがある。その行分割処理結果の文字行画像に対して1文字ごとに分割して文字認識処理を行うと、他の文字画素の一部などのノイズ画素を含んだ文字矩形として認識処理されるため、OCR精度が低下してしまう。
【0004】
上記課題に対する従来の解決手段として、特許文献1は、切り出した文字領域内のノイズを検出し、ノイズ除去後の領域に対して文字認識することでOCR精度を高める手法を提案している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、例えばレシート印刷機に代表されるようにロール紙を節約するために、意図的に行間を狭める機能が搭載された印刷機で印字された画像では、文字を形成する画素がその上下の文字行に深く入り込む。その結果、行間の複数ヶ所で文字同士の接触(行接触)が発生してしまう。このように複数カ所でノイズが発生すると特許文献1のように文字領域のノイズを除去するだけではOCR精度を高めることができない可能性が有った。本発明はノイズを除去するだけでなく、除去したノイズを正しい位置に復元することで、より精度の高いOCR処理を行えるようすることを目的とする。
【課題を解決するための手段】
【0007】
画像データを読み込む情報処理装置であって、前記画像データを基に文字行領域の分割位置を決定し、当該決定された分割位置で前記画像データを前記文字行領域ごとに分割する第一の分割手段と、前記分割位置に接する文字を構成する画素の塊を検知する第一の検知手段と、前記検知手段で検知した画素の塊が所定の条件を満たすか判断する第一の判断手段と、前記判断手段で、所定の条件を満たすと判断した画素の塊を、当該画素の塊が接する分割位置をまたいだ隣接する文字行領域に結合させる第一の結合手段と、を有することを特徴とする情報処理装置。
【発明の効果】
【0008】
本発明によれば、文字画像を行単位に分割した画像からノイズを除去し、当該ノイズを隣接する文字行の画像に付加することで、複数行に分割された文字画像を復元し、OCR精度を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】第一の実施形態に係る情報処理システムを示す図である。
【
図2】第一の実施形態に係る発明の全体フローを示すフローチャートである。
【
図4】第一の実施形態に係るノイズ除去、およびノイズ結合処理を示すフローチャートである。
【
図6】第二の実施形態に係るノイズ除去、およびノイズ結合処理を示すフローチャートである。
【
図8】第三の実施形態に係る発明を示すフローチャートである。
【
図10】第四の実施形態に係る発明を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0011】
(第一の実施形態)
図1は、第1の実施形態に係る情報処理システムを示す図である。情報処理システムは、複写機100と、情報処理装置110とを有している。なお複写機100と、情報処理装置110は別装置である必要は無く、複写機100に情報処理装置110の構成がすべて含まれており、複写機100のみで以下の処理を行ってもよい。複写機100は、スキャナ101と、プリンタ102と、複写機側通信部103とを有している。スキャナ101は、文書のスキャンを行い、スキャン画像を生成する。プリンタ102は、印刷を実行する。複写機側通信部103は、ネットワークを介して外部装置と通信を行う。
【0012】
情報処理装置110は、CPU111と、ROM112と、RAM113と、HDD114と、表示部115と、入力部116と、情報処理装置側通信部117とを有している。CPU111は、ROM112に記憶された制御プログラムを読み出して各種処理を実行する。RAM113は、CPU111の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD114は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置110の機能や処理は、CPU111がROM112又はHDD114に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【0013】
情報処理装置側通信部117は、ネットワークを介して外部装置との通信処理を行う。表示部115は、各種情報を表示する。入力部116は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、表示部115と入力部116は、タッチパネルのように一体に設けられていてもよい。また、表示部115は、プロジェクタによる投影を行うものであってもよく、入力部116は、投影された画像に対する指先の位置を、カメラで認識することでユーザの操作を受け付けてもよい。
【0014】
本実施形態においては、複写機100のスキャナ101がレシート等の文書をスキャンし、画像データ(スキャン画像301)を生成する。そして、スキャン画像301は、複写機側通信部103により情報処理装置110に送信される。情報処理装置110においては、情報処理装置側通信部117が入力画像を受信し、これをHDD114等の記憶部に記憶する。
【0015】
図2は、本実施形態に係る情報処理装置110が行分割画像(文字画像を行単位に分割した画像)からノイズ除去、およびノイズ結合処理を行うフローチャートである。本フローチャートは、複写機100においてユーザがスキャン開始の操作を行うと開始するとする。S201において、複写機100のスキャナ101が文書をスキャンすると、CPU111がスキャン画像をHDD114に格納する。
図3に文書のスキャン画像の一例を示す。スキャン画像301はレシートをスキャンした画像である。本実施形態では、画像内の複数カ所で行接触(行を挟んだ文字同士の接触)が発生している例としてレシートのスキャン画像を用いたが、行間が狭く、複数ヶ所で行接触が発生している文書や、スキャン時にゴミなどが混入することによって行接触した文書でもよい。
【0016】
次に、S202において、CPU111は、スキャン画像301に対して二値化処理を行い、CPU111が二値画像をRAM113に格納する。二値化処理とは、画像を白と黒の2階調に変換する処理のことであり、閾値より濃い色の画素は黒画素、その閾値より薄い色の画素は白画素となる。本実施形態では、スキャン画像301全体のヒストグラムから閾値を決定して二値画像を作成する手法を用いたが、その後の文字認識が可能な精度で白と黒の二値に変換されれば具体的な手法は問わない。
【0017】
次に、S203において、CPU111は、S202で処理した二値画像に対して行分割を行い、CPU111が分割した行の情報をRAM113に格納する。本実施形態では、行分割の判定は文書全体を横方向に射影をとることによって画素行ごとに出現する黒画素の数をカウントして度数分布を作成し、黒画素数が閾値以上となった画素行の範囲を文字行が存在する位置と判定する方法をとる。CPU111は、文字行と判定した領域の位置を行情報としてRAM113に格納する。行分割の詳細を
図5を用いて説明する。
図5(a)に、本実施形態に係るスキャン画像301の一部の二値画像500および度数分布(ヒストグラム)501を示す。度数分布501において黒画素数が所定の閾値502より大きい画素行は、文字の黒画素が多い画素行であり、文字行領域の位置を示している。一方、文字行領域の上下の境界付近では中央部分に比べ文字の黒画素が少ないので、度数分布501において黒画素数が所定の閾値502以下の画素行の位置を、文字行領域ごとに分割するための分割位置と判断する。位置503、位置504、位置505、位置506は、それぞれ黒画素数が閾値を下回る位置であり、行分割位置である。
【0018】
次にS204において、CPU111は、ノイズ除去およびノイズ結合処理を行う。処理の詳細は後述する。
【0019】
次に、S205において、CPU111は、ノイズ除去およびノイズ結合処理を行った二値画像に対してOCR処理を行い、CPU111がOCR結果をRAM113に格納する。
【0020】
図4は、本実施形態に係るS204のノイズ除去およびノイズ結合処理を示すフローチャートである。S401において、CPU111は、S203で得た行情報をRAM113より取得し、行情報から行分割画像を作成する。
図5(b)に、本実施形態に係る行分割画像を示す。行分割画像507は、位置503と位置504の行分割位置にはさまれた行領域の画像である。行分割画像508は、位置504と位置505を行分割位置とする行分割画像である。行分割画像509は、位置505と位置506を行分割位置とする行分割画像である。さらにCPU111は、その行分割画像に対して白または黒が連続する画素に同じ番号を割り振る処理(ラベリング処理)を行う。ラベリング処理で同じ番号を振った連続する画素を画素塊(画素のひと塊)とする。さらにCPU111は、ラベリング結果として抽出した画素塊の中から、行分割画像の上端、下端の行分割位置に接する画素塊を選択する。
【0021】
次に、S402において、CPU111は、S401で選択した画素塊に対して、一定面積以下の画素塊、または一定の高さ以上もしくは以下の画素塊を選別し、ノイズとして判断する。行接触による他の行の文字画素をノイズとして検知するために行分割位置に接する一定面積以下の画素塊、または一定の高さ以上もしくは以下の画素塊をノイズと判断した。ノイズの例を
図5(b)を用いて示す。画素塊510は、行分割画像508においてノイズと判断したノイズ画素塊である。画素塊511は、行分割画像509においてノイズと判断したノイズ画素塊である。
【0022】
次に、S403において、CPU111は、ノイズとして判断した画素塊を行分割画像から除去する。
図5(c)に、本実施形態に係るノイズ除去後画像を示す。ノイズ除去後画像512は、行分割画像508からノイズ画素塊510を除去した画像である。ノイズ除去後画像513は、行分割画像509からノイズ画素塊511を除去した画像である。
【0023】
次に、S404において、CPU111は、S403で除去したノイズ画素塊に対して、行分割位置を跨いだ隣接する行分割画像に結合可能な画素塊か否かを判断し、結合可能な画素塊の場合は画素塊を結合する復元処理を行う。ここで結合可能な画素塊か否かの判断は、行位置を跨いだ隣接する行分割画像に画素塊を結合させて孤立した画素塊となれば結合不可能で、当該行分割画像にもともとあった画素塊の一部となれば結合可能であるとする。
図5(d)に、本実施形態に係る復元後画像を示す。復元後画像514は、ノイズ画素塊510を行分割画像507に結合した画像である。復元後画像515は、ノイズ画素塊511をノイズ除去後画像512に結合した画像である。以上のように、複数ヶ所で行接触(行を挟んだ文字同士の接触)が発生し、文字を形成する画素が上や下の行に深く入り込んでしまうような場合に、画像から行分割位置周辺のノイズを除去、およびノイズを結合することで文字を正しい形に復元することができ、OCR精度を向上させることができる。
【0024】
(第二の実施形態)
第二の実施形態については、第一の実施形態との差分のみの説明とし、特に明記しない部分については第一の実施形態と同じ構成/手順となる。
【0025】
第一の実施形態では除去したノイズを行を跨いだ行分割画像に結合させて孤立した画素塊となれば結合不可能としていたため、もともと孤立した画素塊の濁点や句点を適切に復元することができなかった。このように孤立した画素塊が上下の文字に接触している際に行分割を行うと正しく行分割が行われない可能性が有るが、第二の実施形態では、行分割によって孤立した画素塊が間違った行に含まれた場合でも当該孤立した画素塊を正しい位置に復元することができるようになる。
【0026】
図6は、本実施形態に係るS204のノイズ除去およびノイズ結合処理を示すフローチャートである。本フローチャートを
図7(a)(b)(c)を使って説明する。
【0027】
図7(a)に、本実施形態に係るスキャン画像の一部の二値画像700および射影画像701を示す。702は、射影画像に対する閾値を表し、黒画素がそれ以下の場合は行分割位置と判断する。位置703、位置704、位置705
は、それぞれ黒画素数が閾値を下回る位置であり、行分割位置である。
図7(b)に、本実施形態に係る行分割画像を示す。行分割画像706は、位置703と位置704を行分割位置とする行分割画像である。行分割画像707は、位置704と位置705を行分割位置とする行分割画像である。
【0028】
S401において、CPU111は、この行分割画像に対してラベリング処理を行う。さらにCPU111は、ラベリング結果として抽出した画素塊(Connected Components)の中で、行分割画像の上端、下端である行分割位置に接する画素塊を取得する。
【0029】
次に、S402において、CPU111は、S401で取得した画素塊に対して、一定面積以下の画素塊、または一定高さ以下の画素塊を選別し、ノイズとして判断する。
図7(b)においてノイズ画素塊708は、行分割画像706においてノイズと判断した画素塊である。ノイズ画素塊709は、行分割画像707においてノイズと判断した画素塊である。
【0030】
次に、S403において、CPU111は、ノイズとして判断した画素塊を行分割画像から除去する。S404でノイズを結合する。
図7(c)に、本実施形態に係るノイズ結合した復元後画像を示す。ノイズを結合した復元後画像710は、行分割画像706からノイズ画素塊708を除去し、ノイズ画素塊709を結合した画像である。また復元後画像711は、行分割画像707からノイズ画素塊709を除去し、ノイズ画素塊708を結合した画像である。復元後画像710と復元画像711から分かるように、「ドーナッツ」の「ド」の濁点の一部が、「サラダ」の「サ」の下端に結合していることが分かる。このように濁点や句読点など行分割位置付近の孤立した画素塊が行を跨いだ文字に接触している場合には、ノイズ除去とノイズ結合を行っても、OCR処理で誤判定が発生する可能性がある。
【0031】
この場合のOCR精度を上げるために、S404後の復元後の画像を、S601からS605の処理で、画像データ全体の行の分割位置の詳細推定を行い、当該推定を基に再度、行の分割ノイズ除去、ノイズ結合を行う。
【0032】
S601において、CPU111は、復元後画像に対して、再度ラベリング処理を行い、ラベル付けされた各画素塊の上端下端の位置情報を取得する。これらの画素塊の上端位置・下端位置が行の上端・下端となるかの信頼度を設定し、各画素塊の信頼度に基づいてと行推定を行う。具体的には、まず以下3分類により各画素塊の上端位置、下端位置の信頼度を設定する。
【0033】
(1)画素塊の上端・下端においてS404の復元処理が行われた画素塊であり、かつ復元後の画素塊の上端もしくは下端の位置が、他の複数の画素塊の上端もしくは下端の位置と一致する場合は、その位置の信頼度を高に設定する。
【0034】
(2)画素塊の上端・下端においてS404の復元処理が行われていない画素塊で、画素塊の上端もしくは下端の位置が他の複数の画素塊の上端もしくは下端と位置が一致する場合は、その位置の信頼度を中に設定する。
【0035】
(3)画素塊の上端・下端においてS404の復元処理が行われた画素塊であり、かつ復元後の画素塊の上端もしくは下端の位置が、他の複数の画素塊の上端もしくは下端の位置が一致しない場合は、その位置の信頼度を低に設定する。
【0036】
(1)の信頼度を高く設定したのは、復元処理が行われた画素塊の上端もしくは下端が他の画素塊と同じ位置にあるということは、復元が正しく行われている可能性が高く、なおかつ行分割位置付近の画素塊を復元しているので、行の上端・下端になる可能性も高いからである。逆に復元処理が行われた画素塊の上端もしくは下端が他の画素塊と同じ位置に無い場合は、復元が正しく行われている可能性が低いと予想されるため(3)の信頼度を低くした。
【0037】
次にすべての画素塊の上端・下端位置の情報と上記3分類の分類情報から行の推定を行う。まず信頼度が高に設定された位置が1つもない場合は、信頼度が中の位置を行分割詳細推定位置(行分割位置として推定される位置)として設定する。信頼度が高に設定された位置が1つの場合は、その位置を行分割詳細推定位置として設定する。信頼度が高に設定された位置が複数ある場合、最も信頼度が高に設定される頻度が高い位置を行分割詳細推定位置として設定する。
図7(d)は行分割位置の詳細推定を説明する図である。行分割詳細推定位置716は、復元後画像710の下端において復元処理が行われた「ラ」の画素と「ダ」の画素の下端位置が他の画素塊の下端と一致するために信頼度が高と決定したものである。画素塊「サ」713の下端位置は復元処理が行われた画素塊であるが、ほかの画素塊と位置が一致しないために信頼度が低に設定される。この場合、信頼度が高い行分割詳細推定位置716が行分割の位置であると決定される。
【0038】
行分割詳細推定位置717は、復元後画像711の上端において復元処理が行われた「ナ」の画素と「個」の画素の上端位置が他の画素塊の上端と一致するために信頼度が高と決定した位置である。S601では最も信頼度が高い行分割詳細推定位置を行分割詳細推定位置として設定しS602に進む。
【0039】
次に、S602において、CPU111は、S601で設定した行分割詳細推定位置とS203で得られた行分割位置が異なる箇所があるかを判断し、ある場合はS603に遷移し、異なる箇所がない場合は処理を終了する。
【0040】
次に、S603において、CPU111は、行分割詳細推定位置と異なる行分割位置を持つ画素塊に対して、行分割詳細推定位置で再分割を行う。
【0041】
次に、604において、CPU111は、再分割によって発生したノイズの除去処理を行う。
【0042】
次に、605において、CPU111は、再分割によって発生したノイズの結合処理を行う。
【0043】
図7(e)に、実施形態に係る行分割詳細推定位置で再分割、ノイズ除去処理、ノイズ結合処理した画像を示す。
図7(d)で行分割位置715で分割されていた「サラダ」という文字の中の、画素塊「サ」718に対して行分割詳細推定位置717で再分割しノイズ除去処理、ノイズ結合処理を行った画像が、再分割処理後画像719、720である。行分割位置715で分割されていた際には「サ」という画素塊に下の行の「ド」という文字の濁点の一部の画素塊が結合していたが、行分割詳細推定位置で再分割することで「サ」に結合していた濁点を正しい位置に戻すことができた。
【0044】
以上のように、例えば濁点や句読点のような行分割位置付近の孤立した画素塊が上下の文字に接触している場合などに、行分割位置の詳細推定、および画素塊の再分割を行うことで文字矩形をより正確に復元することができるためOCR精度を向上させることができる。
【0045】
(第三の実施形態)
第三の実施形態については、第一、第二の実施形態との差分のみの説明とし、特に明記しない部分については第一、第二の実施形態と同じ構成/手順となる。行接触が起こっていると、文字を構成する画素塊の一部が行分割により、異なる行に含まれてしまい文字が欠損する可能性が有る。そのため行分割の際に行領域を大きめにとって行分割することで上記のような欠損を防ぐ。
【0046】
図8は、本実施形態に係るノイズ除去処理を示すフローチャートである。本フローチャートを
図9(a)(b)(c)を使って説明する。
図8(a)のS801において、CPU111は、二値画像に対して行分割処理を行う。この行分割処理はS203の処理とは異なる。処理の詳細は後述する。次にS802において、CPU111は、ノイズ除去、結合処理を行う。処理の詳細は後述する。
【0047】
S801の行分割について
図8(b)を用いて説明を行う。S803において、CPU111は、文書全体を行方向に射影をとり、黒画素数が閾値以上の領域を行と判定する。さらに黒画素が閾値以下である部分に対して、行接触の可能性を判断する。具体的には、黒画素値が0である場合は、上下行が全く接触していないという判断をし、S804に遷移する。また黒画素値が閾値以下であるが0ではない所定以上の場合は上下行に接触部分があるという判断を行い、S805に遷移する。
【0048】
次に、S804において、CPU111は、行と判定した領域の位置を行情報としてRAM113に格納する。
【0049】
次に、S805において、CPU111は、行と判定した領域の位置と、高さ情報に対して、行接触している可能性を加味し、行領域を少し大きめに設定した値を行情報としてRAM113に格納する。
【0050】
図9(a)に、本実施形態に係る行分割画像を示す。行分割画像901は、
図5における位置503と位置504に対して、S803で行接触の可能性の有無を判断し、行分割を行った行分割画像である。位置503はS803において行接触の可能性なしと判断され、S804でそのまま行分割が行われる。位置504は、S803において行接触の可能性ありと判断され、S805で位置504より少し大きめの領域で行分割が行われる。同様に行分割画像902は、位置504と位置505に対して行接触の可能性の有無を判断したうえで行分割を行った行分割画像である。位置504はS803において行接触の可能性ありと判断され、S805で位置504より少し大きめの領域で行分割が行われる。位置505は、S803において行接触の可能性ありと判断され、S805で位置505より少し大きめの領域で行分割が行われる。同様に行分割画像903は、位置505と位置506に対して行接触の可能性の有無を判断したうえで行分割を行った行分割画像である。位置505はS803において行接触の可能性なしと判断されS805でそのまま行分割が行われる。位置506は、S803において行接触の可能性ありと判断されS805で位置506より少し大きめの位置で行分割が行われる。
【0051】
S802のノイズ除去、結合について
図8(c)を用いて説明する。
図6との差分のみを示す。S806において、CPU111は、S401で選択した画素塊に対して、一定面積以下の画素塊、または一定高さ以下の画素塊を選別し、ノイズとして判断する。この時、画素塊の面積の閾値、および画素塊の高さの閾値は、行分割位置からどれくらい大きめに行領域を取ったかの度合いを考慮して決定する。ノイズ画素塊904は、行分割画像901においてノイズと判断した画素塊である。ノイズ画素塊905、906は、行分割画像902においてノイズと判断した画素塊である。ノイズ画素塊907は、行分割画像903においてノイズと判断した画素塊である。
図9(b)に、本実施形態に係るノイズ除去後画像を示す。ノイズ除去後画像908は、行分割画像901からノイズ画素塊904を除去した画像である。ノイズ除去後画像909は、行分割画像902からノイズ画素塊905、906を除去した画像である。ノイズ除去後画像910は、行分割画像903からノイズ画素塊907を除去した画像である。行分割の際に行領域を大きめにとっているため、この後のノイズの結合は行わない。
【0052】
図9(c)に、実施形態に係るノイズ除去後に行分割詳細推定位置で再分割、ノイズ除去処理、ノイズ結合処理した画像を示す。再分割処理後画像911、912、913は、それぞれノイズ除去後画像908、909、910,911に対して再分割処理を行った画像である。行接触した場合でも、行分割による文字の欠損を防ぐことができる。
【0053】
以上のように、複数ヶ所で行接触が発生し、上下行の文字を形成する画素同士がそれぞれの行に深く入り込んでしまうような場合に行領域を大きくとるように行分割を行い、その行分割画像からノイズ除去することで文字を欠損させることなく文字矩形を復元することができ、OCR精度を向上させることができる。
【0054】
(第四の実施形態)
第四の実施形態については、第一、第二の実施形態との差分のみの説明とし、特に明記しない部分については第一、第二の実施形態と同じ構成/手順となる。以上の実施形態では、行分割した後に行分割位置に接する一定の条件の画素塊をノイズとして除去、結合するようにしていた。本実施形態では行分割する前に、行分割位置に接する画素塊が行分割位置のどちら側に含まれるか分類する形態を示す。
【0055】
図10は、本実施形態に係る行分割処理を示すフローチャートである。本フローチャートを
図11(a)(b)(c)を使って説明する。
図10(a)のS1001において、CPU111は、第2の行分割処理を行う。処理の詳細は後述する。
【0056】
次に、S1001の詳細を
図10(b)を用いて説明する。S1002において、CPU111は、行分割位置上に接する画素塊を選別する。
図11(a)は位置504の行分割位置上に接する画素塊を選別した例である。
【0057】
次に、S1003において、CPU111は、選別した画素塊を以下の3つに分類する。[1]上の行に含めるべき画素塊(上の行に含まれる画素の割合が多い)。[2]下の行に含めるべき画素塊(下の行に含まれる画素の割合が多い)。[3]それ以外(例えば上の行と下の行に含まれるがその割合が同程度)。
【0058】
本実施形態では各行に含まれる画素の割合で分類を行ったが、画素塊の高さの割合や画素塊の外接矩形の割合を使って分類してもよい。
図11(b)は画素塊の分類例を表す。分類[1]の1102は上の行に含めるべき画素塊である。分類[2]の1104は、下の行に含めるべき画素塊である。分類[3]の1103は、それ以外の画素塊である。S1004において、CPU111は、分類[1]の画素塊は上の行に含め、分類[2]の画素塊は下の行に含め、分類[3]の画素塊は、行分割位置で強制的に分割する。
図11(c)は分割後の画像を表す。行分割画像1105は、位置504で分割した上の行を示す。行分割画像1106は位置504で分割した下の行を示す。
【0059】
以上のように行分割位置上に接する画素塊を分類し、各分類に従い分割することで文字矩形をより正確に復元することができるためOCR精度を向上させることができる。
【0060】
(その他の実施例)
本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0061】
100 複写機
110 情報処理装置