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

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

▶ Sansan株式会社の特許一覧

特開2023-114990名刺画像処理装置、名刺画像処理方法、およびプログラム
<>
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図1
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図2
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図3
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図4
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図5
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図6
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図7
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図8
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図9
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図10
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図11
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図12
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図13
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図14
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図15
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図16
  • 特開-名刺画像処理装置、名刺画像処理方法、およびプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023114990
(43)【公開日】2023-08-18
(54)【発明の名称】名刺画像処理装置、名刺画像処理方法、およびプログラム
(51)【国際特許分類】
   G06V 30/10 20220101AFI20230810BHJP
   G06V 30/00 20220101ALI20230810BHJP
【FI】
G06V30/10
G06V30/00 S
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023012720
(22)【出願日】2023-01-31
(31)【優先権主張番号】P 2022016820
(32)【優先日】2022-02-07
(33)【優先権主張国・地域又は機関】JP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】507384939
【氏名又は名称】Sansan株式会社
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】林 佑樹
(72)【発明者】
【氏名】糟谷 勇児
(72)【発明者】
【氏名】宮本 優一
【テーマコード(参考)】
5B064
【Fターム(参考)】
5B064AA01
5B064FA17
(57)【要約】
【課題】従来の名刺画像処理装置においては、名刺ラスタ画像から適切な名刺ベクター画像等を得ることができなかった。
【解決手段】名刺ラスタ画像を受け付けるラスタ画像受付部101と、名刺ラスタ画像から2以上の文字列を取得する文字認識部102と、2以上の各文字列の1以上の文字属性値を取得する属性値取得部103と、2以上の各文字列と1以上の文字属性値とが対応付いた名刺情報を構成する名刺情報構成部104と、名刺情報を出力する名刺情報出力部105とを具備する名刺画像処理装置1により、名刺ラスタ画像から適切な名刺ベクター画像等を得ることができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
名刺ラスタ画像を受け付けるラスタ画像受付部と、
前記名刺ラスタ画像から2以上の文字列を取得する文字認識部と、
前記2以上の各文字列の1以上の文字属性値を取得する属性値取得部と、
前記2以上の各文字列と前記1以上の文字属性値とが対応付いた名刺情報を構成する名刺情報構成部と、
前記名刺情報を出力する名刺情報出力部とを具備する名刺画像処理装置。
【請求項2】
前記名刺情報構成部は、
対応付いた前記2以上の各文字列と前記1以上の文字属性値とを含む名刺ベクター画像を構成し、
前記名刺情報出力部は、
前記名刺ベクター画像を出力する、請求項1記載の名刺画像処理装置。
【請求項3】
前記名刺情報出力部が出力した前記名刺ベクター画像に対する編集指示を受け付ける指示受付部と、
前記編集指示に応じて、前記名刺ベクター画像を変更する編集部とをさらに具備する請求項2記載の名刺画像処理装置。
【請求項4】
前記名刺ラスタ画像のサイズを示す画像サイズを取得し、前記画像サイズと紙の名刺の標準サイズとを用いて、2以上の各候補解像度のうち、前記画像サイズと前記標準サイズとが最も近似する候補解像度を前記名刺ラスタ画像の解像度として取得する解像度取得部をさらに具備する請求項1記載の名刺画像処理装置。
【請求項5】
前記文字認識部が取得した前記2以上の各文字列の項目識別子を取得する項目識別子取得部をさらに具備し、
前記名刺情報構成部は、
前記2以上の各文字列と前記項目識別子とを対応付いた名刺情報を構成する、請求項1から請求項4いずれか一項に記載の名刺画像処理装置。
【請求項6】
前記属性値取得部は、
前記2以上の各文字列の前記名刺ラスタ画像内での大きさを取得し、当該大きさを用いて、前記2以上の各文字列のフォントサイズを取得するフォントサイズ取得手段を具備する請求項1記載の名刺画像処理装置。
【請求項7】
前記属性値取得部は、
前記2以上の各文字列が、横書きであるか縦書きであるかを示すフラグ情報を取得し、
前記フォントサイズ取得手段は、
前記2以上の各文字列ごとに、文字列の前記フラグ情報に応じて、異なる処理を行い、フォントサイズを取得する請求項6記載の名刺画像処理装置。
【請求項8】
前記属性値取得部は、
前記名刺ラスタ画像から2以上の各文字列に対応する文字画像を取得し、当該2以上の各文字画像と、文字画像を用いてフォント識別子を推定する学習器とを用いて、機械学習の予測処理を行い、前記2以上の各文字画像のフォント識別子を取得するフォント識別子取得手段を具備する請求項1記載の名刺画像処理装置。
【請求項9】
前記フォント識別子取得手段は、
前記名刺ラスタ画像から2以上の各文字列に対応する文字画像を取得し、当該2以上の各文字画像と、文字画像を用いてフォント形状識別子を推定する第一学習器とを用いて、前記2以上の各文字列のフォント形状識別子を取得し、かつ前記2以上の各文字画像と、文字画像を用いてフォントウェイト識別子を推定する第二学習器とを用いて、フォントウェイト識別子を取得する、請求項8載の名刺画像処理装置。
【請求項10】
前記属性値取得部は、
前記2以上の各文字列の位置情報を取得する位置取得手段と、
前記属性値取得部が取得した前記位置情報を含む1以上の文字属性値を用いて、前記2以上の文字列を2以上のグループに分類し、当該2以上の各グループに属する2以上の文字列のフォント識別子とフォントサイズとを同じフォント識別子と同じフォントサイズとする正規化手段とを具備する請求項1記載の名刺画像処理装置。
【請求項11】
前記名刺ラスタ画像からロゴの領域を検出し、当該ロゴの領域のベクター画像であるロゴベクター画像を取得するロゴ画像取得部をさらに具備し、
前記属性値取得部は、
前記ロゴ画像の前記名刺ラスタ画像における位置を特定するロゴ位置情報を取得し、
前記名刺情報構成部は、
前記ロゴ画像と前記ロゴ位置情報とを含む名刺情報を構成する、請求項1記載の名刺画像処理装置。
【請求項12】
前記名刺ラスタ画像から前記2以上の文字列を除く背景ベクター画像を取得する背景画像取得部と、
前記名刺情報構成部は、
前記背景ベクター画像を含む名刺情報を構成する、請求項1記載の名刺画像処理装置。
【請求項13】
ラスタ画像受付部と、文字認識部と、属性値取得部と、名刺情報構成部と、名刺情報出力部とを具備する名刺画像処理方法であって、
前記ラスタ画像受付部が、名刺ラスタ画像を受け付けるラスタ画像受付ステップと、
前記文字認識部が、前記名刺ラスタ画像から2以上の文字列を取得する文字認識ステップと、
前記属性値取得部が、前記2以上の各文字列の1以上の文字属性値を取得する属性値取得ステップと、
前記名刺情報構成部が、前記2以上の各文字列と前記1以上の文字属性値とが対応付いた名刺情報を構成する名刺情報構成ステップと、
前記名刺情報出力部が、前記名刺情報を出力する名刺情報出力ステップとを具備する名刺画像処理方法。
【請求項14】
コンピュータを、
名刺ラスタ画像を受け付けるラスタ画像受付部と、
前記名刺ラスタ画像から2以上の文字列を取得する文字認識部と、
前記2以上の各文字列の1以上の文字属性値を取得する属性値取得部と、
前記2以上の各文字列と前記1以上の文字属性値とが対応付いた名刺情報を構成する名刺情報構成部と、
前記名刺情報を出力する名刺情報出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、名刺のラスタ画像を処理する名刺画像処理装置等に関するものである。
【背景技術】
【0002】
従来、ラスタ画像をベクター化する技術が存在した(例えば、特許文献1、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004-199671号公報
【特許文献2】特開平02-059870号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術においては、名刺ラスタ画像から適切な名刺ベクター画像等を得ることができなかった。
【課題を解決するための手段】
【0005】
本第一の発明の名刺画像処理装置は、名刺ラスタ画像を受け付けるラスタ画像受付部と、名刺ラスタ画像から2以上の文字列を取得する文字認識部と、2以上の各文字列の1以上の文字属性値を取得する属性値取得部と、2以上の各文字列と1以上の文字属性値とが対応付いた名刺情報を構成する名刺情報構成部と、名刺情報を出力する名刺情報出力部とを具備する名刺画像処理装置である。
【0006】
かかる構成により、名刺ラスタ画像から適切な名刺情報を得ることができる。
【0007】
また、本第二の発明の名刺画像処理装置は、第一の発明に対して、名刺情報構成部は、対応付いた2以上の各文字列と1以上の文字属性値とを含む名刺ベクター画像を構成し、名刺情報出力部は、名刺ベクター画像を出力する、名刺画像処理装置である。
【0008】
かかる構成により、名刺ラスタ画像から適切な名刺ベクター画像を得ることができる。
【0009】
また、本第三の発明の名刺画像処理装置は、第二の発明に対して、名刺情報出力部が出力した名刺ベクター画像に対する編集指示を受け付ける指示受付部と、編集指示に応じて、名刺ベクター画像を変更する編集部とをさらに具備する名刺画像処理装置である。
【0010】
かかる構成により、名刺ラスタ画像から得られた名刺ラスタ画像を編集できる。
【0011】
また、本第四の発明の名刺画像処理装置は、第一から第三いずれか1つの発明に対して、名刺ラスタ画像のサイズを示す画像サイズを取得し、画像サイズと紙の名刺の標準サイズとを用いて、2以上の各候補解像度のうち、画像サイズと標準サイズとが最も近似する候補解像度を名刺ラスタ画像の解像度として取得する解像度取得部をさらに具備する名刺画像処理装置である。
【0012】
かかる構成により、名刺ラスタ画像から解像度を得ることできる。
【0013】
また、本第五の発明の名刺画像処理装置は、第一から第四いずれか1つの発明に対して、文字認識部が取得した2以上の各文字列の項目識別子を取得する項目識別子取得部をさらに具備し、名刺情報構成部は、2以上の各文字列と項目識別子とを対応付いた名刺情報を構成する、名刺画像処理装置である。
【0014】
かかる構成により、名刺ラスタ画像の文字列の項目識別子を取得できる。
【0015】
また、本第六の発明の名刺画像処理装置は、第一から第五いずれか1つの発明に対して、属性値取得部は、2以上の各文字列の名刺ラスタ画像内での大きさを取得し、大きさを用いて、2以上の各文字列のフォントサイズを取得するフォントサイズ取得手段を具備する名刺画像処理装置である。
【0016】
かかる構成により、名刺ラスタ画像の文字列のフォントサイズを取得できる。
【0017】
また、本第七の発明の名刺画像処理装置は、第六の発明に対して、属性値取得部は、2以上の各文字列が、横書きであるか縦書きであるかを示すフラグ情報を取得し、フォントサイズ取得手段は、2以上の各文字列ごとに、文字列のフラグ情報に応じて、異なる処理を行い、フォントサイズを取得する名刺画像処理装置である。
【0018】
かかる構成により、名刺ラスタ画像の文字列のフォントサイズを、より制度高く取得できる。
【0019】
また、本第八の発明の名刺画像処理装置は、第一から第七いずれか1つの発明に対して、属性値取得部は、名刺ラスタ画像から2以上の各文字列に対応する文字画像を取得し、2以上の各文字画像と、文字画像を用いてフォント識別子を推定する学習器とを用いて、機械学習の予測処理を行い、2以上の各文字画像のフォント識別子を取得するフォント識別子取得手段を具備する名刺画像処理装置である。
【0020】
かかる構成により、名刺ラスタ画像の文字列のフォント識別子を取得できる。
【0021】
また、本第九の発明の名刺画像処理装置は、第八の発明に対して、フォント識別子取得手段は、名刺ラスタ画像から2以上の各文字列に対応する文字画像を取得し、2以上の各文字画像と、文字画像を用いてフォント形状識別子を推定する第一学習器とを用いて、2以上の各文字列のフォント形状識別子を取得し、かつ2以上の各文字画像と、文字画像を用いてフォントウェイト識別子を推定する第二学習器とを用いて、フォントウェイト識別子を取得する、請求項7載の名刺画像処理装置である。
【0022】
かかる構成により、名刺ラスタ画像の文字列のフォントの情報を取得できる。
【0023】
また、本第十の発明の名刺画像処理装置は、第一から第九いずれか1つの発明に対して、属性値取得部は、2以上の各文字列の位置情報を取得する位置取得手段と、属性値取得部が取得した位置情報を含む1以上の文字属性値を用いて、2以上の文字列を2以上のグループに分類し、2以上の各グループに属する2以上の文字列のフォント識別子とフォントサイズとを同じフォント識別子と同じフォントサイズとする正規化手段とを具備する名刺画像処理装置である。
【0024】
かかる構成により、名刺ラスタ画像の文字列のフォントの情報を適切に取得できる。
【0025】
また、本第十一の発明の名刺画像処理装置は、第一から第十いずれか1つの発明に対して、名刺ラスタ画像からロゴの領域を検出し、ロゴの領域のベクター画像であるロゴベクター画像を取得するロゴ画像取得部をさらに具備し、属性値取得部は、ロゴ画像の名刺ラスタ画像における位置を特定するロゴ位置情報を取得し、名刺情報構成部は、ロゴ画像とロゴ位置情報とを含む名刺情報を構成する、名刺画像処理装置である。
【0026】
かかる構成により、名刺ラスタ画像のロゴ画像を取得し、当該ログ画像を含む名刺情報を取得できる。
【0027】
また、本第十二の発明の名刺画像処理装置は、第一から第十一いずれか1つの発明に対して、名刺ラスタ画像から2以上の文字列を除く背景ベクター画像を取得する背景画像取得部と、名刺情報構成部は、背景ベクター画像を含む名刺情報を構成する、名刺画像処理装置である。
【0028】
かかる構成により、名刺ラスタ画像の背景画像を取得し、当該背景画像を含む名刺情報を取得できる。
【発明の効果】
【0029】
本発明による名刺画像処理装置によれば、名刺ラスタ画像から適切な名刺ベクター画像等を得ることができる。
【図面の簡単な説明】
【0030】
図1】実施の形態1における名刺画像処理装置Aのブロック図
図2】同名刺画像処理装置Aの動作例について説明するフローチャート
図3】同解像度取得処理の例について説明するフローチャート
図4】同属性値取得処理の例について説明するフローチャート
図5】同位置取得処理の例について説明するフローチャート
図6】同フォントサイズ取得処理の例について説明するフローチャート
図7】同グループ化処理の例について説明するフローチャート
図8】同正規化処理の例について説明するフローチャート
図9】同ロゴ画像取得処理の例について説明するフローチャート
図10】同背景画像取得処理の例について説明するフローチャート
図11】同名刺ラスタ画像の例を示す図
図12】同行画像の領域を示した名刺ラスタ画像の例を示す図
図13】同名刺ベクター画像の例を示す図
図14】同名刺ベクター画像のSVGファイルの例を示す図
図15】同対応表の例を示す図
図16】同コンピュータシステムの概観図
図17】同コンピュータシステムのブロック図
【発明を実施するための形態】
【0031】
以下、名刺画像処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0032】
(実施の形態1)
本実施の形態において、名刺ラスタ画像から2以上の文字列と各文字列の1以上の文字属性値(例えば、フォント識別子,フォントサイズ,色)とを取得し、文字列と文字属性値とを対応付けて蓄積する名刺画像処理装置について説明する。なお、名刺ラスタ画像とは、名刺が表出したラスタ画像である。名刺ラスタ画像は、例えば、名刺をスキャンしたラスタ画像、名刺を撮影したラスタ画像である。名刺ラスタ画像を構成するためにスキャン等の対象となる名刺は、通常、紙の名刺であるが、電子的な名刺の画像でも良い。
【0033】
また、本実施の形態において、名刺ラスタ画像から、文字列と1以上の文字属性値との2以上の組を含む名刺ベクター画像を取得し、出力する名刺画像処理装置について説明する。なお、名刺ベクター画像は、名刺のベクター画像である。ベクター画像は、例えば、SVGまたはAIの構造を有するが、他の構造でも良い。
【0034】
また、本実施の形態において、出力された名刺ベクター画像に対する編集が可能な名刺画像処理装置について説明する。
【0035】
また、本実施の形態において、名刺ラスタ画像の解像度を推定できる名刺画像処理装置について説明する。
【0036】
また、本実施の形態において、名刺ラスタ画像の2以上の各文字列の項目識別子を取得できる名刺画像処理装置について説明する。
【0037】
また、本実施の形態において、フォントサイズ、フォント等の1以上の文字属性値を適切に取得できる名刺画像処理装置について説明する。
【0038】
また、本実施の形態において、名刺ラスタ画像からロゴベクター画像を取得し、出力できる名刺画像処理装置について説明する。ロゴベクター画像は、名刺に表出されているロゴのベクター画像である。なお、名刺ラスタ画像から切り出したロゴのラスタ画像をロゴラスタ画像と言う。
【0039】
さらに、本実施の形態において、名刺ラスタ画像から背景ベクター画像を取得し、出力できる名刺画像処理装置について説明する。背景ベクター画像は、名刺の背景のベクター画像である。なお、名刺の背景のラスタ画像を背景ラスタ画像と言う。
【0040】
なお、本実施の形態において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
【0041】
図1は、本実施の形態における名刺画像処理装置Aのブロック図である。名刺画像処理装置Aは、格納部1、受付部2、処理部3、および出力部4を備える。受付部2は、指示受付部21、およびラスタ画像受付部22を備える。処理部3は、解像度取得部31、文字認識部32、項目識別子取得部33、属性値取得部34、ロゴ画像取得部35、背景画像取得部36、名刺情報構成部37、および編集部38を備える。属性値取得部34は、位置取得手段341、フォント識別子取得手段342、フォントサイズ取得手段343、および正規化手段344を備える。出力部4は、名刺情報出力部41を備える。
【0042】
格納部1には、各種の情報が格納される。各種の情報は、例えば、紙の名刺の1または2以上の標準サイズ、2以上の各候補解像度、2以上の候補ロゴ画像、後述する各種の条件である。各種の条件は、例えば、後述するサイズ条件、後述するグループ条件である。
【0043】
標準サイズは、例えば、標準的な名刺の長辺の長さであり、例えば、「8.5cm」である。標準サイズは、例えば、標準的な名刺の長辺と短辺の長さの情報であり、例えば、「91mm×55mm」である。標準サイズは、例えば、標準的な名刺の短辺の長さでも良い。
【0044】
候補解像度は、名刺ラスタ画像の解像度の候補となる値である。2以上の各候補解像度は、例えば、「72,150,300,400,600(単位は、DPI)」である。
【0045】
候補ロゴ画像は、名刺ラスタ画像に表出しているロゴの候補となる画像である。候補ロゴ画像は、通常、ラスタ画像である。
【0046】
受付部2は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、後述する編集指示、名刺ラスタ画像、名刺ラスタ画像の解像度である。
【0047】
ここでは、受け付けとは、例えば、有線もしくは無線の通信回線を介して送信された情報の受信であるが、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付け、何らかの処理が行われた情報の受け付け等を含む概念であっても良い。
【0048】
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部2は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0049】
指示受付部21は、各種の指示を受け付ける。指示受付部21は、例えば、名刺情報出力部41が出力した名刺ベクター画像に対する編集指示を受け付ける。編集指示の内容は問わない。編集指示は、例えば、名刺ベクター画像が有する文字列を修正する指示、名刺ベクター画像に文字列を付加する指示、名刺ベクター画像の文字列を削除する指示である。
【0050】
ラスタ画像受付部22は、名刺ラスタ画像を受け付ける。ラスタ画像受付部22は、名刺画像の領域と名刺以外の領域とを有するラスタ画像を受け付け、当該ラスタ画像から名刺画像の領域を切り出しても良い。なお、かかる切り出した名刺画像も名刺ラスタ画像である。
【0051】
処理部3は、各種の処理を行う。各種の処理は、例えば、解像度取得部31、文字認識部32、項目識別子取得部33、属性値取得部34、ロゴ画像取得部35、背景画像取得部36、名刺情報構成部37、編集部38が行う処理である。
【0052】
解像度取得部31は、名刺ラスタ画像の解像度を取得する。解像度取得部31は、例えば、受付部2が受け付けた解像度を取得する。
【0053】
解像度取得部31は、例えば、以下のように、名刺ラスタ画像を用いて、当該名刺ラスタ画像の解像度を取得する。解像度取得部31は、例えば、名刺ラスタ画像のサイズを示す画像サイズを取得する。なお、画像サイズは、名刺ラスタ画像の長辺のサイズ(画素数)、短辺のサイズ(画素数)のうちの1以上の情報である。次に、解像度取得部31は、当該画像サイズと紙の名刺の標準サイズ(例えば、長辺「8.5cm」)とを用いて、2以上の各候補解像度のうち、画像サイズと標準サイズとが最も近似する候補解像度を決定する。次に、解像度取得部31は、当該候補解像度を名刺ラスタ画像の解像度として取得する。なお、候補解像度、標準サイズは、与えられている値であり、例えば、格納部1に格納されている。解像度取得部31は、例えば、受付部2が受け付けても良い。
【0054】
文字認識部32は、ラスタ画像受付部22が受け付けた名刺ラスタ画像から2以上の文字列を取得する。文字認識部32は、通常、公知の文字認識処理により、名刺ラスタ画像から2以上の文字列を取得する。文字認識部32は、名刺ラスタ画像から、例えば、同じ行(同じ高さ)の文字列であり、連続する文字の集合を、一の文字列として取得する。
【0055】
文字認識部32は、例えば、名刺ラスタ画像から2以上の行画像を取得する。なお、行画像は、文字列を含む行の画像(矩形の画像)である。次に、文字認識部32は、例えば、2以上の各行画像に対して文字認識処理を行い、文字列を取得する。
【0056】
項目識別子取得部33は、文字認識部32が取得した2以上の各文字列の項目識別子を取得する。項目識別子とは、文字列の種類を示す情報であり、例えば、氏名(姓、名)、会社名、住所、部署、役職、電話、携帯、ファックス、Email、URLである。
【0057】
項目識別子取得部33は、例えば、文字認識部32が取得した2以上の各行画像ごとに、行画像を公知のモジュール(例えば、「paddleOCR」)に与え、当該モジュールを実行することにより、当該行画像に対応する項目識別子を取得する。
【0058】
項目識別子取得部33は、例えば、公知のクラス分類技術を使用して、2以上の各文字列の項目識別子を取得する。なお、文字列をクラスに分類するクラス分類技術は、公知技術であり、例えば、機械学習のアルゴリズムが使用可能である。
【0059】
属性値取得部34は、2以上の各文字列の1以上の文字属性値を取得する。文字属性値は、文字列の属性値である。文字属性値は、例えば、後述する位置情報、フラグ情報、後述するフォント識別子、フォントサイズ、フォントの色、ロゴ位置情報である。なお、フラグ情報とは、文字列が横書きであるか、縦書きであるかを示す情報である。フラグ情報は、例えば、横書き「1」または縦書き「2」を採り得る。また、フォント識別子は、フォントを識別する情報であり、例えば、フォント名、フォントのIDである。フォント識別子は、例えば、「明朝体」「ゴシック体」である。フォント識別子は、フォント形状識別子とフォントウェイト識別子でも良い。フォント形状識別子は、フォントの形状を識別する情報であり、例えば、フォントの形状名、フォントの形状のIDである。フォント形状識別子は、例えば、「明朝体」「ゴシック体」である。フォントウェイト識別子は、フォントの太さを特定する情報であり、例えば、フォントのウェイトの名称、フォントのウェイトのIDである。フォントウェイト識別子は、例えば、「Bold」である。
【0060】
属性値取得部34は、ロゴベクター画像のロゴ位置情報を取得する。ロゴ位置情報は、名刺ベクター画像におけるロゴベクター画像の相対的な位置を特定する情報であり、例えば、ロゴベクター画像の輪郭を特定する2以上の座標値(x,y)である。
【0061】
属性値取得部34は、例えば、名刺ラスタ画像から文字列のみの領域以外で、背景の画素値に対して異なる画素値を有する領域をロゴラスタ画像として抽出する。次に、当該ロゴラスタ画像の位置情報であるロゴラスタ位置情報を取得する。ロゴラスタ位置情報は、例えば、名刺ベクター画像の左上の画素からロゴベクター画像の左上の画素までの縦とよこの画素数である。次に、属性値取得部34は、ロゴラスタ画像の解像度を取得する。次に、属性値取得部34は、当該ロゴラスタ位置情報(例えば、(Wドット,Hドット))と当該解像度(D[dot/inch])とを用いて、ロゴベクター画像の名刺ベクター画像におけるロゴ位置情報(W/D[inch],H/D[inch])を取得する。
【0062】
位置取得手段341は、2以上の各文字列の位置情報を取得する。位置情報は、名刺ベクター画像における文字列の相対的な位置を特定する情報である。位置情報は、例えば、文字列の領域である矩形の左上座標と右下座標である。
【0063】
位置取得手段341は、行画像の開始位置(例えば、矩形の行画像の左上の画素の位置)までの横と縦の画素数(W,H)を取得する。なお、横と縦の画素数は、例えば、名刺ラスタ画像の左上の画素から、行画像の開始位置の画素までの縦と横の画素数である。また、位置取得手段341は、例えば、解像度取得部31が取得した解像度(D[dot/inch])を取得する。また、位置取得手段341は、例えば、位置取得手段341は、取得した横と縦の画素数(W,H)と解像度とを用いて、文字列の位置情報(x,y)を取得する。なお、「x=W/D,y=H/D」である。また、位置情報は、文字列の開始(例えば、左上)の座標値である。
【0064】
フォント識別子取得手段342は、名刺ラスタ画像から2以上の各文字列に対応する文字画像を取得し、当該2以上の各文字画像と学習器とを用いて、機械学習の予測処理を行い、2以上の各文字画像のフォント識別子を取得する。なお、文字画像は、通常、一の文字の画像であるが、2以上の文字の画像でも良い。また、文字列に対応する文字画像は、通常、行画像を構成する文字画像である。
【0065】
また、学習器は、文字画像を用いてフォント識別子を推定する情報であり、通常、格納部1に格納されている。学習器は、文字画像を説明変数としフォント識別子を目的変数とする2以上の教師データを用いて、機械学習の学習処理により取得された情報である。学習器は、予測器、分類器、学習モデル、モデル等と言っても良い。学習器は、後述する第一学習器と後述する第二学習器でも良い。
【0066】
また、機械学習における学習処理、予測処理のアルゴリズムは、問わない。機械学習のアルゴリズムとして、例えば、深層学習、ランダムフォレスト、決定木、SVM等が利用可能である。また、機械学習のモジュールとして、例えば、TensorFlowのライブラリ、R言語のライブラリ、TinySVM等が利用可能である。
【0067】
フォント識別子取得手段342は、名刺ラスタ画像から2以上の各文字列に対応する文字画像を取得し、当該文字画像のフォント形状識別子とフォントウェイト識別子とを取得しても良い。
【0068】
フォント識別子取得手段342は、例えば、名刺ラスタ画像から2以上の各文字列の領域に対応する文字画像を取得する。次に、フォント識別子取得手段342は、例えば、当該文字画像と第一学習器とを用いて、2以上の各文字列のフォント形状識別子を取得する。また、フォント識別子取得手段342は、例えば、当該文字画像と第二学習器とを用いて、フォントウェイト識別子を取得する。
【0069】
なお、第一学習器は、文字画像を用いてフォント形状識別子を推定する学習器である。第一学習器は、文字画像を説明変数としフォント形状識別子を目的変数とする2以上の教師データを用いて、機械学習の学習処理により取得された情報である。
【0070】
第二学習器は、文字画像を用いてフォントウェイト識別子を推定する学習器である。第二学習器は、文字画像を説明変数としフォントウェイト識別子を目的変数とする2以上の教師データを用いて、機械学習の学習処理により取得された情報である。
【0071】
フォントサイズ取得手段343は、2以上の各文字列の名刺ラスタ画像内での大きさを取得し、当該大きさを用いて、2以上の各文字列のフォントサイズを取得する。
【0072】
具体的には、フォントサイズ取得手段343は、2以上の各文字列の名刺ラスタ画像内での大きさと、解像度取得部31が取得した解像度とを用いて、2以上の各文字列のフォントサイズを取得する。
【0073】
さらに具体的には、フォントサイズ取得手段343は、例えば、行画像ごとに、行画像の高さである第一高さを取得する。フォントサイズ取得手段343は、当該第一高さをフォントサイズとする文字をレンダリングし、文字画像を取得する。次に、フォントサイズ取得手段343は、当該文字画像の高さである第二高さを取得する。次に、フォントサイズ取得手段343は、第一高さと第二高さとの比を取得する。次に、フォントサイズ取得手段343は、第一高さである最初のフォントサイズと当該比とを乗算し、最終的なフォントサイズを取得する。
【0074】
一の文字列に対して、属性値取得部34が取得したフラグ情報が「横書き」である場合と、「縦書き」である場合とで、フォントサイズ取得手段343は、異なる方法で、当該一の文字列のフォントサイズを取得する。異なる方法は、例えば、以下の(1)または(2)である。
(1)縦書きの場合に、前処理を行う場合
【0075】
属性値取得部34が取得したフラグ情報が「縦書き」である場合、フォントサイズ取得手段343は、例えば、当該フラグ情報「縦書き」に対応する一の縦長の画像を90度回転し(縦長の画像の位置情報を変更し)、行画像を得る。次に、フォントサイズ取得手段343は、例えば、当該行画像の高さである第一高さを取得する。フォントサイズ取得手段343は、当該第一高さをフォントサイズとする文字をレンダリングし、文字画像を取得する。次に、フォントサイズ取得手段343は、当該文字画像の高さである第二高さを取得する。次に、フォントサイズ取得手段343は、第一高さと第二高さとの比を取得する。次に、フォントサイズ取得手段343は、第一高さである最初のフォントサイズと当該比とを乗算し、最終的なフォントサイズを取得する。
(2)取得する長さが「高さ」の場合と「幅」の場合
【0076】
属性値取得部34が取得したフラグ情報が「縦書き」である場合、フォントサイズ取得手段343は、例えば、当該フラグ情報「縦書き」に対応する一の縦長の画像である列画像の幅である第一幅を取得する。フォントサイズ取得手段343は、当該第一幅をフォントサイズとする文字をレンダリングし、文字画像を取得する。次に、フォントサイズ取得手段343は、当該文字画像の幅である第二幅さを取得する。次に、フォントサイズ取得手段343は、第一幅と第二幅との比を取得する。次に、フォントサイズ取得手段343は、第一幅である最初のフォントサイズと当該比とを乗算し、最終的なフォントサイズを取得する。
【0077】
正規化手段344は、属性値取得部34が取得した位置情報を含む1以上の文字属性値を用いて、2以上の文字列を2以上のグループに分類する。次に、正規化手段344は、当該2以上の各グループに属する2以上の文字列のフォント識別子とフォントサイズとを同じフォント識別子と同じフォントサイズとする。
【0078】
正規化手段344は、例えば、2つの文字列のフォントサイズの差異が閾値以内または閾値より小さく、2つの文字列の位置情報の差異(距離)が閾値以内または閾値より小さく、2以上の文字列の項目識別子が「姓」と「名」である場合、当該2つの文字列を同じグループとする。正規化手段344は、例えば、2以上の文字列のフォントサイズの差異が閾値以内または閾値より小さく、2以上の文字列の位置情報の差異(距離)が閾値以内または閾値より小さく、2以上の文字列の項目識別子が同じ(例えば、「住所」「電話」「携帯」「ファックス」「email」「url」)である場合、当該2以上の文字列を同じグループとする。
【0079】
また、正規化手段344は、同じグループに属する2以上の文字列の位置を調整する。なお、調整は正規化と言っても良い。位置を調整することは、例えば、2以上の文字列の位置情報が有する高さ(Y軸方向の値)を同じ値とすることである。位置を調整することは、例えば、2以上の文字列であり、同じ行の文字列の位置情報が有する高さ(Y軸方向の値)を同じ値とすることである。位置を調整することは、例えば、2以上の文字列の位置情報が有する横の位置(X軸方向の値)を同じ値とすることである。
【0080】
ロゴ画像取得部35は、名刺ラスタ画像からロゴの領域を検出し、当該ロゴの領域のベクター画像であるロゴベクター画像を取得する。ロゴ画像取得部35は、例えば、名刺ラスタ画像からロゴの領域を検出し、当該領域の画像であるロゴラスタ画像を切り出す。次に、ロゴ画像取得部35は、例えば、当該ロゴラスタ画像をベクター画像(ロゴベクター画像と言う)に変換する。なお、単純にラスタ画像をベクター画像に変換する処理は公知技術である。
【0081】
ロゴ画像取得部35は、例えば、格納部1の1以上の候補ロゴ画像を用いて、ロゴ画像を取得する。ロゴ画像取得部35は、例えば、格納部1の1以上の各候補ロゴ画像を拡大または縮小することにより、各候補ロゴ画像から2以上の各サイズの候補ロゴ画像を取得し、2以上の各候補ロゴ画像と、属性値取得部34が取得したロゴ位置情報に対応する領域の画像との類似度が最大の候補ロゴ画像を取得し、当該候補ロゴ画像をベクター画像に変換する。
【0082】
ロゴ画像取得部35、または正規化手段344は、ロゴ画像取得部35が取得したロゴベクター画像の領域に重なる位置に存在する文字列であり、文字認識部32が取得した文字列を、名刺ベクター画像に含まれないように削除することは好適である。
【0083】
背景画像取得部36は、名刺ラスタ画像から2以上の文字列を除く背景ラスタ画像を取得する。なお、背景ラスタ画像は、背景のラスタ画像である。背景画像取得部36は、例えば、例えば、名刺ラスタ画像から2以上の文字列の領域、ロゴ画像の領域を除き、除かれた領域の中の各画素値を当該領域の周辺の画素値にした画像である背景ラスタ画像を取得する。次に、背景画像取得部36は、当該背景ラスタ画像をベクター画像に変換し、背景ベクター画像を取得する。
【0084】
名刺情報構成部37は、2以上の各文字列と1以上の文字属性値とが対応付いた名刺情報を構成する。名刺情報とは、名刺に関する情報である。名刺情報は、例えば、文字列と1以上の文字属性値との2以上の組である。名刺情報は、例えば、文字列と1以上の文字属性値とを有する2以上のレコードを有する表である。名刺情報は、例えば、名刺ラスタ画像から取得された名刺ベクター画像である。
【0085】
名刺情報構成部37は、例えば、対応付いた2以上の各文字列と1以上の文字属性値とを含む名刺ベクター画像を構成する。名刺ベクター画像は、例えば、SVGのファイルである。
【0086】
名刺情報構成部37は、例えば、対応付いた2以上の各文字列と1以上の文字属性値と1以上のロゴベクター画像とを含む名刺ベクター画像を構成する。
【0087】
名刺情報構成部37は、例えば、対応付いた2以上の各文字列と1以上の文字属性値と背景ベクター画像とを含む名刺ベクター画像を構成する。
【0088】
名刺情報構成部37は、例えば、対応付いた2以上の各文字列と1以上の文字属性値と1以上のロゴベクター画像と背景ベクター画像とを含む名刺ベクター画像を構成する。
【0089】
名刺情報構成部37は、2以上の各文字列と項目識別子とを対応付いた名刺情報を構成する。
【0090】
名刺情報構成部37は、例えば、ロゴ画像取得部35が取得したロゴ画像とロゴ位置情報とを含む名刺情報を構成する。
【0091】
名刺情報構成部37は、例えば、取得されたロゴベクター画像からロゴの1以上の特徴点を取得し、当該特徴点がマッチするところであり、名刺ベクター画像の中に、当該ロゴベクター画像を、配置しても良い。また、名刺情報構成部37は、属性値取得部34が取得したロゴ位置情報が特定する位置であり、名刺ベクター画像の中に、取得されたロゴベクター画像を配置しても良い。なお、特徴点は、例えば、ロゴベクター画像の端点、ロゴベクター画像の重心、ロゴベクター画像の画素の中で隣接する画素の画素値とは閾値以上の差異を有する画素値に対応する画素である。
【0092】
編集部38は、編集指示に応じて、名刺ベクター画像を変更する。編集指示に応じて、名刺ベクター画像を変更する処理は公知技術であるので、詳細な説明を省略する。
【0093】
出力部4は、各種の情報を出力する。各種の情報は、例えば、名刺情報、名刺ベクター画像である。
【0094】
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0095】
名刺情報出力部41は、名刺情報構成部37が取得した名刺情報を出力する。名刺情報出力部41は、例えば、名刺情報構成部37が取得した名刺ベクター画像を出力する。名刺情報出力部41は、例えば、2以上の各文字列と項目識別子とを対応付いた名刺情報を出力する。
【0096】
格納部1は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0097】
格納部1に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部1で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部1で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部1で記憶されるようになってもよい。
【0098】
受付部2、指示受付部21、およびラスタ画像受付部22は、無線または有線の通信手段で実現されることが好適であるが、放送を受信する手段、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されても良い。
【0099】
処理部3、解像度取得部31、文字認識部32、項目識別子取得部33、属性値取得部34、ロゴ画像取得部35、背景画像取得部36、名刺情報構成部37、編集部38、位置取得手段341、フォント識別子取得手段342、フォントサイズ取得手段343、および正規化手段344は、通常、プロセッサやメモリ等から実現され得る。処理部3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0100】
出力部4、および名刺情報出力部41は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部4等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0101】
次に、名刺画像処理装置Aの動作例について、図2のフローチャートを用いて説明する。
【0102】
(ステップS201)ラスタ画像受付部22は、名刺の領域を含むラスタ画像を受け付けたか否かを判断する。ラスタ画像を受け付けた場合はステップS202に行き、ラスタ画像を受け付けなかった場合はステップS201に戻る。
【0103】
(ステップS202)ラスタ画像受付部22は、ステップS201で受け付けられたラスタ画像から名刺の領域を切り出し、名刺ラスタ画像を取得する。なお、名刺ラスタ画像は、ステップS201で受け付けられたラスタ画像でも良い。かかる場合、名刺の領域を切り出す処理は不要である。
【0104】
(ステップS203)解像度取得部31は、ステップS202で取得された名刺ラスタ画像の解像度を取得する処理を行う。かかる解像度取得処理の例について、図3のフローチャートを用いて説明する。
【0105】
(ステップS204)文字認識部32は、ステップS202で取得された名刺ラスタ画像から2以上の行画像を取得する。なお、行画像は、文字列を含む行の画像(矩形の画像)である。なお、ラスタ画像から文字列の領域である行画像を取得する処理は公知技術である。
【0106】
(ステップS205)処理部3は、カウンタiに1を代入する。
【0107】
(ステップS206)処理部3は、ステップS204で取得された行画像の中で、i番目の行画像が存在するか否かを判断する。i番目の行画像が存在する場合はステップS207に行き、存在しない場合はステップS211に行く。
【0108】
(ステップS207)項目識別子取得部33は、i番目の行画像を用いて、i番目の行画像の項目識別子を取得する。
【0109】
(ステップS208)文字認識部32は、i番目の行画像に対して文字認識処理を行い、文字列を取得する。
【0110】
(ステップS209)属性値取得部34は、i番目の行画像に対する文字列の1以上の文字属性値を取得する。かかる文字属性値を取得する処理(「属性値取得処理」と言う。)の例について、図4のフローチャートを用いて説明する。
【0111】
(ステップS210)処理部3は、カウンタiを1、インクリメントする。ステップS206に戻る。
【0112】
(ステップS211)正規化手段344は、ステップS208で取得された2以上の文字列をグループ化する処理を行う。かかるグループ化処理の例について、図7のフローチャートを用いて説明する。
【0113】
(ステップS212)正規化手段344は、ステップS211でグループ化した文字列に対して、正規化処理を行う。正規化処理の例について、図8のフローチャートを用いて説明する。
【0114】
(ステップS213)ロゴ画像取得部35は、ロゴ画像取得処理を行う。ロゴ画像取得処理の例について、図9のフローチャートを用いて説明する。なお、ロゴ画像取得処理は、ロゴベクター画像を取得する処理である。
【0115】
(ステップS214)背景画像取得部36は、背景画像取得処理を行う。背景画像取得処理の例について、図10のフローチャートを用いて説明する。なお、背景画像取得処理は、背景ベクター画像を取得する処理である。
【0116】
(ステップS215)名刺情報構成部37は、ステップS208で取得された文字列、各文字列の1以上の文字属性値、ステップS213で取得されたロゴベクター画像等を用いて、名刺ベクター画像を構成する。
【0117】
(ステップS216)名刺情報出力部41は、ステップS215で構成された名刺ベクター画像を出力する。ステップS201に戻る。
【0118】
なお、図2のフローチャートにおいて、ステップS214の処理は行わなくても良い。かかる場合、名刺ベクター画像は、背景画像を有さない。
【0119】
さらに、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0120】
次に、ステップS203の解像度取得処理の例について、図3のフローチャートを用いて説明する。
【0121】
(ステップS301)解像度取得部31は、名刺ラスタ画像の長辺の画素数を取得する。
【0122】
(ステップS302)解像度取得部31は、格納部1から標準サイズを取得する。
【0123】
(ステップS303)解像度取得部31は、カウンタiに1を代入する。
【0124】
(ステップS304)解像度取得部31は、格納部1にi番目の候補解像度が存在するか否かを判断する。i番目の候補解像度が存在する場合はステップS305に行き、存在しない場合はステップS309に行く。
【0125】
(ステップS305)解像度取得部31は、格納部1からi番目の候補解像度を取得する。解像度取得部31は、i番目の候補解像度とステップS301で取得した長辺の画素数とを用いて、長辺のサイズ(例えば、インチ)を取得する。解像度取得部31は、例えば、演算式「長辺の画素数/解像度」により長辺のサイズを取得する。
【0126】
(ステップS306)解像度取得部31は、ステップS302で取得した標準サイズとステップS305で取得した長辺のサイズとの差を取得する。解像度取得部31は、当該差がサイズ条件を満たすか否かを判断する。サイズ条件を満たす場合はステップS307に行き、満たさない場合はステップS308に行く。なお、サイズ条件は、差が小さいことである。サイズ条件は、例えば、差が閾値以下、または差が閾値より小さいことである。
【0127】
(ステップS307)解像度取得部31は、i番目の候補解像度を、名刺ラスタ画像の解像度として、図示しないバッファに一時蓄積する。上位処理にリターンする。
【0128】
(ステップS308)解像度取得部31は、カウンタiを1、インクリメントする。ステップS304に戻る。
【0129】
(ステップS309)解像度取得部31は、ステップS306で取得した差のうちの最小の差に対応する候補解像度を、名刺ラスタ画像の解像度として、図示しないバッファに一時蓄積する。上位処理にリターンする。
【0130】
次に、ステップS209の属性値取得処理の例について、図4のフローチャートを用いて説明する。
【0131】
(ステップS401)位置取得手段341は、着目する文字列の位置情報を取得する。かかる位置取得処理の例について、図5のフローチャートを用いて説明する。なお、かかる位置情報は、名刺ベクター画像における文字列の位置を特定する情報である。
【0132】
(ステップS402)フォント識別子取得手段342は、着目する行画像が有する文字画像を取得する。
【0133】
(ステップS403)フォント識別子取得手段342は、ステップS402で取得した文字画像と格納部1の学習器とを、機械学習の予測処理のモジュールに与え、当該モジュールを実行し、フォント識別子を取得する。
【0134】
(ステップS404)フォントサイズ取得手段343は、着目する文字列の着目する文字列のフォントサイズを取得する。上位処理にリターンする。かかるフォントサイズ取得処理の例について、図6のフローチャートを用いて説明する。
【0135】
次に、ステップS401の位置取得処理の例について、図5のフローチャートを用いて説明する。
【0136】
(ステップS501)位置取得手段341は、名刺ラスタ画像の左上の画素から、行画像の開始位置(例えば、矩形の行画像の左上の画素の位置)までの横と縦の画素数(W,H)を取得する。
【0137】
(ステップS502)位置取得手段341は、ステップS203で取得された解像度を取得する。
【0138】
(ステップS503)位置取得手段341は、ステップS501で取得した横と縦の画素数(W,H)と解像度とを用いて、文字列の開始の位置情報(x,y)を取得する。上位処理にリターンする。なお、ここでの位置情報(x,y)は、例えば、名刺ベクター画像における文字列の左上の座標値である。
【0139】
次に、ステップS404のフォントサイズ取得処理の例について、図6のフローチャートを用いて説明する。
【0140】
(ステップS601)フォントサイズ取得手段343は、行画像の高さである第一高さを取得する。
【0141】
(ステップS602)フォントサイズ取得手段343は、第一高さをフォントサイズとする文字をレンダリングし、文字画像を取得する。なお、文字は問わない。
【0142】
(ステップS603)フォントサイズ取得手段343は、ステップS602における文字画像の高さである第二高さを取得する。
【0143】
(ステップS604)フォントサイズ取得手段343は、ステップS601で取得した第一高さとステップS603で取得した第二高さとの比を取得する。
【0144】
(ステップS605)フォントサイズ取得手段343は、ステップS602で取得したフォントサイズとステップS604で取得した比とを乗算し、最終的なフォントサイズを取得する。上位処理にリターンする。
【0145】
次に、ステップS211のグループ化処理の例について、図7のフローチャートを用いて説明する。
【0146】
(ステップS701)正規化手段344は、初期化する。初期化は、ここでは、カウンタiに1を代入すること、およびカウンタkに1を代入することである。
【0147】
(ステップS702)正規化手段344は、i番目の文字列が存在するか否かを判断する。i番目の文字列が存在する場合はステップS703に行き、存在しない場合は上位処理にリターンする。
【0148】
(ステップS703)正規化手段344は、i番目の文字列が、既にいずれかのグループに属しているか否かを判断する。いずれかのグループに属している場合はステップS714に行き、いずれかのグループに属していない場合はステップS704に行く。
【0149】
(ステップS704)正規化手段344は、i番目の文字列を取得し、k番目のグループとする。なお、k番目のグループとすることは、例えば、i番目の文字列に、k番目のグループ識別子を対応付けることである。
【0150】
(ステップS705)正規化手段344は、i番目の文字列の1以上の文字属性値(例えば、項目識別子、フォント識別子、フォントサイズ等)を取得する。
【0151】
(ステップS706)正規化手段344は、カウンタjにi+1を代入する。
【0152】
(ステップS707)正規化手段344は、j番目の文字列が存在するか否かを判断する。j番目の文字列が存在する場合はステップS708に行き、存在しない場合はステップS713に行く。
【0153】
(ステップS708)正規化手段344は、j番目の文字列のグループが未決定であるか否かを判断する。未決定であればステップS709に行き、決定されていればステップS712に行く。
【0154】
(ステップS709)正規化手段344は、j番目の文字列の1以上の文字属性値を取得する。
【0155】
(ステップS710)正規化手段344は、ステップS704で取得した1以上の文字属性値と、ステップS708で取得した1以上の文字属性値とが、グループ条件を満たすか否かを判断する。グループ条件を満たす場合はステップS711に行き、グループ条件を満たさない場合はステップS712に行く。
【0156】
なお、グループ条件は、例えば、「2つの文字列のフォント識別子が同じ AND 2つの文字列のフォントサイズが同じ AND (2つの文字列の項目識別子が同じ OR 2つの文字列の各項目識別子が「姓」と「名」)」である。
【0157】
(ステップS711)正規化手段344は、j番目の文字列をk番目のグループとする。
【0158】
(ステップS712)正規化手段344は、カウンタjを1、インクリメントする。ステップS707に戻る。
【0159】
(ステップS713)正規化手段344は、カウンタkを1、インクリメントする。
【0160】
(ステップS714)正規化手段344は、カウンタiを1、インクリメントする。ステップS702に戻る。
【0161】
次に、ステップS212の正規化処理の例について、図8のフローチャートを用いて説明する。
【0162】
(ステップS801)正規化手段344は、カウンタiに1を代入する。
【0163】
(ステップS802)正規化手段344は、i番目のグループが存在するか否かを判断する。i番目のグループが存在する場合はステップS803に行き、存在しない場合は上位処理にリターンする。
【0164】
(ステップS803)正規化手段344は、i番目のグループに属する2以上の各文字列のフォント識別子を取得する。
【0165】
(ステップS804)正規化手段344は、ステップS803で取得した2以上の各文字列のフォント識別子が異なるか否かを判断する。フォント識別子が異なる場合はステップS805に行き、すべてのフォント識別子が同じ場合はステップS807に行く。
【0166】
(ステップS805)正規化手段344は、ステップS803で取得した2以上の各文字列のフォント識別子を用いて、統一するフォント識別子を決定する。なお、正規化手段344は、例えば、多数決により、最も多いフォント識別子を統一するフォント識別子として決定する。正規化手段344は、例えば、最も文字数が多い(最も行画像のサイズが大きい)文字列のフォント識別子を統一するフォント識別子として決定する。なお、統一するフォント識別子を決定するアルゴリズムは問わない。
【0167】
(ステップS806)正規化手段344は、ステップS803で取得した2以上のすべての文字列のフォント識別子を、ステップS805で取得した統一するフォント識別子にする。
【0168】
(ステップS807)正規化手段344は、i番目のグループに属する2以上の各文字列のフォントサイズを取得する。
【0169】
(ステップS808)正規化手段344は、ステップS807で取得した2以上の各文字列のフォントサイズが異なるか否かを判断する。フォントサイズが異なる場合はステップS809に行き、すべてのフォントサイズが同じ場合はステップS811に行く。
【0170】
(ステップS809)正規化手段344は、ステップS808で取得した2以上の各文字列のフォントサイズを用いて、統一するフォントサイズを決定する。なお、正規化手段344は、例えば、多数決により、最も多いフォントサイズを統一するフォントサイズとして決定する。正規化手段344は、例えば、最も文字数が多い(最も行画像のサイズが大きい)文字列のフォントサイズを統一するフォントサイズとして決定する。正規化手段344は、例えば、ステップS808で取得した2以上の各文字列のフォントサイズの中に含まれるフォントサイズであり、文字列の項目識別子に対応する標準フォントサイズを統一するフォントサイズとして決定する。なお、統一するフォントサイズを決定するアルゴリズムは問わない。
【0171】
(ステップS810)正規化手段344は、ステップS807で取得した2以上のすべての文字列のフォントサイズを、ステップS809で取得した統一するフォントサイズにする。
【0172】
(ステップS811)正規化手段344は、i番目のグループに属する2以上の各文字列の項目識別子を取得する。
【0173】
(ステップS812)正規化手段344は、ステップS811で取得した項目識別子が、横に整列するべき項目の項目識別子であるか否かを判断する。横に整列するべき項目の項目識別子である場合はステップS813に行き、そうでない場合はステップS817に行く。なお、横に整列するべき項目の項目識別子は、例えば、格納部1に格納されており、例えば、「姓」と「名」である。
【0174】
(ステップS813)正規化手段344は、i番目のグループに属する2以上の各文字列の位置情報が有する高さ(y)を取得する。
【0175】
(ステップS814)正規化手段344は、ステップS813で取得した2以上の高さ(y)が異なるか、すべて同じかを判断する。異なる場合はステップS815に行き、すべて同じ場合はステップS817に行く。
【0176】
(ステップS815)正規化手段344は、ステップS813で取得した2以上の高さ(y)を用いて、統一する高さ(y)を決定する。なお、正規化手段344は、例えば、統一する高さを多数決で決定する。正規化手段344は、例えば、2以上の高さの平均値を統一する高さとする。正規化手段344は、例えば、2以上の高さの中央値を統一する高さとする。なお、統一する高さを決定するアルゴリズムは問わない。
【0177】
(ステップS816)正規化手段344は、ステップS803で取得した2以上のすべての文字列の高さ(y)を、ステップS815で取得した統一する高さにする。
【0178】
(ステップS817)正規化手段344は、ステップS811で取得した項目識別子が、縦に整列するべき項目の項目識別子であるか否かを判断する。縦に整列するべき項目の項目識別子である場合はステップS818に行き、そうでない場合はステップS822に行く。なお、縦に整列するべき項目の項目識別子は、例えば、格納部1に格納されており、例えば、「URL」である。
【0179】
(ステップS818)正規化手段344は、i番目のグループに属する2以上の各文字列の位置情報が有する横方向の位置(x)を取得する。
【0180】
(ステップS819)正規化手段344は、ステップS818で取得した2以上の横方向の位置(x)が異なるか、すべて同じかを判断する。異なる場合はステップS820に行き、すべて同じ場合はステップS822に行く。
【0181】
(ステップS820)正規化手段344は、ステップS813で取得した2以上の横方向の位置(x)を用いて、統一する横方向の位置(x)を決定する。なお、正規化手段344は、例えば、統一する横方向の位置(x)を多数決で決定する。正規化手段344は、例えば、2以上の横方向の位置(x)の平均値を統一する横方向の位置とする。正規化手段344は、例えば、2以上の横方向の位置(x)の中央値を統一する横方向の位置とする。なお、統一する横方向の位置を決定するアルゴリズムは問わない。
【0182】
(ステップS821)正規化手段344は、ステップS803で取得した2以上のすべての文字列の横方向の位置(x)を、ステップS820で取得した統一する横方向の位置(x)にする。
【0183】
(ステップS822)正規化手段344は、カウンタiを1、インクリメントする。ステップS802に戻る。
【0184】
次に、ステップS213のロゴ画像取得処理の例について、図9のフローチャートを用いて説明する。
【0185】
(ステップS901)ロゴ画像取得部35は、名刺ラスタ画像からロゴラスタ画像の領域を検出する。かかる領域は、行画像の領域ではなく、かつ背景画像ではない領域である。ロゴラスタ画像の領域を検出する処理は公知技術である。
【0186】
(ステップS902)ロゴ画像取得部35は、名刺ラスタ画像からロゴラスタ画像を切り出す。
【0187】
(ステップS903)ロゴ画像取得部35は、名刺ラスタ画像の左上位置の画素から、ステップS902で取得したロゴラスタ画像の左上位置の画素までの横と縦の画素数(W1,H1)を取得する。
【0188】
(ステップS904)ロゴ画像取得部35は、名刺ラスタ画像の左上位置の画素から、ステップS902で取得したロゴラスタ画像の右下位置の画素までの横と縦の画素数(W2,H2)を取得する。
【0189】
(ステップS905)ロゴ画像取得部35は、名刺ラスタ画像の解像度を取得する。
【0190】
(ステップS906)ロゴ画像取得部35は、ステップS903で取得した縦と横の画素数(W1,H1)と、ステップS905で取得した解像度とを用いて、ロゴの左上座標値(x1,y1)を取得する。ロゴ画像取得部35は、ステップS904で取得した縦と横の画素数(W2,H2)と、ステップS905で取得した解像度とを用いて、ロゴの右下座標値(x2,y2)を取得する。なお、かかる(x1,y1)(x2,y2)は、ロゴベクター画像の位置情報の例であり、ここでは、矩形の領域を特定する情報である。
【0191】
(ステップS907)ロゴ画像取得部35は、ロゴラスタ画像をベクトル化し、ロゴベクター画像を取得する。上位処理にリターンする。
【0192】
次に、ステップS214の背景画像取得処理の例について、図10のフローチャートを用いて説明する。
【0193】
(ステップS1001)背景画像取得部36は、名刺ラスタ画像を取得する。
【0194】
(ステップS1002)背景画像取得部36は、名刺ラスタ画像から1以上の行画像等の領域を除く。なお、1以上の行画像等は、例えば、1以上の行画像である。1以上の行画像等は、例えば、1以上の行画像とロゴ画像である。
【0195】
(ステップS1003)背景画像取得部36は、カウンタiに1を代入する。
【0196】
(ステップS1004)背景画像取得部36は、ステップS1002で除いたi番目の領域が存在するか否かを判断する。除いたi番目の領域が存在する場合はステップS1005に行き、存在しない場合はステップS1008に行く。
【0197】
(ステップS1005)背景画像取得部36は、i番目の領域に隣接する周辺画素の画素値を用いて、領域の画素の画素値を決定する。i番目の領域の周辺画素の画素値がすべて同じである場合、背景画像取得部36は、当該画素値を当該領域の画素の画素値として決定する。i番目の領域の周辺画素の画素値が異なる場合、例えば、最も多い画素値を、領域の画素の画素値として決定する。
【0198】
(ステップS1006)背景画像取得部36は、i番目の領域の中の各画素の画素値を、ステップS1005で決定した画素値とする。
【0199】
(ステップS1007)背景画像取得部36は、カウンタiを1、インクリメントする。ステップS1004に戻る。
【0200】
(ステップS1008)背景画像取得部36は、作成した背景ラスタ画像をベクター化し、背景ベクター画像を取得する。上位処理にリターンする。
【0201】
以下、本実施の形態における名刺画像処理装置Aの具体的な動作例について説明する。
【0202】
今、格納部1には、標準サイズ「8.5センチ」、および候補解像度「72,150,300,400,600(単位は、DPI)」が格納されている、とする。
【0203】
また、名刺画像処理装置Aのラスタ画像受付部22は、図11に示す名刺ラスタ画像を受け付けた、とする。
【0204】
次に、解像度取得部31は、図3のフローチャートで説明した動作により、解像度「300」を取得した、とする。
【0205】
次に、文字認識部32は、名刺ラスタ画像から2以上の行画像を取得する。なお、行画像は、図12の破線の矩形の領域の画像である。
【0206】
次に、項目識別子取得部33は、各行画像の項目識別子を取得する。項目識別子は、例えば、「姓」、「名」、「会社名」、「住所」、「部署」、「役職」、「電話」、「携帯」、「ファックス」、「Email」、「URL」、「その他」のいずれかである。
【0207】
また、属性値取得部34は、図4のフローチャートで説明した動作により、各行画像に対する文字列の1以上の文字属性値を取得する。ここでは、属性値取得部34は、フォント識別子、フォントサイズ、位置情報を取得する、とする。
【0208】
また、正規化手段344は、図7のフローチャートで説明した動作により、各文字列をグループ化する。さらに、正規化手段344は、図8のフローチャートで説明した動作により、グループ化した文字列に対して、正規化処理を行う。以上の処理により、行画像ごとの文字列と2以上の文字属性値との組が、複数、取得できた。
【0209】
また、ロゴ画像取得部35は、図9のフローチャートで説明した動作により、ロゴベクター画像、およびロゴの位置情報を取得する、とする。
【0210】
次に、名刺情報構成部37は、取得された文字列、各文字列の1以上の文字属性値、取得されたロゴベクター画像等を用いて、名刺ベクター画像を構成する。ここでの名刺ベクター画像は、SVGの構造を有する、とする。また、ここでの名刺ベクター画像の例は、図13である。
【0211】
そして、名刺情報出力部41は、SVGファイル(例えば、図13)を用いて、図14に示す名刺ベクター画像を出力する。さらに、名刺情報出力部41は、図14に示す
【0212】
また、名刺情報構成部37は、取得された文字列、および各文字列の1以上の文字属性値を用いて、対応表である名刺情報を構成する。対応表は、文字列と1以上の文字属性値とを有する2以上のレコードを有する表である。次に、名刺情報出力部41は、当該対応表を出力する。かかる対応表の例は、図15である。
【0213】
なお、図15において、正規化手段344は、一の行画像に対応する一の文字列「営業部第2課課長代理」を2つの文字列「営業部第2課」と「課長代理」とに分割した。つまり、正規化手段344は、一の文字列を2以上の文字列に分割可能であるか否かを判断し、分割可能である場合に、当該一の文字列から2以上の文字列を取得しても良い。なお、正規化手段344は、例えば、1以上の部署名を格納している部署名辞書、1以上の役職名を格納している役職名辞書を参照し、一の行画像に対応する一の文字列であり、部署名と役職名とを有する文字列を、2つの文字列に分割しても良い。また、正規化手段344は、例えば、一の行画像に対応する一の文字列を2つの文字列に分割する分割位置をずらしなから、各分割位置に応じて取得できる2つの各文字列のクラス(項目識別子)を取得するための処理を行い、クラスを取得できた場合に、一の行画像に対応する一の文字列から当該2つの各文字列を取得しても良い。なお、文字列のクラスを決定する処理は、機械学習等を用いた公知技術であるので、詳細な説明を省略する。
【0214】
以上、本実施の形態によれば、名刺ラスタ画像から適切な名刺情報を得ることができる。
【0215】
また、本実施の形態によれば、名刺ラスタ画像から適切な名刺ベクター画像を得ることができる。
【0216】
また、本実施の形態によれば、名刺ラスタ画像から得られた名刺ラスタ画像を編集できる。
【0217】
また、本実施の形態によれば、名刺ラスタ画像から解像度、文字列の項目識別子、文字列のフォントサイズ、文字列のフォント識別子等を得ることできる。
【0218】
また、本実施の形態によれば、名刺ラスタ画像のロゴベクター画像を取得し、当該画像を含む名刺情報を取得できる。
【0219】
さらに、本実施の形態によれば、名刺ラスタ画像の背景ベクター画像を取得し、当該画像を含む名刺情報を取得できる。
【0220】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における名刺画像処理装置Aを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、名刺ラスタ画像を受け付けるラスタ画像受付部と、前記名刺ラスタ画像から2以上の文字列を取得する文字認識部と、前記2以上の各文字列の1以上の文字属性値を取得する属性値取得部と、前記2以上の各文字列と前記1以上の文字属性値とが対応付いた名刺情報を構成する名刺情報構成部と、
前記名刺情報を出力する名刺情報出力部として機能させるためのプログラムである。
【0221】
また、図16は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の名刺画像処理装置A等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図16は、このコンピュータシステム300の概観図であり、図17は、システム300のブロック図である。
【0222】
図16において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0223】
図17において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0224】
コンピュータシステム300に、上述した実施の形態の名刺画像処理装置A等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0225】
プログラムは、コンピュータ301に、上述した実施の形態の名刺画像処理装置A等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0226】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0227】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0228】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0229】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0230】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0231】
以上のように、本発明にかかる名刺画像処理装置Aは、名刺ラスタ画像から適切な名刺ベクター画像等を得ることができるという効果を有し、名刺画像処理装置等として有用である。
【符号の説明】
【0232】
A 名刺画像処理装置
1 格納部
2 受付部
3 処理部
4 出力部
21 指示受付部
22 ラスタ画像受付部
31 解像度取得部
32 文字認識部
33 項目識別子取得部
34 属性値取得部
35 ロゴ画像取得部
36 背景画像取得部
37 名刺情報構成部
38 編集部
41 名刺情報出力部
341 位置取得手段
342 フォント識別子取得手段
343 フォントサイズ取得手段
344 正規化手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17