JP6452329B2 - 情報処理装置、情報処理方法、プログラム - Google Patents

情報処理装置、情報処理方法、プログラム Download PDF

Info

Publication number
JP6452329B2
JP6452329B2 JP2014139866A JP2014139866A JP6452329B2 JP 6452329 B2 JP6452329 B2 JP 6452329B2 JP 2014139866 A JP2014139866 A JP 2014139866A JP 2014139866 A JP2014139866 A JP 2014139866A JP 6452329 B2 JP6452329 B2 JP 6452329B2
Authority
JP
Japan
Prior art keywords
cell
character
recognition
information processing
recognition cell
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.)
Expired - Fee Related
Application number
JP2014139866A
Other languages
English (en)
Other versions
JP2016018327A (ja
JP2016018327A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014139866A priority Critical patent/JP6452329B2/ja
Priority to US14/789,205 priority patent/US10607381B2/en
Publication of JP2016018327A publication Critical patent/JP2016018327A/ja
Publication of JP2016018327A5 publication Critical patent/JP2016018327A5/ja
Application granted granted Critical
Publication of JP6452329B2 publication Critical patent/JP6452329B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、情報処理装置、情報処理方法、プログラムに関する。
図3は、スキャン画像の一例である。このスキャン画像を編集したい場合がある。特許文献1は、スキャン画像の編集機能を開示している。
具体的には、特許文献1は、スキャン画像から、複数の罫線により構成される表領域を特定し、さらに、その表領域の内部の文字を文字認識する。また、表領域を構成する各罫線をベクトル化する。
そして、スキャン画像を左のウィンドウに表示しつつ、ベクトル化結果と認識文字とを右のウィンドウに表示する(特許文献1の図5)。
ユーザがこの右のウィンドウにて文字の編集を行うと、左のウィンドウから、上記特定された表領域が削除される。そして、編集後の文字が追加された表を生成し、当該生成された表を左のウィンドウに表示する。
特開2001−094760
しかしながら、特許文献1の手法では、表領域を誤判定されると、文字の編集が大変になる。
上記課題を解決するために、本発明の情報処理装置は、画像に含まれるテーブル内の複数のセルを表示するように制御する第1表示制御手段と、
前記表示された前記複数のセルの中から、ユーザの指示に基づいて1つのセルを選択する選択手段と、前記選択手段によって選択された1つのセルを縮小するためのハンドルを更に表示するように制御する第2表示制御手段と、前記ユーザによる前記ハンドルの操作に応じて、前記選択手段によって選択された1つのセルを縮小する縮小手段と、前記縮小手段にって小され前の前記1つのセルに含まれ且つ前記縮小手段によって縮小された後のセルに含まれない文字領域があるか否かを判定する判定手段と、前記判定手段によって前記文字領域があると判定されたことに従って、当該文字を含む新たなセルを作成する作成手段とを有することを特徴とする。
縮小される前の1つのセルに含まれ且つ縮小された後のセルに含まれない文字領域があると判定されたことに従って、当該文字を含む新たなセルを容易に作成できるようになる。
複写機100の構成を示すブロック図 情報処理装置200の構成を示すブロック図 スキャン画像の例 スキャン画像の領域分割結果 認識セルの枠を表示する表示画面 認識セルが選択された際に表示される表示画面 編集後の文字を表示した画面 メインフローチャート 編集のフローチャート 認識セルの位置を変更するフローチャート 編集後の文字の表示フロー 認識セル406が選択された際に表示される表示画面 認識セルを拡大する際に表示される表示画面 認識セルを結合後に表示される表示画面 認識セルを結合・分割するフローチャート 認識セル407が選択された際に表示される表示画面 認識セルを縮小する際に表示される表示画面 認識セルを分割後に表示される表示画面 式1の意味を説明する図 セル内接直線検出領域を示す図 セル内接直線の検出を示す図 認識セル内部の削除のフローチャート 認識セルの検出を示す図 第2の実施形態のフローチャート 第2の実施形態の表示画面 第3の実施形態のフローチャート1 第3の実施形態のフローチャート2 第3の実施形態のフローチャート3 第3の実施形態の説明で使用する、表領域の例 第3の実施形態の説明で使用する、外接矩形の例
まず、言葉の定義を行う。
オリジナル文字とは、スキャン画像中の文字のことである。
認識文字とは、オリジナル文字を文字認識することで得られた文字コード、又は、編集ウィンドウに表示される、その文字コードに対応する文字のことである。この認識文字は、編集ウィンドウ用文字サイズ(編集ウィンドウ用文字サイズとは、編集ウィンドウ用に設定された文字サイズという意味である)で編集ウィンドウ上に表示される。
文字の編集は、ユーザが、編集ウィンドウから認識文字を削除して、代わりの文字を編集ウィンドウに入力する行為を示す。編集後の文字とは、入力された代わりの文字、又は、その文字に対応する文字コードのことである。この編集後の文字は、編集ウィンドウ上に表示される場合には、編集ウィンドウ用文字サイズで表示されるが、スキャン画像上に表示される場合には、スキャン画像用文字サイズで表示される。
なお、スキャン画像用文字サイズも編集ウィンドウ用文字サイズも共にそのデフォルト値は、予め保存部202に保存されているものとする。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<第1の実施形態>
<複写機の構成と情報処理装置の構成>
図1に本実施形態における複写機100の構成を示す。複写機100は、スキャナ101、送受信部102、プリンタ103より構成される。
図2に本実施形態における情報処理装置200の構成を示す。情報処理装置200は、CPUとROM及びRAMを内部に有する。CPUはROMから情報処理装置200のプログラムをロードし、一次保存領域としてRAMを利用して情報処理装置200のプログラムを実行する。以上の動作により、各部(201−205)の処理が実行される。なお、受付部205は、キーボードとマウスを含む形態が一般的であるが、この形態に限られない。また、受付部205と表示部204は一体であっても良い。その場合、受付部205と表示部204をまとめてタッチパネルと呼ぶことになり、実施例中のクリックなる記載は、タッチと読み替えて頂くことになる。
<スキャンから領域分割、文字認識まで>
複写機100のスキャナが文書をスキャンすると、スキャン画像(スキャン画像データとも言う)が生成される。生成されたスキャン画像を送受信部102が情報処理装置200に送信する。すると、情報処理装置200の送受信部201がこれを受信し、保存部202にそのスキャン画像を保存する。
ユーザが受付部205を介して、保存部202に保存されている複数のスキャン画像の中から、一つのスキャン画像を選択する。すると、制御部203は、そのスキャン画像を表示部204に表示する。
ユーザが受付部205を介して、表示部204に表示されたスキャン画像の解析を指示する。すると、制御部203は、領域分割と、文字認識と、認識セル枠表示の三つの処理を実行し、実行結果を表示部204に表示する。図3は、スキャン画像の例であり、図4は、制御部203による三つの処理の実行後の表示部204の表示結果である。
<領域分割(1)−(5)、文字認識(6)、認識セル枠表示(7)の説明>
(1)二値化
制御部203は、スキャン画像に対して2値化を行うことにより、2値画像を得る。この2値化により、スキャン画像における閾値より濃い色の画素は黒画素、その閾値より薄い色の画素は白画素となる。なお、以下では、スキャン画像が100DPIであるものとして説明を行うが、スキャン画像がこの解像度に限られないのは言うまでもない。
(2)黒画素塊検出
制御部203は、2値画像に対して8連結で繋がる黒画素の輪郭を追跡することにより、8方向の何れかの方向で連続して存在する黒画素の塊(黒画素塊)を検出する。8連結とは、左上、左、左下、下、右下、右、右上、上の8つの方向の何れかで、同じ色(今回のケースでは黒)の画素が連続しているという意味である。一方、4連結とは、左、下、右、上の4つの方向の何れかで同じ色の画素が連続しているという意味である。この(2)では、8方向に存在する8つの隣接画素の何れもが黒画素ではない単独の黒画素は検出されない。一方、8方向に存在する8つの隣接画素の何れか1つにでも黒画素が存在する黒画素は、その隣接する黒画素と共に、黒画素塊として検出されることになる。図23の2301は制御部203が検出した黒画素塊の一例である。また制御部203は、検出した黒画素塊の外接矩形の位置情報(四頂点のX、Y座標情報のこと)を算出する。なお、X軸は右方向に伸び、Y軸は下方向に伸びているものとする。幅は、X軸方向の長さ、高さは、Y軸方向の長さを指す。図23の2302は黒画素塊2301の外接矩形である。なお、本明細書で矩形と表現した時には、斜め向きの矩形は含まれず、四辺の全てがX座標軸、Y座標軸の何れかと平行な矩形を表す。
(3)表領域検出
制御部203は検出した黒画素塊が以下の全ての条件に該当するか判定し、全てに該当する黒画素塊を表の枠線を構成する黒画素塊であると判定する。
黒画素塊の外接矩形の幅、高さが閾値以上(たとえば、100画素・・・0.25cm以上)である。
外接矩形の内部における黒画素塊の充填率が閾値以下である(たとえば、黒画素塊が外接矩形に占める割合が20%以下)。
黒画素塊の最大幅及び高さと、外接矩形の幅及び高さの差が何れも小さい(たとえば、黒画素塊の最大幅及び高さと、外接矩形の幅及び高さの画素の差がともに10画素以下)。
制御部203は、表の枠線を構成すると判定した黒画素塊の外接矩形の位置情報を保存部202に保存する。以下では、そのように保存された位置情報を持つ外接矩形を表領域と呼ぶ。なお、以上の判定の結果、図23の黒画素塊2301は表の枠線を構成すると判定されたものとする。それに伴い、外接矩形2302は、表領域と呼ばれることになる。
(4)認識セルの特定
制御部203は、表領域内部の認識セルを特定する。認識セルを特定するためには、表領域内部の白画素の輪郭を追跡することにより、白画素塊を検出する必要がある。その上で、その白画素塊が所定の条件に合致する場合に、その白画素塊の外接矩形は、認識セルとして特定される。図23の2303、2304は、制御部203が特定した認識セルである。制御部203は、特定された認識セルの位置情報を保存部202に保存する。
なお、例えば、所定の条件に合致するとは、以下の三つの条件の全てに合致することを指す。
白画素塊の外接矩形の幅、高さが閾値以上(たとえば、20画素)である。
外接矩形の内部における黒画素塊の充填率が閾値以下である(たとえば、黒画素塊が外接矩形に占める割合が20%以下)。
白画素塊の最大幅及び高さと、外接矩形の幅及び高さの差が何れも小さい(たとえば、白画素塊の最大幅及び高さと、外接矩形の幅及び高さの画素の差がともに5画素以下)。
(5)認識セル内の文字領域の特定
制御部203は、各認識セルの内部に、その各認識セルに内接する白画素塊によって囲まれた黒画素塊があるか判定する。そして、黒画素塊があると判定した場合、あると判定された全ての黒画素塊に外接矩形を設定する。
さらに、制御部203は、自身が一つの認識セルの中に複数の外接矩形を設定した場合には、外接矩形同士の距離が閾値3(例えば20画素・・・0.5cm)以内であるか判定する。具体的には、制御部203は、外接矩形を一つ一つ選択し、選択された外接矩形からの距離が閾値3以内である外接矩形を検出する。
さらに、制御部203は、自身がそうした外接矩形を検出した場合、検出した外接矩形と、選択された外接矩形とを統合する。即ち、制御部203は、両方の外接矩形に外接する新たな外接矩形を設定し、その代わり、選択された外接矩形と、検出された外接矩形を削除する。
新たな外接矩形の設定、二つの外接矩形の削除が完了した後、制御部203は、その認識セル内の外接矩形をまた初めから一つ一つ選択し、互いの間の距離が閾値3以内である外接矩形同士を統合していく。以上の処理を繰り返す。即ち、互いの間の距離が閾値3以内である外接矩形が無くなるまで、外接矩形同士の統合が繰り返される。
以上の通り、本実施例では、一つの認識セルの内部に存在する外接矩形同士の統合を行うが、認識セルをまたぐ外接矩形同士の統合を行わない。
以上の処理が終わって依然として設定されている外接矩形は、文字領域と呼ばれる。以上の処理を認識セル内の文字領域の特定と呼ぶ。制御部203は、認識セルの内部に存在する文字領域の位置情報を、当該認識セルに関連付けて保存部202に保存する。
図23の2305、2306は文字領域であって、認識セル2303には、文字領域2305が、認識セル2304には文字領域2306が関連付けられ、保存部202に保存される。
図3のスキャン画像に対して行われた領域分割の結果を図4に示す。図4では、特定された認識セルを示す外接矩形に太線枠を付け、文字領域を示す外接矩形に点線枠を付けている。図4の例では、402、403、404、406、407が認識セルである。401、405が文字領域である。
この図4では、403内部の罫線が掠れてしまっているため、本来は、複数のセルからなる403が1つの認識セルとして特定されている。また、406、407は、本来は、単一のセルであるにも関わらず、ノイズの関係で、別々の認識セルとして特定されている。
(6)文字認識
制御部203は、各文字領域に対して文字認識を行うことによって、各文字領域に対応する認識文字を得る。認識文字は、対応する文字領域に関連付けて保存部202に保存する。そうすることによって、認識文字は、文字領域と予め関連付けられている認識セルとも関連付けられることになる。文字認識を行わない場合、もしくは文字認識に失敗した場合は、文字領域に関連付けられる認識文字はない。
(7)認識セル枠表示
制御部203は、各認識セルの四辺(即ち、外接矩形の四辺)に太線枠を付けてスキャン画像を表示部204に表示する。表示された画面は図5となっている。なお、枠の形態は、太線でなくても実線でなくても良く、黒でなくても良いのは言うまでも無いが、これ以降は、太線であるものとして説明を続ける。また、この(7)で太線枠と共に表示されるスキャン画像は、(1)−(6)の処理が行われる前のスキャン画像であり、即ち、2値化前のスキャン画像である。
<図8の説明>
ユーザが受付部205を介して、表示部204に表示されている図5における任意の箇所をクリックする。なお、本明細書においてクリックとは、マウスの左ボタンを押して、すぐに(押してから一定時間内に)離す行為のことである。クリックされた箇所が認識セルの外接矩形の内側の場合に、制御部203は、その認識セルが選択されたと判定する(S801)。図6に、認識セル602が選択された際に表示される表示画面を示す。ここでは、認識セル602が選択されたものとして以下説明を続ける。なお、601は、受付部205を介してユーザが指し示している場所を示すマウスポインタである。
上記判定がなされると、制御部203は、選択された認識セルの内部のオリジナル文字を編集するための編集ウィンドウ604と、選択された認識セル602の位置や大きさを変更するためのハンドル603とを表示部204に追加表示する(S802)。このハンドル603(認識セル位置変更ハンドルと呼ばれる)は、選択された認識セル602の太線枠の四頂点に追加表示される。図6に、認識セル位置変更ハンドル603と編集ウィンドウ604が追加表示された結果を示す。
またS802では図6のように、選択された認識セル(選択状態の認識セル)が他の認識セルと区別つくようにするのも好ましい。例えば、選択状態の認識セルの枠をより太くするのも好ましい(極太線枠とするのも好ましい)。もちろん他の認識セルと区別つくのであれば他の方法を取っても良い。例えば、選択状態の認識セルの枠を他の色にしたり、点線とするような方法も考えられる。ただし、本明細書では、選択された認識セルを他の認識セルと区別つけるための方法として極太線枠を用いる方法を採用した場合を例に以下説明を続ける。
なお、認識セルに対する選択状態が解除された場合には、そうした極太線枠状態から元の状態に戻ることになる(即ち、他の認識セルと同じ太線枠状態に戻ることになる)。
編集ウィンドウ604における文字入力欄605には、選択された認識セルに関連付けられている認識文字が編集ウィンドウ用文字サイズで表示される。ユーザはこの文字入力欄605から認識文字を削除し、代わりに、他の文字を入力することができる。そうすることにより、認識文字の編集ができる。なお、選択された認識セルと関連付けられている認識文字が無い(例えば、選択された認識セル内部から文字領域が検出されなかった、もしくは文字領域は検出されたが文字認識が失敗して認識文字が存在しない。)場合には、文字入力欄605は空欄となる。
OKボタン606は、文字の編集を確定する場合にクリックされるボタンである。Applyボタン607は、編集後の文字をスキャン画像上に表示したい場合にクリックされるボタンである。Cancelボタン608は、文字の編集をキャンセルしたい場合にクリックされるボタンである。
図6が表示された後、ユーザは受付部205に対して新たな操作を行う。もしその操作が編集ウィンドウ604上での文字編集であれば、制御部203は、S803(図9のS901)に処理を進める。ユーザが受付部205に対して行った操作が認識セル位置変更ハンドルに対する操作であれば、制御部203は、S804(図10のS1001)に処理を進める。
<図9の説明>
S901では、制御部203は、認識セル位置変更ハンドル603を非表示にする。
S902では、制御部203は、編集ウィンドウ604上で編集された後の文字を、編集ウィンドウ用文字サイズで編集ウィンドウ604に表示する。
S903では、制御部203は、文字編集後にユーザが受付部205に対して行った操作が、別の認識セルの選択か、Applyボタンのクリックか、OKボタンのクリックか、Cancelボタンのクリックか判定する。Cancelボタンのクリックであると判定した場合には、制御部203は、選択されている認識セルの選択状態を解除して図9の処理を終了する。なお、これ以降では説明を省略するが、選択状態が解除された認識セルは、上述の通り、極太線枠状態から、他の認識セルと同じ太線枠状態に戻ることになる。
それ以外であると判定した場合には、制御部203は、選択されている認識セル内部(即ち、スキャン画像における認識セルの内部)の色を全て削除する(S904)。ここで、色を削除するとは、認識セル内の画素の色情報を既定の色情報に置換するという意味である。本実施例では、規定の色情報が白であるものとして説明を続けるが、白に限るものではない。このS904における具体的な処理は、図20−図22を用いて後述する。
その上で制御部203は、編集後の文字をその認識セル内部にスキャン画像用文字サイズで配置する(S905.1。図11で詳細に説明する)。そして、制御部203は、編集後のスキャン画像(即ち、認識セル内部の削除、及び、編集後の文字の配置が完了した画像)を保存部202に保存すると共に、表示部204で表示されているスキャン画像にこの編集後のスキャン画像を置き換える(S905.2)。そうすることにより、この編集後のスキャン画像は、各認識セルの外接矩形に太線枠が付けられた状態で表示されることになる。また、現在選択されている認識セルの外接矩形については極太線枠状態で表示されたままとなる。
さらに、上記操作がOKボタンのクリックであれば(S906)、制御部203は、選択されている認識セルの選択状態を解除した上で図9の処理を終了する。また、上記操作が別の認識セルの選択であれば(S906)、制御部203は、選択されている認識セルの選択状態を解除した上でS802に処理を進める。また、上記操作がApplyボタン607のクリックであれば(S906)、制御部203は、S905.1で配置された編集後の文字の外接矩形の四頂点に文字位置変更ハンドルを表示する(S907)。
ユーザがもし編集後の文字の位置を変更したい場合には、この文字位置変更ハンドルの位置を動かす操作を受付部205に対して行うことになる。すると、その操作に応じた文字位置変更を制御部203は行い、さらに、その文字位置変更後の画像を、保存部202で保存されている編集後のスキャン画像と置き換える。さらに、表示中の編集後のスキャン画像とも置き換える。そうすることにより、文字位置変更後の画像が、編集後のスキャン画像として保存、表示されることになる(S908)。一方、文字位置を変更する必要が無い場合には、文字位置変更ハンドルに対する操作は行われない。その場合、S908では何も行われず、スキップされることになる。
その後、ユーザは、別の認識セルを選択するか、OKボタンをクリックするか、Cancelボタンをクリックすることになる。もし別の認識セルの選択がされたことを受付部205が受付けると(S909)、制御部203は、選択されている認識セルの選択状態を解除してS802に処理を進める。OKボタンがクリックされたことを受付部205が受付けると(S909)、制御部203は、選択されている認識セルの選択状態を解除して図9の処理を終了する。また、もしCancelボタンがクリックされたことを受付部205が受付けると(S909)、制御部203は、選択されている認識セルの内部を元の状態に戻す(即ち、黒画素塊の削除前の状態に戻す)。その上で制御部203は、選択されている認識セルの選択状態を解除して図9の処理を終了する(S910)。
図9の処理が終了した後は、ユーザからの他の認識セルの選択を待つ状態となる。また、ユーザから受付部205に対して別の装置への編集後のスキャン画像の送信が指示された場合には、制御部203は、その選択待ち状態を解除する。その上で、制御部203は、保存部202に保存されている編集後のスキャン画像を送受信部201に別の装置へ送信させる。その別の装置が仮に複写機100だったとすると、複写機100は、編集後のスキャン画像を送受信部102により受信し、ユーザからの指示によっては編集後のスキャン画像をプリンタ103により印刷することになる。
以上の処理を行った場合、別の装置に送信される編集後のスキャン画像は、(選択されていた)認識セル内部の削除、及び、編集後の文字の配置が完了した画像となる。しかし、送信される画像は、必ずしもこれに限られるものではない。例えば、元のスキャン画像(2値化前のスキャン画像)と、認識セル内部の削除命令と、編集後の文字の配置命令とを含むファイルであっても良い。そのようなファイルを別の装置が受信した場合には、その別の装置の側で元のスキャン画像から認識セル内部の削除、及び、編集後の文字の配置が行われることになる。
<図10の説明>
上述の通り、ユーザが受付部205に対して行った操作が認識セル位置変更ハンドル603に対する操作であれば、制御部203は、S804(図10のS1001)に処理を進める。
S1001では、制御部203は、その操作に合わせて、認識セルの位置を変更し、変更後の位置の認識セルの四辺を極太線枠状態にして表示部204に表示する。この際、変更前の位置の認識セルの四辺の極太線枠状態は解除され、通常の状態(太線枠も極太線枠も付いていない状態)に戻ることになる。また、認識セル位置変更ハンドル603も同様に、変更前の位置の認識セルの四頂点からは解除され、変更後の位置の認識セルの四頂点に表示されることになる。なお、認識セルの位置を変更するとは、保存部202に保存されている認識セルの位置情報を変更することを意味する。
その後、制御部203は、編集ウィンドウ604を介した文字編集が行われるまで待機し、文字編集が行われると制御部203は、S901に処理を進める。
このように、文字編集が行われる前に認識セルの位置を変更可能とすることによって、S904で内部が削除される対象となる認識セルの位置を変更することができる。これにより、削除されるべき部位が削除され、かつ、削除されるべきでない部位が削除されずにすむこととなる。
<図11の説明>
図11を用いて、S905.1の処理の詳細を説明する。
S1101で、制御部203は、選択されている認識セルの位置情報、および当該認識セルに関連付けられた文字領域の位置情報を保存部202から取得する。
次にS1102で、制御部203は基準線の設定を行う。
認識セルの左上座標を(X1,Y1)、右下座標を(X2,Y2)、文字領域の左上座標を(x1,y1)、右下座標を(x2,y2)とする。
制御部203は、基準線の設定を行うために、まず、選択されている認識セルにおける文字領域の左右の余白を計算する。
左側の余白 x1−X1
右側の余白 X2−x2
(左側の余白)≧(右側の余白)ならば、基準線は文字領域の右辺、すなわち、(x2,y2),(x2,y2)を結ぶ直線に設定される。
(左側の余白)<(右側の余白)ならば、基準線は文字領域の左辺、すなわち、(x1,y1),(x1,y2)を結ぶ直線に設定される。
S1103で、制御部203は、選択されている認識セル内部の設定されている基準線に合わせて、編集後の文字を配置する。
この時、配置される文字のサイズとして、スキャン画像用文字サイズのデフォルト値が用いられるものとするが、下記のようにして決定されたサイズを用いても良い。たとえば、選択されている認識セル内部に存在していたオリジナル文字の幅が4文字で100ドットだった場合に、1文字あたりのサイズは、25ドットと推定される。この認識セル内部に編集後の文字を違和感なく配置するためには、編集後の文字も1文字あたり25ドット程度であるのが好ましい。このことから、標準的な文字のサイズが25ドットとなるようなポイント数を計算し、そのポイント数を、配置される文字のサイズとして用いることも可能である。また、そのように決定された文字サイズをユーザが手動で変更できるような構成としても良い。さらには、配置される文字の色やフォント、スタイル(標準、斜体、太字)をユーザが手動で変更できるような構成としても良い。
ここで、編集後の文字の外接矩形の高さがH、幅がWだったとする。また、文字領域の左上座標が(x1,y1)、右下座標が(x2,y2)であり、S1102で求めた基準線が文字領域の右辺だったとする。
この場合、編集後の文字の外接矩形を配置する座標は、Windows(登録商標)の場合(x座標は右に行くほど大きくなり、y座標は下に行くほど大きくなる)、
左上座標(x2−W,y2−H)
右下座標(x2,y2)
となる。
もし、基準線が左辺の場合には、編集後の文字の外接矩形の左辺を基準線(文字領域の左辺)に合わせるため、編集後の文字を配置する座標は、
左上座標(x1,y2−H)
右下座標(x1+W,y2)
となる。
なお、これらの例では、編集後の文字の高さ方向(Y方向)の位置は、オリジナル文字の配置されていた文字領域の下辺の位置を基準とした。しかしながら、この位置ではなく、編集後の文字の高さ方向の中心と、オリジナル文字の配置されていた文字領域の高さ方向の中心が揃うように編集後の文字の位置を決めても構わない。
<S1001の詳細(認識セルの結合と分割)>
図4において、認識セル406と認識セル407は、本来は単一のセルであるにも関わらず、ノイズの関係で別々の認識セルとして特定されている。認識セル406と認識セル407を結合して、単一の認識セルとする手段について、図15を用いて説明する。なお図15は、図10のS1001の認識セル位置変更の処理の詳細を示す。
まず、ユーザが受付部205を介して、認識セル位置変更ハンドルをドラッグして、選択中の認識セルの位置を変更する(S1501)。本実施形態では、認識セルの四頂点に表示されている四つのハンドルのうちの一つのハンドルを掴んで、その一つのハンドルの位置の変更のみを行うため、認識セルのサイズも自動的に変更されることになる。
S1502では、制御部203が、変更した位置が、選択中の認識セルの縮小にあたるか、拡大にあたるか、どちらにもあたらないかを判定する。具体的な判定方法を以下に述べる。位置を変更する前の認識セルの幅をW1、高さをH1とし、位置を変更した後の認識セルの幅をW2、高さをH2とする。W1<W2かつH1<H2の場合は、制御部203が認識セルの拡大と判定する。W1>W2かつH1>H2の場合は、制御部203が認識セルの拡大と判定する。それ以外の場合は、制御部203が、どちらにもあたらないと判定する。
どちらにもあたらないと判定された場合は、制御部203は処理を終了する。
認識セルの拡大と判定した場合、制御部203は、拡大後の認識セルが、別の認識セルを包含するかどうかを判定する(S1503)。別の認識セルを包含しないと判定した場合は、制御部203は認識セルの結合は行わず、処理を終了する。
一方、S1503で別の認識セルを包含すると判定した場合は、制御部203は、拡大後の認識セルと、包含した当該別の認識セルを結合する(S1505)。
認識セルの結合ステップ(S1505)では、制御部203は、結合する前の各々の認識セルの座標を元に、両方の認識セルを含む最小の矩形を結合後の認識セルと設定する。そして、その設定した結合後の認識セルの位置情報を保存部202に保存する。例えば、結合する2つの認識セルの左上座標をそれぞれ(Xa,Ya)、(Xb,Yb)とし、仮にXa>Xb、Ya<Ybとすると、結合後の認識セルの左上座標は(Xb,Ya)になる。左下、右上、右下座標についても同様の考え方で決定する。また、結合する認識セルが3個以上の場合でも同様である。なお、結合後の認識セルの位置情報が保存されることに伴い、拡大後の認識セルの位置情報及び上記別の認識セルの位置情報は保存部202から削除される。
次に、制御部203は、各々の認識セルに含まれる文字領域を結合する(S1506)。
具体的には、制御部203が、結合後の認識セルに含まれている文字領域を検出する。検出される文字領域は、拡大前の認識セルに含まれている文字領域と、上記別の認識セルに含まれている文字領域となる。その上で、検出した文字領域同士を結合する。結合後の文字領域は、結合前の全ての文字領域を包含する最小の矩形となる。この最小の矩形の位置情報を結合後の文字領域の位置情報として、結合後の認識セルと関連付けて保存部202に保存する。その代わりに、拡大前の認識セルに含まれていた文字領域の位置情報と、上記別の認識セルに含まれていた文字領域の位置情報を保存部202から削除する。
次に制御部203は、認識文字を結合する(S1507)。具体的には、制御部203は結合後の文字領域に含まれる複数の認識文字を結合することにより、1つの認識文字を新規に作成する。代わりに、元の複数の認識文字は削除する。新規に作成した認識文字は、制御部203が結合後の文字領域に関連付ける。なお、認識文字の結合では、単純に複数の認識文字を繋げるだけでもよいし、認識文字の間にスペースを挿入してもよい。
次に制御部203は、結合前の認識セルの四頂点から認識セル位置変更ハンドルを消して、結合後の認識セルの四頂点に認識セル位置変更ハンドルを表示部204に表示する(S1508)。つまり、結合後の認識セルが選択された状態にする。
また、制御部203は、結合後の認識文字を、編集ウィンドウ604における文字入力欄605に表示する(S1509)。
以上の認識セルの結合手段について、図12、図13、図14を用いて、具体例を示す。
図12はノイズにより別々の認識セルとして特定された認識セル406と認識セル407のうち、認識セル406がユーザにより選択された際の表示画面である。認識セル406と認識セル407は別々の認識セルとして特定されているため、文字入力欄1201には認識文字として「Gym Bag」ではなく「Gym」が表示されている。
認識セル406と認識セル407を結合したい場合、まずユーザは認識セル406の認識セル位置変更ハンドル603をドラッグして、認識セル407を全て含むまで拡大する(図13)。なお、認識セルをドラッグして拡大する際には、認識セルを拡大している最中であることが分かるよう、認識セルの枠の表示を変更するのが好ましい。例えば1301のように、認識セルを拡大している間は、認識セルの枠を点線で表示する。
ユーザが認識セル位置変更ハンドル603のドラッグを完了すると、制御部203は認識セル406と認識セル407を結合して、結合後の認識セル1401を表示部204に表示する(図14)。また、文字領域の結合も行う。そして、S1507で認識文字の結合を行い、結合後の認識文字「Gym Bag」を認識文字として文字入力欄1402に表示する。
次に、認識セルの分割について説明する。
図16において、認識セル403は、本来は「Description」、「Quantity」、「Unit Price」、「Amount」の認識文字を含む4つの認識セルとなるべきである。しかし、スキャン画像の罫線が掠れているため、1つの認識セルとして特定されている。認識セル403を分割して、複数の認識セルとする手段について、S1511−S1516を用いて説明する。
S1502で、制御部203が認識セルの縮小と判断した場合、次に制御部203は、選択中の認識セルに含まれていた文字領域の全てが、縮小後の認識セル内でも含まれているかどうかを判定する(S1511)。全て含まれていると判定した場合は、制御部203は選択中の認識セルの分割は行わず、処理を終了する。
一方、S1511で縮小後の認識セルに含まれない文字領域があると判定した場合は、制御部203は、縮小前の認識セルを分割する(S1512)。即ち、縮小前の認識セルに含まれていた文字領域の一部又は全てが、縮小後の認識セル内に含まれていない場合には、縮小前の認識セルを分割する。縮小前の認識セルの分割とは、具体的には、制御部203は、縮小後の認識セルとは別に、新規に認識セルを作成することを意味する。
縮小後の認識セルと、上記新規に作成する認識セルの位置情報は、縮小後の認識セルの位置情報と縮小前の認識セルの位置情報とを元に制御部203が決定する。例えば、縮小前の認識セルが、左上座標(Xa1,Ya1)、右下座標(Xa2,Ya2)とする。ユーザが右下の認識セル位置変更ハンドルをドラッグして認識セルを左方向に縮小して、その結果右下座標が(Xa2−W,Ya2)になったとする(Wは縮小幅)。この場合、制御部203は「X座標=Xa2−W」の位置で縮小前の認識セルを分割すると判断する。分割した結果、縮小後の認識セルの座標は、左上座標(Xa1,Ya1)右下座標(Xa2−W,Ya2)となり、新規に作成した認識セルの座標は、左上座標(Xa2−W,Ya1)右下座標(Xa2,Ya2)となる。
次に制御部203は、文字領域の分割を行う(S1513)。具体的には、まず縮小後の認識セル内に包含されていない文字領域と、縮小後の認識セルとの関連付けを解除し、代わりに、その文字領域を、新規に作成した認識セルに新たに関連付ける。また、認識セルを分割した位置の上に文字領域が重なっている場合は、その分割した位置で文字領域も分割する。例えば、左上座標(Xa3,Ya3)、右下座標(Xa4,Ya4)の文字領域を、X座標がXa5の位置で分割するとする。この場合は、左上座標(Xa3,Ya3)、右下座標(Xa5,Ya4)の文字領域と、左上座標(Xa5,Ya4)、右下座標(Xa4,Ya4)の文字領域の、2つの文字領域を作成する。そして、元の文字領域は制御部203が削除する。その後、制御部203は、新規に作成した2つの文字領域を、文字領域を包含している認識セルにそれぞれ関連付ける。
次に制御部203は、認識文字の分割を行う(S1514)。上記分割された文字領域に含まれるように認識文字を分割して、各文字領域に関連付ける。
次に制御部203は、分割後の認識セルのうち、もっとも左上側にある認識セルの四頂点に対して認識セル位置変更ハンドルを表示部204に表示する(S1515)。つまり、分割後に生成された複数の認識セルのうち、最も左上側に位置する認識セルを選択状態にする。また、制御部203は、分割後の認識文字を、編集ウィンドウ604における文字入力欄605に表示する(S1516)。
以上の認識セルの分割手段について、図16、図17、図18を用いて、具体例を示す。図16では認識セル403が選択されている状態の表示画面である。認識セル403は本来は複数の認識セルとなるべきだが、スキャン画像の罫線が掠れているため、単一の認識セルとして特定されている。単一の認識セルとして特定されているため、文字入力欄1601には、認識セル403内の認識文字が全て結合されて表示されている。
認識セル403を分割したい場合、まずユーザは認識セル403の認識セル位置変更ハンドル603をドラッグして、認識セルを分割したい位置まで認識セルを縮小する(図15)。
図17では、縮小後の認識セルの中には、認識文字「Description」の文字領域のみが含まれていて、「Quantity」、「Unit Price」、「Amount」は含まれていない。そのためS1903で、制御部203は、縮小後の認識セルに包含していない文字領域があると判定し、認識セルの分割をおこなう。
認識セルを分割したあと、制御部203は、分割された各々の認識セルのうち、もっとも左上に位置する認識セルを選択状態にする(図18)。また、制御部203は、分割後の認識セルに含まれる認識文字「Description」を文字入力欄1802に表示する。
<S904の詳細(図20−図23)>
図20−23を用いて、S904の詳細を説明する。
スキャン画像には、認識セルに対して、対応する実際のセルが1つ存在する。以降、スキャン画像の実際のセルをセルと呼ぶ。
保存部202で保存されている認識セルの位置情報は、外接矩形の座標情報である。スキャン画像の傾きや歪みにより、認識セルの外接矩形の座標情報(2303、2304)とセルの罫線(2301)の位置は完全には一致しない。認識セルの外接矩形の内側にセルの罫線の一部が含まれていた場合、認識セル内部をすべて削除すると、セルの罫線の一部を削除してしまう場合がある。セルの罫線を削除することなく、認識セル内部のセルの罫線以外を削除するステップを以下に説明する。
図20で2014はセルである。セル2014は、四点(2010−2013)を繋ぐ四本の罫線からなる領域である。2001は、セル2014に対応する認識セルである。セル2014に内接する直線をセル内接直線と呼ぶ。セル内接直線は1つのセルに対して、上下左右の四本存在する(2002−2005)。
認識セル2001に対応するセルのセル内接直線を検出するための領域を、セル内接直線検出領域と呼ぶ。1つの認識セルに対して4つのセル内接直線検出領域がある(2006−2009)。
S2201で、制御部203は、選択されている認識セル2001の位置情報を保存部202から取得する。
S2202で、制御部203は、認識セル2001の上下左右計4つのセル内接直線検出領域(2006−2009)を設定する。
上部のセル内接直線検出領域2006は、認識セル2001の上部の辺を基準として、上下にあらかじめ決められた値分(例えば20画素・・・0.50cm)広げた領域である。下部のセル内接直線検出領域2007上部と同様の方法で設定される。左部のセル内接直線検出領域2008は、認識セルの左部の辺を基準として、左右にあらかじめ決められた値分広げた領域である。右部のセル内接直線検出領域2009は左部と同様の方法で設定される。
S2203で、制御部203は、上下左右のセル内接直線検出領域(2006−2009)に対して、直線検出を行う。直線検出はハフ変換を用いる。
上部のセル内接直線検出領域2006に対するハフ変換による直線検出の方法を具体的に説明する。
まず、制御部203は、上部のセル内接直線検出領域2006に対して、エッジ検出を行う。エッジ検出により、上下左右の画素との濃度の差が閾値以上のエッジ画素と、それ以外の非エッジ画素に分類される。図21の2101は上部のセル内接直線検出領域2006に対してエッジ検出を行い、エッジ画素を黒画素として表示した図である。
2102は上部のセル内接直線検出領域2006内のエッジ画素の1つであり、エッジ画素の座標を(Xb1,Yb1)と表す。(Xb1,Yb1)を通る直線は式1で表現される。ρは原点から直線に垂線を引いた時の長さであり、θはx軸とのなす角度である。また、ρの小数点第一位を四捨五入し、整数化したものをρiとする。
ρ=Xb1cosθ+Yb1sinθ・・・式1
この式1が表す直線を図19に図示する。
制御部203は、θを一定の変化量(たとえば、1度ごと)で0度から360度まで変化させ、それぞれのθに対するρの値を計算することで、(Xb1,Yb1)を通る直線の(ρ,θ)の組み合わせを360個求める。制御部203は、上部のセル内接直線検出領域内2006で、この処理をエッジ画素の全てに対して行うことにより、エッジ画素数×360個の(ρ,θ)の組み合わせを求める。仮にエッジ画素数が100個あるとすると、3万6000個の(ρ,θ)の組み合わせが求まるわけである。その中には、もちろん重複があり、(ρ1,θ1)の組み合わせは20回あった、(ρ2,θ2)の組み合わせは30回あったというふうに重複回数が求まる。つまり、(ρi,θi)の組み合わせの出現頻度が求まることになる。
この出現頻度を閾値と比較し、その閾値を超えた(ρi,θi)の組み合わせを直線を表す数式とみなす。
この閾値は、上部もしくは下部のセル内接直線検出領域の場合、セル内接直線検出領域の幅にあらかじめ定められた定数(例えば、0.7)を掛けた値とする。左部もしくは右部のセル内接直線検出領域の場合、セル内接直線検出領域の高さにあらかじめ定められた定数を掛けた値とする。その結果、図21の例では、2101に対して直線検出を行った結果、2103と2104の二本の直線が検出される。2103と2104は検出された直線を黒画素で示した線である。制御部203は、下部、左部、右部に関しても同様の方法でそれぞれ直線検出を行う。
S2204で、制御部203は、S2203における直線検出結果を基にセル内接直線を特定する。
例えば、上部のセル内接直線検出領域の場合、上部のセル内接直線検出領域2006から2本の直線が検出されている。この2本の直線の中から、認識セルを基準として最も内側、すなわち最下部の直線を上部のセル内接直線として検出する。
数学的には、上部のセル内接直線検出領域2006の中央のx座標2105における、検出された各直線(2103、2014)のy座標の値を算出し、y座標の値が最も大きい直線をセル内接直線として特定することになる。図21の例では、y座標の値が最も大きい2014がセル内接直線として特定される。
また、制御部203は上部のセル内接直線検出領域に1つも直線が検出されなかった場合、認識セルの上部の辺をセル内接直線として特定する。もちろん、1本のみ直線が検出された場合、その直線をセル内接直線として特定する。
制御部203は、下部、左部、右部に関しても同様にそれぞれ最も内側の直線をセル内接直線として検出する。
S2205で、制御部203は、スキャン画像に対して上下左右の四本のセル内接直線に囲まれた領域内部の色情報を削除する。具体的には、領域内部の画素の色情報を白に置換する。
この処理により、スキャン画像のセルの罫線を削除することなく、認識セル内部の罫線以外の色を削除することができる。
<第2の実施形態>
第1の実施形態では、認識セルを縮小することで認識セルを分割する方法について述べた。それに対して本実施例では、別の手段で認識セルを分割する方法について述べる。
<図24、図25の説明>
図24と図25を用いて本実施例を説明する。図24は本実施例のフローチャートであり、図25は図24を補足説明するための図である。
S1001の後に、制御部203は、編集ウィンドウ604にPartitionボタンを表示する。図25にPartitionボタンの表示例を示す。図12では編集ウィンドウ604内にPartitionボタン2501が表示されている。なお、編集ウィンドウ以外の場所にPartitionボタンがあっても構わない。また、ボタンではなく、メニューなどの表示方法でも構わない。
次にユーザは、Partitionボタンを押す(S2402)。
次に制御部203は、認識セル位置変更ハンドルを非表示にする(S2403)。
次に制御部203は、認識セルを分割する位置を示す直線を表示し、選択状態にする(S2404)。以後、上記認識セルを分割する位置を示す直線を分割線ハンドルと呼ぶ。分割線ハンドルの初期の表示位置は、選択されている認識セルのx座標の中間とし、認識セルをy軸方向に横切るように表示する。
図25に分割線ハンドルの表示の一例を示す。図25では、ユーザがPartitionボタン2501を押した状態であり、分割線ハンドル2502が表示されている。
次にユーザは、認識セルを分割したい位置まで、分割線ハンドルをx軸方向にドラッグする(S2405)。
次に制御部203は、ユーザがOK、Apply、Cancelボタンのうち、どのボタンを押したかを判定する(S2406)。
Cancelボタンを押したと判定された場合は、制御部203は分割線ハンドルを非表示にする(S2407)。そして処理を終了する。
OKまたはApplyボタンが押されたと判定された場合は、制御部203が、分割前の認識セル内にある文字領域が、分割線ハンドルの位置で左右に分かれるかどうかを判定する(S2408)。
S2408で分かれないと判定された場合は、制御部203は認識セルの分割を行わず、処理を終了する。これは、仮に分割線ハンドルの位置で認識セルを分割した場合、文字領域を含まない認識セルが作成されることになるためである。
S2408で分かれると判定された場合は、制御部203は、認識セルを分割する。分割前の認識セルの左上座標(x1,y1)、右下座標を(x2,y2)、分割線ハンドルのx座標をXとする。制御部203は左上座標(x1,y1)、右下座標を(X,y2)の認識セルと、左上座標(X,y1)、右下座標を(x2,y2)の認識セルを作成する。そして、分割前の認識セルは保存部202から削除する。
その後はS1513の処理に進み、最終的に認識セルは分割される。
なお、図24のフローチャートでは、認識セルをX軸方向で分割する方法について述べたが、同様の考え方で認識セルをY軸方向に分割することもできる。
<第3の実施形態>
本実施形態では、認識セルを分割する位置をユーザが決定する際に、分割する位置をスキャン画像の内容に合わせて自動的に調整する方法について述べる。
まずは図29、図30を用いて、分割する位置を、どの位置に調整すべきかについて述べる。
<図29の説明>
図29は図5の認識セルの枠を表示する表示画面のうち、表領域の部分を記載したものであり、認識セル403が選択された状態である。
認識セル403内部の罫線が掠れてしまっているため、本来は、複数のセルからなる403が1つの認識セルとして特定されている。このため、複数のユーザが認識セル403を縮小して、認識セル403を分割する。このとき、ユーザが認識セル403を分割する位置は、表の罫線2901、2902、2903のいずれかであることが考えられる。つまり、ユーザは、表領域の罫線に沿って認識セル403を分割する。
このとき、特にタブレットなどの場合、表示部204が小さいため、認識セルの分割位置を表の罫線の位置に合わせることが困難な場合がある。
そのため、ユーザが分割する位置を決める際に、分割位置を表の罫線の位置に自動的に合わせる機能があると、ユーザの負担が軽減される。
<図30の説明>
図30は認識セル403の右側付近を拡大して表示したものである。3002はスキャン画像内の「A」というオリジナル文字を示す。3003はオリジナル文字「A」の外接矩形である。3004〜3012も同様である。
ユーザは、認識セルを分割する位置を任意に指定することができる。しかし、1文字の範囲内に分割位置が指定されても、1文字を分割することは意味が無いため、1文字は分割しないようにするべきである。例えばオリジナル文字「A」の外接矩形3003の領域内で分割位置が指定されても、「A」という1文字は分割しないのが望ましい。
そのため、ユーザが分割する位置を決める際に、1文字の範囲内に分割位置が指定されても、分割位置を自動的に調整して1文字を分割しないようにする。
<図26の説明>
図26、図27、図28を用いて、分割位置を自動的に調整する方法について記載する。図26、図27の処理では、分割位置を自動的に調整するために必要な情報を保存部202に保存する。その情報を使用して図28の処理で分割位置を自動的に調整する。
図26は、<第1の実施形態>の「(3)表領域検出」で説明した処理に対して、必要な情報を保存する処理を追加したフローチャートである。
まず制御部203が、スキャン画像から表領域を検出する(S2601)。
次に制御部203は、表領域の左上座標と左下座標を保存部202に保存する(S2602)。
次に制御部203は、表領域の罫線の座標を保存部202に保存する(S2603)。例えば、図29の例の場合、縦方向の罫線2901、2902、2903について、X座標をそれぞれ保存部202に保存する。
<図27の説明>
図27は、<第1の実施形態>の「(5)認識セル内の文字領域の特定」で説明した処理に対して、必要な情報を保存する処理を追加したフローチャートである。
制御部203は、認識セル内の文字領域の特定を開始する(S2701)。
次に制御部203は、全ての黒画素塊に外接矩形を設定する(S2702)。
次に制御部203は、外接矩形を保存部202に保存する(S2703)。具体的には各外接矩形の左上座標と右下座標を保存する。
次に制御部203は、外接矩形を統合していき、最終的に文字領域を特定する(S2704)。
次に制御部203は、文字領域と、S2703で保存した外接矩形を関連付け、その関連付けた情報を保存部202に保存する(S2705)。例えば、「Amount」というオリジナル文字に対する文字領域に対して、「A」、「m」、「o」、「u」、「n」、「t」の外接矩形を関連付ける。
<図28の説明>
S1502で認識セルの縮小と判定された場合に、制御部203が、選択されている認識セルが、表領域内にあるかどうかを判定する(S2801)。具体的にはS2602で保存した表領域の座標と、認識セルの座標を元に判定する。
認識セルが表領域内にあると判定された場合は、制御部203は、位置変更後の認識セルの座標と、表の罫線の座標がおおよそ等しいかどうかを判定する(S2802)。具体的には、S2603で保存した表領域の罫線の座標と、位置変更後の認識セルの座標を元に判定する。例えば、認識セルを左方向に位置変更し、その結果、認識セルの右下座標が(x,y)になったとする。また、表領域の罫線が3つあるとし、各罫線のX座標をそれぞれx1、x2、x3とする。このとき、制御部203は、
x1−w<x<x1+w
x2−w<x<x2+w
x3−w<x<x3+w
のいずれかを満たすかどうかを判定する。wは任意の数値であるが、例えば0.1などの小さい値がのぞましい。
S2802でおおよそ等しいと判定された場合、制御部203は、位置変更後の認識セルの位置を、表領域の罫線の位置に変更する(S2803)。例えば、上記の例で
x2−w<x<x2+w
を満たす場合は、制御部203は、認識セルのx座標をx2に変更する。本処理により、図26で説明した問題が解決する。
その後はS1511の処理に進み、最終的には認識セルは分割される。
一方、S2802で表領域外と判定された場合、またはS2802で等しくないと判定された場合は、認識セルの位置を表領域の罫線の位置に合わせる処理は行わず、S2804の処理に進む。
制御部203は、位置変更後の認識セルの座標が、1文字の外接矩形内にあるかどうかを判定する(S2804)。具体的には、まず位置変更後の認識セルの座標が文字領域内にあるかどうかを判定する。図30の例でいえば、「Amount」の文字領域内に位置変更後の認識セルの座標が含まれるかどうかを判定する。含まれる場合は、次に、制御部203は、S2703とS2705で保存した情報を元に、文字領域内の各外接矩形内に、位置変更後の認識セルの座標が含まれるかどうかを判定する。例えば、認識セルを左方向に位置変更し、その結果、認識セルの右下座標が(x,y)になったとする。このとき、xが外接矩形内にあるかどうかを判定する。図30の例でいえば、外接矩形3002、3005、3007、3009、3011、3013内にあるかどうかを判定する。
S2804で外接矩形内にないと判定された場合は、認識セルの位置調整は行わず、S1511に進む。
S2804で外接矩形内にあると判定された場合は、制御部203は、位置変更後の認識セルの位置を、外接矩形外に変更する。位置変更後の認識セルの左上座標(Xa,Ya)、右下座標(Xb,Yb)とする。また外接矩形の左上座標(X1,Y1)、右下座標(X2,Y2)として、
X1<Xb<X2
とする。つまり位置変更後の認識セルの座標が、外接矩形に含まれているとする。このとき、制御部203は、
Xb−X1>X2−Xb
を満たすかどうかを判定する。満たす場合は、制御部203は、Xbの値をX2に変更する。満たさない場合はXbの値をX1に変更する。すなわち、外接矩形の左右の近い方に、認識セルの位置を変更する。本処理により、図27で説明した問題が解決する。
その後はS1511の処理に進み、最終的には認識セルは分割される。
以上により認識セルの位置を自動的に調整することができる。
なお上記では、認識セルをX軸方向で分割する方法について述べたが、同様の考え方で認識セルをY軸方向に分割することもできる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (13)

  1. 画像に含まれるテーブル内の複数のセルを表示するように制御する第1表示制御手段と、
    前記表示された前記複数のセルの中から、ユーザの指示に基づいて1つのセルを選択する選択手段と、
    前記選択手段によって選択された1つのセルの大きさを変更するためのハンドルを更に表示するように制御する第2表示制御手段と、
    前記ユーザによる前記ハンドルの操作に応じて、前記選択手段によって選択された1つのセルを縮小する縮小手段と、
    前記縮小手段にって小され前の前記1つのセルに含まれ且つ前記縮小手段によって縮小された後のセルに含まれない文字領域があるか否かを判定する判定手段と、
    前記判定手段によって前記文字領域があると判定されたことに従って、当該文字領域を含む新たなセルを作成する作成手段と
    を有することを特徴とする情報処理装置。
  2. 前記作成手段は、前記縮小手段によって縮小される前の前記1つのセルを、前記縮小手段によって縮小された後の領域と、それ以外の領域に分割することによって、前記新たなセルを作成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1表示制御手段により表示される前記複数のセルは、それぞれ、4つの辺に囲まれる矩形の領域であることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記縮小手段は、前記ユーザによる前記ハンドルの操作で指示された位置が前記テーブルの罫線の座標位置におおよそ等しいと判断した場合、当該おおよそ等しいと判断した前記テーブルの罫線の座標位置に合うように、前記第1のセル大きさを変更することを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
  5. 原稿の画像を読み取る読取手段をさらに有し、
    前記第1の表示制御手段は、前記読取手段によって読み取られた前記画像に含まれるテーブル内の複数のセルを表示するように制御することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記ユーザによる前記ハンドルの操作に応じて、前記選択手段によって選択された1つのセルを拡大する拡大手段をさらに有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. コンピュータを、請求項1乃至の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  8. 情報処理装置の第1表示制御手段が、画像に含まれるテーブル内の複数のセルを表示するように制御する第1表示制御工程と、
    前記情報処理装置の選択手段が、前記表示された前記複数のセルの中から、ユーザの指示に基づいて1つのセルを選択する選択工程と、
    前記選択工程で選択された1つのセルの大きさを変更するためのハンドルを更に表示するように制御する第2表示制御工程と、
    前記情報処理装置の縮小手段が、前記ユーザによる前記ハンドルの操作に応じて、前記選択工程で選択された1つのセルを縮小する縮小工程と、
    前記情報処理装置の作成手段が、前記縮小工程で縮小される前の前記1つのセルに含まれ且つ前記縮小工程で縮小された後のセルに含まれない文字領域があるか否かを判定する判定工程と、
    前記判定工程で前記文字があると判定されたことに従って、当該文字領域を含む新たなセルを作成する作成工程と
    を有することを特徴とする情報処理方法。
  9. 前記作成工程では、前記縮小手段によって縮小される前の前記1つのセルを、前記縮小手段によって縮小された後の領域と、それ以外の領域に分割することによって、前記新たなセルを作成することを特徴とする請求項8に記載の情報処理方法。
  10. 前記第1表示制御工程で表示される前記複数のセルは、それぞれ、4つの辺に囲まれる矩形の領域であることを特徴とする請求項8または9の何れか1項に記載の情報処理方法。
  11. 前記縮小工程では、前記ユーザによる前記ハンドルの操作で指示された位置が前記テーブルの罫線の座標位置におおよそ等しいと判断した場合、当該おおよそ等しいと判断した前記テーブルの罫線の座標位置に合うように、前記第1のセル大きさを変更することを特徴とする請求項乃至10の何れか1項に記載の情報処理方法。
  12. 原稿の画像を読み取る読取工程をさらに有し、
    前記第1の表示制御工程では、前記読取工程で読み取られた前記画像に含まれるテーブル内の複数のセルを表示するように制御することを特徴とする請求項8乃至11のいずれか1項に記載の情報処理方法。
  13. 前記ユーザによる前記ハンドルの操作に応じて、前記選択工程で選択された1つのセルを拡大する拡大手段をさらに有することを特徴とする請求項8乃至12のいずれか1項に記載の情報処理方法。
JP2014139866A 2014-07-07 2014-07-07 情報処理装置、情報処理方法、プログラム Expired - Fee Related JP6452329B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014139866A JP6452329B2 (ja) 2014-07-07 2014-07-07 情報処理装置、情報処理方法、プログラム
US14/789,205 US10607381B2 (en) 2014-07-07 2015-07-01 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014139866A JP6452329B2 (ja) 2014-07-07 2014-07-07 情報処理装置、情報処理方法、プログラム

Publications (3)

Publication Number Publication Date
JP2016018327A JP2016018327A (ja) 2016-02-01
JP2016018327A5 JP2016018327A5 (ja) 2017-08-17
JP6452329B2 true JP6452329B2 (ja) 2019-01-16

Family

ID=55233523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014139866A Expired - Fee Related JP6452329B2 (ja) 2014-07-07 2014-07-07 情報処理装置、情報処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP6452329B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916566A (ja) * 1995-06-29 1997-01-17 Canon Inc 文書処理装置及び方法
JPH11110479A (ja) * 1997-10-02 1999-04-23 Canon Inc 文字処理方法及び装置及び記憶媒体
JP4235286B2 (ja) * 1998-09-11 2009-03-11 キヤノン株式会社 表認識方法及び装置
JP4208520B2 (ja) * 2002-08-26 2009-01-14 キヤノン株式会社 画像処理装置および画像処理方法、プログラムおよび記憶媒体
JP5541202B2 (ja) * 2011-03-16 2014-07-09 コニカミノルタ株式会社 スプレッドシートデータ生成装置およびプログラム

Also Published As

Publication number Publication date
JP2016018327A (ja) 2016-02-01

Similar Documents

Publication Publication Date Title
JP6463066B2 (ja) 情報処理装置、情報処理方法、プログラム
EP2966578B1 (en) Information processing apparatus, information processing method, program, and storage medium
JP5984439B2 (ja) 画像表示装置、画像表示方法
US10607381B2 (en) Information processing apparatus
US10222971B2 (en) Display apparatus, method, and storage medium
CN107133615B (zh) 信息处理设备和信息处理方法
US10296559B2 (en) Display apparatus, control method therefor, and storage medium
JP2003298837A (ja) 電子画像を作成し操作するための図形入力及び表示システム、表示装置に入力されたソース電子画像を意味のある画像オブジェクトに編成するための方法、及びコンピュータ読取り可能プログラムコードが組み込まれたコンピュータ使用可能媒体を含む製品
EP3671539B1 (en) Method for image processing, and image-processing system
JP4655335B2 (ja) 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
US8970860B2 (en) Image processing device that displays process sequence, display device and non-transitory computer readable recording medium
US9678642B2 (en) Methods of content-based image area selection
US8355577B2 (en) Image processing apparatus and method
JP5590960B2 (ja) 画像形成装置、画像形成方法およびプログラム
JP6452329B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6489768B2 (ja) 情報処理装置、情報処理方法、プログラム
US11588945B2 (en) Data input support apparatus that displays a window with an item value display area, an overview image display area, and an enlarged image display area
US10404872B2 (en) Multi-function device with selective redaction
JP6370162B2 (ja) 情報処理装置、情報処理方法、プログラム
JP7329957B2 (ja) 仮想オブジェクト表示装置、及びプログラム
JP2014211747A (ja) 画像処理装置、端末装置、情報処理方法及びプログラム
JP2015049656A (ja) 情報処理装置、方法及びプログラム
JP2019195117A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6680203B2 (ja) 編集支援装置及び編集支援方法
JP2023040886A (ja) 画像処理装置、方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

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: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181211

R151 Written notification of patent or utility model registration

Ref document number: 6452329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees