説明

撮像装置および地図媒体

【課題】 大容量の記憶部を有さずに、印刷物より、ナビゲーション等に使用可能な地図を取り込むことのできる撮像装置、およびこれに適した地図媒体を提供する。
【解決手段】 QRコードを一緒に印刷した地図を撮影装置によって撮像することにより画像データを生成し(S101)、QRコードを探索し(S103)、QRコードを発見すると(S105)、QRコードを利用して歪量を求め(S131)、射影変換することにより歪のない地図データを得る(S133)。また、QRコードから緯度・経度情報を求め、また、地図の中心座標や縮尺を求めて、地図画像に付加する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置および地図媒体に関し、詳しくは、2次元コードが印刷された地図を取り込む撮像装置およびこれに適した地図媒体に関する。
【背景技術】
【0002】
近年、QRコード等の2次元コードの利用が進んできている。例えば、特許文献1には、タイルの表面にタイルの位置する場所を示す2次元コードを形成し、この2次元コードを読み取ることにより、位置情報が得られるタイルおよび位置情報システムが開示されている。この位置情報システムの応用として、携帯電話のカメラによって2次元コード付きのタイルを撮影し、この読み取った2次元コードから位置情報を得て、内蔵の地図データベースを用いて、地図上における現在位置等の表示を可能としている。
【特許文献1】特開2005−36587号公報
【0003】
カメラで2次元コードを読み取るにあたって、2次元コードの画像を歪なく検出することができるとは限らず、正確な値を検出することがないおそれがある。そこで、特許文献2には、2次元コードの画像をアフィン変換し、この変換された画像を用いて正確な2次元コードの値を求めるようにした2次元コード読み取り装置が開示されている。また、特許文献3には、2次元コードの特徴を検出できた場合に、2次元コードを正確に認識するようにした2次元コードの検出装置が開示されている。
【特許文献2】特開2004−54529号公報
【特許文献3】特開2007−94584号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
前述の特許文献1に記載の位置情報システムでは、地図データベースを記憶するために大容量のメモリが必要となる。そこで、2次元コードを読み取るためのカメラで印刷物となっている地図を撮影し、その画像を表示することが考えられるが、この場合地図が歪んでしまい、表示するには、不適切である。また、地図上で位置等を表示するためには、地図上の緯度や経度等の位置情報が必要となる。特許文献2および特許文献3には、2次元コードの歪を除去し、正確に2次元コードを読み取る技術は開示されているが、地図の歪みをなくし、また、緯度や経度等の情報を正確に読み取ることまでは記載されていない。すなわち、大容量の記憶部を有さずに、印刷物より、ナビゲーション等に使用可能な地図を取り込むことはできない。
【0005】
本発明は、このような事情を鑑みてなされたものであり、大容量の記憶部を有さずに、印刷物より、ナビゲーション等に使用可能な地図を取り込むことのできる撮像装置、およびこれに適した地図媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため第1の発明に係わる撮像装置は、地図と、該地図の4隅に埋め込まれそれぞれが緯度・経度情報を有する2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、上記得られた画像データから4つの2次元コードを探索する探索手段と、上記探索された4つの2次元コードをそれぞれでコードして、上記緯度・経度情報を得るデコード手段と、上記探索して得られた4つの2次元コードの画像データにおけるそれぞれの中心位置座標を算出する中心位置算出手段と、上記算出された中心位置座標を用いて、上記画像データの歪量を演算する歪量演算手段と、上記得られた歪量に基づいて、上記得られた画像データを射影変換する射影変換手段と、上記各2次元コードの緯度・経度情報と中心位置座標とから、地図の縮尺と地図の中心位置の緯度・経度情報を演算する演算手段と、上記地図の縮尺と地図の中心位置の緯度・経度情報を、射影変換後の地図とともに地図データとして保存する保存手段と、を備える。
【0007】
第2の発明に係わる撮像装置は、上記第1の発明において、上記撮像して得られた画像データから地図のみを切り出す切り出し手段をさらに有し、上記射影変換は、上記切り出し手段により切り出された地図に対してなされる。
また、第3の発明に係わる撮像装置は、上記第1または第2の発明において、上記射影変換は、アフィン変換である。
【0008】
第4の発明に係わる撮像装置は、地図と、該地図上または地図の周辺に埋め込まれ緯度・経度情報および縮尺情報を有する1つの2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、上記得られた画像データから上記2次元コードを探索する探索手段と、上記探索して得られた2次元コードをデコードして、上記緯度・経度情報および縮尺情報を得るデコード手段と、上記得られた2次元コードの画像データにおける大きさを算出する幅算出手段と、上記得られた縮尺情報と上記算出された2次元コードの大きさから地図の縮尺を演算する縮尺演算手段と、上記探索して得られた2次元コードの3個の一検出用パターンの画像データにおけるそれぞれの中心位置座標を算出する中心位置算出手段と、上記算出された中心位置座標を用いて上記得られた2次元コードの歪量を演算してアフィン変換係数を算出する係数演算手段と、上記算出されたアフィン変換係数に基づいて、上記得られた画像データに対してアフィン変換を行うアフィン変換手段と、上記得られた2次元コードの緯度・経度情報と、画像データにおける中心位置とから、地図の中心位置の緯度・経度情報を演算する演算手段と、上記地図の縮尺と地図の中心位置の緯度・経度情報を、アフィン変換後の画像データとともに地図データとして保存する保存手段と、を備える。
【0009】
第5の発明に係わる撮像装置は、地図と、該地図の隅に配置され情報を有する2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、上記得られた画像データから2次元コードを探索する探索手段と、上記探索された2次元コードを用いて、上記画像データの歪量を演算する歪量演算手段と、上記得られた歪量に基づいて、上記得られた画像データを射影変換する射影変換手段と、を備える。
【0010】
第6の発明に係わる撮像装置は、上記第5の発明において、上記2次元コードは、1つまたは複数配置されている。
第7の発明に係わる撮像装置は、上記第5の発明において、上記2次元コードには、緯度・経度情報が記録されており、上記撮像装置は上記緯度・経度情報を復号化し、この復号化された緯度・経度情報を上記画像データと共に保存する。
第8の発明に係わる撮像装置は、上記第5の発明において、上記撮像装置は、上記2次元コードに基づいて上記地図の中心位置を求め、この中心位置と上記画像データと共に保存する。
第9の発明に係わる撮像装置は、上記第5の発明において、上記撮像装置は、上記地図の縮尺を求め、上記画像データと共に保存する。
【0011】
第10の発明に係わる撮像装置は、地図と、該地図の隅に配置され、緯度経度情報を有する2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、上記得られた画像データから2次元コードを探索する探索手段と、上記探索された2次元コードを用いて、上記緯度経度情報を復号化する復号化手段と、上記地図の画像データに上記得られた緯度・経度情報を付加して地図データを生成する地図データ生成手段と、を備える。
【0012】
第11の発明に係わる地図媒体は、地図部分と、該地図部分の周囲に配置され、緯度・経度情報を記録した1つまたは複数の2次元コードと、が印刷されている。
第12の発明に係わる地図媒体は、上記第11の発明において、上記2次元コードには、さらに2次元コードの大きさに関する情報を記録している。
【発明の効果】
【0013】
本発明によれば、大容量の記憶部を有さずに、印刷物より、ナビゲーション等に使用可能な地図を取り込むことのできる撮像装置および地図媒体を提供することができる。
【発明を実施するための最良の形態】
【0014】
以下、図面に従って本発明を適用した撮像装置を用いて好ましい実施形態について説明する。図1は、本発明の第1実施形態に係わる撮像装置1の外観斜視図であり、この撮像装置はデジタルカメラである。撮像装置1の正面のほぼ中央には、レンズ鏡筒が配置され、このレンズ鏡筒の内部には撮影光学系11が配置されている。この撮影光学系11の光軸上には被写体像を画像信号に変換するための撮像素子12が配置されている。この撮像素子12としては、CCD(Charge
Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の2次元撮像素子が用いられる。
【0015】
撮像装置1の本体の上面には、撮影スイッチ4が配置されており、この撮影スイッチ4が半押しされると撮影装置1は撮影準備状態となり、全押し操作されると、撮影装置1は撮影動作を実行する。
【0016】
撮像装置1の背面には、液晶モニタ等によって構成される表示モニタ5が配置されている。この表示モニタ5は、撮影準備状態では、撮像素子12によって取得された被写体像を表示する所謂ライブビュー表示を行い、また、撮影動作の終了後における再生時には、後述する着脱メモリ9に記録された被写体像の再生表示を行う。また、撮像装置1における撮影モードやシャッタ速度等の撮影情報の表示も行う。
【0017】
撮像装置の側面には、着脱メモリ9を装填するためのカードインターフェース9aが設けられている。この着脱メモリ9は、撮影動作時に、撮像素子12によって取得された画像信号に基づく画像データを記録するための携帯型記憶媒体である。またカードインターフェース9aは、着脱メモリ9の装填時に、画像データを着脱メモリ9に記録するためのインターフェースである。
【0018】
次に、本実施形態における撮像装置1の電気的構成について、図2に示すブロック図を用いて説明する。撮影光学系11によって結像された被写体像を光電変換する撮像素子12の出力は撮像回路13に接続されている。この撮像回路13は撮像素子12から画像信号を読出し、AD変換等を行う。この撮像回路13の出力は、画像処理回路14に接続されている。
【0019】
画像処理回路14は、撮像回路13から入力した画像信号に対して、デジタル的増幅(デジタルゲイン調整処理)、色補正、ガンマ(γ)補正、コントラスト補正、ライブビュー表示用画像生成等の各種の画像処理を行なう。また、アフィン変換等の変換により印刷物の地図等の画像の歪を除去する画像処理も行う。さらに、画像データをJPEGやTIFF等の圧縮方式で圧縮し、また、圧縮画像データを伸張する。なお、画像圧縮はJPEGやTIFFに限らず、他の圧縮方式も適用できる。
【0020】
画像処理回路14はバス15に接続されている。バス15には、システムコントローラ16、SDRAM(Synchronous Dynamic Random Access Memory)19、メモリI/F(Interface)20、ビデオエンコーダ22がそれぞれ接続されている。システムコントローラ16はCPU(Central Processing Unit)等を含み、これに接続しているフラッシュメモリ17に記憶されている制御プログラムに従って撮像装置1の全体制御を行う。なお、フラッシュメモリ17は電気的に書き換え可能な不揮発性メモリである。
【0021】
システムコントローラ16は、操作部18、レンズ駆動部26、ストロボ発光部27、および電源部28が接続している。操作部18は、撮影スイッチ4等の種々の操作部材であり、これらの操作部材の動作状態を検出し、システムコントローラ16に伝達する。レンズ駆動部26は、システムコントローラ16からの制御信号に従って撮影光学系11の焦点調節や焦点距離調節を行う。ストロボ発光部27は、被写体に向けて補助光を照射する。電源部28は、撮像装置1の全体に電源を供給する。
【0022】
SDRAM19は、撮像素子12からの出力に基づく画像データを一時的に記憶する揮発性の書き換え可能なメモリである。メモリI/F20は、着脱メモリ9に画像データを記録するためのインターフェースである。
【0023】
ビデオエンコーダ22は、着脱メモリ9やSDRAM19に記憶された画像データを表示モニタ5に表示するためのエンコーダである。ビデオエンコーダ22の出力は、ビデオアウト25と表示ドライバ23に接続されており、ビデオアウト25から外部の表示装置にビデオ信号を出力する。また表示ドライバ23は、ビデオエンコーダ22から入力したビデオ信号に基づいて表示モニタ5内の液晶モニタを駆動する。
【0024】
次に、本実施形態における動作についてフローチャートを用いて説明するが、その前に、撮像装置1で撮像する印刷物である地図について説明する。図3は、本実施形態で撮像する地図50を示し、この地図50の4隅に隣接してQRコード51〜54が配置されている。
【0025】
それぞれのQRコード51〜54には、地図50の4隅における緯度および経度情報を示している。例えば、地図50の左上に配置されたQRコード51は、図4に示すように、左上に切り出しシンボル51a、右上に切り出しシンボル51b、左下に切り出しシンボル51cが配置されており、これらの切り出しシンボル51a〜51cを検出し、これらの切り出しシンボル51a〜51cの間のデータセル領域に情報が記録されている。
【0026】
本実施形態においては、このデータセル領域に、地図50の4隅における緯度および経度情報を記録している。図4の例では、データセル領域に、「E138.000、N36.200」が記録されており、これは地図50の左上隅の位置が、東経130.000度、北緯36.200度であることを示している。
【0027】
図3に示す地図50を、撮像装置1によって撮像し、画像を取り込むと、この場合、真正面から撮影しない等、種々の状況により、図5に示すように、歪んだ画像が取り込まれる。このため、本実施形態においては、4隅に配置されたQRコードを利用して、画像の歪量を求め、この歪量に基づいてアフィン変換を行い、図3に示すような歪のない画像に戻している。
【0028】
歪のない画像に変換すると、次に、4隅に配置されたQRコードの位置と、それぞれの座標データを用いて地図50の中心座標を求め、また縮尺を演算している。これらの一連の処理が終わると、地図データを着脱メモリ9に保存し、必要に応じて、表示モニタ5に、またビデオアウト25を介して外部表示装置に、地図を表示することができる。
【0029】
次に、図6のフローチャートを用いて、本実施形態の動作を説明する。図6に示すフローをスタートすると、まず、QRコード51〜54と地図50を一緒に撮影する(S101)。これは撮像素子12によって撮影画像を取得し、この画像データを一旦SDRAM19に一時的に格納する。
【0030】
続いて、撮影画像の左上から中心向けてQRコードを探索する(S103)。QRコードは、2次元コードの3コーナーに切り出しシンボル(51a、51b、51c)が配置されていることから、この3コーナーの切り出しシンボルの存在する2次元コードを探索する。
【0031】
ステップS103における探索に基づいて、QRコードを発見できたか否かの判定を行う(S105)。この判定の結果、QRコードを発見できなかった場合には、エラー処理を行い(S127)、このフローを終了する。一方、QRコードを発見できた場合には、QRコードを復号し、またQRコードの座標を取得し、この座標をQ_DATA[0]とする(S107)。QRコードの座標としては、切り出しシンボル51a〜51c(図4参照)を用い、これから中心位置51g(図6(B)参照)を求める。
【0032】
ステップS103において、左上からQRコードの探索を開始したことから、このとき発見したQRコードは、地図50の左上の隅に配置されたQRコード51である。このQRコード51の復号と座標取得のサブルーチンについては、図7を用いて後述する。
【0033】
続いて、撮影画像の右上から中心に向けてQRコードを探索する(109)。ステップS103と同様に、3コーナーの切り出しシンボルの存在する2次元コードを探索する。この探索に基づいて、QRコードを発見できたか否かの判定を行う(S111)。この判定の結果、QRコードを発見できなかった場合には、エラー処理を行い(S127)、このフローを終了する。
【0034】
一方、ステップS111における判定の結果、QRコードを発見できた場合には、ステップS107と同様にして、QRコードの復号を行い、座標を取得し、この座標をQ_DATA[1]とする(S113)。ステップS109において、右上からQRコードの探索を開始したことから、このとき発見したQRコードは、地図50の右上の隅に配置されたQRコード52である。このQRコード52の復号と座標取得のサブルーチンについては、図7を用いて後述する。
【0035】
続いて、撮影画像の左下から中心に向けてQRコードを探索する(115)。ステップS103と同様に、3コーナーの切り出しシンボルの存在する2次元コードを探索する。この探索に基づいて、QRコードを発見できたか否かの判定を行う(S117)。この判定の結果、QRコードを発見できなかった場合には、エラー処理を行い(S127)、このフローを終了する。
【0036】
一方、ステップS117における判定の結果、QRコードを発見できた場合には、ステップS107と同様にして、QRコードの復号を行い、座標を取得し、この座標をQ_DATA[2]とする(S119)。ステップS115において、左下からQRコードの探索を開始したことから、このとき発見したQRコードは、地図50の左下の隅に配置されたQRコード53である。このQRコード53の復号と座標取得のサブルーチンについては、図7を用いて後述する。
【0037】
続いて、撮影画像の右下から中心に向けてQRコードを探索する(121)。ステップS103と同様に、3コーナーの切り出しシンボルの存在する2次元コードを探索する。この探索に基づいて、QRコードを発見できたか否かの判定を行う(S123)。この判定の結果、QRコードを発見できなかった場合には、エラー処理を行い(S127)、このフローを終了する。
【0038】
一方、ステップS123における判定の結果、QRコードを発見できた場合には、ステップS107と同様にして、QRコードの復号を行い、座標を取得し、この座標をQ_DATA[3]とする(S125)。ステップS121において、右下からQRコードの探索を開始したことから、このとき発見したQRコードは、地図50の右下の隅に配置されたQRコード54である。このQRコード54の復号と座標取得のサブルーチンについては、図7を用いて後述する。
【0039】
ステップS125におけるQRコードの復号と座標取得を行うと、次に、撮影画像から地図部分の切り出しを行う(S129)。このステップでは、各QRコードの位置(Q_DATA「0」〜Q_SARA[3])の内側を地図部分として切り出す。すなわち、図6(B)に示すように、ステップS107等において求められた各QRコードの中心位置(51g、52g、53g、54g)で囲まれる切り出し範囲56を地図部分として切り出す。
【0040】
続いて、QRコードの位置(Q_DATA「0」〜Q_SARA[3])から歪量の演算を行う(S131)。このステップでは、中心位置51g、52g、53g、54gを用いて、長方形からのずれから歪量を求める。
【0041】
歪量を求めると、次に、この歪量を元に、切り出し画像の射影(アフィン)変換を行う(S133)。ここで切り出し画像は、地図50のうちステップS129における切り出し範囲56の画像である。
【0042】
続いて、4つのQRコード51〜54の位置と各座標データを元に、地図の中心座標(MAP_CENTER_X、MAP_CENTER_Y)と、縮尺(MAP_SCALE)を求める(S135)。このステップでは、4つのQRコード51〜54の各中心位置の座標を用いて地図50の中心座標(MAP_CENTER_X、MAP_CENTER_Y)を求める。すなわち、4つのQRコードのそれぞれの座標を(X1、Y1)、(X2、Y1)、(X1、Y2)、(X2、Y2)とすると、地図の中心座標は、((X1+X2)/2、(Y1+Y2)/2)となる。
【0043】
また、縮尺は緯度差を距離に変換し、アフィン変換後の中心位置51g、52gのY座標の差分で除算することにより求められる。緯度差は、緯度1’(分)=1海里=1852mとすると、
距離=緯度差*1852 (緯度[分]*1852m)
縮尺=距離/Δpixel (m/pixel)
により求められる。ここで、Δpixelは中心位置を中心位置51g、52gのX方向の距離を画素数で表したものである。
【0044】
続いて、切り出し画像に、地図の中心座標(MAP_CENTER_X、MAP_CENTER_Y)と、縮尺(MAP_SCALE)を付加した地図データを作成する。すなわち、ステップS135において求めた地図50の中心座標と、縮尺を付加して地図データを生成する。
【0045】
地図データを生成すると、続いて、この地図データを着脱メモリ9に保存する(S139)。地図データを保存すると、このフローは終了する。ここで、保存した地図データは、いつもでも取り出して、表示モニタ5に表示させることができると共に、ビデオアウト25を介して外部表示装置に表示させることもできる。また、図示されていないが、USB端子等の外部出力端子から地図データを出力させることもできる。これらの画像データはナビゲーションシステムに最適である。
【0046】
次に、ステップS107、S113、S119、S125におけるQRコードの復号化と、座標の取得のサブルーチンについて、図7を用いて説明する。このサブルーチンに入ると、まず、QRコードをデコードし、文字列をメモリに退避する(S201)。QRコードでは、規格によりデータセルの領域が決まっているので、その中に記録されている文字列を読み出す。
【0047】
本実施形態においては、QRコード51〜54に対応する地図50の隅の緯度・経度情報がQRコードのデータセル領域に記録されている。地図50の左上隅のQRコード51には、図4に示すようなQRコードが印刷されている。この図4に示すQRコード51のデータセル領域に記録されている情報を復号化すると、
文字列:E138.000,N36.200
である。これは、緯度・経度情報として、東経138.000度、北緯36.200を意味する。この読み出された文字列は、SDRAM19に一時格納される。
【0048】
続いて、文字列を分解し、座標数値に変換する(S203)。ステップS201において、文字列をメモリに一時記憶したが、この文字列を緯度・経度の単位に分割し、これをそれぞれのメモリのアドレスに入れ直す。例えば、ステップS201の例では、次のように分解して、メモリに記憶する。
Q_DATA[xx][0]=E (東経)
Q_DATA[xx][1]=138.000 (138.000°)
Q_DATA[xx][2]=N (北緯)
Q_DATA[xx][3]=36.200 (36.200°)
なお、右側のかっこ内は、文字列の意味を表す。
【0049】
座標数値に変換すると、次に、撮影画像に対するQRコードの中心位置を求める(S205)。このステップでは、QRコード51〜54について、それぞれのコードの中心位置を求める。すなわち、撮影画像の基準位置(通常は撮影画像の左上隅)を(0,0)とした場合、3つの切り出しシンボルの位置を画素単位(ピクセル数)で求め、この切り出しシンボル位置を用いて、中心位置を求める。
【0050】
中心位置を求めると、続いて、QRコードの中心位置をメモリに保存する(S207)。すなわち、SDRAM19に一時記憶する。一時記憶としては、例えば、
Q_DATA[xx][4]=200
Q_DATA[xx][5]=320
である。この例では、QRコードの中心位置が、撮影画像の基準位置(左上隅)を(0,0)としたとき、X軸方向に200画素、Y軸方向に320画素の位置に、中心があることを示している。QRコードを保存すると、元のフローに戻る。
【0051】
以上、説明したように、本発明の第1実施形態においては、4隅に2次元コード(ここではQRコード)を配置した地図を、撮影装置によって撮影し、この撮影した撮影画像から2次元コードを探索し、この探索した2次元コードの座標から歪量を演算し、この歪量に基づいて射影変換し、歪のない地図を得るようにしている。このため、地図データをデータベースとして持つ必要がなく、印刷物の地図を簡単に利用することができる。
【0052】
また、本発明の第1実施形態においては、2次元コードに緯度、経度情報を記録している。このため、地図を表示するにあたって、緯度、経度情報を併せて表示することができて便利である。
【0053】
さらに、本発明の第1実施形態においては、2次元コードに記録されている緯度・経度情報と、撮影画像の大きさから縮尺を演算するようにしているので、読み取られた地図を表示するにあたって、縮尺も併せて表示することができて便利である。
【0054】
さらに、本発明の第1実施形態においては、2次元コードの座標を用いて、撮影された地図の中心位置を求めている。このため、読み取られた地図を表示するにあたって、地図の中心位置を表示することができて便利である。
【0055】
次に、本発明の第2実施形態について、図8および図9を用いて説明する。本発明の第1実施形態では、印刷された地図の4隅に2次元コードを配置していたが、本実施形態においては、1箇所に2次元コードを配置した地図を読み取り、この地図を表示可能な地図データに変換し、記憶している。
【0056】
第2実施形態においても、撮影装置1の外観は図1と同様であり、また、電気回路は図2に示すブロック図と同様であることから、詳細な説明は省略する。本実施形態における動作を図8(A)および図9に示すフローチャートを用いて説明する。
【0057】
図8(A)に示すフローがスタートすると、まず、ステップS101と同様に、QRコードと地図を一緒に撮影する(S301)。なお、ここで撮影される地図50は、図8(B)に示すように、地図50の左上隅のみの1箇所にQRコード58が配置されている。
【0058】
QRコードと地図の撮影を行うと、次に、撮影画像の左上から右下に向けてQRコードを探索する(S303)。QRコードは、前述したように、2次元コードの3コーナーに切り出しシンボルが配置されていることから、ステップS103と同様に、3コーナーの切り出しシンボルの存在する2次元コードを探索する。
【0059】
次に、ステップS303における探索に基づいて、QRコードを発見できたか否かの判定を行う(S305)。この判定の結果、QRコードを発見できなかった場合には、エラー処理を行い(S317)、このフローを終了する。一方、QRコードを発見できた場合には、QRコードを復号し、またQRコードの座標を取得し、この座標をQ_DATA[0]とする(S307)。QRコードの座標としては、ステップS107と同様に、3つの切り出しシンボルを用い、これからQRコードの中心位置の座標を求める。このサブルーチンについては、図9を用いて後述する。
【0060】
続いて、Q_DATA[0]のアフィン係数を元に、撮影画像をアフィン変換する(S309)。アフィン係数を求めるにあたって、第1実施形態においては、4隅に配置されたQRコードの中心位置に基づいて演算していた。本実施形態においては、QRコードは1箇所のみであることから、QRコード自体の歪量を求め、この歪量に基づいてアフィン係数を求める。
【0061】
すなわち、QRコードには、元々、正方形をしており、また、3つの切り出しシンボルが配置されていることから、本来の形状のずれから歪量を求めるようにしている。歪量が求まると、第1実施形態と同様にして、アフィン係数を求め、射影(アフィン)変換を行う。
【0062】
アフィン変換を行うと、次に、Q_DATA[0]の位置と座標データを元に、地図の中心座標(MAP_CENTER_X,MAP_CENTER_Y)を演算する(S311)。ここで、Q_DATA[0]の位置は、撮影画像の基準位置(通常は左上隅)を(0,0)とした場合、3つの切り出しシンボルの位置を画素単位(ピクセル数)で求め、この切り出しシンボル位置を用いて中心位置を求める。また座標データは、QRコードの文字列として記録されている緯度・経度情報である。
【0063】
さらに、地図の中心座標(MAP_CENTER_X,MAP_CENTER_Y)は、ステップS301で撮影した地図の画像について、その地図部分の中心を求め、撮影画像の基準位置からのX軸方向およびY軸方向の位置を画素単位(ピクセル数)で表した数値を求め、さらにこの数値を縮尺に基づいて中心までの距離を演算し、これを用いて中心の位置の緯度および経度を求める。すなわち、地図の中心座標(MAP_CENTER_X,MAP_CENTER_Y)は、緯度・経度によって表される。
【0064】
例を挙げて説明すると、図8(B)に示すように、撮像データ59の中に配置されたQRコード58の座標は、(200,300)であり、これはQRコードの中心位置に対応し、左上にある基準位置(0,0)から、X軸方向に200ピクセル、Y軸方向に300ピクセルの位置にある。また、地図50の中心座標は、(400,600)にある。したがって、QRコードの中心位置から地図50の中心座標までの差分ΔX、ΔYは、下記の通りになる。
ΔX=400−200=200(pixel)
ΔY=600−300=300(pixel)
【0065】
ここで、地図の縮尺map_scaleを500m/pixelとすると、差分ΔX、ΔYの距離は下記の通りになる。
ΔX=200*500=100(Km)
ΔY=300*500=150(Km)
【0066】
今、QRコードの中心を東経138.0°、北緯36.2°とし、1分=1852mとすると、中心までの緯度差、経度差は、それぞれ下記の通りとなる。
緯度差 150Km≒81分
経度差 100Km≒54分
【0067】
したがって、X軸方向の中心位置とY軸方向の中心位置は、下記の通りとなる。
X=138.0°+54分=138.54°
Y=36.2°−81分=34.59°
以上より、地図の中心座標(MAP_CENTER_X,MAP_CENTER_Y)は、下記の通りとなる。
MAP_CENTER_X=E138.54
MAP_CENTER_Y=N34.59
【0068】
次に、アフィン変換後の画像に(MAP_CENTER_X,MAP_CENTER_Y)と、縮尺(MAP_SCALE)を付加した地図データを生成する(S313)。すなわち、ステップS309に得たアフィン変換後の画像に、ステップS311で求めた地図の中心座標(MAP_CENTER_X,MAP_CENTER_Y)と、ステップS307(詳しくは後述するS411)で求めた縮尺(MAP_SCALE)を付加した地図データを生成する。
【0069】
地図データを生成すると、続いて、この地図データを着脱メモリ9に保存する(S315)。以後、着脱メモリ9から地図データを読出し、表示モニタ5に表示したり、またビデオアウト25を介して外部の表示装置に表示し、さらにUSB端子等の外部出力端子を介して地図データを出力することが可能となる。
【0070】
次に、ステップ307におけるQRコードの復号化と座標取得のサブルーチンについて、図9を用いて説明する。このフローに入ると、まず、QRコードの3個の位置検出用パターンから、撮影画像に対するQRコードの中心位置座標を求める(S401)。ここで、位置検出用パターンは前述の切り出しシンボルに対応し、この3個の切り出しシンボルを検出すると、これを用いてQRコードの中心座標を求めることができる。なお、座標は、前述したように、撮影画像の基準位置からのX軸方向およびY軸方向の位置を画素単位(ピクセル数)で表した数値で表す。
【0071】
次に、QRコードの中心位置座標を保存する(S403)。すなわち、ステップS401で求めた中心位置座標をSDRAM19に一時記憶する。前述の図8(B)の例では、
Q_DATA[xx][0]=200
Q_DATA[xx][1]=320
が一時記憶される。
【0072】
続いて、QRコードをデコードする(S405)。ここでは、ステップS201と同様に、データセルに記録されているデータから文字列をデコードする。なお、第2実施形態においては、第1実施形態において記録されていた緯度・経度情報に加えて、縮尺に関係する情報(ここでは、QRコードの幅の長さ)が記録されている。
【0073】
QRコードをデコードすると、次に、文字列を分解し、座標数値と縮尺に変換する(S407)。ここでは、例えば、次のように文字列が分解される。
Q_DATA[xx][2]=E (東経)
Q_DATA[xx][3]=138.000 (138.000°)
Q_DATA[xx][4]=N (北緯)
Q_DATA[xx][5]=36.200 (36.200°)
Q_DATA[xx][6]=500 (QRコードの大きさは500[m])
なお、右側のかっこ内は、文字列の意味を表す。
【0074】
続いて、QRコードの大きさ(幅)を求め、これをQR_SIZEとする(S409)。QRコードの大きさ(幅)は、QRコードのX軸方向の長さであり、画素単位(ピクセル数、Δpixel)で表す。
【0075】
QRコードの大きさ(幅)が求まると、次に、QR_SIZEとQ_DATA[0][4]を元に、縮尺(MAP_SCALE)を演算する(S411)。ここでは、ステップS407で求めたQRコードに記録されている縮尺(Q_DATA[xx][6])を、ステップS409で求めたQRコードの大きさ(QR_SIZE=Δpixel)で、除算することにより求める。したがって、縮尺は、前述の例を用いると、
MAP_SCALE=500/Δpixel (m/pixel)
で、表される。
【0076】
縮尺を演算すると、次に、3つの位置検出パターンの位置座標を元に、QRコード自体の歪量を演算し、アフィン変換係数を求める(S413)。第1実施形態においては、4つのQRコードのそれぞれの中心位置を元に歪量を演算していたが、第2実施形態においては、QRコードは1つしか配置されていないことから、QRコード内の3つの位置検出パターン(切り出しシンボル)を用いて歪量を演算している。
【0077】
アフィン係数a〜dが求まると、下記のように、それぞれのアドレスに一時記憶する。
Q_DATA[xx][7]=a
Q_DATA[xx][8]=b
Q_DATA[xx][9]=c
Q_DATA[xx][10]=d
アフィン係数a〜dを用いると、下記の式によりアフィン変換を行うことができる。
【0078】
【数1】

【0079】
アフィン変換係数を求めると、元のフローに戻る。
【0080】
以上説明したように、本発明の第2実施形態においては、2次元コード(ここではQRコード)を1箇所だけ配置した地図を、撮影装置によって撮影し、この撮影した撮影画像から2次元コードを探索し、この探索した2次元コード自体を用いて歪量を演算し、この歪量に基づいて射影変換し、歪のない地図を得るようにしている。このため、地図データをデータベースとして持つ必要がなく、印刷物の地図を簡単に利用することができる。また、2次元コードは1箇所で済むことから、印刷物としての地図作成あたって、自由度が高まる。その他、第1実施形態での実施形態における効果も第2実施形態においても得ることができる。
【0081】
また、本発明の第2実施形態においては、2次元コードに記録されている縮尺情報と、2次元コードの大きさ(幅)から地図の縮尺を求め、これを地図データに付加している。このため、地図データの縮尺を簡単に知ることができる。
【0082】
このように、本発明の各実施形態においては、2次元コードを一緒に印刷した地図を撮影装置によって撮像することにより画像データを生成し、2次元コードを利用して歪量を求め、射影変換することにより歪のない地図データを得ている。このため、地図データを予め記憶しておく大容量のストレージを持つ必要がなく、ナビゲーションに使用可能な地図を取り込むことができる。2次元コードを利用せず、地図の画像のみから歪量を求める方法に比較し、2次元コードを利用することにより、より高精度に歪を除去することができる。
【0083】
また、本発明の各実施形態においては、撮像画像から地図のみを切り出し、これを射影変換している。このため、地図のみについて歪を除去し、地図データを作成することができる。
【0084】
さらに、本発明の各実施形態においては、2次元コードに記録された緯度・経度情報を復号することにより、簡単に緯度・経度情報を付加した地図データを作成することができる。
【0085】
さらに、本実施形態においては、4隅に設けられた2次元コードの座標を用いて、または地図画像の中心位置を求めることにより、地図の中心位置を付加した地図データを作成することができる。さらに、本実施形態においては、縮尺情報も併せて求めて、縮尺情報を付加した地図データを生成することができる。
【0086】
なお、本発明の実施形態においては、2次元コードは印刷物としての地図の4隅または左上隅の1箇所に配置した例を示したが、配置位置はこれに限らず、また、配置する2次元コードの数も3箇所や2箇所等であっても良い。
【0087】
また、本発明の実施形態においては、2次元コードとしては、QRコードを利用した例を示したが、これに限らず、他の2次元コードを利用しても良い。さらに、射影変換としてアフィン変換を利用した例を示したが、これに限らず、他の射影変換を用いて、歪のない画像を得るようにしても良い。
【0088】
さらに、本発明の実施形態においては、1台の撮像装置で地図を撮影し、地図画像を切り出し、アフィン変換を行い、緯度・経度情報や地図の中心位置を求めて、地図データを生成していた。しかし、これらの全ての処理を1台の撮像装置で行う必要はなく、デジタルカメラで地図を撮影し、この撮影画像をパーソナルコンピュータ等によって他の処理を行うようにしても良い。
【0089】
さらに、本実施形態においては、撮像装置として、デジタルカメラとして用いた例を説明したが、デジタルカメラとしては、一眼レフタイプでもよく、また一眼レフタイプ以外のコンパクトタイプでもよい。また、携帯電話や携帯情報端末(PDA:Personal
Digital Assist)等に内蔵されるカメラでも勿論構わない。
【0090】
以上、本発明の各実施形態を用いて説明したが、本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【0091】
【図1】本発明の第1実施形態に係わる撮像装置の外観を示す外観斜視図である。
【図2】本発明の第1実施形態に係わる撮像装置の電気系の全体構成を示すブロック図である。
【図3】本発明の第1実施形態に係わる地図を示す図である。
【図4】本発明の第1実施形態に係わる地図の2次元コードを示す図である。
【図5】本発明の第1実施形態において、取り込まれた地図の画像を示す図である。
【図6】本発明の第1実施形態に係わる撮像装置の動作を説明する図であり、(A)はメインのフローチャートであり、(B)は読み取りの対象となる地図を示す。
【図7】本発明の第1実施形態に係わるフローチャートである。
【図8】本発明の第2実施形態に係わる撮像装置の動作を説明する図であり、(A)はメインのフローチャートであり、(B)は読み取りの対象となる地図を示す。
【図9】本発明の第2実施形態に係わるフローチャートである。
【符号の説明】
【0092】
1・・・撮像装置、4・・・撮影スイッチ、5・・・表示モニタ、9・・・着脱メモリ、9a・・・カードインターフェース、11・・・撮影光学系、12・・・撮像素子、13・・・撮像回路、14・・・画像処理回路、15・・・バス、16・・・システムコントローラ、17・・・フラッシュメモリ、18・・・操作部、19・・・SDRAM、20・・・メモリI/F、22・・・ビデオエンコーダ、23・・・表示ドライバ、25・・・ビデオアウト、26・・・レンズ駆動部、27・・・ストロボ発光部、28・・・電源部、50・・・地図、51・・・QRコード、51a・・・切り出しシンボル、51b・・・切り出しシンボル、51c・・・切り出しシンボル、51g・・・中心位置、52・・・QRコード、52g・・・中心位置、53・・・QRコード、53g・・・中心位置、54・・・QRコード、54g・・・中心位置、56・・・切り出し範囲、58・・・QRコード、59・・・撮像データ

【特許請求の範囲】
【請求項1】
地図と、該地図の4隅に埋め込まれそれぞれが緯度・経度情報を有する2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、
上記得られた画像データから4つの2次元コードを探索する探索手段と、
上記探索された4つの2次元コードをそれぞれでコードして、上記緯度・経度情報を得るデコード手段と、
上記探索して得られた4つの2次元コードの画像データにおけるそれぞれの中心位置座標を算出する中心位置算出手段と、
上記算出された中心位置座標を用いて、上記画像データの歪量を演算する歪量演算手段と、
上記得られた歪量に基づいて、上記得られた画像データを射影変換する射影変換手段と、
上記各2次元コードの緯度・経度情報と中心位置座標とから、地図の縮尺と地図の中心位置の緯度・経度情報を演算する演算手段と、
上記地図の縮尺と地図の中心位置の緯度・経度情報を、射影変換後の地図とともに地図データとして保存する保存手段と、
を備えたことを特徴とする撮像装置。
【請求項2】
上記撮像して得られた画像データから地図のみを切り出す切り出し手段をさらに有し、
上記射影変換は、上記切り出し手段により切り出された地図に対してなされることを特徴とする請求項1に記載の撮像装置。
【請求項3】
上記射影変換は、アフィン変換であることを特徴とする請求項1または2に記載の撮像装置。
【請求項4】
地図と、該地図上または地図の周辺に埋め込まれ緯度・経度情報および縮尺情報を有する1つの2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、
上記得られた画像データから上記2次元コードを探索する探索手段と、
上記探索して得られた2次元コードをデコードして、上記緯度・経度情報および縮尺情報を得るデコード手段と、
上記得られた2次元コードの画像データにおける大きさを算出する幅算出手段と、
上記得られた縮尺情報と上記算出された2次元コードの大きさから地図の縮尺を演算する縮尺演算手段と、
上記探索して得られた2次元コードの3個の位置検出用パターンの画像データにおけるそれぞれの中心位置座標を算出する中心位置算出手段と、
上記算出された中心位置座標を用いて上記得られた2次元コードの歪量を演算してアフィン変換係数を算出する係数演算手段と、
上記算出されたアフィン変換係数に基づいて、上記得られた画像データに対してアフィン変換を行うアフィン変換手段と、
上記得られた2次元コードの緯度・経度情報と、画像データにおける中心位置とから、地図の中心位置の緯度・経度情報を演算する演算手段と、
上記地図の縮尺と地図の中心位置の緯度・経度情報を、アフィン変換後の画像データとともに地図データとして保存する保存手段と、
を備えたことを特徴とする撮像装置。
【請求項5】
地図と、該地図の隅に配置され情報を有する2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、
上記得られた画像データから2次元コードを探索する探索手段と、
上記探索された2次元コードを用いて、上記画像データの歪量を演算する歪量演算手段と、
上記得られた歪量に基づいて、上記得られた画像データを射影変換する射影変換手段と、
を備えたことを特徴とする撮像装置。
【請求項6】
上記2次元コードは、1つまたは複数配置されていることを特徴とする請求項5に記載の撮像装置。
【請求項7】
上記2次元コードには、緯度・経度情報が記録されており、上記撮像装置は上記緯度・経度情報を復号化し、この復号化された緯度・経度情報を上記画像データと共に保存することを特徴とする請求項5に記載の撮像装置。
【請求項8】
上記撮像装置は、上記2次元コードに基づいて上記地図の中心位置を求め、この中心位置と上記画像データと共に保存することを特徴とする請求項5に記載の撮像装置。
【請求項9】
上記撮像装置は、上記地図の縮尺を求め、上記画像データと共に保存することを特徴とする請求項5に記載の撮像装置。
【請求項10】
地図と、該地図の隅に配置され、緯度経度情報を有する2次元コードとが印刷された地図媒体を撮影して、上記地図と2次元コードを含む画像データを得る撮像手段と、
上記得られた画像データから2次元コードを探索する探索手段と、
上記探索された2次元コードを用いて、上記緯度経度情報を復号化する復号化手段と、
上記地図の画像データに上記得られた緯度・経度情報を付加して地図データを生成する地図データ生成手段と、
を備えたことを特徴とする撮像装置。
【請求項11】
地図部分と、
該地図部分の周囲に配置され、緯度・経度情報を記録した1つまたは複数の2次元コードと、
が印刷されていることを特徴とする地図媒体。
【請求項12】
上記2次元コードには、さらに2次元コードの大きさに関する情報を記録していることを特徴とする請求項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

【図9】
image rotate


【公開番号】特開2009−300501(P2009−300501A)
【公開日】平成21年12月24日(2009.12.24)
【国際特許分類】
【出願番号】特願2008−151582(P2008−151582)
【出願日】平成20年6月10日(2008.6.10)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(504371974)オリンパスイメージング株式会社 (2,647)
【Fターム(参考)】