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

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

▶ 株式会社リコーの特許一覧

特開2024-169402枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム
<>
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図1
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図2
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図3
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図4
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図5
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図6
  • 特開-枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024169402
(43)【公開日】2024-12-05
(54)【発明の名称】枠なしテーブルの傾斜補正方法、傾斜補正装置及びプログラム
(51)【国際特許分類】
   G06T 7/60 20170101AFI20241128BHJP
   G06T 7/70 20170101ALI20241128BHJP
【FI】
G06T7/60 200K
G06T7/60 200D
G06T7/70 B
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2024084085
(22)【出願日】2024-05-23
(31)【優先権主張番号】202310595012.2
(32)【優先日】2023-05-24
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ワン ジチョン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA17
5L096FA03
5L096FA09
5L096FA10
5L096FA12
5L096FA16
5L096FA18
5L096FA32
5L096FA66
5L096FA67
5L096FA69
5L096GA51
5L096GA53
(57)【要約】
【課題】本願は枠なしテーブルの傾斜補正方法、傾斜補正装置および記憶媒体を提供する。
【解決手段】本発明の実施例が提供する枠なしテーブルの傾斜補正方法および傾斜補正装置は、テキスト検出により得られた矩形枠の傾斜角と頂点座標に基づき、枠なしテーブルの外枠線を確定する。複数の矩形枠の傾斜角と頂点座標を総合的に考慮するため、本発明の実施例は得られた枠なしテーブルの画像特の徴点の正確性を向上し、後続する画像傾斜補正処理の性能を改善することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
枠なしテーブルの傾斜補正装置が実行する、枠なしテーブルの傾斜補正方法であって、
テキストを含む枠なしテーブルの第1矩形画像を取得するステップと、
前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像におけるテキスト部分及び前記テキスト部分に外接する矩形枠を取得するステップと、
前記第1矩形画像の辺毎に、該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し、前記矩形枠集合における矩形枠の目標枠辺の傾斜角に基づいて目標傾斜角を決定し、前記矩形枠集合における矩形枠の目標頂点に基づいて基準点を決定し、前記基準点を通過し、且つ傾斜角が前記目標傾斜角である直線を、前記枠なしテーブルの外枠線として生成するステップであって、前記目標枠辺は、前記矩形枠における前記辺に最も近接する枠辺であり、前記目標頂点は、前記目標枠辺が通過する頂点である、ステップと、
前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を決定するステップと、
前記4つの交差点及び4つの所定の目標点に基づいて透視変換を行って透視変換行列を取得するステップと、
前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成するステップと、を含む
ことを特徴とする枠なしテーブルの傾斜補正方法。
【請求項2】
前記第1矩形画像の辺毎に矩形枠集合を生成するステップは、
前記第1矩形画像における矩形枠が属する行列を特定するステップであって、同一行の矩形枠において、任意の2つの矩形枠の上枠延長線の間隔は第1閾値より小さく、且つ下枠延長線の間隔は第2閾値より小さく、同一列の矩形枠において、任意の2つの矩形枠の左枠延長線の間隔は第3閾値より小さい、ステップと、
前記第1矩形画像の左側辺に対して、最初の列の矩形枠を選択し、第1矩形枠集合を構成し、前記第1矩形画像の右側辺に対して、最後の列の矩形枠を選択し、第2矩形枠集合を構成し、前記第1矩形画像の頂辺に対して、最初の行の矩形枠を選択し、第3矩形枠集合を構成し、前記第1矩形画像の底辺に対して、最後の行の矩形枠を選択し、第4矩形枠集合を構成するステップと、を含む
ことを特徴とする請求項1に記載の枠なしテーブルの傾斜補正方法。
【請求項3】
前記矩形枠集合における矩形枠の目標枠辺の傾斜角に基づいて目標傾斜角を決定するステップは、
前記矩形枠集合における各矩形枠の目標枠辺の基準線に対する角度を計算するステップであって、前記基準線は、所定の水平線または垂直線である、ステップと、
各矩形枠の目標枠の基準線に対する角度の第1統計値を前記目標傾斜角として計算するステップであって、前記第1統計値は、前記角度の中央値または平均値である、ステップと、を含む
ことを特徴とする請求項2に記載の枠なしテーブルの傾斜補正方法。
【請求項4】
前記矩形枠集合における矩形枠の目標頂点に基づいて基準点を決定するステップは、
前記矩形枠集合における各矩形枠の目標頂点の座標を取得するステップと、
取得した目標頂点の座標の第2統計値を前記基準点の座標として計算するステップであって、前記第2統計値は、前記目標頂点の座標の中央値または平均値である、ステップと、を含む、
ことを特徴とする請求項2に記載の枠なしテーブルの傾斜補正方法。
【請求項5】
前記矩形枠集合における各矩形枠の目標頂点の座標を取得するステップは、
前記第1矩形画像の左側辺に対して、第1矩形集合における各矩形枠の左上角頂点及び/または左下角頂点の座標を取得するステップと、
前記第1矩形画像の右側辺に対して、第2矩形集合における各矩形枠の右上角頂点及び/または右下角頂点の座標を取得するステップと、
前記第1矩形画像の頂辺に対して、第3矩形集合における各矩形枠の左上角頂点及び/または右上角頂点の座標を取得するステップと、
前記第1矩形画像の底辺に対して、第4矩形集合における各矩形枠の左下角頂点及び/または右下角頂点の座標を取得するステップと、を含む
ことを特徴とする請求項4に記載の枠なしテーブルの傾斜補正方法。
【請求項6】
テキストを含む枠なしテーブルの第1矩形画像を取得する画像取得モジュールと、
前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像におけるテキスト部分及び前記テキスト部分に外接する矩形枠を取得するテキスト検出モジュールと、
前記第1矩形画像の辺毎に、該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し、前記矩形枠集合における矩形枠の目標枠辺の傾斜角に基づいて目標傾斜角を決定し、前記矩形枠集合における矩形枠の目標頂点に基づいて基準点を決定し、前記基準点を通過し、且つ傾斜角が前記目標傾斜角である直線を、前記枠なしテーブルの外枠線として生成する外枠線生成モジュールであって、前記目標枠辺は、前記矩形枠における前記辺に最も近接する枠辺であり、前記目標頂点は、前記目標枠辺が通過する頂点である、外枠線生成モジュールと、
前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を決定する交差点生成モジュールと、
前記4つの交差点及び4つの所定の目標点に基づいて透視変換を行って透視変換行列を取得する行列取得モジュールと、
前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成する画像補正モジュールと、を含む
ことを特徴とする枠なしテーブルの傾斜補正装置。
【請求項7】
前記外枠線生成モジュールは、
前記第1矩形画像における矩形枠が属する行列を特定する第1特定モジュールであって、同一行の矩形枠において、任意の2つの矩形枠の上枠延長線の間隔は第1閾値より小さく、且つ下枠延長線の間隔は第2閾値より小さく、同一列の矩形枠において、任意の2つの矩形枠の左枠延長線の間隔は第3閾値より小さい、第1特定モジュールと、
前記第1矩形画像の左側辺に対して、最初の列の矩形枠を選択し、第1矩形枠集合を構成する第1選択モジュールと、
前記第1矩形画像の右側辺に対して、最後の列の矩形枠を選択し、第2矩形枠集合を構成する第2選択モジュールと、
前記第1矩形画像の頂辺に対して、最初の行の矩形枠を選択し、第3矩形枠集合を構成する第3選択モジュールと、
前記第1矩形画像の底辺に対して、最後の行の矩形枠を選択し、第4矩形枠集合を構成する第4選択モジュールと、を含む
ことを特徴とする請求項6の枠なしテーブルの傾斜補正装置。
【請求項8】
前記外枠線生成モジュールは、
前記矩形枠集合における各矩形枠の目標枠辺の基準線に対する角度を計算する第1計算モジュールであって、前記基準線は、所定の水平線または垂直線である、第1計算モジュールと、
各矩形枠の目標枠の基準線に対する角度の第1統計値を前記目標傾斜角として計算する第2計算モジュールであって、前記第1統計値は、前記角度の中央値または平均値である、第2計算モジュールと、を含む
ことを特徴とする請求項7に記載の枠なしテーブルの傾斜補正装置。
【請求項9】
前記外枠線生成モジュールは、
前記矩形枠集合における各矩形枠の目標頂点の座標を取得する第1取得モジュールと、
取得した目標頂点の座標の第2統計値を前記基準点の座標として計算する第3計算モジュールであって、前記第2統計値は、前記目標頂点の座標の中央値または平均値である、第3計算モジュールと、を更に含む、
ことを特徴とする請求項7に記載の枠なしテーブルの傾斜補正装置。
【請求項10】
前記第1取得モジュールは、
前記第1矩形画像の左側辺に対して、第1矩形集合における各矩形枠の左上角頂点及び/または左下角頂点の座標を取得し、
前記第1矩形画像の右側辺に対して、第2矩形集合における各矩形枠の右上角頂点及び/または右下角頂点の座標を取得し、
前記第1矩形画像の頂辺に対して、第3矩形集合における各矩形枠の左上角頂点及び/または右上角頂点の座標を取得し、
前記第1矩形画像の底辺に対して、第4矩形集合における各矩形枠の左下角頂点及び/または右下角頂点の座標を取得する、
ことを特徴とする請求項9に記載の枠なしテーブルの傾斜補正装置。
【請求項11】
請求項1乃至5のいずれか1項に記載の枠なしテーブルの傾斜補正方法をプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理技術分野に属し、具体的に枠なしテーブルの傾斜補正方法、傾斜補正装置および記憶媒体に関する。
【背景技術】
【0002】
ドキュメント処理では、紙に印刷されたテキストを識別する必要な場合が多い。紙を撮影し、テキストを含む画像を取得した後、OCR(Optical Character Recognition)で画像を認識することにより、テキストを取得するのが一般的である。例えば、テーブルを含む画像の場合、テーブルのセルとセル内のテキストコンテンツを取得するために、画像に対して表の構造解析とテキスト認識が必要である。
【0003】
テキストを含む画像を撮影する時に、ゆがみが発生しやすい。従来、まず透視変換処理により画像の傾きを補正する処理を行う。完全な枠を有するテーブルの画像は、透視変換処理のための特徴点が容易に得られる。実際の応用において、一部のテーブルは枠のないテーブルの画像である。即ち、テーブル中の縦線と横線が省略される。枠なしテーブルの画像に対して、透視変換処理のための特徴点を取得しにくく、または、取得される特徴点の正確さが低く、後続する画像傾斜補正及びテーブル識別に不利である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の少なくとも一つの実施例は枠なしテーブルの傾斜補正方法、傾斜補正装置および記憶媒体を提供し、取得される枠なしテーブル画像の特徴点の正確性を向上させ、画像の傾斜補正処理の性能を改善することができる。
【課題を解決するための手段】
【0005】
上記技術問題を解決するために、本発明の実施例は、テキストを含む枠なしテーブルの第1矩形画像を取得するステップと、前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像におけるテキスト部分及び前記テキスト部分に外接する矩形枠を取得するステップと、前記第1矩形画像の辺毎に、該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し、前記矩形枠集合における矩形枠の目標枠辺の傾斜角に基づいて目標傾斜角を決定し、前記矩形枠集合における矩形枠の目標頂点に基づいて基準点を決定し、前記基準点を通過し、且つ傾斜角が前記目標傾斜角である直線を、前記枠なしテーブルの外枠線として生成するステップであって、前記目標枠辺は、前記矩形枠における前記辺に最も近接する枠辺であり、前記目標頂点は、前記目標枠辺が通過する頂点である、ステップと、前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を決定するステップと、前記4つの交差点及び4つの所定の目標点に基づいて透視変換を行って透視変換行列を取得するステップと、前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成するステップと、を含む枠なしテーブルの傾斜補正方法を提供する。
【0006】
好ましくは、前記第1矩形画像の辺毎に矩形枠集合を生成するステップは、前記第1矩形画像における矩形枠が属する行列を特定するステップであって、同一行の矩形枠において、任意の2つの矩形枠の上枠延長線の間隔は第1閾値より小さく、且つ下枠延長線の間隔は第2閾値より小さく、同一列の矩形枠において、任意の2つの矩形枠の左枠延長線の間隔は第3閾値より小さい、ステップと、前記第1矩形画像の左側辺に対して、最初の列の矩形枠を選択し、第1矩形枠集合を構成し、前記第1矩形画像の右側辺に対して、最後の列の矩形枠を選択し、第2矩形枠集合を構成し、前記第1矩形画像の頂辺に対して、最初の行の矩形枠を選択し、第3矩形枠集合を構成し、前記第1矩形画像の底辺に対して、最後の行の矩形枠を選択し、第4矩形枠集合を構成するステップと、を含む。
【0007】
また、好ましくは、前記矩形枠集合における矩形枠の目標枠辺の傾斜角に基づいて目標傾斜角を決定するステップは、前記矩形枠集合における各矩形枠の目標枠辺の基準線に対する角度を計算するステップであって、前記基準線は、所定の水平線または垂直線である、ステップと、各矩形枠の目標枠の基準線に対する角度の第1統計値を前記目標傾斜角として計算するステップであって、前記第1統計値は、前記角度の中央値または平均値である、ステップと、を含む。
【0008】
また、好ましくは、前記矩形枠集合における矩形枠の目標頂点に基づいて基準点を決定するステップは、前記矩形枠集合における各矩形枠の目標頂点の座標を取得するステップと、取得した目標頂点の座標の第2統計値を前記基準点の座標として計算するステップであって、前記第2統計値は、前記目標頂点の座標の中央値または平均値である、ステップと、を含む。
【0009】
また、好ましくは、前記矩形枠集合における各矩形枠の目標頂点の座標を取得するステップは、前記第1矩形画像の左側辺に対して、第1矩形集合における各矩形枠の左上角頂点及び/または左下角頂点の座標を取得するステップと、前記第1矩形画像の右側辺に対して、第2矩形集合における各矩形枠の右上角頂点及び/または右下角頂点の座標を取得するステップと、前記第1矩形画像の頂辺に対して、第3矩形集合における各矩形枠の左上角頂点及び/または右上角頂点の座標を取得するステップと、前記第1矩形画像の底辺に対して、第4矩形集合における各矩形枠の左下角頂点及び/または右下角頂点の座標を取得するステップと、を含む。
【0010】
また、本発明の実施例は、テキストを含む枠なしテーブルの第1矩形画像を取得する画像取得モジュールと、前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像におけるテキスト部分及び前記テキスト部分に外接する矩形枠を取得するテキスト検出モジュールと、前記第1矩形画像の辺毎に、該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し、前記矩形枠集合における矩形枠の目標枠辺の傾斜角に基づいて目標傾斜角を決定し、前記矩形枠集合における矩形枠の目標頂点に基づいて基準点を決定し、前記基準点を通過し、且つ傾斜角が前記目標傾斜角である直線を、前記枠なしテーブルの外枠線として生成する外枠線生成モジュールであって、前記目標枠辺は、前記矩形枠における前記辺に最も近接する枠辺であり、前記目標頂点は、前記目標枠辺が通過する頂点である、外枠線生成モジュールと、前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を決定する交差点生成モジュールと、前記4つの交差点及び4つの所定の目標点に基づいて透視変換を行って透視変換行列を取得する行列取得モジュールと、前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成する画像補正モジュールと、を含む枠なしテーブルの傾斜補正装置を提供する。
【0011】
好ましくは、前記外枠線生成モジュールは、前記第1矩形画像における矩形枠が属する行列を特定する第1特定モジュールであって、同一行の矩形枠において、任意の2つの矩形枠の上枠延長線の間隔は第1閾値より小さく、且つ下枠延長線の間隔は第2閾値より小さく、同一列の矩形枠において、任意の2つの矩形枠の左枠延長線の間隔は第3閾値より小さい、第1特定モジュールと、前記第1矩形画像の左側辺に対して、最初の列の矩形枠を選択し、第1矩形枠集合を構成する第1選択モジュールと、前記第1矩形画像の右側辺に対して、最後の列の矩形枠を選択し、第2矩形枠集合を構成する第2選択モジュールと、前記第1矩形画像の頂辺に対して、最初の行の矩形枠を選択し、第3矩形枠集合を構成する第3選択モジュールと、前記第1矩形画像の底辺に対して、最後の行の矩形枠を選択し、第4矩形枠集合を構成する第4選択モジュールと、を含む。
【0012】
また、好ましくは、前記外枠線生成モジュールは、前記矩形枠集合における各矩形枠の目標枠辺の基準線に対する角度を計算する第1計算モジュールであって、前記基準線は、所定の水平線または垂直線である、第1計算モジュールと、各矩形枠の目標枠の基準線に対する角度の第1統計値を前記目標傾斜角として計算する第2計算モジュールであって、前記第1統計値は、前記角度の中央値または平均値である、第2計算モジュールと、を含む。
【0013】
また、好ましくは、前記外枠線生成モジュールは、前記矩形枠集合における各矩形枠の目標頂点の座標を取得する第1取得モジュールと、取得した目標頂点の座標の第2統計値を前記基準点の座標として計算する第3計算モジュールであって、前記第2統計値は、前記目標頂点の座標の中央値または平均値である、第3計算モジュールと、を更に含む。
【0014】
また、好ましくは、前記第1取得モジュールは、前記第1矩形画像の左側辺に対して、第1矩形集合における各矩形枠の左上角頂点及び/または左下角頂点の座標を取得し、前記第1矩形画像の右側辺に対して、第2矩形集合における各矩形枠の右上角頂点及び/または右下角頂点の座標を取得し、前記第1矩形画像の頂辺に対して、第3矩形集合における各矩形枠の左上角頂点及び/または右上角頂点の座標を取得し、前記第1矩形画像の底辺に対して、第4矩形集合における各矩形枠の左下角頂点及び/または右下角頂点の座標を取得する。
【0015】
更に、本発明の実施例は、コンピュータ読み取り可能な記憶媒体であって、前記コンピュータ読み取り可能な記憶媒体はコンピュータプログラムを記憶し、前記コンピュータプログラムがプロセッサに実行されることにより、上記の枠なしテーブルの傾斜補正方法のステップが実現される記憶媒体を提供する。
【0016】
従来技術に比べ、本発明の実施例にかかる枠なしテーブルの傾斜補正方法および装置は、テキスト検出によって取得された矩形枠の傾斜角と頂点座標に基づき、枠なしテーブルの各外枠線を確定し、複数の矩形枠の傾斜角と頂点座標を総合的に考慮したため、枠なしテーブル画像の特徴点の正確性を向上させ、後続する画像傾斜補正処理の性能を改善することができる。
【図面の簡単な説明】
【0017】
以下に好ましい実施形態を詳細に説明することにより、様々な他のメリットや利点が当業者には明らかになるであろう。添付図面は好ましい実施方式を示す目的にのみ用いられ、本発明を限定するものではない。なお、図面全体を通して同一の部品には同一の参照符号を付する。
図1図1は本発明の実施例にかかる枠なしテーブルの傾斜補正方法を示すフローチャートである。
図2図2は本発明の実施例にかかる枠なしテーブルを含む第1矩形画像の一例を示す図である。
図3図3は第1矩形画像に対してテキスト検出を行って得られた矩形枠の一例を示す図である。
図4図4は本発明の実施例において同一行の長方形枠を特定する一例を示す図である。
図5図5は本発明の実施例において同一列の矩形枠を特定する一例を示す図である。
図6図6は本発明の実施例にかかる枠なしテーブルの傾斜補正装置の構成を示すブロック図である。
図7図7は本発明の実施例にかかる枠なしテーブルの傾斜補正装置の別の構成を示す図である。
【発明を実施するための形態】
【0018】
以下に、本発明が解決しようとする問題、構成及び効果をより明確にするために、図面と具体的な実施例を合わせて詳しく説明する。以下の説明では、具体的な配置と構成要素の特定の細部は本発明の実施例を全面的に理解することを助けるためだけである。したがって、本発明の範疇と精神から逸脱することなく、ここに記載された実施例に対して様々な変更と修正を行うことができることが当業者には明らかである。なお、明瞭と簡潔な記載のため、既知の機能と構成の説明を省略する。
【0019】
明細書全文を通して言及される「一つの実施例」または「一実施例」は実施例と関連する特定の特徴、構造または特性が本願の少なくとも一つの実施例に含まれることを意味する。そのため、明細書の各所に記載される「一つの実施例中に」又は「一実施例中に」は必ずしも同じ実施例を指すとは限らない。その他、これらの特定の特徴、構成または特性は任意の適当な方式で一つ或は複数の実施例に結合できる。本願の明細書と権利請求の範囲の中の用語「第1」、「第2」などは類似の対象を区別するために用いられ、特定の順序または前後順序を説明するために用いられる必要はない。そのように使用されたデータは適切な状況で交換可能であることを理解すべきであり、それによってここに説明された本発明の実施例は例えばここに図示または説明されたもの以外の順序で実施することができる。さらに、「含む」および「有する」という用語、およびそれらのいかなる変形も、非排他的な包含をカバーすることを意図しており、例えば、一連のステップまたはユニットを含むプロセス、方法、システム、製品、または装置は、明示的に列挙されたステップまたはユニットに必ずしも限定されるわけではなく、明示的に列挙されていないまたはそのようなプロセス、方法、製品、または装置に固有の他のステップまたはユニットを含むことができる。明細書及びクレーム中の「及び/又は」は接続される対象の少なくとも一つを意味する。
【0020】
本発明の各実施例において、下記の各プロセスの番号の大きさは、実行順序の前後を意味するものではない。各プロセスの実行順序は、その機能と内在ロジックによって確定され、本発明の実施例の実施プロセスに対していかなる限定するものではない。
【0021】
以下の説明は、例を提供するものであり、特許請求の範囲、適用範囲、または構成を限定するものではない。検討された要素の機能や配置に対して本発明の精神と範疇から逸脱することなく変更を行うことができる。さまざまな例の手順やコンポーネントを適切に省略、置換、または追加できる。例えば、説明した方法は、説明された順序とは異なる順序で実行し、さまざまなステップを追加、省略、または組み合わせて実行することができる。なお、一部の例で説明された特徴を別の例で組み合わせてもよい。
【0022】
取得された枠なしテーブル画像の特徴点の正確性を向上させ、画像の傾斜補正処理の性能を改善し、さらに枠なしテーブルの識別の正確性を向上させるため、本発明の実施例は枠なしテーブルの傾斜補正方法を提供する。図1に示すように、以下のステップを含む。
【0023】
ステップ11において、テキストを含む枠なしテーブルの第1矩形画像を取得する。ここで、枠なしテーブルとは、テーブルに縦線や横線がないことを意味する。表1に枠なしテーブルの一例を示す。
【0024】
【表1】

本発明の実施例は、枠なしテーブルが出力される用紙を撮影することにより、枠なしテーブルを含む画像を取得する。通常、撮影された画像は、左辺、頂辺、右辺、及び底辺の4つの辺(左、上、右、下)を有する長方形画像である。ここで、左辺は右辺に対向し、頂辺は底辺に対向する。図2は、表1に示す枠なしテーブルを撮影した第1の矩形画像の一例である。図2に示す第1の矩形画像20は左辺201、頂辺202、右辺203、下辺204の4本の辺を有する。図2の枠なしテーブルは、斜めになっている。
【0025】
ステップ12において、本発明の実施例は枠なしテーブルの傾斜補正方法は、前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像中のテキスト部分及び前記テキスト部分に外接する矩形枠を得る。
【0026】
ここで、従来技術であるOCR技術によって、第1矩形画像からテキストを検出することができる。OCR技術は画像中の文字を識別し、少なくとも1つの文字から構成されるテキスト部分を得、かつ前記テキスト部分に外接する矩形枠を生成する。図3に、図2に示す枠なしテーブルの第1矩形画像に対してテキスト検出を行った検出結果を示しており、第1矩形画像中に矩形枠301~356の56個の矩形枠が含まれる。撮影した画像には一定の歪みが存在するため、第1矩形画像の辺201~204は図3に示す矩形枠の4本の辺に厳密に平行または垂直しない。各矩形枠にはそれぞれ左枠辺、上枠辺、右枠辺、下枠辺の4つの枠辺がある。各矩形枠には、左上角頂点、右上角頂点、左下角頂点、右下角頂点の4つの頂点がある。左枠辺の2つの頂点は左上角頂点と左下枠頂点である。頂辺枠の2つの頂点は左上角頂点と右上角頂点である。下枠辺の2つの頂点は左下角頂点と右下角頂点である。
【0027】
ステップ13において、前記第1矩形画像の辺毎に当該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し;前記矩形枠集合中の矩形枠において前記辺に最も近接する枠辺である目標枠辺の傾斜角に基づいて、目標傾斜角を特定し;前記矩形枠集合中の矩形枠において前記目標枠辺が通過する頂点である目標頂点に基づいて、基準点を特定し; 前記枠なしテーブルの外枠線として、前記基準点を通過し且つ傾斜角が前記目標傾斜角である直線を生成する。
【0028】
ここで、第1矩形画像の辺毎に当該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成する。本発明の実施例において、矩形枠集合を生成する方式は複数にある。以下に具体的に説明する。
【0029】
矩形枠集合の生成方式として、第1方式は、第1矩形画像の辺毎に、当該辺に最も近接する所定数の矩形枠を選択し、矩形枠集合を構成する。
【0030】
具体的に、まず、各矩形枠の所定の頂点から当該辺までの距離を計算する。例えば、第1矩形画像の左辺に対して、矩形枠の左上角頂点または左下角頂点からの距離を計算する。また、第1矩形画像の頂辺に対して、矩形枠の左上角頂点または右上角頂点からの距離を計算する。更に、第1矩形画像の右辺に対して、矩形枠の右上角頂点または右下角頂点からの距離を計算し、第1矩形画像の底辺に対して、矩形枠の左下角頂点または右下角頂点からの距離を計算する。
【0031】
そして、距離の小さい順に、所定数の矩形枠を選択し、矩形枠集合を形成する。前記第1矩形画像の各辺が対応する矩形枠の所定数は同じでもよい。例えば、第1矩形画像の辺毎に、当該辺との距離が最も短い3つの矩形枠を選択し、1つの矩形枠集合を構成する。図3を例にすると、第1矩形画像の左辺201に対して、最も近い3つの矩形枠、例えば、矩形枠301、矩形枠306、矩形枠344を選択して矩形枠集合を構成する。第1矩形画像の頂辺202に対して、最も近い3つの矩形枠、例えば、矩形枠301、矩形枠302、矩形枠303を選択して、矩形枠集合を構成する。第1矩形画像の右辺203に対して、最も近い3つの矩形枠、たとえば、矩形枠305、矩形枠310、および矩形枠314を選択し、矩形枠集合を構成する。第1矩形画像の底辺204に対して、最も近い3つの矩形枠、例えば、矩形枠354、355、356を選択し、矩形枠集合を構成する。
【0032】
また、本発明の実施例は、前記第1矩形画像の各辺が対応する所定数が異なってもよく、もしくは一部同じでもよい。例えば、第1矩形画像の左辺に対して、距離が小さいから大きいまでの順に、距離が最も小さい4つの矩形枠を選択し、矩形枠集合を構成する。同様に、第1矩形画像の頂辺に対して、距離が最も小さい3つの矩形枠を選択し、矩形枠集合を構成する。また、第1矩形画像の右辺に対して、距離が最も小さい4つの矩形枠を選択し、矩形枠集合を構成する。更に、第1矩形画像の底辺に対して、距離が最も小さい3つの矩形枠を選択し、矩形枠集合を構成する。
【0033】
矩形枠集合の生成方式として、第2の方式は、第1矩形画像の辺毎に、当該辺との距離が予め設定された距離閾値以下の矩形枠を選択し、矩形枠集合を構成する。具体的には、まず、各矩形枠の所定の頂点からその辺までの距離を計算する。計算方法は上記を参照する。その後、第1矩形画像の辺毎に、対応する距離閾値を設定する。各辺がそれぞれ対応する距離閾値は同じでもよく、一部同じ、若しくは全く異なってもよい。そして、当該辺との距離が対応する距離閾値以下の矩形枠を選択し、矩形枠集合を構成する。
【0034】
矩形枠集合の生成方式として、第3の方式は以下である。
【0035】
(1)まず、第1矩形画像中の矩形枠が属する行列を特定する。即ち、第1矩形画像中の同一の行に属する矩形枠と同一の列に属する矩形枠を特定する。枠なしテーブルの画像は歪む場合があるため、行列を特定する際には、矩形枠の枠辺の延長線から行列関係を特定する。
【0036】
具体的に、同一の行に属する矩形枠における任意の二つの矩形枠で、上枠辺の延長線の間隔は第1閾値より小さく、且つ下枠辺の延長線の間隔は第2閾値より小さい。また、同一の列に属する矩形枠における任意の二つの矩形枠で、左枠辺の延長線の間隔は第3閾値より小さい。第1閾値、第2閾値及び第3閾値は同じでも良く、異なっても良い。具体的には、これらの閾値は、文字サイズ、文字間隔及び行間隔などのパラメータに基づいて設定することができる。
【0037】
矩形枠の対応する各枠辺は平行関係でない場合があることを考慮し、上枠辺の延長線間の間隔は、一方の矩形枠の上枠辺の2つの頂点からもう一方の矩形枠の上枠辺の延長線までの距離で表す。また、下枠辺の延長線間の間隔は、一方の矩形枠の下枠辺の2つの頂点からもう一方の矩形枠の下枠辺の延長線までの距離で表す。また、左枠辺の延長線間の間隔は、一方の矩形枠の左枠辺の2つの頂点からもう一方の矩形枠の左枠辺の延長線までの距離で表す。
【0038】
このように、同一の行に属する矩形枠が少なくとも2つの場合、第1矩形枠の上枠辺の2つの頂点から第2矩形枠の上枠辺の延長線までの距離はいずれも第1閾値より小さく、かつ、第1矩形枠の下枠辺の2つの頂点から第2矩形枠の下枠辺の延長線までの距離はいずれも第2閾値より小さい。第1矩形枠と第2矩形枠は同一の行に属する任意の2つの矩形枠である。また、同一の列に属する矩形枠が少なくとも2つ場合、第3矩形枠の左枠辺の2つの頂点から第4矩形枠の左枠辺の延長線までの距離はいずれも第3閾値より小さい。第3矩形枠と第4矩形枠は、同一の列に属す任意の2つの矩形枠である。
【0039】
なお、一方の矩形枠は、第1矩形画像中の他方の矩形枠に対して、上枠辺の延長線間の間隔が第1閾値以上、または下枠辺の延長線間の間隔は第2閾値以上である条件を満足する場合、単独で一行または一列とする。また、上枠辺の延長線間の間隔を、一方の矩形枠の上枠辺の2つの頂点から他方の矩形枠の上枠辺の延長線までの距離を用いて表す場合に、上記条件は、一方の矩形枠の上枠辺の少なくとも1つの頂点から他方の矩形枠の上枠辺の延長線までの距離が第1閾値以上、または、一方の矩形枠の下枠辺の少なくとも1つの頂点から他方の矩形枠の下枠辺の延長線までの距離が第2閾値以上であることで表すことができる。
【0040】
一方の矩形枠は、第1矩形画像中の他方の矩形枠に対して左枠辺の延長線の間隔がいずれも第3閾値以上の場合、単独の列とする。左枠辺の延長線の間隔を一方の矩形枠の左枠辺の二つの頂点から他方の矩形枠の左枠辺の延長線までの距離を用いて表す場合に、上記した条件は、一方の矩形枠の左枠辺の二つの頂点から他方の矩形枠の左枠辺の延長線までの距離はすべて第3閾値以上であることより表されても良い。
【0041】
図4を一例とする。ここで、矩形枠302の上枠辺の2つの頂点から矩形枠301の上枠辺の延長線402までの距離はそれぞれD1とD2である。D1が第1閾値より大きく、D2が第2閾値より大きいため、矩形枠302と矩形枠301は同一の行に属さない。また、矩形枠301の上枠辺の延長線と他の矩形枠の上枠辺の延長線との間隔はすべて第1閾値より大きいため、矩形枠301と同一の行に属する他の矩形枠はなく、矩形枠301を単独で一行に属する。即ち、その行は矩形枠301のみを含む。
【0042】
矩形枠303~305の上枠辺の2つの頂点から矩形枠302の上枠辺の延長線402までの間隔はいずれも第1閾値より小さく、かつ、矩形枠303~305の下枠辺の2つの頂点から矩形枠302の下枠辺の延長線403までの間隔も第2閾値より小さい。そのため、矩形枠303~305と矩形枠302は同一の列に属する矩形枠である。
即ち、その行に属する矩形枠は、矩形枠302~305を含む。
【0043】
また、図5を一例とする。図5に矩形枠301の左枠辺の延長線501を示す。矩形枠301以外の矩形枠の左枠辺の2つの頂点から矩形枠301の左枠辺の延長線501までの距離はすべて第3閾値より大きいため、矩形枠301は、単独で1つの列を構成する。この列の矩形枠は矩形枠301のみを制御する。これに対して、矩形枠344の左枠辺の二つの頂点から矩形枠306の左枠辺の延長線502までの距離はすべて第3閾値より小さい。そのため、矩形枠344と矩形枠306を同一の列に属する。即ち、この列に属する矩形枠は矩形枠344と矩形枠306を含む。また、矩形枠311、矩形枠315、矩形枠318、矩形枠322、矩形枠326、矩形枠329、矩形枠332、矩形枠335、矩形枠338、矩形枠341、矩形枠345、矩形枠349及び矩形枠353の左枠辺の2つの頂点は、矩形枠307の左枠辺の延長線503までの距離はすべて第3閾値より小さいため、矩形枠307、矩形枠311、矩形枠315、矩形枠318、矩形枠322、矩形枠326、矩形枠329、矩形枠332、矩形枠335、矩形枠338、矩形枠341、矩形枠345、矩形枠349及び矩形枠353は1つの列に属する。
【0044】
(2)第1矩形画像の左辺に対して、第1列に属する矩形枠を選択して、第1矩形枠集合を構成する。また、第1矩形画像の右辺に対して、最後の列に属する矩形枠を選択して、第2矩形枠集合を構成する。更に、第1矩形画像の頂辺に対して、第1行に属する矩形枠を選択して、第3矩形枠集合を構成する。最後に、第1矩形画像の底辺に対して、最後の行に属する矩形枠を選択して、第4矩形枠集合を構成する。ここで、第1列は第1矩形画像の左辺に最も近い列であり、最後の列は第1矩形画像の右辺に最も近い列である。また、第1行は第1矩形画像の頂辺に最も近い行であり、最後の行は第1矩形画像の底辺に最も近い行である。
【0045】
以上の方式によって、第1矩形画像の辺毎に、対応する矩形枠の集合を生成することができる。
【0046】
矩形枠集合を生成した後、本発明の実施例は、矩形枠集合中の矩形枠における前記辺に最も近い枠辺である目標枠辺の傾斜角に基づいて、目標傾斜角を特定する。
【0047】
目標傾斜角の特定は、矩形枠集合中の各矩形枠の目標枠辺が基準線に対する傾きの角度を計算し、矩形枠の目標枠辺の傾斜角とする。基準線は予め設定された水平線または垂直線である。例えば、第1矩形画像の任意の辺を基準線とする。その後、各矩形枠の目標枠辺の基準線に対する角度の中央値または平均値である第1統計値を計算して目標傾斜角とする。また、矩形枠集合内の各矩形枠の目標頂点から基準点を決定する際に、その矩形枠集合中の各矩形枠の目標頂点の座標が取得される。その後、取得された目標頂点の座標の中央値或は平均値である第2統計値を計算して、前記基準点の座標とする。
【0048】
ここで、矩形枠集合中の矩形枠の数は1つまたは複数ある。そのため、計算された目標枠辺の傾斜角の数は1つまたは複数である。算出された目標枠辺の傾斜角の数が1つである場合に、本発明の実施例はこの1つの傾斜角に基づいて、目標傾斜角を確定する。例えば、この1つの傾斜角をそのまま目標傾斜角とする。また、算出された目標枠辺の傾斜角の数が複数の場合に、これらの傾斜角の第1統計値に基づいて目標傾斜角を確定する。
【0049】
例えば、第1矩形画像の左辺に対応する第1矩形枠集合における各矩形枠の左枠辺の基準線に対する角度の第1統計値に基づいて、第1目標傾斜角を確定する。その後、第1矩形集合中の各矩形枠の左上角頂点の座標を取得し、これら左上角頂点の座標の第2統計値を計算し、第1基準点の座標を取得する。または、前記第1矩形集合中の各矩形枠の左下角頂点の座標を取得し、これら左下角頂点の座標の第2統計値を計算し、第1基準点の座標を取得する。若しくは、第1矩形集合中の各矩形枠の左上角頂点と左下角頂点の座標を取得し、これら左上角頂点と左下角頂点の座標の第2統計値を計算し、第1基準点の座標を取得する。さらに、第1基準点を通過しかつ傾斜角が前記第1目標傾斜角である直線を生成し、枠なしテーブルの第1外枠線とする。
【0050】
前記第1矩形画像の右辺に対応する第2矩形枠集合における各矩形枠の右枠辺の基準線に対する角度の第1統計値に基づいて、第2目標傾斜角を確定する。その後、第2矩形集合中の各矩形枠の右上角頂点の座標を取得し、これら右上角頂点の第2統計値を計算し、第2基準点の座標を取得する。または、第2矩形集合中の各矩形枠の右下角頂点の座標を取得し、これら右下角頂点の第2統計値を計算し、第2基準点の座標を取得する。若しくは、第2矩形集合中の各矩形枠の右上角頂点と右下角頂点の座標を取得し、これら右上角頂点と右下角頂点の座標の第2統計値を計算し、第2基準点の座標を取得する。さらに、第2基準点を通過しかつ傾斜角が第2目標傾斜角である直線を生成し、枠なしテーブルの第2外枠線とする。
【0051】
前記第1矩形画像の頂辺に対応する第3矩形枠集合における各矩形枠の上枠辺の基準線に対する角度の第1統計値に基づいて、第3目標傾斜角を確定する。その後、第3矩形集合中の各矩形枠の左上角頂点の座標を取得し、これら左上角頂点の第2統計値を計算し、第3基準点の座標を取得する。または、第3矩形集合中の各矩形枠の右上角頂点の座標を取得し、これら右上角頂点の第2統計値を計算し、第3基準点の座標を取得する。若しくは、第3矩形集合中の各矩形枠の左上角頂点と右上角頂点の座標を取得し、これら左上角頂点と右上角頂点の座標の第2統計値を計算し、第3基準点の座標を取得する。さらに、第3基準点を通過しかつ傾斜角が第3目標傾斜角である直線を生成し、枠なしテーブルの第3外枠線とする。
【0052】
前記第1矩形画像の底辺に対応する第4矩形枠集合における各矩形枠の下枠辺の基準線に対する角度の第1統計値に基づいて、第4目標傾斜角を確定する。その後、第4矩形集合中の各矩形枠の左下隅頂点の座標を取得し、これら左下角頂点の第2統計値を計算し、第4基準点の座標を取得する。または、第4矩形集合中の各矩形枠の右下角頂点の座標を取得し、これら右下角頂点の第2統計値を計算し、第4基準点の座標を取得する。若しくは、第4矩形集合中の各矩形枠の左下角頂点と右下角頂点の座標を取得し、これら左下角頂点と右下角頂点の座標の第2統計値を計算し、第4基準点の座標を取得する。さらに、第4基準点を通過しかつ傾斜角が第4標傾斜角である直線を生成し、枠なしテーブルの第4外枠線とする。
【0053】
ステップ14において、枠なしテーブルの4本の外枠線に基づいて、4つの交差点を確定する。
【0054】
ここで、ステップ13で得られた枠なしテーブルの4つの外枠線に基づいて、これらの外枠線の交差点、即ち4つの交差点を得る。
【0055】
ステップ15において、4つの交差点と4つの所定の目標点に基づいて透視変換を行って透視変換行列を形成する。
【0056】
ここで、4つの所定の目標点は、透視変換された枠なしテーブルの4つの頂点であり、それぞれステップ14で得られた4つの交差点に対応する。交差点と目標点の座標に基づいて、従来の処理方式により透視変換行列を形成する。
【0057】
具体的に、4つの交差点のうちの任意の1つを所定の目標点とし、この任意の交差点の座標と、それに隣接する交差点との距離に基づいて、残りの所定の目標点の座標を確定するように、4つの所定の目標点を確定する。以下、左下交差点を任意の1つの交差点とする例を挙げて説明する。
【0058】
第1外枠線と第4外枠線の交わる左下の交差点の座標を(x1、y1)とする。
【0059】
第1外枠線と第3外枠線の交わる左上の交差点の座標を(x2、y2)とする。
【0060】
第2外枠線と第4外枠線の交わる右下の交差点の座標を(x3、y3)とする。
【0061】
第2外枠線と第3外枠線が交わる右上の交差点の座標を(x4、y4)とする。
【0062】
枠なしテーブルのサイズ変更が必要ない場合は、左下の交差点を第1所定目標点として選択する。即ち、左下の交差点に対応する第1所定目標点の座標は(x1、y1)である。そして、左下交差点と左上交差点の間の第1距離L1を計算し、さらに左上交差点に対応する第2所定目標点の座標(x1、y1+L1)を生成する。また、左下交差点と右下交差点の間の第2距離L2を計算し、さらに右下交差点に対応する第3所定目標点の座標(x1+L2、y1)を生成する。最後に、右上の交差点に対応する第4所定目標点の座標(x1+L2、y1+L1)を得る。
【0063】
枠なしテーブルのサイズ変更が必要ない場合は、予め設定された拡大縮小率αによって、前記第1距離と第2距離に対してサイズ変更を行って4つの所定の目標点の座標は、左下交差点に対応する第1所定目標点の座標は(x1、y1)、左上交差点に対応する第2所定目標点の座標は(x1、y1+α*L1)、右下交差点に対応する第3所定目標点の座標は(x1+α*L2、y1)、右上交差点に対応する第4所定目標点の座標は(x1+α*L2、y1+α*L1)、になる。
【0064】
ステップ16において、前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成する。
【0065】
ここで、透視変換行列によって、第1矩形画像に対して傾斜補正を行い、補正された第2矩形画像を得る。
【0066】
本発明の実施例は、以上のステップにより、テキスト検出で得られた矩形枠の傾斜角と頂点座標に基づいて、枠なしテーブルの各外枠線を確定する。複数の矩形枠の傾斜角と頂点座標を総合的に考慮するため、得られた枠なしテーブル画像の特徴点の正確性を向上させ、後続する画像傾斜補正処理の性能を改善することができる。
【0067】
また、本発明の実施例は以上の傾斜補正方法を実施する傾斜補正装置を提供する。図6に示すように、本発明の実施例にかかる枠なしテーブルの傾斜補正装置は、テキストを含む枠なしテーブルの第1矩形画像を取得する画像取得モジュール601と、前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像中のテキスト部分及び前記テキスト部分に外接する矩形枠を得るテキスト検出モジュール602と、前記第1矩形画像の辺毎に当該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し;前記矩形枠集合中の矩形枠において前記辺に最も近接する枠辺である目標枠辺の傾斜角に基づいて、目標傾斜角を確定し;前記矩形枠集合中の矩形枠において前記目標枠辺が通過する頂点である目標頂点に基づいて、基準点を確定し;前記枠なしテーブルの外枠線として、前記基準点を通過し且つ傾斜角が前記目標傾斜角である直線を生成する外枠線生成モジュール603と、前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を確定する交差点生成モジュール604と、前記4つの交差点と4つの所定の目標点に基づいて透視変換を行って透視変換行列を形成する行列取得モジュール605と、前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成する画像補正モジュール606と、を含む。
【0068】
本発明の実施例は、以上のモジュールによって、取得された枠なしテーブル画像の特徴点の正確性を向上させ、後続する画像傾斜補正処理の性能を改善することができる。
【0069】
好ましくは、前記外枠線生成モジュール603は、前記第1矩形画像中の矩形枠が属する行列を特定し、そのうち、同一行の矩形枠において、任意の2つの矩形枠の上枠延長線の間隔は第1閾値より小さく、下枠延長線の間隔は第2閾値より小さく、また、同一列の矩形枠において、任意の2つの矩形枠の左枠延長線の間隔は第3閾値より小さい第1特定モジュールと、前記第1矩形画像の左側辺に対して、第1列の矩形枠を選択し、第1矩形枠集合を構成する第1選択モジュールと、前記第1矩形画像の右側辺に対して、最後の列の矩形枠を選択し、第2矩形枠集合を構成する第2選択モジュールと、前記第1矩形画像の頂辺に対して、第1行の矩形枠を選択し、第3矩形枠集合を構成する第3選択モジュールと、前記第1矩形画像の底辺に対して、最後の行の矩形枠を選択し、第4矩形枠集合を構成する第4選択モジュールと、を含む。
【0070】
好ましくは、前記外枠線生成モジュール603は、前記矩形枠集合中の各矩形枠の目標枠の、所定の水平線または垂直線である基準線に対する角度を計算する第1計算モジュールと、前記目標傾斜角として、各矩形枠の目標枠の基準線に対する前記角度の中央値または平均値である第1統計値を計算する第2計算モジュールと、を含む。
【0071】
好ましくは、前記外枠線生成モジュール603は、前記矩形枠集合中の各矩形枠の目標頂点の座標を取得する第1取得モジュールと、前記基準点の座標として、取得した目標頂点の座標の中央値または平均値である第2統計値を計算する第3計算モジュールと、を更に含む。
【0072】
好ましくは、前記第1取得モジュールは、前記第1矩形画像の左辺に対して、前記第1矩形集合中の各矩形枠の左上角頂点及び/または左下角頂点の座標を取得し、前記第1矩形画像の右側辺に対して、前記第2矩形集合中の各矩形枠の右上角頂点及び/または右下角頂点の座標を取得し、前記第1矩形画像の頂辺に対して、前記第3矩形集合中の各矩形枠の左上角頂点及び/または右上角頂点の座標を取得し、前記第1矩形画像の底辺に対して、前記第4矩形集合中の各矩形枠の左下角頂点及び/または右下角頂点の座標を取得する、ことを更に含む。
【0073】
なお、上記実施例に提供される装置/システムは枠なしテーブルの傾斜補正方法に対応する枠なしテーブルの傾斜補正装置である。前記実施例の実現方式は当該装置の実施例にも適用され、同様の技術的効果を奏する。そのため、本発明の実施例かかる傾斜補正装置は、前記傾斜補正方法の実施例に実現される全て方法ステップを実現し、同様の効果を奏するが、方法実施例と同様の部分及び有益な効果について詳細な説明を省略する。
【0074】
図7は本発明の実施例にかかる枠なしテーブルの傾斜補正装置のハードウェア構造を示すブロック図である。図7に示すように、枠なしテーブルの傾斜補正装置700は、プロセッサ702、およびコンピュータプログラム指令が記憶されるメモリ704を備え、前記コンピュータプログラム指令が前記プロセッサに実行されることにより、前記プロセッサ702は、テキストを含む枠なしテーブルの第1矩形画像を取得し;前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像中のテキスト部分及び前記テキスト部分に外接する矩形枠を得;前記第1矩形画像の辺毎に当該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し、前記矩形枠集合中の矩形枠において前記辺に最も近接する枠辺である目標枠辺の傾斜角に基づいて、目標傾斜角を確定し、前記矩形枠集合中の矩形枠において前記目標枠辺が通過する頂点である目標頂点に基づいて、基準点を確定し、前記枠なしテーブルの外枠線として、前記基準点を通過し且つ傾斜角が前記目標傾斜角である直線を生成し;前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を確定し;前記4つの交差点と4つの所定の目標点に基づいて透視変換を行って透視変換行列を形成し;前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成するステップが実現される。
【0075】
なお、上記実施例に提供される装置/システムは枠なしテーブルの傾斜補正方法に対応する枠なしテーブルの傾斜補正装置である。前記実施例の実現方式は当該装置の実施例にも適用され、同様の技術的効果を奏する。そのため、本発明の実施例かかる傾斜補正装置は、前記傾斜補正方法の実施例に実現される全て方法ステップを実現し、同様の効果を奏するが、方法実施例と同様の部分及び有益な効果について詳細な説明を省略する。
【0076】
更に、図7に示すように、枠なしテーブルの傾斜補正装置700はネットワークインターフェース701、入力装置703、ハードディスク705、と表示装置706を含む。
これらの各インターフェースやデバイスは、バスアーキテクチャを介して互いに接続される。バスアーキテクチャは、任意の数の互い接続されるバスおよびブリッジ含む。具体的に、プロセッサ702が代表する1つまたは複数の中央処理装置(CPU)及び/またはグラフィックスプロセッサ(GPU)、およびメモリ704が代表する1つまたは複数のメモリの各種回路が接続される。バスアーキテクチャは、周辺機器、電圧レギュレータ、電力管理回路などさまざまな他の回路を接続してもよい。バスアーキテクチャにより、これらのコンポーネント間の通信可能に接続される。バスアーキテクチャはデータバス以外に、電源バス、制御バス及び状態信号バスを含む。これらはすべて本技術分野で周知されるため、詳しい説明を省く。
ネットワークインターフェース701は、ネットワーク(例えばインターネット、ローカルエリアネットワークなど)に接続され、ネットワークから原始訓練サンプルなどのデータを受信して、受信したデータをハードディスク705に保存する。
【0077】
入力装置703は、操作者が入力する各種の指令を受信し、プロセッサ702に実行されるように送信する。前記入力装置703はキーボード又はポインティング設備(例えば、マウス、トラックボール(trackball)、タッチボード或はタッチスクリーンなどを含む。
【0078】
表示装置706は、プロセッサ702が指令を実行して得られる結果を表示し、例えばモデル訓練進捗などを表示する。
【0079】
メモリ704は、オペレーティングシステム(OS)の実行に必要なプログラムとデータ、およびプロセッサ702の計算中の中間結果などのデータを記憶する。
【0080】
なお、本発明の実施例のメモリ704は揮発性メモリ又は非揮発性メモリであってもよく、揮発性と非揮発性メモリの両方を有してもよい。その中、非揮発性メモリは読出し専用メモリ(ROM)、プログラム可能な読出し専用メモリ(PROM)、消去可能でプログラム可能な読出し専用メモリ(EPROM)、電気消去可能プログラム可能読出し専用メモリ(EEPROM)或はフラッシュメモリである。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ(RAM)でもよい。本文に説明する装置と方法のメモリ704はこれらと任意の他の適合タイプのメモリを含むことを意図するが、それに限定されない。
【0081】
一部の実施形態において、メモリ704に、実行可能なモジュール又はデータ構成若しくはこれらのサブモジュールや拡張モジュールであるオペレーティングシステム7041及びアプリケーションプログラム7042が記憶される。
【0082】
ここで、オペレーティングシステム7041は、各種システムプログラム、例えばフレームワーク層、コアライブラリ層、駆動層を含み、様々な基幹業務やハードウェアベースのタスクを実現するために用いられる。アプリケーションプログラム7042は各種アプリケーションプログラム、例えばウェブブラウザ―(Browser)等を含み、様々なアプリケーション業務を実現するためのものである。本実施例にかかる方法を実行するプログラムはアプリケーションプログラム7042に含む。
【0083】
上記本発明の実施例にかかる方法は、プロセッサ702に適用され、またはプロセッサ702によって実現される。プロセッサ702は信号を処理する能力を持つ集積回路基板である。上記方法の各ステップはプロセッサ702におけるハードウェアである集積論理回路又はソフトウェア形式の指令によって実現される。上記プロセッサ702は汎用プロセッサ、デジタル信号処理装置(DSP)、専用集積回路(ASIC)、既製プログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理デバイス、ディスクリートハードウェア部品であり、本発明の実施例に開示される各方法、ステップ及び論理ボックスを実現又は実行可能なものである。汎用処理器はマイクロプロセッサ又は任意の一般処理器などである。本発明の実施例にかかる方法の各ステップは、ハードウェアであるデコーダにより実行されることで実現されてもよく、または、デコーダにお行けるハードウェアとソフトウェアとの組み合わせによって実現されても良い。ソフトウェアモジュールはランダムメモリ、フラッシュメモリ、読出し専用メモリ、プログラマブル読出し専用メモリ、あるいは電気的消去可能なプログラマブルメモリ、レジスタなど、本分野で成熟した記憶媒体に記憶される。このソフトウェアが記憶される記憶媒体を備えるメモリ704から、プロセッサ702は情報を読み取り、ハードウェアに合わせて上記方法のステップを実現させる。
【0084】
以上に説明した実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの組み合わせで実現される。その中に、ハードウェアの実現に関して、処理ユニットは一つまたは複数の専用集積回路(ASIC)、デジタル信号処理プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラム可能論理回路 (PLD)、フィールドプログラマブルゲートアレイ(FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本発明の機能を実行する他の電子ユニット或はその組合せにより実現される。
【0085】
また、ソフトウェアの実現に関しては、以上で説明した機能を実現するモジュール(たとえばプロセス、関数など)により上記技術が実現される。ソフトウェアコードは、メモリに保存され、プロセッサによって実行される。なお、メモリはプロセッサの内部または外部で実現される。
【0086】
具体的には、前記コンピュータプログラムがプロセッサ702に実行されることにより、前記第1矩形画像中の矩形枠が属する行列を特定し、そのうち、同一行の矩形枠において、任意の2つの矩形枠の上枠延長線の間隔は第1閾値より小さく、下枠延長線の間隔は第2閾値より小さく、また、同一列の矩形枠において、任意の2つの矩形枠の左枠延長線の間隔は第3閾値より小さく;前記第1矩形画像の左側辺に対して、第1列の矩形枠を選択し、第1矩形枠集合を構成し、前記第1矩形画像の右側辺に対して、最後の列の矩形枠を選択し、第2矩形枠集合を構成し、前記第1矩形画像の頂辺に対して、第1行の矩形枠を選択し、第3矩形枠集合を構成し、前記第1矩形画像の底辺に対して、最後の行の矩形枠を選択し、第4矩形枠集合を構成するステップが実現される。
【0087】
また、具体的には、前記コンピュータプログラムがプロセッサ702に実行されることにより、前記矩形枠集合中の各矩形枠の目標枠の、所定の水平線または垂直線である基準線に対する角度を計算し;前記目標傾斜角として、各矩形枠の目標枠の基準線に対する前記角度の中央値または平均値である第1統計値を計算するステップが実現される。
【0088】
また、具体的には、前記コンピュータプログラムがプロセッサ702に実行されることにより、前記矩形枠集合中の各矩形枠の目標頂点の座標を取得し;前記基準点の座標として、取得した目標頂点の座標の中央値または平均値である第2統計値を計算するステップが実現される。
【0089】
また、具体的には、前記コンピュータプログラムがプロセッサ702に実行されることにより、前記第1矩形画像の左辺に対して、前記第1矩形集合中の各矩形枠の左上角頂点及び/または左下角頂点の座標を取得し;前記第1矩形画像の右側辺に対して、前記第2矩形集合中の各矩形枠の右上角頂点及び/または右下角頂点の座標を取得し;前記第1矩形画像の頂辺に対して、前記第3矩形集合中の各矩形枠の左上角頂点及び/または右上角頂点の座標を取得し;前記第1矩形画像の底辺に対して、前記第4矩形集合中の各矩形枠の左下角頂点及び/または右下角頂点の座標を取得するステップが実現される。
【0090】
上記実施例に提供される枠なしテーブルの傾斜補正装置は、前記枠なしテーブルの傾斜補正方法に実現される全て方法ステップを実現し、同様の効果を奏する。そのため、方法実施例と同様の部分及び有益な効果について詳細な説明を省略する。
【0091】
さらに、本発明の一部の実施例では、プログラムが記憶されるコンピュータ読み取り可能な記憶媒体を提供し、前記プログラムがプロセッサに実行されることにより、テキストを含む枠なしテーブルの第1矩形画像を取得し;前記第1矩形画像に対してテキスト検出を行い、前記第1矩形画像中のテキスト部分及び前記テキスト部分に外接する矩形枠を得;前記第1矩形画像の辺毎に当該辺の近傍にあるに少なくとも一つの矩形枠を含む矩形枠集合を生成し、前記矩形枠集合中の矩形枠において前記辺に最も近接する枠辺である目標枠辺の傾斜角に基づいて、目標傾斜角を確定し;前記矩形枠集合中の矩形枠において前記目標枠辺が通過する頂点である目標頂点に基づいて、基準点を確定し、前記枠なしテーブルの外枠線として、前記基準点を通過し且つ傾斜角が前記目標傾斜角である直線を生成し;前記枠なしテーブルの4本の外枠線に基づいて、4つの交差点を確定し;前記4つの交差点と4つの所定の目標点に基づいて透視変換を行って透視変換行列を形成し;前記透視変換行列に基づいて前記第1矩形画像に対して補正を行い、補正された第2矩形画像を生成するステップが実現される。
【0092】
前記プログラムがプロセッサに実行されることにより前記枠無しテーブルの傾斜補正方法におけるすべての形態が実現され、かつ同じ技術的効果を奏する。重複を避けるため、ここでは説明を省略する。
【0093】
本発明の技術分野の当業者は、以上で開示された実施例に記載された各例のユニットおよびアルゴリズムのステップが、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアとの組み合わせで実現されることが容易に想到される。これらの機能はハードウェアまたはソフトウェアのいずれかで実行することは、発明の特定的な適用や設計制約に依存する。当業者が特定の適用に応じた方法で上記の機能を実現させることができるが、本発明の範囲を超えるべきではない。
【0094】
また、説明上便宜と簡潔性のため、上記のシステム、装置及びユニットの具体的な作業過程に関して、上記した実施例中の対応過程に参照することができることが、当業者とって明らかであるために、詳細な説明を省略する。
【0095】
本発明の複数の実施例より開示された方法及び装置は別の形態でも実現可能であることは容易に想到される。例えば、上記記載された装置は模式的なものに過ぎない。例えば、前記したユニットの分割は論理的な機能の割り当ての一例に過ぎず、実際に実現の時に別の分割方式を採用しても良い。例えば、複数のユニットまたはモジュールを組み合わせるか、別のシステムに集約し、または、一部の機能を省略し、若しくは実行しなくてもよい。なお、上記表示または開示された相互的な接続または直接な接続若しくは通信可能な接続は、インターフェースを介する接続である。装置やユニット同士の間接的な接続または通信可能な接続は、電気的または機械的もしくは他の形態の接続でよい。
【0096】
前記分離部材として説明したユニットは物理的に分離してもしなくてもよい。ユニットとして表示する部材は物理的なユニットであってもでなくてもよい。即ち、同一の場所にしてよく、複数のネットワークユニット上に分散してもよい。実際の需要に応じてその中の一部または全部のユニットを選択して本発明の実施例の目的を実現する。
【0097】
なお、本発明の実施例にかかる各機能的ユニットは、1つの処理ユニットに集約しても良く、物理的に単独でもよく、2つ以上で一つのユニットとして集約してもよい。
【0098】
前記機能は、ソフトウェア機能ユニットの形で実現し、且つ、独立製品として販売または使用する場合に、コンピュータ読み取り可能な記憶媒体に記憶することができる。この場合に、本発明の技術方案は本質的、または従来技術に貢献する部分若しくは前記技術方案の部分はソフトウェア製品の形で表現される。前記コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータ装置(パーソナルコンピュータ、サーバ、或はネットワークデバイスなど)により本発明の各実施例にかかる前記方法の全部或は一部のステップを実行させる複数の指令を含む。なお、前述の記憶媒体は、USBメモリ、リムーバブルディスク、ROM、RAM、磁気ディスク、あるいは光ディスクなど、プログラムコードを格納できる様々な媒体を含む。
【0099】
以上の説明は、本発明の具体的な実施方式であるが、本発明の保護範囲はこれに限定されず、当技術分野に精通するいかなる技術者も本発明が開示した技術範囲内で、変更または置換を容易に想到されることは、すべて本発明の保護範囲内に含まれるべきである。そのため、本発明の範囲は請求の範囲を基準としなければならない。
図1
図2
図3
図4
図5
図6
図7