IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7508212画像処理装置、画像処理方法及びプログラム
<>
  • 特許-画像処理装置、画像処理方法及びプログラム 図1
  • 特許-画像処理装置、画像処理方法及びプログラム 図2
  • 特許-画像処理装置、画像処理方法及びプログラム 図3
  • 特許-画像処理装置、画像処理方法及びプログラム 図4
  • 特許-画像処理装置、画像処理方法及びプログラム 図5
  • 特許-画像処理装置、画像処理方法及びプログラム 図6
  • 特許-画像処理装置、画像処理方法及びプログラム 図7
  • 特許-画像処理装置、画像処理方法及びプログラム 図8
  • 特許-画像処理装置、画像処理方法及びプログラム 図9
  • 特許-画像処理装置、画像処理方法及びプログラム 図10
  • 特許-画像処理装置、画像処理方法及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
   G06V 30/14 20220101AFI20240624BHJP
   G06T 7/187 20170101ALI20240624BHJP
   G06T 7/11 20170101ALI20240624BHJP
【FI】
G06V30/14 340J
G06T7/187
G06T7/11
【請求項の数】 13
(21)【出願番号】P 2019196215
(22)【出願日】2019-10-29
(65)【公開番号】P2021071763
(43)【公開日】2021-05-06
【審査請求日】2022-10-31
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】石黒 泰輔
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2002-279345(JP,A)
【文献】特開2015-166951(JP,A)
【文献】特開2004-064664(JP,A)
【文献】特表2016-521890(JP,A)
【文献】特開2012-003480(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00 - 30/424
G06T 7/00 - 7/90
(57)【特許請求の範囲】
【請求項1】
背景と前景とが反転した状態の文字を含む反転領域と、反転領域以外の領域にある通常文字とを含む文書画像に対し、前記通常文字を消すための収縮処理を少なくとも含むモルフォロジー処理を行って、前記反転領域を構成する可能性のある連結画素塊が残された強調画像を生成する処理手段と、
前記強調画像に残された前記連結画素塊の情報に基づき特定される前記反転領域の候補領域に対応する前記文書画像の部分画像に対する解析を行う解析手段と
前記解析手段による解析結果に基づいて、前記文書画像における、背景と前景とが反転した状態の前記文字を含む前記反転領域を特定する特定手段と、
を備え
前記特定手段は、前記候補領域が複数ある場合に、各候補領域をその位置関係に基づいて統合し、統合した後の候補領域に対応する前記文書画像の部分画像に対する解析結果に基づいて、前記反転領域を特定する、
ことを特徴とする画像処理装置。
【請求項2】
前記処理手段は、前記モルフォロジー処理として、前記収縮処理の結果に対して膨張処理を行うことにより、前記強調画像を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記文書画像は、文書のスキャン画像を二値化して得られた二値画像である、ことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記解析結果は、前記部分画像における黒画素密度と、前記部分画像における白画素部分の輪郭線の数とを含む、
ことを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記解析結果は、前記部分画像内の白画素が連結した画素塊の大きさ又は当該画素塊同士の間隔である、
ことを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項6】
前記統合は、前記各候補領域において、隣接する他の候補領域との距離が一定距離以内である場合に、候補領域同士を1つにまとめる処理であることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記特定手段は、前記距離が一定距離以内であっても、当該距離に対応する前記文書画像内の前記各候補領域の間の画像領域における黒画素密度が一定レベル未満である場合、前記統合を行わないことを特徴とする請求項に記載の画像処理装置。
【請求項8】
前記文書画像は、文書のスキャン画像を二値化して得られた二値画像に対して所定の変倍率で縮小処理を行って得られた縮小二値画像であり、
前記特定手段は、前記各候補領域に対して前記縮小処理を行う前の前記二値画像を用いた領域分割処理を行い、当該領域分割処理を行って得られた候補領域を対象に、前記統合を行う
ことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
【請求項9】
前記文書画像において特定された前記反転領域を構成する各画素を反転する反転手段と、
前記反転領域を構成する各画素を反転して得られた画像に対して文字認識処理を実行する文字認識手段と、
をさらに備えることを特徴とする請求項1乃至のいずれか1項に記載の画像処理装置。
【請求項10】
背景と前景とが反転した状態の文字を含む反転領域と、反転領域以外の領域にある通常文字とを含む文書画像に対し、前記通常文字を消すための収縮処理を少なくとも含むモルフォロジー処理を行って、前記反転領域を構成する可能性のある連結画素塊が残された強調画像を生成する処理手段と、
前記強調画像に残された前記連結画素塊の情報に基づき特定される前記反転領域の候補領域に対応する前記文書画像の部分画像に対する解析を行う解析手段と、
前記解析手段による解析結果に基づいて、前記文書画像における、背景と前景とが反転した状態の前記文字を含む前記反転領域を特定する特定手段と、
を備え、
前記解析結果には、前記部分画像における白画素部分の輪郭線の数が少なくとも含まれる、
ことを特徴とする画像処理装置。
【請求項11】
背景と前景とが反転した状態の文字を含む反転領域と、反転領域以外の領域にある通常文字とを含む文書画像に対し、前記通常文字を消すための収縮処理を少なくとも含むモルフォロジー処理を行って、前記反転領域を構成する可能性のある連結画素塊が残された強調画像を生成する生成ステップと、
前記強調画像に残された前記連結画素塊の情報に基づき特定される前記反転領域の候補領域に対応する前記文書画像の部分画像に対する解析を行う解析ステップと
前記解析ステップの解析結果に基づいて、前記文書画像における、背景と前景とが反転した状態の前記文字を含む前記反転領域を特定する特定ステップと、
を含み
前記特定ステップでは、前記候補領域が複数ある場合に、各候補領域をその位置関係に基づいて統合し、統合した後の候補領域に対応する前記文書画像の部分画像に対する解析結果に基づいて、前記反転領域を特定する、
ことを特徴とする画像処理方法。
【請求項12】
背景と前景とが反転した状態の文字を含む反転領域と、反転領域以外の領域にある通常文字とを含む文書画像に対し、前記通常文字を消すための収縮処理を少なくとも含むモルフォロジー処理を行って、前記反転領域を構成する可能性のある連結画素塊が残された強調画像を生成する生成ステップと、
前記強調画像に残された前記連結画素塊の情報に基づき特定される前記反転領域の候補領域に対応する前記文書画像の部分画像に対する解析を行う解析ステップと、
前記解析ステップの解析結果に基づいて、前記文書画像における、背景と前景とが反転した状態の前記文字を含む前記反転領域を特定する特定ステップと、
を含み、
前記解析結果には、前記部分画像における白画素部分の輪郭線の数が少なくとも含まれる、
ことを特徴とする画像処理方法。
【請求項13】
コンピュータを、請求項1乃至10のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書画像から反転領域を特定する技術に関する。
【背景技術】
【0002】
スキャナやカメラを用いて得られた文書画像に対してOCR処理を行う際、いわゆる白抜き文字のような背景と文字部分とが反転した領域(反転領域)を特定し、反転状態を解消することで、OCR精度を向上させる技術が知られている。特許文献1には、文書等を読み取って得られた入力画像に対してエッジ抽出を実施し、エッジ抽出結果を解析することで反転領域を特定し、その反転領域が存在する画像部分の反転状態を解消する方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-186246号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術では、文書画像のコンテンツに依存してエッジ抽出の処理負荷が増加することになる。たとえば、文字数が多い文書画像の場合、全文字に対してエッジ抽出を実施し、抽出された各エッジ情報に対して反転領域の判定処理を行う必要があり、処理コストが掛かりすぎてしまう。
【課題を解決するための手段】
【0005】
本開示に係る画像処理装置は、背景と前景とが反転した状態の文字を含む反転領域と、反転領域以外の領域にある通常文字とを含む文書画像に対し、前記通常文字を消すための収縮処理を少なくとも含むモルフォロジー処理を行って、前記反転領域を構成する可能性のある連結画素塊が残された強調画像を生成する処理手段と、前記強調画像に残された前記連結画素塊の情報に基づき特定される前記反転領域の候補領域に対応する前記文書画像の部分画像に対する解析を行う解析手段と前記解析手段による解析結果に基づいて、前記文書画像における、背景と前景とが反転した状態の前記文字を含む前記反転領域を特定する特定手段と、を備え、前記特定手段は、前記候補領域が複数ある場合に、各候補領域をその位置関係に基づいて統合し、統合した後の候補領域に対応する前記文書画像の部分画像に対する解析結果に基づいて、前記反転領域を特定する、ことを特徴とする。
【発明の効果】
【0006】
本開示の技術によれば、文書画像に多くのコンテンツが含まれていても、処理コストを抑制しつつ精度良く反転領域を特定することができる。
【図面の簡単な説明】
【0007】
図1】情報処理システムの構成を示す図
図2】実施形態1に係る、文書画像に含まれる反転領域の特定等に関わるソフトウェア構成を示す機能ブロック図
図3】実施形態1に係る、画像処理装置における処理の大まかな流れを示すフローチャート
図4】(a)は二値画像の一例を示す図、(b)は二値画像内の反転領域を非反転化した結果の一例を示す図、(c)は強調画像の一例を示す図、(d)は反転領域の外枠を残した場合の一例を示す図
図5】実施形態1に係る、反転領域判定処理の詳細を示すフローチャート
図6】(a)は二値画像の一例を示す図、(b)は強調画像の一例を示す図、(c)は二値画像内の反転領域を非反転化した結果の一例を示す図
図7】実施形態2に係る、反転領域判定処理の詳細を示すフローチャート
図8】(a)は二値画像の一例を示す図、(b)は強調画像の一例を示す図、(c)は暫定統合領域の一例を示す図、(d)は二値画像内の反転領域を非反転化した結果の一例を示す図
図9】実施形態2の変形例に係る、候補領域の再評価処理の詳細を示すフローチャート
図10】(a)は部分二値画像の一例を示す図、(b)は縮小二値画像の模式図
図11】部分二値画像に対してx軸方向に射影をとった結果
【発明を実施するための形態】
【0008】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0009】
[実施形態1]
<ハードウェア構成>
図1は、本実施形態に係る、情報処理システムの構成を示す図である。情報処理システムは、スキャナ装置100と画像処理装置110とからなる。以下、図1を参照して、スキャナ装置110と画像処理装置110のハードウェア構成について簡単に説明する。
【0010】
スキャナ装置100は、制御部101、画像読取部102及び通信部103を有している。制御部101は、CPU、RAM、ROMなどで構成され、CPUがROMに格納された所定のプログラムをRAMに展開して実行することで、スキャナ装置100を統括的に制御する。画像読取部101は、不図示の原稿台に載置された文書を光学的に読み取って、スキャン画像を生成する。通信部103は、ネットワークを介して外部装置(ここでは画像処理装置110)との間で画像データのやり取りなどを行う通信インタフェースである。
【0011】
画像処理装置110は、制御部111、大容量記憶部112、表示部113、入力部114及び通信部115を有している。制御部111は、CPU、RAM、ROMなどで構成され、CPUがROMに格納された所定のプログラムをRAMに展開して実行することで、画像処理装置110を統括的に制御する。大容量記憶部112は、例えばHDDやSSDであり、各種データや各種プログラム等を記憶する。表示部113は、例えば液晶ディスプレイであり、ユーザに各種情報を表示する。入力部114は、キーボードやマウスであり、ユーザによる各種操作を受け付ける。なお、表示部113と入力部114は、タッチパネルのように一体であってもよい。通信部115は、ネットワークを介して外部装置(ここではスキャナ装置100)との間で画像データのやり取りなどを行う通信インタフェースである。
【0012】
本実施形態においては、スキャナ装置100の画像読取部101が帳票等の紙文書をスキャンして、スキャン画像を生成する。生成されたスキャン画像のデータは、通信部103により画像処理装置110に送信される。画像処理装置110では、通信部115がスキャン画像のデータを受信して大容量記憶部112に格納する。なお、図1に示す情報処理システムの構成は一例であり、例えば、スキャナ装置100と画像処理装置110とは一体化されていてもよいし、画像処理装置110がインターネットを介して接続されるクラウドタイプのサーバコンピュータであってもよい。
【0013】
図2は、本実施形態に係る画像処理装置110の、文書画像に含まれる反転領域の特定等に関わるソフトウェア構成を示す機能ブロック図である。なお、本明細書において「反転領域」の用語は、文書画像内の色が付いた地(背景)の中で文字列等の前景部分が抜かれた、背景と前景とが反転している領域を意味するものとして用いるものとする。
【0014】
画像処理装置110は、二値化部200と反転領域処理部210とを有し、反転領域処理部210はさらに、モルフォロジー処理部211、連結画素塊抽出部212、反転領域判定部213、画素反転部214を含む。これら各部の機能は、制御部111においてROMに格納されたプログラムをCPUが実行することによって実現される。なお、画像処理装置110は、図2に示す機能以外の機能、例えばOCR機能をさらに有していてもよい。
【0015】
以下、図3に示すフローチャートを参照しつつ、各部の機能について説明する。図3のフローチャートに示す、画像処理装置110における一連の処理に先立って、ユーザは、スキャナ装置100を用いて紙文書を光学的に読み取って、スキャン画像を生成する。そして、画像処理装置110にスキャン画像のデータを送信し、画像処理装置110にて、ユーザが所定の開始指示を行うと、図3のフローチャートに示す一連の処理が開始される。ここでは、領収書のスキャン画像が処理対象画像として入力されたものとして説明を行うこととする。なお、以下の説明において記号「S」はステップを意味する。
【0016】
S301では、二値化部200が、入力されたスキャン画像に対して二値化処理を行って、反転領域処理部210の処理対象となる二値画像を生成する。二値化処理は、例えば256階調(8ビット)といった多値の階調値からなる画像データを“0”と“1”の二値の画像データに量子化する処理である。ここでは、例えば判別分析法など既知の二値化手法を用いることができる。図4(a)は、領収書のスキャン画像に対する二値化処理の結果を示している。二値化処理によって得られた二値画像データは、制御部111内のRAMに格納される。なお、二値化処理は必須ではなく、入力されたスキャン画像における前景部分と背景部分とが区別された画像が取得できればよい。
【0017】
S302~S305は、S301にて生成された二値画像において反転領域を特定し、特定された反転領域を非反転化する処理に相当する。この一連の処理によって、図4(b)に示すような、反転領域400内の白抜き文字で表現された文字列“金額”が、通常文字に変換された二値画像が得られることになる。以下、詳しく説明する。
【0018】
まず、S302では、モルフォロジー処理部211が、S301にて生成された二値画像に対してモルフォロジー処理を行って、当該二値画像から、およそ反転領域ではないと推認される画像領域の画素を削除する。具体的には、二値画像に対して収縮処理を先ず実行し、続いて、収縮処理後の画像に対して膨張処理を実行し、これを所定回繰り返す。最初に実行される収縮処理は、二値画像内の黒画素で構成される細い線を消失させる効果がある。よって、処理対象画像内の通常文字や罫線などを構成する前景としての黒画素が、縮小処理によって消えることになる。一方、反転領域は、文字や罫線よりも太い線として構成されるところ、収縮処理によって反転文字領域内の背景を構成する黒画素も一部消失することになるが、通常文字の前景となる黒画素よりも面積が大きいので残りやすい。つまり、収縮処理を施すことによって、通常文字や罫線等を構成する黒画素だけを削除し、反転領域を構成する黒画素が残るようにする。そして、収縮処理後の画像に同規模の膨張処理を実行することで、収縮処理では消失しなかった黒画素については、収縮前の状態に復元する。なお、モルフォロジー処理の目的は、処理対象画像内の反転領域らしい画像領域を強調することにある。従って、通常文字や罫線を消すための収縮処理は必須であるが、同じ回数の膨張処理を行うことは必須ではない。上述したモルフォロジー処理を二値画像に対して行うことにより、反転領域の可能性のある黒画素領域だけが残った二値画像が得られる。モルフォロジー処理によって得られた、反転領域の候補となる画像領域が強調された画像を、以下では、「強調画像」と呼ぶこととする。図4(c)は、図4(a)に示す二値画像に対するモルフォロジー処理の結果としての強調画像を示している。通常文字や罫線などを構成する黒画素は消失し、“金額”の白抜き文字を含む反転領域400内の黒画素と領収書下部の横長矩形を構成する黒画素だけが残っていることが分かる。
【0019】
S303では、連結画素塊抽出部212が、S302にて得られた強調画像から連結画素塊(以下、“CC”と表記)を抽出する。CCは、「Connected Component」の略であり、ここでは、強調画像内で連結している黒画素の塊を意味する。強調画像から抽出された黒画素塊のうち同一の黒画素塊を構成する黒画素には同一ラベルが付与され、反転領域の候補となる領域(以下、「候補領域」と呼ぶ。)として特定される。上述の図4(c)に示す強調画像からは、反転領域400に相当する黒画素塊401と最下部の帯状オブジェクトに相当する黒画素塊402の計2つの黒画素塊が抽出され、それぞれに異なるラベルが付与されて候補領域として特定されることになる。特定された候補領域の情報は、制御部111内のRAMに格納される。
【0020】
S304では、反転領域判定部213が、S302にて特定された候補領域に対応する部分二値画像を取得し、当該部分二値画像に対して所定の解析処理を行い、得られた解析結果に基づいて、二値画像内の反転領域を決定する。上述の図4(c)に示す強調画像の場合、候補領域としての黒画素塊401と402のうち、黒画素塊401が反転領域として決定されることになる。反転領域判定処理の詳細については後述する。
【0021】
S305では、画素反転部214が、S301にて得られた二値画像のうち、S304にて決定された反転領域に対応する部分の画素を反転させる処理を行う。具体的には、反転領域を構成する各画素に対して、画素値を現在の値とは異なる値に変更(すなわち、“1”は“0”に、“0”は“1”に変更)する処理を行って、白画素であれば黒画素に、白画素であれば黒画素に変更する。この画素反転処理により、2値画像内の反転領域を構成する画素だけを対象として画素属性が変更されることになる。つまり、2値画像内の通常文字や罫線を構成する各画素については、黒画素は黒画素のまま白画素は白画素のまま残り、白抜き文字の部分についてのみ、黒画素は白画素に白画素は黒画素に変更されることになる。こうして、前述の図4(b)に示す、反転領域のみが非反転化された二値画像が得られる。当該処理により、反転領域内の文字列が反転され、いわゆる白抜き文字を含まない二値画像を得ることができる。この二値画像に対してOCR処理を実施することで、OCR精度を向上させることができる。
【0022】
また、本実施形態では、反転領域に決定された画像領域内の全画素を反転させたが、一部画素は反転させずにそのままにしてもよい。例えば、反転領域の外枠部分の画素は反転させないことで、図4(d)に示すように反転領域の外枠(罫線に相当する区切り情報)を残すことができる。この際は、反転領域と決定された領域のうち外縁から所定幅の部分の画素だけを残すようにすればよい。この程度の付加的な処理であれば、処理負荷が大幅に増えることもない。このように罫線に相当する区切り情報を残すことで、OCR処理時に、文字認識結果である文字列の区切り情報として使用することが可能になる。
【0023】
(判定文字領域判定処理の詳細)
次に、前述の反転領域判定処理(S304)の詳細について、図5のフローチャートを用いて説明する。
【0024】
S501では、S303にて特定されたすべての候補領域の情報とS301にて得られた二値画像のデータがRAMから読み出される。続くS502では、S501にて読み出された全候補領域のうち注目する候補領域に対応する部分の二値画像(以下、「部分二値画像」と表記)が生成される。具体的には、S501にて取得した2値画像から、注目候補領域に対応する部分の画像領域が切り出される。
【0025】
次に、S503では、S502にて得られた部分二値画像における黒画素密度、具体的には、部分二値画像を構成する全画素のうち黒画素が占める割合が算出される。そして、S504では、S502にて得られた部分二値画像における白画素部分の輪郭線が抽出される。ここで抽出される輪郭線は、文字等の構成要素のうち直線の部分であり、例えば1文字あたり数十本の輪郭線が抽出されることになる。
【0026】
そして、S505では、S503にて算出された黒画素密度とS504にて抽出された輪郭線の本数に基づき、注目候補領域が反転領域であるかどうかが判定される。具体的には、黒画素密度および輪郭線数のそれぞれについて予め所定の閾値を規定しておき、いずれについても所定の閾値の範囲内であれば、注目候補領域には文字が含まれているものと見做して反転領域であると判定する。一方、黒画素密度および輪郭線数のいずれか一方あるいは両方が、所定の閾値の範囲を超える場合は、注目候補領域には文字が含まれていないものと見做して反転領域ではないと判定する。この場合において、まず黒画素密度の閾値については、黒画素密度が100%に近いほど判定文字領域内で文字を形作る白画素の数が少なく、画数が多い複雑な文字であるほど黒画素密度が低くなることを考慮して決定する。つまり、白抜き文字として使用され得る最も複雑な文字等において想定される黒画素密度を基準として例えば75%といった値を設定すればよい。また、輪郭線数の閾値については、1文字当たりの平均的な輪郭線数及び反転領域内の想定される文字数を考慮して設定すればよい。この輪郭線数を判定指標に加えることで、判定精度を向上させることができる。注目候補領域が反転領域であると判定された場合は、S506に進む。一方、注目候補領域が反転領域ではないと判定された場合は、S507に進む。
【0027】
S506では、注目候補領域が反転領域として設定される。具体的には、注目候補領域について反転領域であることを示すフラグ等の情報が生成され、制御部111内のRAMに格納される。
【0028】
S507では、S501で読み出された全候補領域のすべてについて処理が完了したか否かが判定される。未処理の候補領域があればS502に戻り、次の注目候補領域を選択して処理を続行する。一方、すべての候補領域についての処理が完了していれば本処理を抜ける。
【0029】
以上が、判定文字領域判定処理の内容である。なお、S503の黒画素密度の算出処理やS504の輪郭線の抽出処理においては、二値画像から切り出した部分二値画像を用いていており、モルフォロジー処理を施して得た強調画像を用いていない。その理由は、強調画像は収縮処理や膨張処理の影響で白抜き文字部分の文字線つぶれ等が生じ、黒画素密度や輪郭線数に基づく文字らしさの判定が期待通りに実行できない可能性があるためである。二値画像を使用することで、より高精度での判定が可能となる。また、文字らしさの判定指標は、黒画素密度と輪郭線数に限定されない。例えば、部分二値画像内の白画素を対象として連結画素塊(CC)を抽出し、抽出した連結画素塊の大きさ(大きいほど文字を形作る白画素の数が多い)や連結画素塊同士の間隔(画数の多い複雑な文字ほど間隔が狭い)に基づいて、文字らしさを判定してもよい。
【0030】
以上説明したように、本実施形態によれば、反転領域を構成しない可能性が高い画素については初期段階で画素反転処理の対象画素から除外されることになる。これにより、反転領域の探索に要する処理コストを低減できる。また、文書画像内から文字や表を構成する罫線などの情報を除外した後の部分二値画像を対象として反転領域か否かの判定を行うため、文字数や表のセル数などに依存度の低い処理を実現することが可能となる。
【0031】
[実施形態2]
実施形態1では、強調画像から候補領域を特定し、当該候補領域に対応する二値画像(部分二値画像)を用いて反転領域を決定している。しかしながら、部分二値化画像の前提となる候補領域が適切でないことがある。例えば、反転領域の縁部に近い位置まで文字を形作る白画素の輪郭部分が迫っている場合、反転領域の外縁と文字を形成する白画素との間は細い黒画素線で構成されることになり、モルフォロジー処理によって、その間部分の黒画素が失われてしまう可能性がある。図6(a)は、2つの反転領域600a及び600bを有する見積書のスキャン画像に対して二値化処理を行って得られた二値画像を示し、図6(b)は当該二値画像に対してモルフォロジー処理を行って得られた強調画像を示している。図6(b)に示す強調画像では、反転領域600bが6つの小領域611~616に分離されている。この強調画像に対して連結画素塊の抽出処理(S303)を適用すると、小領域611~616に対応する黒画素塊のそれぞれが候補領域として特定されることになる。その結果、期待するような反転領域の判定結果が得られないことになる。そこで、上述の問題に対処可能な態様を、実施形態2として説明する。なお、情報処理システムの基本構成など実施形態1と共通する内容については説明を省略し、以下では差異点である反転領域判定処理について説明することとする。
【0032】
(反転領域判定処理の詳細)
図7は、本実施形態に係る、反転領域判定処理の詳細を示すフローチャートである。以下、図7のフローチャートに沿って説明する。
【0033】
S701は、実施形態1の図5のフローにおけるS501と同じであり、S303にて生成されたすべての候補領域の情報とS301にて得られた二値画像データがRAMから読み出される。
【0034】
次のS702では、S701にて読み出したすべての候補領域についての再評価がなされる。本実施形態では、再評価の内容として、読み出された候補領域を、その位置関係に基づき統合する処理を行う。より具体的には、各候補領域について、隣接する他の候補領域との距離が予め規定した一定距離以内であるかを判定し、一定距離以内にある候補領域同士を統合して、より大きな1つの候補領域を生成する。前述の図6(b)の例では、6つの小領域611~616に対応した6つの候補領域が1つに統合され、新たに破線の枠で示す領域が候補領域として特定されることになる。そして、統合の対象となった候補領域の情報は不要となるので削除(RAMから消去)される。なお、反転領域600aに対応する相対的に大きな領域610については、領域間の距離が閾値を満たすような他の候補領域が存在しないので、他の候補領域と統合されることなくそのまま維持される。
【0035】
S703~S708の各処理は、実施形態1の図5のフローにおけるS502~S507に対応し、特に異なるところはないので説明を省く。
【0036】
以上が、本実施形態に係る、反転領域判定処理の内容である。本実施形態の場合、本来は1つの黒画素塊として抽出されるべきものが別々の黒画素塊として抽出されるようなケースでも、候補領域の統合処理を行うことで、反転領域の候補となる1つの黒画素塊(候補領域)として扱うことが可能になる。上述の図6(b)の例では、破線の矩形で示す候補領域が統合処理によって生成され、統合後の候補領域に対してS703以降の各処理が適用されることになる。その結果、反転領域600bの全体に対応する画像領域が反転領域としてS707にて設定されるので、S305にて適切に非反転化することができる。図6(c)は、見積書の二値画像に対して本実施形態の処理を適用した結果を示している。反転領域600aだけでなく反転領域600bについても適切に非反転化されていることが分かる。
【0037】
<変形例>
上述したような再評価を行う場合、候補領域が過剰に統合されてしまうケースがある。図8(a)は、4つの反転領域800a~800dを有する見積書のスキャン画像に対して二値化処理を行って得られた二値画像を示している。そして、図8(b)は、当該二値画像に対してモルフォロジー処理を行って得られた強調画像を示している。図8(b)に示す強調画像では、反転領域800bが前述の図6(b)における反転領域600bと同様に6つの小領域811~816に分離され、強調画像全体では合計で9つの候補領域810~818が存在している。これら9つの候補領域に対して、上述の再評価における統合処理をそのまま適用すると、候補領域817と候補領域818との距離が近いために、両候補領域が統合されてしまう。この場合、候補領域817と候補領域817は互いの距離が近いだけで1つの反転領域を構成している訳ではない。そのため、双方の候補領域を統合して得られた新たな候補領域には、本来は反転領域ではない領域が存在するにも関わらずまとめて非反転化がなされ、反転領域を構成しない画素までが反転処理されてしまうことになる。そこで、統合処理に先立って、統合の可否を判定する態様を変形例として説明する。
【0038】
図9は、本変形例に係る、候補領域の再評価処理の詳細を示すフローチャートである。以下、図9のフローチャートに沿って説明する。
【0039】
S901では、S701にて読み出したすべての候補領域の中から、統合の可能性のある候補領域を特定し、当該特定された候補領域のまとまりを表す情報(以下、「暫定統合情報」と呼ぶ。)が生成される。この暫定統合情報の生成に際しては、前述のS702で説明した方法を適用する。具体的には、各候補領域のうち、他の候補領域との距離が予め規定した閾値以内という条件を満たす候補領域を特定し、当該特定された候補領域同士を暫定的に1つにまとめた領域(以下、「暫定統合領域」と呼ぶ。)を示す、統合され得る各候補領域を識別可能な情報を生成する。図8(c)は、図8(b)に示す9つの候補領域810~818のうち、候補領域811~816を1つにまとめることで得られる暫定統合領域819と、候補領域817及び818を1つにまとめることで得られる暫定統合領域820を示している。そして、これら2つの暫定統合領域819及び820にそれぞれ対応する暫定統合情報が生成されることになる。以降のS902~S905の各処理は、S901で得られた暫定統合情報毎に実行されることになる。
【0040】
まず、S902では、S901にて生成された暫定統合情報それぞれについて、統合の可否を判定するための評価対象となる領域(以下、「評価領域」と呼ぶ。)が特定される。具体的には、暫定統合情報に含まれる複数の候補領域の情報を用いて、暫定統合領域から当該複数の候補領域を除外した部分が評価領域として特定される。そして、続くS903では、S902にて特定された評価領域とS701にて読み出した二値画像とに基づき、二値画像内の当該評価領域に相当する画像領域における黒画素密度が算出される。
【0041】
次に、S904では、S903にて算出された黒画素密度に基づき、各暫定統合領域についての統合可否の判定処理が実行される。具体的には、算出された黒画素密度が、予め規定した一定レベル以上である場合は統合可と判定し、一定レベル未満である場合は統合不可と判定する。この際の一定レベルに対応する閾値は、前述のS505における閾値よりも低い値でよい。一定量の黒画素の存在が確認できれば、その評価領域が本来は黒画素の領域(反転領域における“地”の領域)と推定できるためである。統合可否の判定に黒画素密度を用いることで、統合によって新たな候補領域として設定される部分が、二値画像において反転領域の候補として妥当であるかを判定することができる。例えば、暫定統合領域820の場合は、図8(a)に示す二値画像における評価領域に対応する部分821には黒画素が存在しない(黒画素密度は著しく低い)。これに対し、暫定統合領域819の場合は、図8(a)に示す二値画像における評価領域に対応する部分の黒画素の密度は高い。したがって、暫定統合領域819については統合可と判定され、暫定統合領域820については統合不可と判定されることになる。
【0042】
以上が、本変形例に係る、候補領域の再評価処理の内容である。図8(d)は、本変形例の処理を適用した結果を示している。図8(a)の二値画像における反転領域800c及び800dが、それぞれ別個の反転領域として処理され、適切に非反転化されていることが分かる。このように、候補領域の再評価において、統合を行う前にその可否を判定することで、不要な統合がされるのを回避することができ、結果として反転領域ではない画素部分が非反転化してしまうのを抑制できる。
【0043】
以上説明したように、本実施形態によれば、特定された候補領域を再評価することで、より精度良く文書画像内の反転領域を特定することが可能となる。
【0044】
[実施形態3]
実施形態1及び2では、強調画像のサイズを、入力スキャン画像の二値画像と同一サイズとしていた。次に、縮小した二値画像を用いて強調画像を生成する態様を、実施形態3として説明する。なお、以下では実施形態1及び2との差異点、すなわち、強調画像の生成とそれに続く候補領域の特定について説明を行うこととする。
【0045】
まず、入力スキャン画像から二値画像を生成すると(S301)、強調画像の生成に移る前に、S301にて生成された二値画像を縮小する処理を行う。次に、縮小後の二値画像に対して縮小・膨張処理を行って強調画像を生成する(S302)。そして、当該強調画像に対して黒画素塊を抽出する処理を行った後、縮小処理に用いた変倍率に基づき、抽出した黒画素塊を縮小前のサイズに変換して、候補領域を特定する(S303)。この段階で、候補領域のサイズは、縮小処理を行わなかった場合と変わらないので、S304以降の処理については同様に適用することが可能となる。
【0046】
上記のように縮小した二値画像を用いることで、モルフォロジー処理及び連結画素塊の抽出処理の負荷を軽減することができ、また、画像サイズが小さくなることで一時記憶の際に必要なメモリ容量も低減することができる。
【0047】
ただし、縮小した二値画像を用いる際には、間隔の狭い反転領域同士が結合されてしまうケースがある、という点に留意が必要となる。図10(a)は、あるスキャン画像の反転領域を含む表部分に対して二値化処理をして得られた部分二値画像を示している。図10(a)の部分二値画像には、4つの反転領域1001~1004が含まれている。図10(b)は、図10(a)の部分二値画像に対して予め規定した変倍率にて縮小処理を施して得られた縮小二値画像の模式図である。図10(a)に示す部分二値画像における4つの反転領域1001~1004が縮小処理によって結合され、1つの黒画素塊1005になってしまっている。このように、縮小処理を行うことで複数の反転領域間の境界が消失してしまう可能性がある。そして、このように意図せず結合されてしまった反転領域を対象に画素反転処理(S305)が適用されると、本来は反転領域ではない部分の画素までが反転してしまうことになる。
【0048】
上記のような問題が生じないようにするには、実施形態2で説明した候補領域の再評価(S702)において、統合処理に先立って、各候補領域に対して縮小前の二値画像を用いた領域分割処理を行えばよい。具体的には、縮小前の二値画像から候補領域に対応する部分画像を切り出し、当該切り出した部分画像に対してx軸およびy軸方向の射影をとる。次に、生成された射影を解析し、予め規定した閾値を下回る座標位置群を特定する。そして、特定された座標位置群からなる領域を反転領域の候補外の領域(以下、「除外領域」と呼ぶ。)に決定し、決定した除外領域を含まないように、候補領域を分割する。ここで、具体例を用いて説明する。図11は、図10(a)に示す部分二値画像に対してx軸方向に射影をとった結果を示している。この場合、閾値thを下回る3つの領域(x1~x2間、x3~x4間、x5~x6間)が除外領域と決定される。そして、図10(b)の黒画素塊1005に対応する候補領域は、図10(c)に示すように、上記3つの除外領域を境に4つの領域1006~1009に分割される。そして、これら4つの領域1006~1009それぞれを、新たに候補領域として特定する。後は、実施形態2の変形例で説明したように、分割後の各候補領域を含めたすべての候補領域を対象として暫定統合情報を生成し、暫定統合情報毎に統合の可否を判定すればよい。この際、分割によって得られた候補領域が、統合されてしまうことはない。前述のとおり、統合の可否は、二値画像において統合可能性のある候補領域間の黒画素密度に基づき判定するが、射影による分割で得られた各候補領域は黒画素密度が通常は低くなることから、統合不可と判定されるためである。
【0049】
以上の通り、縮小した二値画像を用いることで、モルフォロジー処理及び連結画素塊の抽出処理の負荷を軽減することができ、また、一時記憶装置の容量も低減することができる。また、候補領域に対して領域分割処理を追加的に行うことで、縮小処理によって間隔の狭い反転領域同士が結合されてしまうようなケースにも対処でき、処理負荷を軽減と精度の維持との両立も可能となる。
【0050】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11