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

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

▶ コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-22
(45)【発行日】2022-01-18
(54)【発明の名称】マルチバイナリゼーション画像処理
(51)【国際特許分類】
   G06T 7/11 20170101AFI20220111BHJP
   G06V 30/162 20220101ALI20220111BHJP
   G06V 30/148 20220101ALI20220111BHJP
   H04N 1/40 20060101ALI20220111BHJP
【FI】
G06T7/11
G06K9/38 A
G06K9/34
H04N1/40 062
【請求項の数】 24
【外国語出願】
(21)【出願番号】P 2017242574
(22)【出願日】2017-12-19
(65)【公開番号】P2018136927
(43)【公開日】2018-08-30
【審査請求日】2020-11-18
(31)【優先権主張番号】15/396,116
(32)【優先日】2016-12-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507031918
【氏名又は名称】コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】特許業務法人光陽国際特許事務所
(72)【発明者】
【氏名】リ, ボ
(72)【発明者】
【氏名】ファン, ガン
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2011-159283(JP,A)
【文献】特開2014-057306(JP,A)
【文献】特開2012-199901(JP,A)
【文献】特表2005-523530(JP,A)
【文献】特開2004-126648(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/11
G06K 9/38
G06K 9/34
H04N 1/40
(57)【特許請求の範囲】
【請求項1】
文字情報が符号化された画像を作成する画像分析方法であって、
入力画像をバイナライズして第一バイナリ画像を作成し、
前記第一バイナリ画像において第一複数連結成分を検出し、
前記入力画像を反転させて反転画像を作成し、
前記反転画像をバイナライズして第二バイナリ画像を作成し、
前記第二バイナリ画像において第二複数連結成分を検出し、
前記第一複数連結成分及び前記第二複数連結成分のラベルを含む合成ラベル画像を作成し、
前記合成ラベル画像を分析して前記第一複数連結成分と前記第二複数連結成分とをファミリーツリーとして構成し、前記ファミリーツリーは第一階層分類及び第二階層分類を有し、前記ファミリーツリーに含まれる連結成分の後続の世代は前記第一階層分類と前記第二階層分類との間で交互に属し、
少なくとも前記ファミリーツリーの一以上の前記連結成分が文字を定義するかに基づいて、プロセッサーが前記第一階層分類及び前記第二階層分類のいずれかのツリー階層分類を選択し、
前記合成ラベル画像から、前記選択されたツリー階層分類における前記連結成分の前記ラベルを除去して変形したラベル画像を作成する、画像分析方法。
【請求項2】
前記合成ラベル画像を分析することは、
前記第一複数連結成分及び前記第二複数連結成分の前記連結成分の親子関係を識別し、
後続の世代の前記連結成分が前記第一階層分類と前記第二階層分類との間で交互に属するように前記連結成分が前記ファミリーツリーに構成される前記親子関係を構築することを含む、請求項1に記載の方法。
【請求項3】
前記ツリー階層分類を選択することは、前記ファミリーツリーのすべての前記連結成分が文字を定義するかを判断し、前記ファミリーツリーのすべての前記連結成分が文字を定義すると判断した場合は前記第二階層分類を選択することを含む、請求項1又は2のいずれか一項に記載の方法。
【請求項4】
前記ツリー階層分類を選択することは、文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属するかを判断し、文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属すると判断した場合、前記第一階層分類を選択することを含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属するかを判断することは、前記連結成分のそれぞれに文字条件を適用することを含み、前記連結成分のそれぞれがサイズを有し、前記連結成分の少なくとも一部がまとめてサイズ中央値を定義し、前記文字条件は前記連結成分のサイズを前記サイズ中央値と比較することを含む、請求項4に記載の方法。
【請求項6】
前記方法は、
少なくとも前記第一バイナリ画像において検出された前記連結成分に基づくマスクを有する、前記入力画像のコピーをバイナライズして第三バイナリ画像を作り、
前記第三バイナリ画像の第三複数連結成分を検出することを含み、
前記合成ラベル画像は、前記第一複数連結成分、前記第二複数連結成分、前記第三複数連結成分のラベルを含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記マスクの周囲の画素のグレースケール値に基づいてグレースケール値で前記マスクが満たされる、請求項6に記載の方法。
【請求項8】
前記合成ラベル画像の作成の前に、前記方法は、
第一バイナリ画像において検出された前記第一複数連結成分と前記第二バイナリ画像において検出された前記第二複数連結成分との重なりを識別し、
前記第一バイナリ画像および前記第二バイナリ画像のうちのいずれかを変形することによって、識別された前記重なりを除去する、ことを含む請求項1~7のいずれか一項に記載の方法。
【請求項9】
文字情報が符号化された画像を作成する装置であって、
プロセッサーと、
前記プロセッサーと通信し、命令を記憶する記憶装置と、
を備え、
前記プロセッサーは、記憶された前記命令に基づいて処理を実行することによって文字情報が符号化された画像を作成するように構成され、前記処理は、
入力画像をバイナライズして第一バイナリ画像を作成し、
前記第一バイナリ画像において第一複数連結成分を検出し、
前記入力画像を反転させて反転画像を作成し、
前記反転画像をバイナライズして第二バイナリ画像を作成し、
前記第二バイナリ画像において第二複数連結成分を検出し、
前記第一複数連結成分及び前記第二複数連結成分のラベルを含む合成ラベル画像を作成し、
前記合成ラベル画像を分析して前記第一複数連結成分と前記第二複数連結成分とをファミリーツリーとして構成し、前記ファミリーツリーは第一階層分類及び第二階層分類を有し、前記ファミリーツリーに含まれる連結成分の後続の世代は前記第一階層分類と前記第二階層分類との間で交互に属し、
少なくとも前記ファミリーツリーの一以上の前記連結成分が文字を定義するかに基づいて、前記第一階層分類及び前記第二階層分類のいずれかのツリー階層分類を選択し、
前記合成ラベル画像から、前記選択されたツリー階層分類における前記連結成分の前記ラベルを除去して変形したラベル画像を作成する、装置。
【請求項10】
前記合成ラベル画像を分析することは、
前記第一複数連結成分及び前記第二複数連結成分の前記連結成分の親子関係を識別し、
後続の世代の前記連結成分が前記第一階層分類と前記第二階層分類との間で交互に属するように前記連結成分が前記ファミリーツリーに構成される前記親子関係を構築することを含む、請求項9に記載の装置。
【請求項11】
前記ツリー階層分類を選択することは、前記ファミリーツリーのすべての前記連結成分が文字を定義するかを判断し、前記ファミリーツリーのすべての前記連結成分が文字を定義すると判断した場合は前記第二階層分類を選択することを含む、請求項9又は10のいずれか一項に記載の装置。
【請求項12】
前記ツリー階層分類を選択することは、文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属するかを判断し、文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属すると判断した場合、前記第一階層分類を選択することを含む、請求項9~11のいずれか一項に記載の装置。
【請求項13】
文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属するかを判断することは、前記連結成分のそれぞれに文字条件を適用することを含み、前記連結成分のそれぞれがサイズを有し、前記連結成分がまとめてサイズ中央値を定義し、前記文字条件は前記連結成分のサイズを前記サイズ中央値と比較することを含む、請求項12に記載の装置。
【請求項14】
前記プロセッサーによって実行される前記処理は、
少なくとも前記第一バイナリ画像において検出された前記連結成分に基づくマスクを有する、前記入力画像のコピーをバイナライズして第三バイナリ画像を作り、
前記第三バイナリ画像の第三複数連結成分を検出することを含み、
前記合成ラベル画像は、前記第一複数連結成分、前記第二複数連結成分、前記第三複数連結成分のラベルを含む、請求項9~13のいずれか一項に記載の装置。
【請求項15】
前記マスクの周囲の画素のグレースケール値に基づいてグレースケール値で前記マスクが満たされる、請求項14に記載の装置。
【請求項16】
前記プロセッサーによって実行される前記処理は、
前記合成ラベル画像の作成の前に、
第一バイナリ画像において検出された前記第一複数連結成分と前記第二バイナリ画像において検出された前記第二複数連結成分との重なりを識別し、
前記第一バイナリ画像および前記第二バイナリ画像のうちのいずれかを変形することによって、識別された前記重なりを除去する、ことを含む請求項9~15のいずれか一項に記載の装置。
【請求項17】
文字情報が符号化された画像を作成する処理を装置に実行させる、前記装置のプロセッサーに実行されるコンピューター読取可能な命令を含むコンピュータープログラムであって、前記処理は、
入力画像をバイナライズして第一バイナリ画像を作成し、
前記第一バイナリ画像において第一複数連結成分を検出し、
前記入力画像を反転させて反転画像を作成し、
前記反転画像をバイナライズして第二バイナリ画像を作成し、
前記第二バイナリ画像において第二複数連結成分を検出し、
前記第一複数連結成分及び前記第二複数連結成分のラベルを含む合成ラベル画像を作成し、
前記合成ラベル画像を分析して前記第一複数連結成分と前記第二複数連結成分とをファミリーツリーとして構成し、前記ファミリーツリーは第一階層分類及び第二階層分類を有し、前記ファミリーツリーに含まれる連結成分の後続の世代は前記第一階層分類と前記第二階層分類との間で交互に属し、
少なくとも前記ファミリーツリーの一以上の前記連結成分が文字を定義するかに基づいて、前記第一階層分類及び前記第二階層分類のいずれかのツリー階層分類を選択し、
前記合成ラベル画像から、前記選択されたツリー階層分類における前記連結成分の前記ラベルを除去して変形したラベル画像を作成する、コンピュータープログラム。
【請求項18】
前記合成ラベル画像を分析することは、
前記第一複数連結成分及び前記第二複数連結成分の前記連結成分の親子関係を識別し、
後続の世代の前記連結成分が前記第一階層分類と前記第二階層分類との間で交互に属するように前記連結成分が前記ファミリーツリーに構成される前記親子関係を構築することを含む、請求項17に記載のコンピュータープログラム。
【請求項19】
前記ツリー階層分類を選択することは、前記ファミリーツリーのすべての前記連結成分が文字を定義するかを判断し、前記ファミリーツリーのすべての前記連結成分が文字を定義すると判断した場合は前記第二階層分類を選択することを含む、請求項17又は18のいずれか一項に記載のコンピュータープログラム。
【請求項20】
前記ツリー階層分類を選択することは、文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属するかを判断し、文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属すると判断した場合、前記第一階層分類を選択することを含む、請求項17~19のいずれか一項に記載のコンピュータープログラム。
【請求項21】
文字を定義する前記連結成分が前記第一階層分類よりも前記第二階層分類に多く属するかを判断することは、前記連結成分のそれぞれに文字条件を適用することを含み、前記連結成分のそれぞれがサイズを有し、前記連結成分がまとめてサイズ中央値を定義し、前記文字条件は前記連結成分のサイズを前記サイズ中央値と比較することを含む、請求項20に記載のコンピュータープログラム。
【請求項22】
前記装置によって実行される前記処理は、
少なくとも前記第一バイナリ画像において検出された前記連結成分に基づくマスクを有する、前記入力画像のコピーをバイナライズして第三バイナリ画像を作り、
前記第三バイナリ画像の第三複数連結成分を検出することを含み、
前記合成ラベル画像は、前記第一複数連結成分、前記第二複数連結成分、前記第三複数連結成分のラベルを含む、請求項17~21のいずれか一項に記載のコンピュータープログラム。
【請求項23】
前記マスクの周囲の画素のグレースケール値に基づいてグレースケール値で前記マスクが満たされる、請求項22に記載のコンピュータープログラム。
【請求項24】
前記装置によって実行される前記処理は、
前記合成ラベル画像の作成の前に、
第一バイナリ画像において検出された前記第一複数連結成分と前記第二バイナリ画像において検出された前記第二複数連結成分との重なりを識別し、
前記第一バイナリ画像および前記第二バイナリ画像のうちのいずれかを変形することによって、識別された前記重なりを除去する、ことを含む請求項17~23のいずれか一項に記載のコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に画像処理に関する。具体的には、文字情報が符号化された画像を作成する画像分析に関する。
【背景技術】
【0002】
文書における画像内の文字、埋め込み画像、及びその他のオブジェクトを検出するため、文書処理ではバイナリゼーションに続き連結成分ラベリングが多くの場合実施される。バイナリゼーションの方法として、グローバルバイナリゼーションとローカルバイナリゼーションとが挙げられる。グローバルバイナリゼーションによると、連結成分ラベリングの際に文字が検出されない場合がある。これは画像における文字について、色、濃度、及び背景の違いによって見た目が異なることによる。また、ローカルバイナリゼーションを実行すれば、文字の検出は増加するが、効率が悪くなる場合がある。グローバルバイナリゼーションと比較するとローカルバイナリゼーションの方が著しく多くの演算のための資源及び時間を必要とする。入力画像における文字を検出するより的確で効率的な方法が従来から求められている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
端的な概略として、本発明は文字情報が符号化された画像を作成する、画像分析方法、装置及びコンピュータープログラムに向けられる。
【課題を解決するための手段】
【0004】
本発明によれば、文字情報が符号化された画像を作成する画像分析方法であって、入力画像をバイナライズして第一バイナリ画像を作成し、前記第一バイナリ画像において第一複数連結成分を検出し、前記入力画像を反転させて反転画像を作成し、前記反転画像をバイナライズして第二バイナリ画像を作成し、前記第二バイナリ画像において第二複数連結成分を検出し、前記第一複数連結成分及び前記第二複数連結成分のラベルを含む合成ラベル画像を作成し、前記合成ラベル画像を分析して前記第一複数連結成分と前記第二複数連結成分とをファミリーツリーとして構成し、前記ファミリーツリーは第一階層分類及び第二階層分類を有し、前記ファミリーツリーに含まれる連結成分の後続の世代は前記第一階層分類と前記第二階層分類との間で交互に属し、少なくとも前記ファミリーツリーの一以上の前記連結成分が文字を定義するかに基づいて、プロセッサーが前記第一階層分類及び前記第二階層分類のいずれかのツリー階層分類を選択し、前記合成ラベル画像から、前記選択されたツリー階層分類における前記連結成分の前記ラベルを除去して変形したラベル画像を作成する、画像分析方法。
【0005】
本発明によれば、文字情報が符号化された画像を作成する装置であって、プロセッサーと、前記プロセッサーと通信し、命令を記憶する記憶装置と、を備え、前記プロセッサーは、記憶された前記命令に基づいて処理を実行することによって文字情報が符号化された画像を作成するように構成され、前記処理は、入力画像をバイナライズして第一バイナリ画像を作成し、前記第一バイナリ画像において第一複数連結成分を検出し、前記入力画像を反転させて反転画像を作成し、前記反転画像をバイナライズして第二バイナリ画像を作成し、前記第二バイナリ画像において第二複数連結成分を検出し、前記第一複数連結成分及び前記第二複数連結成分のラベルを含む合成ラベル画像を作成し、前記合成ラベル画像を分析して前記第一複数連結成分と前記第二複数連結成分とをファミリーツリーとして構成し、前記ファミリーツリーは第一階層分類及び第二階層分類を有し、前記ファミリーツリーに含まれる連結成分の後続の世代は前記第一階層分類と前記第二階層分類との間で交互に属し、少なくとも前記ファミリーツリーの一以上の前記連結成分が文字を定義するかに基づいて、プロセッサーが前記第一階層分類及び前記第二階層分類のいずれかのツリー階層分類を選択し、前記合成ラベル画像から、前記選択されたツリー階層分類における前記連結成分の前記ラベルを除去して変形したラベル画像を作成する、装置。
【0006】
本発明によれば、文字情報が符号化された画像を作成する処理を装置に実行させる、前記装置のプロセッサーに実行されるコンピューター読取可能な命令を含むコンピュータープログラムであって、前記処理は、入力画像をバイナライズして第一バイナリ画像を作成し、前記第一バイナリ画像において第一複数連結成分を検出し、前記入力画像を反転させて反転画像を作成し、前記反転画像をバイナライズして第二バイナリ画像を作成し、前記第二バイナリ画像において第二複数連結成分を検出し、前記第一複数連結成分及び前記第二複数連結成分のラベルを含む合成ラベル画像を作成し、前記合成ラベル画像を分析して前記第一複数連結成分と前記第二複数連結成分とをファミリーツリーとして構成し、前記ファミリーツリーは第一階層分類及び第二階層分類を有し、前記ファミリーツリーに含まれる連結成分の後続の世代は前記第一階層分類と前記第二階層分類との間で交互に属し、少なくとも前記ファミリーツリーの一以上の前記連結成分が文字を定義するかに基づいて、プロセッサーが前記第一階層分類及び前記第二階層分類のいずれかのツリー階層分類を選択し、前記合成ラベル画像から、前記選択されたツリー階層分類における前記連結成分の前記ラベルを除去して変形したラベル画像を作成する、コンピュータープログラム。
【0007】
本発明の特徴及び長所は、下記の詳細な説明を添付の図面とともに読むことによって容易に理解されることと思われる。
【図面の簡単な説明】
【0008】
図1図1は少なくとも二つのバイナリゼーションを用いて入力画像を解析する方法のフロー図の一例を示す。
図2図2は入力画像の第一グレースケール画像の一例を示す。
図3図3は第一グレースケール画像の第一バイナリ画像の一例を示す。
図4図4は第一バイナリ画像に実行される連結成分ラベリング処理の一例を示す。
図5図5は第一グレースケール画像のネガである第二グレースケール画像の一例を示す。
図6図6は第二グレースケール画像の第二バイナリ画像の一例を示す。
図7図7は第二バイナリ画像の拡大部分を示す。
図8図8は第一及び第二バイナリ画像の重なる画素を識別する処理の一例を示す。
図9図9は重なりを除去する処理の一例と第二バイナリ画像に実行される連結成分ラベリング処理の一例とを示す。
図10図10は合成ラベル画像を形成する連結成分ラベリング処理の一例を示す。
図11図11は連結成分の全体ストローク幅中央値を判断するための処理の一例を示すフロー図である。
図12図12は連結成分間の関係を示すファミリーツリーの一例を示す概略図である。
図13図13は連結成分間の関係を示すファミリーツリーの一例を示す概略図である。
図14図14はファミリーツリーを構築する処理の一例を示すフロー図を示す。
図15図15は入力画像の一例を示す。
図16図16は入力画像の第一グレースケール画像の一例を示す。
図17図17はファミリーツリーからツリー階層分類を選択する処理の一例を示すフロー図である。
図18図18はツリー階層分類を選択する際に連結成分が文字を定義するかを判断する例示的処理を示すフロー図である。
図19図19は連結成分が、ノイズ除去で除外される埋め込み画像を定義するかを判断する例示的な処理を示すフロー図である。
図20図20図1に示す方法において第三バイナリゼーションを用いる処理の一例を示すフロー図である。
図21図21は第三バイナリゼーションが施されるマスクグレースケール画像を作成する処理の一例を示す。
図22図22はマスクグレースケール画像の一例を示す。
図23図23はマスクグレースケール画像のバイナリ画像の一例を示す。
図24図24は前述の図面に記載される処理を実行するために構成された装置の一例を示す概略的なブロック図である。
【発明を実施するための形態】
【0009】
本明細書において、「画像」という用語は写真、画像、イラスト、文字、及びその他のオブジェクトのうちの一つ又はこれらの組み合わせを含む。例えば、画像は本又は手書きの文書からあるページをスキャンしたものでありうる。
【0010】
本明細書において、「文字」とは英数字、音声を表す文字、意味を表す文字等が含まれる。この表現は数学的記号を含む。この表現は日本語の文字、中国語の文字、アラビア文字、その他書き言葉で用いられる文字が含まれる。
【0011】
本明細書において、「埋め込み画像」とは、イラストや写真等のものを含む。例えば、入力画像として、本又はその他の文書をスキャンしたページもしくはその一部を含み、入力画像はテキストや埋め込み画像の線を含みうる。埋め込み画像は入力画像の一部を構成するという意味で埋め込みといわれる。テキストにおける文字が埋め込み画像を囲みうる。また、入力画像は文字に囲まれていない埋め込み画像を含みうる。その他、埋め込み画像の例として自動車や道路標識を含む道路上の風景を撮った写真が挙げられるので、埋め込み画像は道路標識に記載される文字を示しうる。
【0012】
本明細書において、グレースケール画像は画像におけるすべての画素がそれぞれ、濃度情報を示すいくつかの数値のうちの一つを有する画像である。グレースケール画像は、例えば、画素が白、黒、又は白と黒との間に存在する様々なグレー濃淡の一つである画像でありうる。各画素はグレースケールの数値で表され、一般に、その最小値は黒を表し(低濃度)、その最高値は白を表す(高濃度)。最小値は0、最高値は16、255、又はその他の数値でありうる。最小値と最高値との間の数値はグレーの様々な濃淡を表す。
【0013】
本明細書において、バイナリ画像は2値画像であって、画像の中のすべての画素がそれぞれ、利用可能な二つのみの数値のうちの一つを有する。例えば、バイナリ画像は白黒画像であって、各画素は利用可能な二つの数値のうちの一つを有し、具体的には、白に対応する数値と黒に対応する数値とを有する。
【0014】
本発明の様々な態様を示す目的で例示的な図面をより詳細に参照すれば、図1は画像を分析する方法10の一例を図示する。なお、同様の符号は異なる図面にわたって対応するか同様の要素を示すものである。
【0015】
ブロックS110において、入力画像を取得する。入力画像はグレースケール画像又はカラー画像でありうる。例えば、カラー画像はRGB画像であり、各画素は赤、緑、及び青の組み合わせによって表され、それぞれの色はそれぞれの濃度を有する。入力画像がカラー画像である場合、ブロックS112においてカラー画像にカラーからグレースケールへの変換処理が適用され、カラー画像がグレースケール画像へ変換される。カラーからグレースケールへの変換処理はカラー画像の様々な色に重み付けをして、グレースケール画像で用いる対応するグレースケール値を取得する。適切なカラーからグレースケールへの変換アルゴリズムが当該技術分野において知られている。入力画像がグレースケール画像である場合、ブロックS112は省略しうる。グレースケール画像G1の一例が図2に示される。
【0016】
ブロックS114において、第一バイナリゼーション処理をグレースケール画像G1に適用して、第一バイナリ画像を形成する。G1は第一バイナリゼーション処理の入力画像とする。第一バイナリ画像B1の一例を図3に示す。第一バイナリゼーション処理にはバイナリゼーション閾値を選択し、グレースケール画像の各画素におけるグレースケールの数値をバイナリゼーション閾値と比較して、当該画素に割り当てるバイナリ数値(例えば黒又は白)を決定する。バイナリゼーション閾値を選択するためのアルゴリズムによって対象となる可能性が高い情報を保存する必要性と、背景ノイズ等の対象とされる可能性が低い情報を削除する必要性との間のバランスを取る最適値を識別することを試みる。
【0017】
本明細書において、「バイナリゼーション閾値(threshold value)」と「バイナリゼーション閾値(threshold)」は同意語として用いられる。
【0018】
例えば、グレースケール数値GVは0~255の範囲にわたり、0は黒を示し、255は白を示す。例えば、バイナリゼーション閾値を139に設定し、139より少ないGVを有する画素には黒に対応するバイナリ値を割り当て、139以上のGVを有する画素には白に対応するバイナリ値を割り当てる。
【0019】
ブロックS114における第一バイナリゼーション処理はグローバルバイナリゼーション処理である。本明細書において、「グローバルバイナリゼーション処理」はバイナリゼーション閾値を選択するアルゴリズムが第一バイナリ画像B1を形成するためにグレースケール画像全体で用いられる単一のバイナリゼーション閾値Tを選択する。グレースケール画像のすべての部分にわたる画素のグレースケール数値は同じバイナリゼーション閾値Tと比較される。
【0020】
グローバルバイナリゼーション処理は画像が複数の部分に分けられるローカルバイナリゼーション処理と異なるものである。画像の各部分についてローカルバイナリゼーション閾値を決定し、画像のある部分のローカルバイナリゼーション閾値は画像の別の部分のローカルバイナリゼーション閾値と異なりうる。ローカルバイナリゼーション処理においては、例えば、第一画像部分に用いられるローカルバイナリゼーション閾値を選択し、第一画像部分よりも明るい又は暗い第二画像部分に用いられる別のローカルバイナリゼーション閾値を選択する。これにより、対象となりうる情報を的確に保存するローカルバイナリゼーション処理が実現する。
【0021】
グローバルバイナリゼーション処理において、バイナリゼーションアルゴリズムによってグレースケール画像のすべての部分で用いられる一つのバイナリゼーション閾値が選択される。従来のローカルバイナリゼーション処理と比較すると、一般に、グローバルバイナリゼーション処理に要する演算資源と時間は、著しく少なく済む。欠点となりうる問題は一つのグローバルバイナリゼーション処理では、対象となりうる情報の大部分又はすべてを保存することができない可能性がある。本明細書に記載されるように、連続して少なくとも二つのバイナリゼーション処理を実行することによって、従来のローカルバイナリゼーションで用いられるような多くの演算資源や時間を必要とせずに上述の問題を解決しうる。
【0022】
バイナリゼーション閾値Tを選択するのに適切なアルゴリズムとして、例えば大津式やニュートン式が公知の技術として挙げられる。また、グレースケール画像は異なる閾値を用いて複数回バイナリゼーションをすることができ、バイナリゼーションごとに有益な情報及びノイズに関する数値が計算される。数値はこれまで用いられた異なる閾値の中から最終的なTを選択するのに用いられる。選択されたTは第一バイナリ画像Bを形成するのに用いられる。
【0023】
再び図1を参照して、ブロックS116は連結成分ラベリング処理を第一バイナリ画像に実行する。連結成分ラベリング処理はバイナリ画像の連結画素を検出する。二つの画素が接しており同じバイナリ数値を有していれば連結しているとする。接するかは四方の接続(接する辺)又は八方の接続(接する辺又は角)によって決定しうる。互いに連結する画素のグループは連結成分(CC)と称される。ブロックS116における連結成分ラベリング処理によってバイナリ画像における複数の、数百の又は数千の連結成分を検出しうる。連結成分はバイナリ画像における、文字、埋め込み画像又はその他の種類のオブジェクトを定義しうる。連結成分ラベリング処理に適切とされる様々なアルゴリズムが公知となっている。
【0024】
図3は第一バイナリ画像B1において検出された連結成分の一例を示す。連結する白画素に対応する5つの連結成分、具体的にはC1~C5、が挙げられる。C1~C4はA、B、C、Dの文字における連結する白画素にそれぞれ対応する。C5は離れたマーク又はノイズにおける連結する白画素に対応する。この例示において、連結成分ラベリングアルゴリズムは連結する白(又は高濃度)の画素を識別する。代わりに、連結する黒(又は低濃度)の画素を識別する連結成分ラベリングアルゴリズムを用いることも可能である。
【0025】
連結成分ラベリング処理はそれぞれの画素に連結成分が割り当てられるラベル画像を生成して検出された連結成分の計算をし続ける。ラベル画像は連結成分ごとに固有のラベル又は数字が割り当てられ、割り当てられた数字が連結成分の画素値である。
【0026】
図4は第一バイナリ画像B1における文字Aの下部にある領域12に対応する第一ラベル画像L1の一例の拡大された部分を示す。図4において、説明の便宜上、文字Aの下部にある画素14はC1とラベリングするが、このようなラベルは連結成分C1に個別に割り当てられる任意の数字であればよい。
【0027】
ブロックS116における連結成分ラベリング処理及びその他の処理ブロックは、バイナリ画像において検出されたそれぞれの連結成分の境界ボックスと面積とを取得する処理を含みうる。
【0028】
連結成分の境界ボックスは連結成分を含む最小の矩形である。よって、境界ボックスは、それに含まれる連結成分の大きさの寸法を提供する。図3において、連結成分C3に関する境界ボックス16の一例が示される。境界ボックス16は連結成分C3の大きさを定義する。境界ボックスの大きさは連結成分の外縁に従う。ある連結成分についての境界ボックスの縦及び横の大きさは別の連結成分についての境界ボックスの縦及び横の大きさと異なりうる。
【0029】
連結成分の面積は当該連結成分の画素の合計である。例えば、連結成分C1の面積は第一ラベル画像L1においてC1とラベリングされた画素の合計である。
【0030】
再び図1を参照すれば、ブロックS118はグレースケール画像G1を反転させ、反転グレースケール画像を形成する。一般に、ブロックS118ではブロックS114の第一バイナリゼーションで用いられた入力が反転される。図5はG1を反転させた反転グレースケール画像G2の一例を示す。ブロックS118で実行する反転処理では、G1における白と黒の画素をG2においてそれぞれ黒と白の画素にする。G1において濃いグレーの画素はG2において淡いグレーの画素に対応する。結果として、G2はG1のネガとなる。公知の適切なアルゴリズムを用いて画像を反転させてネガを作成する。
【0031】
ブロックS120は反転グレースケール画像G2にバイナリゼーション処理を実行して第二バイナリ画像を作成する。前述のブロックS114で実行するバイナリゼーション処理と区別するため、当該処理は第二バイナリゼーション処理とする。図6は第二バイナリ画像B2の一例を示す。ブロックS120の第二バイナリゼーション処理は第一バイナリゼーション処理と同様の処理としうる。第一及び第二バイナリゼーション処理はいずれもグローバルバイナリゼーション処理である。
【0032】
ブロックS122において、重なり識別/除去処理を実行して、第一バイナリ画像B1の連結成分と重なる第二バイナリ画像B2の連結成分の部分を確認し、除去する。総じて、ブロック122においては、あるバイナリ画像で検出された連結成分と別のバイナリ画像で検出された連結成分との重なりを識別する。重なりの識別/除去処理において、B2の連結成分を識別し(ブロックS123)、重なる画素を識別するためにB2の連結成分の画素とB1の連結成分の画素とを比較し(ブロックS124)、重なる画素が識別されると、第一又は第二バイナリ画像を修正して重なりを除去する(ブロックS125)。
【0033】
図6はブロックS123で識別された第二バイナリ画像B2における連結成分を示す。C6~C10の五つの連結成分が存在し、これらは背景の、文字を囲みもしくは文字に含まれる連結する白画素に対応する。ブロックS116の連結成分ラベリング処理と同様に、当該例示においては、連結成分ラベリングアルゴリズムが連結する白画素を識別する。
【0034】
図7は第二バイナリ画像B2における文字Aの下部にある領域12’の拡大した部分を示す。領域12’(図6及び図7)は領域12(図3及び図4)と同じ位置にある。
【0035】
図8は第二バイナリ画像B2の連結成分の画素と第一バイナリ画像B1の連結成分の画素とを比較して重なる画素を識別する(ブロックS124)処理を図示する。図8は部分的な図示であり、B1の領域12に対応する画素とB2の領域12’に対応する画素のみを示す。図3及び図6における例の連結成分は連結白画素であることを参照されたい。重なる連結成分画素はB1及びB2の対応する場所を占める連結成分画素である。図8における点線で描かれた円は重なる連結成分画素を識別する。
【0036】
図9は第二バイナリ画像B2を修正して図8の重なりを除去する(ブロックS125)処理を示す。点線で描かれた円によって示される重なる連結成分画素はB2から除去される。ブロックS125においてすべての重なりがB2から除去されることを理解されたい。しかし、ブロックS124において重なりが識別されない場合、B2の修正は実行されない。
【0037】
再び図1を参照して、重なり識別/除去処理が終了すると、ブロックS126において第二バイナリ画像B2に連結成分ラベリング処理を実行し、図9に示すような第二ラベル画像L2を作成する。連結成分ラベリング処理によって、連結成分C6~C10の境界ボックスと面積を決定する。文字Aに含まれる連結成分C7に関する境界ボックス16の一例を図6に示す。ブロックS125において重なりが除去された場合、連結成分ラベリング処理が修正された第二バイナリ画像に対して実行される。ブロックS125において重なりが除去されていない場合、連結成分ラベリング処理が元の第二バイナリ画像に対して実行される。
【0038】
ブロックS127において、第一バイナリ画像B1と第二バイナリ画像B2において検出されたすべての連結成分に付されたラベルを含む合成ラベル画像LLを作成する。図10は文字Aの下部における領域12及び12’に対応する合成ラベル画像LLの一部の一例を示す。
【0039】
ブロックS128において、合成ラベル画像LLに関する全体ストローク幅中央値を決定する。全体ストローク幅中央値はのちほどブロックS172(図17)及びS198(図18)において用いられうる。
【0040】
図11は全体ストローク幅中央値を決定するためのブロックS128におけるサブプロセスの一例を示す。ブロックS130において、すべての連結成分(C1~C10)について個別に縦及び横の寸法が決定される。縦及び横の寸法は連結成分の境界ボックスの縦及び横の寸法と同じと判断することができる。ブロックS132において、縦の中央値がブロックS130で決定されたすべての縦の寸法から計算され、横の中央値がブロックS130で決定されたすべての横の寸法から計算される。「中央値」という用語は順番に並べられた数値の中央の数値を意味する。例えば、順番に並べられた{1、2、5、99、200}についての中央値は5となる。
【0041】
ブロックS134において、それぞれの連結成分は縦及び横の寸法の中央値に対して評価される。ブロックS134において連結成分の縦及び横の寸法のいずれもが縦及び横の寸法の中央値より大幅に小さいか大幅に大きいかを判断する。本明細書において「大幅に小さい」とは評価される数値(連結成分の縦又は横のいずれかの寸法)が中央値(縦又は横の寸法の中央値)の低い閾値割合より低いことを意味する。低い閾値割合として例えば、20%、10%又はさらに低い割合が挙げられる。また、「大幅に大きい」とは評価される数値(連結成分の縦又は横のいずれかの寸法)が中央値(縦又は横の寸法の中央値)の高い閾値割合より高いことを意味する。高い閾値割合として例えば、150%、200%又はさらに高い割合が挙げられる。
【0042】
ブロックS134の結果がYESの場合、処理はブロックS138へ移行し、それ以外の場合、処理はブロックS136へ移行する。ブロックS134の機能は埋め込み画像や完全に文字である可能性が低いその他のオブジェクトを定義する連結成分を識別し、これらを続くブロックS140における全体ストローク幅中央値の計算から除外することである。
【0043】
ブロックS136において、連結成分の様々なセグメントについてストローク幅が決定され、連結成分ストローク幅が決定される。連結成分の特定のセグメントについてのストローク幅は特定のセグメントに入る最大の直径として定義されうる。例えば、連結成分C1(図3の文字A)の水平セグメントに入る最大の直径は連結成分C1の右側角のセグメントに入る最大の直径より小さい。連結成分ストローク幅は連結成分のさまざまなセグメントのストローク幅に基づく。例えば、連結成分ストローク幅は連結成分の様々なセグメントのストローク幅の中央値又は平均でありうる。適切なストローク幅を判断するためのアルゴリズムが知られている。
【0044】
ブロックS138において、ブロックS134によって評価すべき連結成分がまだ残っているか判断する。評価すべき連結成分がまだ残っている場合、サブプロセスはブロックS134に戻り、残る連結成分を評価し、それ以外の場合、サブプロセスはブロックS140へ移行する。
【0045】
ブロックS140において合成ラベル画像LLでラベリングされた連結成分によって規定された全体ストローク幅中央値を決定する。全体ストローク幅中央値はブロックS136で決定されたすべての連結成分ストローク幅によって決定する。ブロックS140が終了するとブロックS128のサブプロセスの終了を意味する。
【0046】
再び図1を参照して、方法10はブロックS220(第三バイナリゼーションを含むものとして後述)を省略して、ブロックS128からブロックS150へ移行しうる。ブロックS150において合成ラベル画像LLが分析され、LLにおける関連する連結成分のグループがファミリーツリーとして構成される。一方が他方を含めば、二つの連結成分は関連する。例えば、連結成分C1(図3の文字A)は連結成分C7(文字Aの背景の三角形)を含むので関連する。一般に、複数の関連連結成分のグループが存在し、各グループは別々のファミリーツリーに構成される。
【0047】
図12は合成ラベル画像LLにおいてラベリングされた関連連結成分の一つのグループを示すファミリーツリー18の一例を示す。例えば、連結成分C1からC10は関連連結成分の一つのグループを構成する。連結成分の一つ、具体的にはC6が他の連結成分すべてを含むからである。代わりに、仮にC6がC3~C5ではなくC1及びC2を含み、他の連結成分がC3~C5を含む場合は二つの異なるファミリーツリーが存在することになる。
【0048】
連結成分(具体的に連結成分の親子関係)は、ファミリーツリー18として構成される。各連結成分はファミリーツリー18において象徴的に示される。連結成分の形や画素はファミリーツリー構造に実際には置かれない。
【0049】
図12において、C6はトップノードと称され、これは親を持たない連結成分である。親は子と称される別の連結成分を含む連結成分である。C6は他の連結成分に含まれていないため、親を持たない。
【0050】
ファミリーツリー18は関連する連結成分の代々続く世代を含む。第一世代はトップノードである連結成分C6を含み、ツリー階層0に位置する。第二世代はツリー階層1に位置する。第二世代はC6の子を含み、C6にすべて含まれることからC1~C5を含む。第三世代はツリー階層2に位置する。第三世代は第二世代の子を含み、具体的には連結成分C7~C10を含み、これらはC1、C2、及びC4に含まれる連結する白画素に対応する。
【0051】
図12において、連結成分の代々続く世代は二つのツリー階層分類の間で、交互に属する。第一世代は偶数(階層0)であり、第二世代は奇数(階層1)であり、第三世代は偶数に戻る(階層2)。世代がさらに続くと、このような二つのツリー階層分類(偶数及び奇数)の間で代々続く世代が交互に配置され続ける。第四世代は奇数(階層3)であり、第五世代は偶数(階層4)であり、同様に続く。ファミリーツリー18はその他の方法で整理しうる。図13は別の例示的なファミリーツリー18を示し、図12と同様の親子関係を示す。
【0052】
下記に置いて、「ツリー階層分類」「階層分類」及び「分類」は同様の意味を有し、相互に同様に用いられる。
【0053】
図13において、二つのツリー階層しか存在しない。続く世代は二つの分類の間で交互に属し、第一世代は偶数であり(階層0)、第二世代は奇数であり(階層1)、第三世代は偶数に戻る(階層0)。世代がさらに続くと、このような二つのツリー階層分類(偶数及び奇数)の間で代々続く世代が交互に配置され続ける。第四世代は奇数(階層1)であり、第五世代は偶数(階層0)であり、同様に続く。
【0054】
図12及び図13のファミリーツリー18は、それぞれの連結成分が二つのみの分類のうちの一つに属し、トップノードから始めて、続く世代が二つの分類の間で交互に属するという点で同様である。上述の例の分類において用いられる用語は奇数対偶数である。その他の用語を用いることができ、例えば0対1、上対下、等が挙げられる。一般に、続く世代は第一分類と第二分類との間で交互に属する。
【0055】
下記に記載するように、選択されたツリー階層分類に基づいて合成階層画像LLから連結成分のラベルが除去される。第一分類が選択される場合、第一、第三、第五等の世代のすべての連結成分に関するラベルが除去される。第二分類が選択される場合、第二、第四、第六等の世代のすべての連結成分に関するラベルが除去される。
【0056】
図14は関連する連結成分に関するファミリーツリーを取得するブロックS150における例示的なサブプロセスを示す。ブロックS152からS158において、各連結成分を評価し、他の連結成分との親子関係を判断する。
【0057】
ブロックS152において、連結成分の隣接する画素を識別する。隣接する画素とは連結成分の少なくとも一つの画素に接する画素をいう。ブロックS156において評価される連結成分が存在し、これは一般的にCNと称される。ブロックS156において、CNについて、他の連結成分に関するラベルを有する隣接する画素を有するかを判断する。これは合成ラベル画像LLを参照することによってなしうる。CNが他の連結成分に関するラベルを有する隣接する画素を有する場合(ブロックS156:YES)、サブプロセスはブロックS158に戻り、それ以外の場合、サブプロセスはブロックS160へ移行する。ブロックS158においては、他の連結成分に関するラベルを有する隣接する画素を有する連結成分CNがあり、他の連結成分は一般にCXと称される。ブロックS158において、CN及びCXの境界ボックスに基づいて、連結成分CNとCXとの間の親子関係について判断する。
【0058】
親子関係は、一方の境界ボックスが他方の境界ボックスに完全に含まれるかに基づいて判断しうる。CNの境界ボックスが完全にCXの境界ボックスに含まれる場合、CXが親でCNが子である。CXの境界ボックスが完全にCNの境界ボックスに含まれる場合、CNが親でCXが子である。
【0059】
また、親子関係は、境界ボックスの大きさに基づいて判断しうる。境界ボックスのサイズSは、境界ボックスの縦Hと横Wに基づいて判断しうる。例えば、数式S=H×W又はその他の数式を用いることができる。CNの境界ボックスの大きさがCXの境界ボックスよりも大きい場合、CNが親で、CXが子である。CXの境界ボックスの大きさがCNの境界ボックスの大きさより大きい場合、CXが親で、CNが子である。
【0060】
例えば、C1が評価される場合、ブロックS152においてC1の隣接する画素を識別する(図3における文字Aを参照)。ブロックS156においてC6及びC7とラベリングされた隣接する画素が認識される(図6参照)。ブロックS158において、C1の境界ボックスが完全にC6の境界ボックスに含まれると判断され、C6が親でC1が子であるとされる。この親子関係はC6-C1とリストしうる。また、ブロックS158において、C7の境界ボックスが完全にC1の境界ボックスに含まれると判断され、C1が親でC7が子であるとされる。この親子関係はC1-C7とリストしうる。
【0061】
ブロックS160において、ブロックS152において評価すべき連結成分が残されているか判断される。評価されるべき連結成分が残されている場合、残された連結成分を評価するためにサブプロセスはブロックS152に戻り、それ以外の場合、サブプロセスはブロックS162へ移行する。
【0062】
評価されるべき連結成分が残されていない場合、サブプロセスはブロックS162に戻る。ブロックS162において各親子関係を構築し、連結成分をファミリーツリー18として構成する。このような構築には、リストを合成して、合成リストを作成し、合成リストを統合してファミリーツリーを作成する。例えば、リストC6-C1はリストC1-C7と合成し、合成リストC6-C1-C7が作成される。図3及び図6の例からは、追加リスト及び合成リストとして、下記が挙げられる、C6-C2-C8、C6-C2-C9、C6-C3、C6-C4-C10、及びC6-C5。図12及び図13に示すように、各連結成分がファミリーツリーに一度しか登場しないように、各リストは統合される。
【0063】
ブロックS150におけるサブプロセスに関する上記の説明により、合成ラベル画像(ブロックS152~S156)を分析し、それぞれの連結成分について(ブロックS160)親子関係を取得して(ブロックS158)、親子関係を構築して(ブロックS162)、ファミリーツリーを作成することによってファミリーツリー18が得られることが理解できる。ブロックS162が完了すると、ブロックS150のサブプロセスが終了したことになる。
【0064】
再び図1を参照し、方法10はブロックS150からS170へ移行する。ブロックS170において、第一分類と第二分類との間からツリー階層分類が選択される。実施例によっては、ブロックS170において、文字の背景等、対象外のオブジェクトを定義する連結成分を除去するフィルタリングの機能が実行されうる。連結成分が文字を定義するか判断するためにファミリーツリーを構成する少なくとも一つの連結成分を分析し、この分析に基づいてツリー階層分類が選択される。図15に示すように、入力画像が文字、埋め込み画像、ノイズ等、前景オブジェクトの組み合わせである場合、選択は複雑となりうる。このような場合、連結成分が様々な前景オブジェクトと背景とを定義する。
【0065】
図15において、例示的入力画像20はグレースケール画像として表現されうるが、カラー画像とすることも可能である。入力画像20は埋め込み画像22と様々な文字24及び26を含む。文字は背景に対して異なる明暗や、異なるフォントや大きさを有しうる。
【0066】
図16に示すように、第一グレースケールG1において文字が明るく見えるように、入力画像20はブロックS114(図1)の前に反転しうる。G1はブロックS114における第一のバイナリゼーションのための入力画像とされる。ブロックS120における第二のバイナリゼーションはG1のネガであるG2を用いる。
【0067】
図17はツリー階層分類を選択するためのブロックS170(図1)における例示的なサブプロセスを示す。ブロックS172において、連結成分の充填率又はストローク幅に基づいてトップノード連結成分が埋め込み画像を定義する(又は埋め込み画像を定義する可能性が高い)かについて判断する。トップノード連結成分は(a)境界ボックスに対してその面積が大きい場合、かつ(b)全体ストローク幅中央値に対してストローク幅が大きい場合、埋め込み画像であると判断される。例えば、連結成分の面積が境界ボックスの少なくとも80%を埋める場合、面積は境界ボックスに対して大きいとされる。その他の充填率を用いうる。例えば、連結成分ストローク幅が全体ストローク幅中央値に対して少なくとも50%である場合、連結成分ストローク幅は、全体ストローク幅中央値に対して大きいとされる。その他のストローク幅の比率を用いることができる。上記の条件(a)又は(b)のいずれかが満たされない場合、トップノード連結成分は埋め込み画像を定義しないと結論付けられる(S172:NO)。また、条件(a)又は(b)のいずれかが満たされない場合、ブロックS172において条件を追加して、トップノード連結成分が埋め込み画像を定義するかを判断しうる。追加の条件として図19のS213:YES及びS215:NOに示されるいずれの条件を用いうる。
【0068】
ブロックS172の最終結果がYESである場合、除去されるのでツリー階層分類は選択されない(ブロックS174)。これは、トップノード連結成分が埋め込み画像を定義する可能性が高く、トップノードのすべての子である連結成分は埋め込み画像の一部を定義する可能性が高いからである。いずれの分類も選択されない場合、後段のブロックS204(図1)において合成ラベル画像LLから連結成分ラベルは除去されない。ブロックS172の最終結果がNOである場合、処理はブロックS176へ移行する。
【0069】
ブロックS176において、ファミリーツリーのすべての連結成分が文字条件を満たすかが判断される。図18と関連して下記で説明するように、文字条件は連結成分の大きさを中央値の大きさと比較することを含む。ブロックS176の結果がYESである場合、第二分類が選択される(ブロックS178)。よって、第二分類の連結成分のラベルはブロックS204において後に除去される(図1)。第一分類の連結成分のラベルは残される。第一分類の連結成分は背景ではなく文字を定義する可能性が高いからである。ブロックS176の結果がNOである場合、処理はブロックS180へ移行する。
【0070】
ブロックS180において、第一分類より第二分類の方がより大きな数の連結成分によって文字条件が満たされるかが判断される。ブロックS180がYESである場合、第一分類が選択される(ブロックS182)。よって、第一分類の連結成分のラベルはブロックS204において後に除去される(図1)。第二分類の連結成分のラベルは残される。第二分類の連結成分は背景ではなく文字、ノイズ又はその他のオブジェクトを定義する可能性が高いからである。ブロックS180の結果がNOである場合、第二分類が選択される(ブロックS178)。
【0071】
図18は、図17におけるブロックS176及びS180において文字条件が満たされるかを判断するためのサブプロセスの一例を示す。ブロックS190において、連結成分の大きさ(CCサイズ)がファミリーツリーにおける連結成分の中央値の大きさより大幅に大きいかを判断する。あらゆる連結成分のサイズSはその境界ボックスの縦Hと横Wとに基づく。例えば、数式S=H×W又はその他の数式を用いうる。ブロックS190の結果がYESである場合、文字条件は満たされていない(ブロックS192)。ブロックS190の結果がNOである場合、サブプロセスはブロックS194へと進む。
【0072】
ブロックS194において連結成分サイズ(CCサイズ)が中央値の大きさに近いかが判断される。本明細書において、「近い」とはCCサイズが中央値サイズの低閾値割合と高閾値割合との間に存在することを意味する。例えば、低閾値割合及び高閾値割合は0.8及び1.2に設定されると、CCサイズが0.8×Mと1.2×Mとの間に存在する場合はCCサイズが中央値Mに近いと判断される。その他の閾値割合を用いうる。ブロックS194の結果がYESである場合、文字条件が満たされる(ブロックS196)。ブロックS194の結果がNOである場合、サブプロセスはブロックS198へ進む。
【0073】
ブロックS198において、連結成分のストローク幅比がそのサイズ比に近いか判断される。ブロックS198において、連結成分が大きいフォントサイズの文字を定義するかを確認する機能を実行する。連結成分のストローク幅(CCストローク幅)を全体ストローク幅中央値と比較する。ストローク幅比R1はCCストローク幅/全体ストローク幅中央値である。サイズ比R2はCCサイズ/中央値サイズである。R1がR2の低閾値割合と高閾値割合との間に存在する場合、ストローク幅比R1はサイズ比R2に近い。例えば、低閾値割合と高閾値割合とが0.8及び1.2と設定されると、R1が0.8×R2と1.2×R2との間に存在する場合はR1はR2に近いと判断される。その他の閾値割合を用いうる。ブロックS198の結果がYESである場合、文字条件は満たされ(ブロックS196)、連結成分が大きいフォントサイズの文字を定義する(定義する可能性が高い)。ブロックS198の結果がNOである場合、文字条件は満たされない(ブロックS192)。
【0074】
図17及び図18図1のブロックS170においてツリー階層分類を選択する例示的なサブプロセスを示す。ブロックS170の後、方法10はブロックS200へ進む。
【0075】
再び図1を参照して、ブロックS200において、選択されたツリー階層分類から後に合成画像ラベルLLから除去する連結成分にタグを付ける。例えば、タグを付けることは連結成分の帰属をメモリーに保存することを含みうる。上述のように、選択されたツリー階層分類に基づいて、連結成分のラベルは合成階層画像LLから除去される。ブロックS170において第一分類が選択された場合、ブロックS204において第一、第三、第五、...世代のすべての連結成分についてのラベルが除去される。ブロックS170において第二分類が選択された場合、ブロックS204において第二、第四、第六、...世代のすべての連結成分についてのラベルが除去される。
【0076】
ブロックS202において、ファミリーツリーとして構成される関連する連結成分の他のグループが存在するかを判断される。前述のように、合成ラベル画像LLにおいてラベリングされた関連する連結成分について一つを超えるグループが存在する場合、各グループは異なるファミリーツリーを構成する。例えば、トップノードC6がC3からC5ではなくC1及びC2を含み、他のトップノードがC3からC5を含む場合、二つのファミリーツリーが存在する。ブロックS202の結果がYESの場合、方法10はブロックS150に戻り、関連する連結成分の次のグループをファミリーツリーに構成しうる。ブロックS202の結果がNOである場合、方法10はブロックS204に移行する。
【0077】
ブロックS204において、S200でタグが付与された連結成分が合成ラベル画像LLから除去される。図3及び図6の例において、C6は埋め込み画像ではないので第一ツリー階層分類が選択され(S172:NO)、すべての連結成分が文字条件を満たさず(S176:NO)、第一分類よりも第二分類の方が文字条件を満たす連結成分の数が多い(S180:YES)。図12及び図13は第一分類の連結成分C6からC10を示し、C6からC10は除去されるようにS200でタグが付与される。ブロックS204において、合成ラベル画像LLからラベルC6からC10は除去され、合成ラベル画像LLにラベルC1からC5が残される。残されたラベルはLLで符号化された文字情報を表す。
【0078】
ブロックS204の後、ブロックS210において合成ラベル画像LLからノイズに対応する連結成分のラベルが除去される。連結成分C5(図3)はノイズと対応する。ノイズは点やその他の余分なアーティファクトの形でありうる。ノイズは紙の織り地、光学スキャン機器、又はその他の理由により起こりうる。適切なノイズ除去のアルゴリズムが当該技術分野では知られている。ノイズ除去アルゴリズムは形態学的オープニング及びクロージング処理を含み、これらは合成ラベル画像LLに繰り返し実行される。埋め込み画像が変更されないように、埋め込み画像はノイズ除去アルゴリズムが実施される合成ラベル画像LLの領域から除外される。
【0079】
ブロックS210において、埋め込み画像がノイズ除去処理にかけられないように、それぞれの連結成分の特徴が分析され、連結成分が埋め込み画像を定義するかが判断される。ブロックS210における例示的なサブプロセスは図19に示される。
【0080】
図19を参照して、ブロックS211において、連結成分の充填率又はストローク幅に基づいて、連結成分が埋め込み画像を定義するかを判断する。例えば、以下の場合は連結成分が埋め込み画像ではないと判断される(ブロックS211:YES)、(a)連結成分の境界ボックスの大きさに対して連結成分の面積が小さい、又は(b)連結成分のストローク幅(CCストローク幅)が全体ストローク幅中央値に対して小さい。例えば、連結成分の面積が境界ボックスの20%よりも低い場合は連結成分の面積はその境界ボックスに対して低いと判断される。その他の充填率を用いうる。例えば、CCストローク幅が全体ストローク幅中央値の30%よりも低い場合はCCストローク幅が全体ストローク幅中央値に対して低いと判断される。他のストローク幅の割合を用いうる。
【0081】
ブロックS211の結果がNOである場合、ノイズ除去アルゴリズムから連結成分が除外される(ブロックS212)。連結成分が除外されるとは、連結成分境界ボックス内に含まれる合成ラベル画像LLの画素に対してノイズ除去アルゴリズムが実施されないとのことである。ブロックS211の結果がYESである場合、サブプロセスはブロックS213へ移行する。
【0082】
ブロックS213において連結成分サイズ(CCサイズ)が中央値サイズより著しく大きいか判断される。例えば、CCサイズが中央値サイズの一定の割合より大きい場合にCCサイズが中央値サイズより著しく大きいと判断される。当該割合は200%、400%、又はそれよりも大きく設定しうる。ブロックS213の結果がNOである場合、連結成分は埋め込み画像ではなく、連結成分はノイズ除去アルゴリズムが実施される合成ラベル画像LLの領域から除外されない(ブロックS214)。ブロックS213の結果がYESである場合、サブプロセスはブロックS215へ移行する。
【0083】
ブロックS215において、連結成分が大きいフォントサイズの文字を定義するかを判断する。このような判断は、ブロックS198で説明した処理と同様に、ストローク幅比及びサイズ比に基づいてなされる。ブロックS215の結果がYESである場合、連結成分はノイズ除去アルゴリズムが実施される合成ラベル画像LLの領域を形成する(ブロックS214)。ブロックS215の結果がNOである場合、サブプロセスはブロックS216へ移行する。
【0084】
ブロックS216は連結成分が背景を定義するか判断する。例えば、以下の状況のうちの一つ又はその組み合わせを用いることができる、(a)連結成分に対応するG1又はG2のグレースケール値の少なくとも80%(第一閾値割合)が互いに10%(第一範囲割合)の範囲内に存在する、(b)連結成分に対応する元の入力画像における色相の少なくとも80%(第二閾値割合)が互いに10%(第二範囲割合)の範囲内に存在する、(c)連結成分のエッジの長さが連結成分サイズよりも大きい。その他の閾値割合や範囲割合を用いうる。連結成分のエッジの長さはキャニーエッジ検出アルゴリズム等の公知のアルゴリズムを用いて演算しうる。条件(a)は元の入力画像(グレースケールへの変換前)がカラー画像である場合に適用しうる。
【0085】
条件(a)、(b)、(c)のうちの一つ、二つ又はすべてを満たす場合に連結成分は背景を定義すると判断される。ブロックS216の結果がYESである場合、連結成分は除外されない(ブロックS214)。ブロックS216の結果がNOである場合、連結成分は除外される(ブロックS212)。
【0086】
次にブロックS217において、ブロックS211により評価すべき他の連結成分が合成ラベル画像LLに残されているかが判断される。他の連結成分が残されている場合、サブプロセスはブロックS211に戻り、残る連結成分が評価される。ブロックS217の結果がNOである場合、サブプロセスはブロックS218へ移行する。
【0087】
ブロックS218において、ブロックS212で除外された連結成分の境界ボックス内の合成ラベル画像LLの領域以外について合成ラベル画像LLにノイズ除去アルゴリズムが適用される。図3の例において、連結成分C5は高い充填率を有し(S211:YES)、中央値より著しく大きいサイズを有しないので(ブロックS213:NO)、C5は除外されない。ブロックS218において、C5に対応するLLの領域に対してノイズ除去が実施される。ノイズ除去によりLLからC5のラベルのすべて又は一部が除去される。残るラベルはLLに符号化される文字情報を表す。
【0088】
他のグローバルバイナリゼーション処理を実行することにより、状況によっては、従来のローカルバイナリゼーション処理に関連する演算資源や時間を増加させることなく、より高い正確性を得ることができる。図1のブロックS220において第三のバイナリゼーション処理を実行しうる。ブロックS220における例示的なサブプロセスが図20に示される。
【0089】
図20のブロックS222において、第一グレースケール画像G1からマスクグレースケール画像が形成される。マスクグレースケール画像はG1のコピーであって、第一バイナリゼーションと第二バイナリゼーションにより取得された連結成分がすべて減算されて変形されている。減算の一例として、G1において、第一ラベル画像L1及び第二ラベル画像L2からの連結成分がすべて単一のグレースケール値に置き換えられるように変形される。様々な方法によってマスクグレースケール画像G3は形成される。
【0090】
図21はブロックS222における処理の一例を示し、図2の第一グレースケール画像G1からまず始める。第一ラベル画像L1からの連結成分のマスクをG1に適用しうる(ブロックS224)。図21は例示的なマスク19を示す。次に、マスク19は広げられ(ブロックS226)、連結成分の境界が拡大されて、グレースケール画像G1の対応するオブジェクトがすべて確実に覆われるようにする。次に、広げられたマスク21は充填され(ブロックS228)、広げられたマスク21のすべての画素が同じグレースケール値Yを有する。以上により、グレースケール値Yを有する充填マスク23を含むマスクグレースケール画像G3が得られる。グレースケール値Yはマスクに隣接する画素の中央グレースケール値でありうる。図示の便宜上、数値Yは図21において濃いグレーに対応する。背景が濃い場合、実際に数値Yは濃い背景に近いものとなることがあり、濃い背景からマスク23を識別することができないことがある。また、中央グレースケール値の代わりに隣接する画素に基づく別のグレースケール値をYとして用いうることを理解されたい。
【0091】
図21は第一バイナリゼーションから得られた第一ラベル画像L1から得られた連結成分の減算を図示する。G3は、第一バイナリゼーションから得られた第一ラベル画像L1(図1、ブロックS114)及び第二バイナリ―ゼーションから得られた第二ラベル画像L2(図1、ブロックS120)からの連結成分の減算の結果である。よって、マスク23は合成ラベル画像LL(第一ラベル画像L1と第二ラベル画像L2とを合成)からの連結成分を実際に包含する。
【0092】
状況によっては、マスクグレースケール画像G3により、第一グレースケール画像G1のグローバルバイナリゼーションで失われた連結成分を検出するという利点が得られる。以前検出された連結成分は単一グレースケール値を有するマスク23によって置き換えられたことから、G3についてのバイナリゼーション閾値はG1についてのそれとは異なる可能性が高い。
【0093】
図16において、高コントラスト文字24と低コントラスト文字26とが存在する。高コントラスト文字とは文字の中央グレースケール値MGVと周囲の背景のMGVとの間の差が大きい文字である。例えば、差が50%以上のものをいう。低コントラスト文字とは文字のMGVと周囲の背景のMGVとの間の差が小さい文字である。例えば、差が50%未満のものをいう。
【0094】
低コントラスト文字26は第一グレースケール画像G1のグローバルバイナリゼーションにおいて失われうる。高コントラスト文字24及び埋め込み画像22が第一グレースケール画像G1に存在することにより、G1のグローバルバイナリゼーションの結果、低コントラスト文字26のグレースケール値より大きいバイナリゼーション閾値を選ぶことになりうる。よって、低コントラスト文字26は第一バイナリ画像B1の黒い背景と置き換えられ、これにより、続けてB1に行われる連結成分ラベリング処理において低コントラスト文字26は検出されない。異なるバイナリゼーション閾値を適用することによって低コントラスト文字26が失われることを防ぎうる。第三グレースケール画像G3において、以前検出された連結成分(高コントラスト文字及び埋め込み画像)を単一のグレースケール値で置き換えることによって、G3の低コントラスト文字26はグローバルバイナリゼーションアルゴリズムに対する影響を強め、異なるバイナリゼーション閾値が選択されうる。選択されたバイナリゼーション閾値は低コントラスト文字26を保存するにはより適切なものとなりうる。
【0095】
図22は、図16の第一グレースケール画像G1から形成されたマスクグレースケール画像G3の一例を示す。この例では、ブロックS116(図1)の連結成分ラベリング処理においてG1(図16)の低コントラスト文字26は検出されなかった。高コントラスト文字24及び埋め込み画像22は以前検出されているので、その連結成分は合成ラベル画像LLに存在する。マスクグレースケール画像G3(図22)において、マスク23の位置は合成ラベル画像LLでラベリングされた連結成分に対応する。マスク23は高コントラスト文字24と埋め込み画像22とを覆う。マスク23は中央グレースケール値や隣接画素のグレースケール値に基づくその他の数値を含む、単一のグレースケール値で充填されうる。マスク23は黒に近い単一グレースケール値(背景グレースケール値)で充填されるため、図22ではマスク23を識別できない可能性があり、これにより高コントラスト文字24及び埋め込み画像22がブロックS230におけるバイナリゼーション閾値の選択に与える影響を低下しうる(図20)。マスクグレースケール画像G3において、低コントラスト文字26は第一グレースケール画像G1と同様の状態で維持される(図16)。
【0096】
再び図20を参照し、ブロックS230において、マスクグレースケール画像G3から第三バイナリ画像が作成される。これはマスクグレースケール画像G3にグローバルバイナリゼーション処理を実施することによって得られる。このグローバルバイナリゼーション処理は第三バイナリゼーション処理と称して、ブロックS114及びS120における二つの以前のバイナリゼーション処理と区別する(図1)。例示的な第三バイナリ画像B3は図23において示す。ブロックS230における第三バイナリゼーション処理は、ブロックS114における第一バイナリゼーション処理と同様の処理としうる。第一、第二、第三バイナリゼーション処理はグローバルバイナリゼーション処理である。
【0097】
一般に、ブロックS230は第一バイナリゼーションにおいて入力画像のコピーにバイナリゼーション処理を実施する(ブロックS114)。コピーには少なくとも第一バイナリ画像で検出された連結成分に基づくマスク23が存在し、マスク23は全体的に単一のグレースケール値を有する。
【0098】
図23はブロックS230におけるバイナリゼーション閾値の選択に、マスクグレースケール画像G3の低コントラスト文字26が大きく影響したことを示す一例である(図22)。例えば、バイナリゼーション閾値は、G3の低コントラスト文字26のグレースケール値よりも低い。その結果、G3の低コントラスト文字26を構成するグレー画素はB3において白を割り当てられる。この例ではマスク23及びG3のその他の部分のグレースケール値がバイナリゼーション閾値よりも低いため、マスク23及びG3のその他の部分(図22)が背景(黒)のグレースケール値を割り当てられる場合の結果がB3である。
【0099】
再び図20を参照して、ブロックS232において重なり識別/除去処理を実行して、第三バイナリ画像B3の連結成分と重なる以前検出された連結成分が存在する部分を識別し、除去する。ここでの重なり識別/除去処理はブロックS122(図1)における処理に類似したものでありうる。一般に、ブロックS232において、一方のバイナリ画像で検出された連結成分と他方のバイナリ画像に検出された連結成分との重なりを識別し、続いていずれかのバイナリ画像を変形することによって識別された重なりを除去する。例えば、重なり識別/除去処理は連結成分ラベリング処理を実行して第三バイナリ画像の連結成分を識別し、B3の連結成分の画素をB1及びB2の連結成分の画素と比較して重なる画素を識別し、重なる画素を識別した場合、B1、B2、B3のいずれかを変形して重なりを除去する。
【0100】
重なりを識別するためにB3の画素をB1及びB2と比較する前に、B3の連結成分を不適格条件に照らして分析し、B3から連結成分を除去するべきか判断しうる。不適格条件の例として以下のようなものが挙げられる、(a)連結成分のサイズがサイズの下限を下回る、(b)連結成分のローカルコントラストがコントラストの下限を下回る。サイズの下限は例えば、B1から以前識別された連結成分のサイズの中央値の20%としうる。その他のサイズの下限を用いうる。コントラストの下限は例えば、B1から以前識別された連結成分のローカルコントラストの中央値の半分としうる。その他のコントラストの下限を用いうる。ローカルコントラストとは、連結成分に対応するG3の画素の中央グレースケール値と隣接する画素の中央グレースケール値との間の差である。ローカルコントラストの中央値とは、B1からの連結成分のローカルコントラストの中央値である。
【0101】
図20のブロックS234において、第三バイナリ画像B3に連結成分ラベリング処理を実行して第三ラベル画像L3を作成する。第三ラベル画像L3はB3の残る連結成分のすべてのリストである。連結成分ラベリング処理においてB3の連結成分(図23)の境界ボックスと面積とを判断する。例えば、ブロックS234における第三ラベル画像L3は低コントラスト文字26(図22)を定義するB3の連結成分(図23)のリストである。
【0102】
ブロックS236において、B1、B2、及びB3からの連結成分のラベルが合成ラベル画像LLにおいて合成される。これは、ブロックS232において重なりを除去するためにB1又はB2の連結成分に以前実行された変形を合成ラベル画像LLに反映させる修正を行うことによって達成される。また、合成ラベル画像LLにB3の連結成分のラベルが追加される。図23の例において、(G3の低コントラスト文字26に対応する)B3の連結成分(CC)が合成ラベル画像LLに追加される。ブロックS236における処理が終わると、ブロックS220のサブプロセスも終わる(図1)。
【0103】
再び図1を参照して、方法10はブロックS220からブロックS150へ移行する。ブロックS150以降は前述のように実行される。その後、合成ラベル画像LLはネットワークを介してある装置から別の装置へ送信しうる。
【0104】
図24図1の方法10を実行するように構成された例示的な装置250を図示する。装置250は例えば、サーバー、コンピューターワークステーション、パーソナルコンピューター、ラップトップコンピューター、タブレット、スマートフォン、ファクシミリ、プリンター、MFP等、プリンターとスキャナーとの両方の機能を含む装置、又は一以上のコンピュータープロセッサー及びメモリーを有するその他の種類の装置が挙げられる。
【0105】
装置250は一以上のコンピュータープロセッサー252(CPU)、一以上のコンピューターメモリー装置254、一以上の入力装置256、及び一以上の出力装置258を備える。一以上のコンピュータープロセッサー252はプロセッサー252と総称される。プロセッサー252は命令を実行するように構成される。プロセッサー252は命令を実行する集積回路を有しうる。命令は方法10を実行する一以上のソフトウェアモジュールを含みうる。一以上のソフトウェアモジュールは画像分析プログラム260と総称される。
【0106】
一以上のコンピューターメモリー装置254はメモリー装置254と総称される。メモリー装置254は、RAMモジュール、ROMモジュール及びその他の電子機器のうちの一つ又はその組み合わせによって構成される。メモリー装置254として、光学ドライブ、磁気ドライブ、ソリッドステートフラッシュドライブ及びその他のデータ記憶装置等の大容量記憶装置が挙げられる。メモリー装置254として、画像分析プログラム260を保存する非一時的なコンピューター読取可能な記憶媒体が挙げられる。
【0107】
一以上の入力装置256は入力装置256と総称される。入力装置256を介してユーザーはデータを入力し、装置250とやりとりをする。入力装置256として、一以上のボタンを有するキーボード、タッチ感応画面、マウス、電子ペン及びその他の装置が挙げられる。入力装置256を用いて方法10の入力画像を作成しうる。入力装置256はカメラ及び光源を有する光学スキャナーを備え、方法10で用いられる入力画像を作成するための文書をスキャンするように構成される。
【0108】
一以上の出力装置258は出力装置258と総称される。出力装置258として液晶ディスプレイ、プロジェクター又はその他の種類の表示装置が挙げられる。出力装置258は方法10で用いられた入力画像を表示するのに用いられる。出力装置258は紙に入力画像を印刷するのに構成される静電プリンターを含む。
【0109】
装置250は、ネットワークインターフェイス(I/F)262を備え、これを介して、LAN、WAN、インターネット及び電話通信キャリア等のネットワーク264を通じて装置250は他の装置と通信する。ネットワークI/F262はネットワーク264を通じてアナログ又はデジタル通信を可能とする回路を備えうる。例えば、ネットワークI/F262は方法10で用いられる入力画像を受信するように構成されうる。ネットワークI/F262は合成ラベル画像LL等の、方法10による結果を他の装置へ送信するように構成されうる。
【0110】
上述の装置250の各部は通信バス266を通じて相互に通信可能に接続される。
【0111】
本発明のいくつかの実施形態が、上記において説明されたが、本発明の範囲から逸脱することなく、本発明の実施形態を改良及び変形しうる。本明細書に開示された実施形態の特定の特徴や側面の組み合わせまたはサブコンビネーションを組み合わせたり、あるものを別のものと置き換えたりすることによって本発明の変形例を作成しうる。よって、本発明の範囲は添付されたクレーム以外によっては限定されない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24