説明

読取制御プログラム、情報処理装置、及び、画像読取装置

【課題】地図原稿に管理情報を付加することなく当該地図原稿に対応する範囲の地図データを記憶装置から取得できること。
【解決手段】原稿を読み取って画像データを生成する画像読取装置と通信可能に接続されている情報処理装置に、画像読取装置を制御して原稿を読み取らせ、当該原稿を読み取って生成された画像データを取得する読取制御処理と、原稿が地図原稿である場合に、読取制御処理によって画像読取装置から取得された画像データである地図データが表す地図上の文字列を認識する文字列認識処理(S101)と、記憶装置に記憶されている地図データから、文字列認識処理によって認識された文字列によって示される対象を含む範囲の部分地図データを取得する部分地図データ取得処理(S103〜S110)と、を実行させる読取制御プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図原稿に対応する地図データを記憶装置から取得する技術に関する。
【背景技術】
【0002】
従来、原稿の読取時に原稿に記録された二次元コードなどの画像管理情報を読み取って、その画像管理情報に基づいて所定の記憶装置を検索し、最新の情報が公開されている場合にはその最新情報を印刷する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−266962号公報(段落0018)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術によると、最新情報を印刷するためには原稿に画像管理情報を付加しておかなければならないので、原稿に画像管理情報を付加するための作業が生じたり、あるいは、原稿の一部が画像管理情報によって占有されるため原稿に表記できる情報量が減少したりするなどの問題がある。
本発明では、地図原稿に管理情報を付加することなく当該地図原稿に対応する範囲の地図データを記憶装置から取得できる技術を開示する。
【課題を解決するための手段】
【0005】
本明細書によって開示される読取制御プログラムは、原稿を読み取って画像データを生成する画像読取装置と通信可能に接続されている情報処理装置に、前記画像読取装置を制御して原稿を読み取らせ、当該原稿を読み取って生成された画像データを取得する読取制御処理と、前記原稿が地図原稿である場合に、前記読取制御処理によって前記画像読取装置から取得された画像データである地図データが表す地図上の文字列を認識する文字列認識処理と、記憶装置に記憶されている地図データから、前記文字列認識処理によって認識された前記文字列によって示される対象を含む範囲の部分地図データを取得する部分地図データ取得処理と、を実行させる。
【0006】
また、上記読取制御プログラムは、前記記憶装置に記憶されている地図データに、前記文字列認識処理によって認識された一つの前記文字列によって示される対象が一つしか存在しないか又は複数存在するかを判定する複数判定処理と、前記複数判定処理によって複数存在すると判定された場合に、それら複数の対象の中からユーザによる対象の選択を受付ける対象選択受付処理と、を前記情報処理装置に実行させ、前記部分地図データ取得処理において、前記複数判定処理によって一つの前記文字列によって示される対象が一つしか存在しないと判定された場合は当該対象を含む範囲の前記部分地図データを取得し、複数存在すると判定された場合は前記対象選択受付処理によって選択された対象を含む範囲の前記部分地図データを取得してもよい。
【0007】
また、上記読取制御プログラムは、前記読取制御処理によって取得された前記地図データを解析して当該地図データが表す地図の種類を判別し、判別した種類の地図を表す地図データが前記記憶装置に記憶されているか否かを判定する地図判定処理と、前記地図判定処理によって前記判別した種類の地図を表す地図データが前記記憶装置に記憶されていないと判定された場合に、前記記憶装置に記憶されている地図データが表す地図の種類の中からユーザによる種類の選択を受付ける地図種類選択受付処理と、を前記情報処理装置に実行させ、前記部分地図データ取得処理において、前記地図判定処理によって前記判別した種類の地図を表す地図データが前記記憶装置に記憶されていると判定された場合は当該種類の地図を表す地図データから前記部分地図データを取得し、記憶されていないと判定された場合は前記地図種類選択受付処理によって選択された種類の地図を表す地図データから前記部分地図データを取得してもよい。
【0008】
また、前記記憶装置には前記地図データが縮尺毎に記憶されており、上記読取制御プログラムは、前記部分地図データ取得処理において、前記記憶装置に記憶されている前記地図データのうち前記読取制御処理によって取得された前記地図データが表す地図の縮尺に適合する縮尺の地図データから前記部分地図データを取得してもよい。
【0009】
また、上記読取制御プログラムは、前記部分地図データ取得処理によって取得された前記部分地図データを、前記読取制御処理によって取得された前記地図データが表す地図の向きと一致するように回転させる回転処理を前記情報処理装置に実行させてもよい。
【0010】
また、上記読取制御プログラムは、前記読取制御処理によって取得された前記地図データを、前記部分地図データ取得処理によって取得された前記部分地図データで更新する更新処理を前記情報処理装置に実行させてもよい。
【0011】
また、上記読取制御プログラムは、前記部分地図データ取得処理において、前記記憶装置に記憶されている前記地図データから、前記読取制御処理によって取得された前記地図データが表す範囲と一致する範囲を表す前記部分地図データを取得してもよい。
【0012】
また、前記記憶装置には旧版の地図データに関する地図情報データと新版の地図データとが記憶されており、上記読取制御プログラムは、前記部分地図データ取得処理において、前記文字列認識処理によって認識された前記文字列によって示される対象を含む範囲を前記旧版の地図情報データに基づいて特定し、前記新版の地図データから、前記旧版の地図情報データに基づいて特定した範囲の前記部分地図データを取得してもよい。
【0013】
また、上記読取制御プログラムは、前記部分地図データ取得処理において、前記文字列認識処理によって認識された前記文字列によって示される対象を全て含む範囲が前記記憶装置に記憶されている前記地図データ上に存在しない場合は、前記文字列認識処理によって認識された前記文字列のうち一部の文字列によって示される対象を含む範囲の前記部分地図データを取得してもよい。
【0014】
なお、この発明は、情報処理装置、画像読取装置、情報処理方法、画像読取方法、読取制御プログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【0015】
上記の読取制御プログラムによると、地図原稿に管理情報を付加することなく当該地図原稿に対応する範囲の地図データを記憶装置から取得できる。
【図面の簡単な説明】
【0016】
【図1】実施形態1に係る地図読取システムの構成を示すブロック図。
【図2】PC及びイメージスキャナの電気的構成を示すブロック図。
【図3】地図データ更新処理の流れを示すフローチャート。
【図4】地図原稿の一例を示す模式図。
【図5】地図原稿の一例を示す模式図。
【図6】部分地図データが表す地図の例を示す模式図。
【図7】部分地図データが表す地図の例を示す模式図。
【図8】実施形態2に係る地図読取システムの構成を示すブロック図。
【発明を実施するための形態】
【0017】
<実施形態1>
本発明の実施形態1を図1ないし図7によって説明する。
(1)地図読取システムの構成
図1は、実施形態1に係る地図読取システム1の構成を示すブロック図である。地図読取システム1は、情報処理装置としてのパーソナルコンピュータ(PC)2と、画像読取装置としてのイメージスキャナ3と、記憶装置としての地図サーバ4とで構成されており、これらはLAN(Local Aria Network)やインターネットなどの有線あるいは無線通信ネットワーク5によって通信可能に接続されている。
【0018】
地図読取システム1は、イメージスキャナ3によって地図原稿(例えば図4参照)を読み取って生成された地図データが表す地図をPC2において文字認識し、認識された文字列によって示される対象を含む範囲の最新の地図データを地図サーバ4から取得するシステムである。
ここでいう対象には、県、市区町村、地区、字などの地域や、道路、河川などの他、「xxx駅」、「zzz商店」などの施設も含まれる。
ただし、理解を容易にするため、本実施形態では対象を施設に限定して説明する。つまり、以降の説明において対象という場合は「xxx駅」、「zzz商店」などの施設のことをいい、県、市区町村、地区、字などは含まないものとする。
【0019】
(2)PC及びイメージスキャナの電気的構成
図2は、PC2及びイメージスキャナ3の電気的構成を示すブロック図である。なお、地図サーバ4の電気的構成はPC1と実質的に同一であるので省略する。
【0020】
PC2は、CPU21、ROM22、RAM23、表示部24、操作部25、記憶部26、通信インタフェース(通信I/F)部27などを備えて構成されている。
CPU21は、ROM22や記憶部26に記憶されている各種のプログラムを実行することによってPC2の各部を制御する。ROM22にはCPU21によって実行される各種のプログラムやデータなどが記憶されている。RAM23はCPU21が各種の処理を実行するための主記憶装置として用いられる。
【0021】
表示部24は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えて構成されている。
操作部25は、キーボードやマウスなどで構成されている。
記憶部26は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部26には、図示しないオペレーティングシステム(OS)、図示しないアプリケーションプログラム(ワードプロセッサ、表計算ソフト、画像編集ソフトなど)、読取制御プログラムとしてのスキャナドライバ29などが記憶される。
【0022】
通信インタフェース部27は通信ネットワーク5を介してイメージスキャナ3や地図サーバ4と通信可能に接続されている。なお、PC2はUSB(Universal Serial Bus)などを介してイメージスキャナ3と直接接続される構成であってもよい。
【0023】
イメージスキャナ3は、制御部31、読取部32、通信インタフェース(通信I/F)部33などを備えて構成されている。
制御部31は、CPU31a、ROM31b、RAM31cを備えている。CPU31aはROM31bに記憶されているプログラムを実行することによってイメージスキャナ3の各部を制御する。ROM31bにはイメージスキャナ3の動作を制御するための制御プログラムや各種のデータなどが記録されている。RAM31cはCPU31aが各種の処理を実行するための主記憶装置として用いられる。
【0024】
読取部32は、光源、イメージセンサ、画像処理回路などを備えており、原稿を読み取って画像データを生成する。
通信インタフェース部33は通信ネットワーク5を介してPC2と通信可能に接続されている。なお、イメージスキャナ3はUSBなどを介してPC2と直接接続される構成であってもよい。
【0025】
(3)地図サーバ
図1に示すように、地図サーバ4には、地形図を表す地図データ、道路地図を表す地図データ、衛星画像を表す地図データなどの複数種類の地図データ4aが縮尺毎に格納されている。各地図データ4aにはそれぞれその地図データ4aの種類、その地図データ4aが表す縮尺を示す縮尺情報が付加されている。地図データ4aは例えば国単位のものであってもよいし、県単位のものであってもよいし、市単位のものであってもよい。
【0026】
また、地図サーバ4には、地図上に存在する施設の施設名が格納される施設名フィールド、その施設の住所が格納される住所フィールド、各種類、各縮尺の地図データ4a上におけるその施設の座標が格納される複数の座標フィールドなどからなる地図情報データベース4bが記憶されている。なお、地図情報データベース4bには上述した施設の緯度、経度などが格納されてもよい。
【0027】
(4)地図データ更新処理
スキャナドライバ29を実行するCPU21(以下、単に「スキャナドライバ29」という)は、イメージスキャナ3に原稿の読み取りを指示し、イメージスキャナ3によって当該原稿を読み取って生成された画像データをイメージスキャナ3から取得するPCスキャンを実行することができる。PCスキャンは読取制御処理の一例である。
【0028】
ところで、ユーザは原稿として地図原稿を読み取らせようとする場合もある。この場合、その地図原稿が古いとその地図原稿上にある施設が既になくなってしまっていたり道路形状などの地形が変わってしまっていたりする場合がある。
そこで、スキャナドライバ29は、原稿が地図原稿である場合は、当該地図原稿を読み取って生成された画像データ(以下「地図データ」という)をイメージスキャナ3から取得すると、その取得した地図データを、地図サーバ4に記憶されている地図データ4aから取得した部分地図データによって更新する地図データ更新処理を実行する。
【0029】
ここで、本実施形態ではPCスキャンによって地図原稿を読み取らせるときユーザは原稿が地図原稿であることを指定してスキャナドライバ29にPCスキャンの実行を指示するものとする。これによりスキャナドライバ29は原稿が地図原稿であるか否かを判断することができる。
【0030】
図3は、地図データ更新処理の流れを示すフローチャートである。以下、地図データ更新処理の流れを図4に示す地図原稿41を参照しつつ説明する。
【0031】
S101では、スキャナドライバ29はイメージスキャナ3から取得した地図データが表す地図に文字列認識処理を施すことにより、当該地図上の文字列を認識する。S101は文字列認識処理の一例である。
例えば図4に示す地図原稿41には「xxx駅」という文字列や「zzz商店」という文字列が表記されている。このように地図には一般に多くの文字列が表記されており、スキャナドライバ29は認識可能な文字列については全て認識するものとする。
なお、図4に示す「xxx駅」という文字列や「zzz商店」という文字列は施設名を表すものであるが、地図原稿には施設名だけでなく県名、市区町村名、地区名、字、道路名、河川名などを表す文字列が含まれる場合もあり、この段階ではそれらも含めて認識する。
【0032】
S102では、スキャナドライバ29は文字列を認識できたか否かを判定し、認識できた場合はS103に進み、認識できなかった場合は本処理を終了する。
【0033】
S103では、スキャナドライバ29はS101で認識した文字列を地図情報データベース4bの施設名フィールド上で検索し、見つかった場合には地図情報データベース4bからその文字列に対応付けられている住所を取得する。
ここで、施設名フィールドには施設名以外を示す文字列は格納されていないので、県名、市区町村名、地区名、字名、道路名、河川名などを示す文字列はこの段階で除外される。
【0034】
スキャナドライバ29は、複数の文字列を認識した場合は、認識した文字列毎に施設名フィールドを検索し、その文字列が見つかった場合には、その文字列に対応付けられている住所を地図情報データベース4bから取得する。例えば「xxx駅」という施設名と「zzz商店」という施設名とを認識した場合に、それらの施設名がどちらも見つかった場合には、「xxx駅」という施設名に対応付けられている住所、及び、「zzz商店」という施設名に対応付けられている住所の両方が地図情報データベース4bから取得される。
【0035】
ここで、スキャナドライバ29が取得する住所は施設名フィールド上で見つかった文字列に対応付けられている住所のみであるので、ユーザが読み取らせた地図原稿に現在は存在しない施設の施設名が表記されていたとすると、その施設名は施設名フィールド上で見つからないことになり、その施設名に対応付けられている住所は取得されないことになる。
【0036】
ところで、異なる施設に同じ名称が付与されている場合もある。例えばG県K市にある商店と、Y県Z群にある商店とに同じ「zzz商店」という施設名が付与されていることもある。スキャナドライバ29は、同じ施設名が複数見つかった場合は、見つかった全ての施設名に対応付けられている住所を取得する。
【0037】
S104では、スキャナドライバ29は認識された各文字列について地図情報データベース4b上で見つかったか否かを判定し、見つかった場合は、更にその見つかった文字列によって示される施設が一つしか存在しないか又は複数存在するかを判定する。
例えば、「zzz商店」という文字列を検索すると、G県K市にある「zzz商店」の住所と、Y県Z群にある「zzz商店」の住所との二つの住所が取得される場合もある。このように一つの文字列について二つ以上の住所が取得された場合は、スキャナドライバ29はその文字列によって示される施設が複数存在すると判定する。
【0038】
スキャナドライバ29は、認識したいずれの文字列も地図情報データベース4b上で見つからなかった場合は本処理を終了し、地図情報データベース4b上で見つかった場合は、見つかった文字列によって示される施設が複数存在する場合はS105に進み、見つかった文字列によって示される施設が一つしか存在しない場合はS106に進む。
ここで、例えばイメージスキャナ3から取得した地図データが表す地図上で二つの異なる文字列が認識され、それら二つの文字列がどちらも地図情報データベース4b上で見つかったとし、一方の文字列はその文字列によって示される施設が一つしか存在せず、他方の文字列はその文字列によって示される施設が複数存在するとした場合、スキャナドライバ29はS105に進むものとする。
【0039】
S105では、スキャナドライバ29は一つの文字列によって示される複数の施設の住所を表示部24に一覧表示し、一覧表示した住所の中からユーザによる住所の選択を受付ける。
ここで、例えば二つの文字列が認識され、それら二つの文字列がどちらも地図情報データベース4b上で見つかったとし、且つ、どちらの文字列もその文字列によって示される施設が複数存在するとした場合、スキャナドライバ29は文字列毎に順に住所の選択を受付けるものとする。
【0040】
S106では、スキャナドライバ29はイメージスキャナ3から取得した地図データを画像解析して当該地図データが表す地図の種類を判断する。
S107では、スキャナドライバ29はS106で判断した種類と同じ種類の地図を表す地図データ4aが地図サーバ4に記憶されているか否かを判定する。
スキャナドライバ29は、S106で判断した種類と同じ種類の地図データ4aが地図サーバ4に記憶されていない場合はS108に進み、記憶されている場合はS109に進む。
上述したS106〜S107は地図判定処理の一例である。
【0041】
S108では、スキャナドライバ29は地図サーバ4に記憶されている地図の種類を表示部24に一覧表示し、一覧表示した種類の中からユーザによる種類の選択を受付ける。S108は地図種類選択受付処理の一例である。
【0042】
以降の説明において「地図サーバに記憶されている地図データ」というときは、地図サーバ4に記憶されている複数種類の地図データ4aのうちS106で判断した種類の地図を表す地図データ4a、又は、S108でユーザにより選択された種類の地図を表す地図データ4aのことをいうものとする。
【0043】
S109では、スキャナドライバ29は、地図サーバ4に記憶されている縮尺が異なる複数の地図データ4aの中から、イメージスキャナ3から取得した地図データが表す地図の縮尺に最も近い縮尺の地図データ4aを選択する。ここでいう地図データ4aは前述したようにS106で判断した種類の地図を表す地図データ4a、又は、S108でユーザにより選択された種類の地図を表す地図データ4aである。
【0044】
以下、最も近い縮尺の地図データ4aを選択する方法の例について説明する。ここでは最も近い縮尺の地図データ4aを選択する方法として二つの方法を説明する。
【0045】
一つは、イメージスキャナ3から取得した地図データ上において任意の二つの施設間の距離をピクセル数として求め、地図サーバ4に記憶されている縮尺の異なる複数の地図データ4aのうち当該二つの施設間のピクセル数が上述したピクセル数に最も近い縮尺の地図データ4aを選択する方法である。
具体的に例えば、図4に示す地図原稿41を例に説明すると、スキャナドライバ29は、イメージスキャナ3から取得した地図データ上において「xxx駅」という施設と「zzz商店」という施設との距離(図中において直線42によって示される距離)をピクセル数として求める。
そして、スキャナドライバ29は各縮尺の地図データ4a毎に当該地図データ4a上における上述した二つの施設の座標間のピクセル数を求める。この座標は地図情報データベース4bから取得することができる。
そして、各縮尺の地図データ4aのうち、座標間のピクセル数が、イメージスキャナ3から取得した地図データから求めたピクセル数に最も近い地図データ4aを選択する。二つの地図データ間において二つの施設間のピクセル数が近ければ、それら二つの地図データの縮尺は近いといえるからである。
【0046】
もう一つは、イメージスキャナ3から取得した地図データが表す地図上で縮尺を特定できる情報を画像処理によって認識し、その認識した情報に基づいて当該地図データの縮尺を判断し、その判断した縮尺に最も近い地図データ4aを選択する方法である。
例えば、地図には図5に示す地図原稿45のように縮尺を示す情報が表記される場合がある。図5に示す例の場合は200m(メートル)という文字列とその文字列の近傍に表記されているスケール46とが縮尺を示す情報に相当する。この場合、スケール46の幅をピクセル数として取得し、地図サーバ4に記憶されている縮尺が異なる複数の地図データ4aのうち200mに相当するピクセル数が上述したスケール46のピクセル数に最も近い地図データ4aに決定する。二つの地図データ間において同一距離を表すピクセル数が近ければ、それら二つの地図データの縮尺は近いといえるからである。
【0047】
また、例えば、地図には1/3000などのように縮尺を表す文字列が表記される場合もある。この場合はその1/3000という文字列が縮尺を示す情報に相当する。この場合は、画像解析によってその情報を取得し、その取得した縮尺に最も近い縮尺の地図データ4aに決定すればよい。
【0048】
S110では、スキャナドライバ29は、S109で決定した縮尺の地図データ4aから、地図サーバ4から取得した住所に対応付けられている座標を全て含む範囲の部分地図データを取得する。この座標は地図情報データベース4bから取得することができる。
ここで、地図サーバ4から取得した住所に対応付けられている座標は、文字列が複数認識された場合に、ある文字列については一つの施設しか存在していないと判定され、他の文字列については複数の施設が存在していると判定された場合には、一つの施設しか存在していない文字列についてはその文字列によって示される施設の住所に対応付けられている座標であり、複数の施設が存在している文字列についてはS105においてユーザにより選択された住所に対応付けられている座標である。
図6は、地図サーバ4から取得した部分地図データが表す地図の例を示す模式図である。図示する部分地図データ50が表す地図には「xxx駅」の住所に対応付けられている座標と「zzz商店」の住所に対応付けられている座標との両方が含まれている。
【0049】
ここで、仮に、ユーザが読み取らせた地図原稿に現在は存在しない施設の施設名が表記されていたとすると、地図サーバ4に記憶されている最新の地図データ4a上には、認識された文字列によって示される施設を全て含む範囲は存在しないことになる。この場合は、スキャナドライバ29は、認識された文字列によって示される施設のうち一部の施設のみを含む範囲の部分地図データを取得することになる。
【0050】
なお、上述したように部分地図データは取得した住所に対応付けられている座標を含む範囲を表すものであるが、範囲が広すぎると却ってユーザにとって利用し難いので、地図サーバ4から取得した部分地図データが表す範囲は、イメージスキャナ3から取得した地図データが表す範囲と一致することが望ましい。例えば、イメージスキャナ3から取得した地図データにおいていずれか一つの施設を基準として上下左右のピクセル数を取得し、部分地図データにおいて当該施設を基準とする上下左右のピクセル数が上述したイメージスキャナ3から取得した地図データにおける上下左右のピクセル数と一致するように範囲を決定してもよい。
上述したS103〜S110は部分地図データ取得処理の一例である。
【0051】
S111では、スキャナドライバ29はイメージスキャナ3から取得した地図データ上にある任意の二つの施設間を結ぶ直線の傾きを求める。例えば図4に示す例の場合「xxx駅」という施設と「zzz商店」という施設とを結ぶ直線42の傾きを求める。
S112では、スキャナドライバ29は地図サーバ4から取得した部分地図データ上において上述した二つの施設の住所に対応付けられている座標間を結ぶ直線の傾きを求める。
【0052】
S113では、スキャナドライバ29は上述した二つの傾きの差が一定角度以上である場合はそれらの地図データが表す地図の向きが一致していないと判断してS114に進み、傾きの差が一定角度未満である場合はそれらの地図データが表す地図の向きが一致していると判断してS115に進む。
【0053】
S114では、スキャナドライバ29は部分地図データが表す地図の向きが、イメージスキャナ3から取得した地図データが表す地図の向きと一致するように部分地図データを回転させる。S114は回転処理の一例である。
具体的には例えば、スキャナドライバ29は、イメージスキャナ3から取得した地図データ上における前述した二つの施設間を結ぶ直線の傾きと部分地図データにおける前述した二つの座標間を結ぶ直線の傾きとの差が一定角度未満になるように部分地図データを回転させる。
例えば図6に示す部分地図データ50の場合、図4に示す地図原稿41を読み取って生成された地図データが表す向きと一致するように回転させることにより、図7に示すように回転されることになる。
なお、予め広い範囲の部分地図データを取得しておき、回転後に、図4に示す地図原稿41を読み取って生成された地図データとほぼ一致する範囲を切り出すようにしてもよい。
【0054】
S115では、スキャナドライバ29はイメージスキャナ3から取得した地図データを、地図サーバ4から取得した部分地図データで更新する。S115は更新処理の一例である。
【0055】
(5)実施形態の効果
以上説明した本発明の実施形態1に係るスキャナドライバ29によると、地図データに含まれる文字列を認識し、認識した文字列によって示される施設を含む範囲の部分地図データを地図サーバ4から取得するので、地図原稿に管理情報を付加することなく当該地図原稿に対応する範囲の部分地図データを取得できる。
【0056】
更に、スキャナドライバ29によると、認識された文字列によって示される施設を全て含む範囲が地図サーバ4上の地図データ4aに存在しない場合は、認識された文字列のうち一部の文字列によって示される施設を含む範囲の部分地図データを取得する。地図原稿が表す地図が古いと、認識された文字列によって示される全ての施設が、地図サーバ4に記憶されている地図データ4aに存在しないこともあり得る。スキャナドライバ29によると、認識された文字列によって示される全ての施設が地図サーバ4に記憶されている地図データ4aに存在しなくても部分地図データを取得するので、地図原稿が表す地図が古くても地図サーバ4から最新の部分地図データを取得できる可能性が高くなる。
【0057】
更に、スキャナドライバ29によると、イメージスキャナ3から取得した地図データが表す範囲と一致する範囲の部分地図データを取得することにより、部分地図データにユーザが必要としない範囲が含まれないようにすることができる。
【0058】
更に、スキャナドライバ29によると、認識した一つの文字列によって示される施設が複数存在する場合はユーザに施設を選択させるので、一つの文字列によって示される施設が複数存在しても部分地図データを取得する範囲を適切に決定できる。
【0059】
更に、スキャナドライバ29によると、地図原稿と同じ種類の地図を表す地図データ4aが地図サーバ4に記憶されている場合に、同じ種類の地図データを取得するので、地図データを更新したとしてもユーザにとって違和感のない結果を得られる。一方、地図原稿と同じ種類の地図を表す地図データ4aが地図サーバ4に記憶されていない場合に、地図サーバ4から取得する部分地図データが表す地図の種類をユーザが選択できる。
【0060】
更に、スキャナドライバ29によると、イメージスキャナ3から取得した地図データが表す地図の縮尺に適合する縮尺の部分地図データを取得するので、ユーザにとって適切な縮尺の部分地図データを取得できる。
ここで「適合する縮尺」とは、前述したように地図サーバ4から取得した部分地図データ上の二つの座標間のピクセル数が、イメージスキャナ3から取得した地図データ上における二つの施設間のピクセル数に最も近くなる縮尺をいう。
【0061】
更に、スキャナドライバ29によると、地図サーバ4から取得した部分地図データを、イメージスキャナ3から取得した地図データが表す地図の向きと一致するように回転させるので、部分地図データが表す地図の向きを地図原稿上の地図の向きと一致させることができる。
【0062】
更に、スキャナドライバ29によると、イメージスキャナ3から取得した地図データを、地図サーバ4から取得した部分地図データで更新することにより、イメージスキャナ3から取得した地図データを最新の地図データに更新できる。
【0063】
<実施形態2>
次に、本発明の実施形態2を図8によって説明する。
図8は、実施形態2に係る地図読取システム80の構成を示すブロック図である。前述した実施形態1では地図サーバ4に1つの版の地図データ4a及び地図情報データベース4bしか記憶されていない場合を例に説明したが、実施形態2では新版の地図データ4a、新版の地図情報データベース4b、及び、旧版の地図情報データベース4cが記憶されている。旧版の地図情報データベース4cは「旧版の地図データに関する地図情報データ」の一例である。
【0064】
ユーザが読み取らせようとしている地図原稿が古いと、その地図原稿に表記されている文字列が新版の地図情報データベース4b上で見つからないこともあり得る。その場合、他に文字列が認識されていないと、部分地図データとして取得すべき範囲を決定できない。
そこで、実施形態に2に係るスキャナドライバは、旧版の地図情報データベース4cでその文字列を検索し、文字列が見つかった場合には、見つかった文字列によって示される施設の住所に対応付けられている座標が含まれる範囲の部分地図データを新版の地図データ4aから取得する。
【0065】
実施形態2に係る地図データ更新処理は、S103において旧版の地図情報データベース4c上で文字列を検索し、文字列が見つかった場合にはその文字列によって示される施設の住所に対応付けられている座標が含まれる範囲の部分地図データを新版の地図データ4aから取得する点を除いて実施形態1と実質的に同一である。
以上説明した実施形態2に係るスキャナドライバによると、地図原稿が表す地図が古くても、新しい部分地図データを取得できる可能性が高くなる。
【0066】
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【0067】
(1)上記実施形態では対象を施設に限定して説明したが、対象は県、市区町村、地区、字などであってもよい。その場合は認識された文字列を地図情報データベース4bの住所フィールド上で検索すればよい。あるいは、対象は県、市区町村、地区、字などと、施設との両方であってもよい。
【0068】
(2)上記実施形態では認識した一つの文字列によって示される施設が複数存在する場合はそれら複数の施設の住所を表示装置に一覧表示してユーザに選択させる場合を例に説明したが、ある文字列については複数の施設が存在しても、イメージスキャナ3から取得した地図データ上で認識された別の文字列によって示される施設は一つしか見つからなかった場合には、複数の施設のうちその別の文字列によって示される施設から遠い施設を除外してもよい。
あるいは、G県K市にある「zzz商店」の住所とY県Z群にある「zzz商店」の住所とが取得された場合に、イメージスキャナ3から取得した地図データ上でK市という文字列が認識されている場合は、Y県Z群の「zzz商店」を除外してもよい。
【0069】
つまり、一つの文字列によって示される施設が複数存在する場合であっても、認識された他の文字列から施設を一つに絞り込める場合には、ユーザに施設を選択させないようにしてもよい。
【0070】
(3)上記実施形態では地図データ上において直線の傾きを求めることによって地図データが表す地図の向きが一致しているか否かを判定する場合を例に説明したが、地図データから方角を示す情報を取得し、その情報に基づいて判定してもよい。
例えば、地図には図5に示す記号47や図6に示す記号51のように方角を示す情報が表記される場合がある。このため、これらの情報を画像処理によって認識し、地図サーバ4から取得した部分地図データが表す地図の向きが、イメージスキャナ3から取得した地図データが表す地図の向きと一致するように部分地図データを回転させてもよい。
【0071】
(4)上記実施形態ではイメージスキャナ3から取得した地図データを地図サーバ4から取得した部分地図データによって更新する場合を例に説明したが、地図サーバ4から取得した部分地図データをイメージスキャナ3から取得した地図データとは別の地図データとして記憶してもよい。
【0072】
(5)上記実施形態ではイメージスキャナ3から取得した地図データが表す範囲と一致する範囲の部分地図データを地図サーバ4から取得する場合を例に説明したが、イメージスキャナ3から取得した地図データが表す範囲より広い範囲を表す部分地図データを地図サーバ4から取得し、取得した部分地図データから、イメージスキャナ3から取得した地図データが表す範囲と一致する範囲を抽出するようにしてもよい。
【0073】
(6)上記実施形態では地図サーバ4に記憶されている地図データ4aのうちイメージスキャナ3から取得した地図データが表す地図の縮尺に最も近い縮尺の地図データから部分地図データを取得する場合を例に説明したが、例えばイメージスキャナ3から取得した地図データが表す地図の縮尺よりも大きい縮尺、すなわちより拡大された地図を表す地図データ4aから部分地図データを取得し、その取得した部分地図データを、イメージスキャナ3から取得した地図データが表す地図の縮尺に合わせて縮小するようにしてもよい。
【0074】
(7)上記実施形態2では旧版の地図情報データベース4cで文字列を検索しているが、最初は新版の地図情報データベース4b上で検索し、見つからなかった場合のみ旧版の地図情報データベース4c上で検索するようにしてもよい。なお、旧版の地図情報データベースは、例えば年度ごとに複数あってもよい。この場合、最新のものから遡って順に検索していくとよい。また、取得した地図データから地図データの作成時期が分かるような情報が含まれている場合は、その情報に対応する地図情報データベースを検索すればよい。
【0075】
(8)上記実施形態ではスキャナドライバを実行するPC2によって地図データ更新処理を実行する場合を例に説明したが、地図データ更新処理はイメージスキャナ3によって実行されてもよい。その場合、イメージスキャナ3は画像読取装置の一例である。また、地図データ更新処理は、スキャン機能、プリント機能、コピー機能、ファクシミリ機能などを備える所謂複合機によって実行されてもよい。
【符号の説明】
【0076】
1・・・地図読取システム、2・・・PC、3・・・イメージスキャナ、4・・・地図サーバ、4a・・・地図データ、4b・・・地図情報データベース、4c・・・地図情報データベース、5・・・通信ネットワーク、21・・・CPU、29・・・スキャナドライバ、31・・・制御部、32・・・読取部、33・・・通信インタフェース部、41・・・地図原稿、45・・・地図原稿、50・・・部分地図データ、80・・・地図読取システム


【特許請求の範囲】
【請求項1】
原稿を読み取って画像データを生成する画像読取装置と通信可能に接続されている情報処理装置に、
前記画像読取装置を制御して原稿を読み取らせ、当該原稿を読み取って生成された画像データを取得する読取制御処理と、
前記原稿が地図原稿である場合に、前記読取制御処理によって前記画像読取装置から取得された画像データである地図データが表す地図上の文字列を認識する文字列認識処理と、
記憶装置に記憶されている地図データから、前記文字列認識処理によって認識された前記文字列によって示される対象を含む範囲の部分地図データを取得する部分地図データ取得処理と、
を実行させる読取制御プログラム。
【請求項2】
請求項1に記載の読取制御プログラムであって、
前記記憶装置に記憶されている地図データに、前記文字列認識処理によって認識された一つの前記文字列によって示される対象が一つしか存在しないか又は複数存在するかを判定する複数判定処理と、
前記複数判定処理によって複数存在すると判定された場合に、それら複数の対象の中からユーザによる対象の選択を受付ける対象選択受付処理と、
を前記情報処理装置に実行させ、
前記部分地図データ取得処理において、前記複数判定処理によって一つの前記文字列によって示される対象が一つしか存在しないと判定された場合は当該対象を含む範囲の前記部分地図データを取得し、複数存在すると判定された場合は前記対象選択受付処理によって選択された対象を含む範囲の前記部分地図データを取得する、読取制御プログラム。
【請求項3】
請求項1又は請求項2に記載の読取制御プログラムであって、
前記読取制御処理によって取得された前記地図データを解析して当該地図データが表す地図の種類を判別し、判別した種類の地図を表す地図データが前記記憶装置に記憶されているか否かを判定する地図判定処理と、
前記地図判定処理によって前記判別した種類の地図を表す地図データが前記記憶装置に記憶されていないと判定された場合に、前記記憶装置に記憶されている地図データが表す地図の種類の中からユーザによる種類の選択を受付ける地図種類選択受付処理と、
を前記情報処理装置に実行させ、
前記部分地図データ取得処理において、前記地図判定処理によって前記判別した種類の地図を表す地図データが前記記憶装置に記憶されていると判定された場合は当該種類の地図を表す地図データから前記部分地図データを取得し、記憶されていないと判定された場合は前記地図種類選択受付処理によって選択された種類の地図を表す地図データから前記部分地図データを取得する、読取制御プログラム。
【請求項4】
請求項1乃至請求項3のいずれか一項に記載の読取制御プログラムであって、
前記記憶装置には前記地図データが縮尺毎に記憶されており、
前記部分地図データ取得処理において、前記記憶装置に記憶されている前記地図データのうち前記読取制御処理によって取得された前記地図データが表す地図の縮尺に適合する縮尺の地図データから前記部分地図データを取得する、読取制御プログラム。
【請求項5】
請求項1乃至請求項4のいずれか一項に記載の読取制御プログラムであって、
前記部分地図データ取得処理によって取得された前記部分地図データを、前記読取制御処理によって取得された前記地図データが表す地図の向きと一致するように回転させる回転処理を前記情報処理装置に実行させる、読取制御プログラム。
【請求項6】
請求項1乃至請求項5のいずれか一項に記載の読取制御プログラムであって、
前記読取制御処理によって取得された前記地図データを、前記部分地図データ取得処理によって取得された前記部分地図データで更新する更新処理を前記情報処理装置に実行させる、読取制御プログラム。
【請求項7】
請求項1乃至請求項6のいずれか一項に記載の読取制御プログラムであって、
前記部分地図データ取得処理において、前記記憶装置に記憶されている前記地図データから、前記読取制御処理によって取得された前記地図データが表す範囲と一致する範囲を表す前記部分地図データを取得する、読取制御プログラム。
【請求項8】
請求項1乃至請求項7のいずれか一項に記載の読取制御プログラムであって、
前記記憶装置には旧版の地図データに関する地図情報データと新版の地図データとが記憶されており、
前記部分地図データ取得処理において、前記文字列認識処理によって認識された前記文字列によって示される対象を含む範囲を前記旧版の地図情報データに基づいて特定し、前記新版の地図データから、前記旧版の地図情報データに基づいて特定した範囲の前記部分地図データを取得する、読取制御プログラム。
【請求項9】
請求項1乃至請求項8のいずれか一項に記載の読取制御プログラムであって、
前記部分地図データ取得処理において、前記文字列認識処理によって認識された前記文字列によって示される対象を全て含む範囲が前記記憶装置に記憶されている前記地図データ上に存在しない場合は、前記文字列認識処理によって認識された前記文字列のうち一部の文字列によって示される対象を含む範囲の前記部分地図データを取得する、読取制御プログラム。
【請求項10】
原稿を読み取って画像データを生成する画像読取装置を制御して原稿を読み取らせ、当該原稿を読み取って生成された画像データを取得する読取制御部と、
前記原稿が地図原稿である場合に、前記読取制御部によって前記画像読取装置から取得された画像データである地図データが表す地図上の文字列を認識する文字列認識部と、
記憶装置に記憶されている地図データから、前記文字列認識部によって認識された前記文字列によって示される対象を含む範囲の部分地図データを取得する部分地図データ取得部と、
を備える情報処理装置。
【請求項11】
原稿を読み取って画像データを生成する読取部と、
前記原稿が地図原稿である場合に、前記読取部によって生成された画像データである地図データが表す地図上の文字列を認識する文字列認識部と、
記憶装置に記憶されている地図データから、前記文字列認識部によって認識された前記文字列によって示される対象を含む範囲の部分地図データを取得する部分地図データ取得部と、
を備える画像読取装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−77164(P2013−77164A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−216579(P2011−216579)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】