(57)【要約】【課題】複数の画像の中から最も手ブレの少ない画像を選択する際、パフォーマンスを大きく損なわずに自動で選択できるようにすることを目的とする。【解決手段】複数の画像を取得する画像取得手段と、画像取得手段により取得された複数の画像から画像を選択し、選択した画像に基づいてマスクを作成する作成手段と、複数の画像のそれぞれについて、作成手段により作成されたマスクに基づいて特定される領域のエッジ量を取得する取得手段と、複数の画像のうち取得手段により取得されたエッジ量が最も大きい画像を手振れが最も少ない画像として選択する選択手段と、を有することによって課題を解決する。【選択図】図７
2018025981.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像を取得する画像取得手段と、
前記画像取得手段により取得された複数の画像から画像を選択し、選択した画像に基づいてマスクを作成する作成手段と、
前記複数の画像のそれぞれについて、前記作成手段により作成された前記マスクに基づいて特定される領域のエッジ量を取得する取得手段と、
前記複数の画像のうち前記取得手段により取得されたエッジ量が最も大きい画像を手振れが最も少ない画像として選択する選択手段と、
を有する情報処理装置。
【請求項２】
前記選択手段により選択された画像に対して文字認識処理を実行する実行手段を更に有する請求項１記載の情報処理装置。
【請求項３】
前記実行手段による文字認識処理の実行結果を表示する表示手段を更に有する請求項２記載の情報処理装置。
【請求項４】
前記表示手段により表示された前記文字認識処理の実行結果を保存する保存手段を更に有する請求項３記載の情報処理装置。
【請求項５】
ユーザーの操作に基づいて、前記保存手段による前記文字認識処理の実行結果の保存を行うか、再び前記画像取得手段による複数の画像の取得を行うかを制御する制御手段を更に有する請求項４記載の情報処理装置。
【請求項６】
前記作成手段は、前記画像取得手段により取得された一定の時間の連続的に撮影された複数の画像から画像を一つ選択し、選択した一つの画像に基づいて前記マスクを作成する請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
前記作成手段は、前記選択した画像に対して平滑化処理と適応２値化処理とを実行し、前記エッジ量の取得に用いない領域と前記エッジ量の取得に用いる領域とを特定する前記マスクを作成し、
前記取得手段は、前記複数の画像のそれぞれについて、前記作成手段により作成された前記マスクに基づいて特定される前記エッジ量の取得に用いる領域のエッジ量を取得する請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記作成手段は、前記選択した画像に対して平滑化処理と適応２値化処理とを実行し、実行した結果の画像を用いて、黒画素数が閾値より小さい領域を前記エッジ量の取得に用いない領域として特定し、黒画素数が閾値以上の領域を前記エッジ量の取得に用いる領域として特定し、前記マスクを作成する請求項７記載の情報処理装置。
【請求項９】
前記情報処理装置は、モバイル端末である請求項１乃至８何れか１項記載の情報処理装置。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
複数の画像を取得する画像取得ステップと、
前記画像取得ステップにより取得された複数の画像から画像を選択し、選択した画像に基づいてマスクを作成する作成ステップと、
前記複数の画像のそれぞれについて、前記作成ステップにより作成された前記マスクに基づいて特定される領域のエッジ量を取得する取得ステップと、
前記複数の画像のうち前記取得ステップにより取得されたエッジ量が最も大きい画像を手振れが最も少ない画像として選択する選択ステップと、
を含む情報処理方法。
【請求項１１】
コンピュータを、請求項１乃至９何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
モバイル端末の持つカメラ機能が高性能化するのに伴い、様々な業務における入力装置としての用途が期待されている。従来、ユーザーは紙文書を電子的に取り込むためにフラットベットスキャナ等を利用していたが、モバイル端末のカメラを利用することで簡単に紙文書を電子的に取り込むことができるようになった。特許文献１には、モバイル端末のカメラを利用して結果の入力及び写真の撮影、判定を実施するための技術が開示されている。
対象物に接近してカメラで撮影した場合の名刺や免許証等のＯＣＲ精度に比べ、Ａ４又はＡ３のような比較的大きなサイズの紙文書全体を撮影した場合ではＯＣＲ精度が落ちる。それは対象物との距離が離れることにより識別しようとするテキストの１文字当たりの解像度が低下するからである。したがって、Ａ４やＡ３のような比較的大きなサイズの紙文書でも、ＯＣＲ対象のテキスト領域に接近して撮影するのが望ましい。また、ＯＣＲ精度に影響を与えるパラメータとして、撮影画像における手ブレの有無がある。しかしながら、薄暗い環境で撮影した場合等は、シャッタースピードが遅くなるので撮影画像の手ブレの発生を皆無にすることは容易ではない。
また、モバイル端末のカメラは、ダンプトラックに装着されているタイヤを管理するために、タイヤの側面に刻印されているシリアル番号の読み取りにも利用され始めている。鉱山等で使用されるダンプトラックのタイヤは直径４ｍ程度の巨大なものもあり、撮影対象のシリアル番号は、タイヤの回転に応じて、撮影者に比べて高い位置又は地面間近の位置に存在するので、その撮影は手持ちで行わざるをえない。更に、撮影場所は機材や車両の陰での撮影となり光量不足のためにシャッタースピードが遅くなり、手ブレしやすい環境になりやすい等の問題もある。
上述の通り、カメラで撮影した画像に含まれている文字情報を読み取るＯＣＲ処理ではタイヤの場合も紙文書の場合でも画像の手ぶれ検出が共通した課題となっている。手ブレを検出するための手法として、例えば、加速度センサーを用いた方法や、画像の鮮鋭度やコントラストを用いたものが挙げられる。特許文献１には、携帯端末の加速度センサーを用いて手ブレが発生していないか判定し、手ブレが発生している場合は操作者に不合格である旨を通知し、再撮影を促すことが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２７７４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のように、手ブレが発生している場合に操作者に再撮影を促す方法では、操作者は撮影操作を何回も行う必要があり、手間がかかってしまう。モバイル端末のカメラで１回の撮影操作で複数枚の画像を連続撮影（又は動画撮影モードで複数枚の画像を取得）し、撮影した一連の画像の中から最も手ぶれの少ない画像を選出する方法をとることを考える。例えば、毎秒３０枚程度の撮影間隔で１秒間連続撮影すれば、３０枚の画像を取得でき、この３０枚の画像の中から最も手ぶれが少ないとみなせる画像を選出する。このとき、複数枚の画像を処理しなければならないので、その処理速度が大きな課題となる。
本発明は、複数の画像の中から最も手ブレの少ない画像を選択する際、パフォーマンスを大きく損なわずに自動で選択できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、複数の画像を取得する画像取得手段と、前記画像取得手段により取得された複数の画像から画像を選択し、選択した画像に基づいてマスクを作成する作成手段と、前記複数の画像のそれぞれについて、前記作成手段により作成された前記マスクに基づいて特定される領域のエッジ量を取得する取得手段と、前記複数の画像のうち前記取得手段により取得されたエッジ量が最も大きい画像を手振れが最も少ない画像として選択する選択手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、複数の画像の中から最も手ブレの少ない画像を選択する際、パフォーマンスを大きく損なわずに自動で選択できるようにすることができる。
【図面の簡単な説明】
【０００７】
【図１】モバイル端末の外観の一例を示す図である。
【図２】モバイル端末のハードウェアの構成の一例を示す図である。
【図３】モバイル端末のソフトウェア構成の一例を示す図である。
【図４】モバイルアプリのＵＩを提供する画面の一例を示す図である。
【図５】タイヤの撮影画像の特徴等を示す図である。
【図６】基本的な情報処理の一例を示すフローチャートである。
【図７】Ｓ６０１の詳細を示すフローチャートである。
【図８】マスクの例を示す図である。
【図９】フレーム画像にマスクを適用した一例を示す図である。
【図１０】Ｓ７０２の詳細を示すフローチャートである。
【図１１】平滑化処理と適応二値化処理とを行った一例を示す図である。
【図１２】メッシュ状の領域分割を適用した一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜第１実施形態＞
［外観］
本実施形態に係る情報処理装置の一例として、モバイル端末を例に説明する。モバイル端末は、携帯端末の一例であり、無線通信機能等の装備によって自由な場所で利用できる端末である。
図１は、モバイル端末の外観の一例を示す図である。モバイル端末１００は、各種のユニット（１０１〜１０４）で構成される。モバイル端末１００の表側がモバイル端末前面部１０１である。タッチパネル１０２は、ディスプレイ等の表示部の一例であり、出力（表示）と入力との２つの機能を備えている。更に、モバイル端末１００の裏側がモバイル端末背面部１０３である。モバイル端末背面部１０３は画像を取り込むためのカメラ１０４を備える。本実施形態では、モバイル端末１００のユーザーは、被写体１０５の画像を後述のモバイルアプリを用いて撮ることによって処理を開始することができる。被写体１０５は、例えば、タイヤ側面のシリアル番号である。被写体１０５はタイヤだけに限らず、名刺、写真、ホワイトボード等の、他の種類の被写体であってもよい。後述のモバイルアプリは、被写体１０５の画像を取り込み、タッチパネル１０２にその画像を出力することができる。
【００１０】
［ハードウェア構成］
図２は、モバイル端末１００のハードウェアの構成の一例を示す図である。モバイル端末１００は、各種のユニット（２０１〜２０７）を含んで構成される。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、各種のプログラムを実行し、様々な機能を実現するユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２は、各種の情報を記憶するユニットである。また、ＲＡＭ２０２は、ＣＰＵ２０１の一時的な作業記憶領域としても利用されるユニットである。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３は、各種のプログラム等を記憶するユニットである。例えば、ＣＰＵ２０１は、ＲＯＭ２０３に記憶されているプログラムをＲＡＭ２０２にロードしてプログラムを実行する。
加えて、ＣＰＵ２０１がフラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）といった外部記憶装置に記憶されているプログラムに基づき処理を実行する。これにより、図３に示されるようなモバイル端末１００を構成するソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
モバイル端末１００の機能及び後述するフローチャートに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。
Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０４は、タッチパネル１０２に対して、表示データの送信、及びタッチパネル１０２からの入力情報の受信を行う。
ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０５は、モバイル端末１００をネットワークに接続するためのユニットである。
カメラユニット２０６は、カメラ１０４と接続し被写体１０５の画像をモバイル端末１００に取り込む。
バス２０７は、上述した各ユニット間で送受信を行うためのデータ通信路である。
【００１１】
［ソフトウェア構成（モバイル端末）］
次に、モバイル端末１００におけるソフトウェアの構成について説明する。図３は、モバイル端末１００のソフトウェア構成の一例を示す図である。
図３に示される各ソフトウェア（アプリケーション）における機能（モジュール部）を実現するプログラムは、モバイル端末１００のＲＯＭ２０３等に記憶されている。
モバイル端末１００のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）は、データ管理部３０１を有する。
データ管理部３０１は、画像やアプリケーションデータを管理する。ＯＳは、データ管理部３０１を利用するための制御ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  ＰｒｏｇｒａｍｍｉｎｇＩｎｔｅｒｆａｃｅ）を提供している。各アプリは制御ＡＰＩを利用することでデータ管理部３０１が管理する画像やアプリケーションデータの取得や保存を行う。
モバイル端末１００のユーザーは、モバイル端末１００のＯＳのインストール機能を利用することによって、モバイルアプリ（モバイルアプリケーション）３０２のダウンロードとインストールとが可能である。モバイルアプリ３０２は、カメラユニット２０６を介して取り込んだ被写体１０５の画像に対する各種のデータ処理を行う。
メイン制御部３０３は、モバイル端末１００用のアプリケーション（モバイルアプリ）３０２を制御し、後述する各モジュール部（３０３〜３１２）に対する指示、及び管理を行う。
【００１２】
情報表示部３０４は、メイン制御部３０３からの指示に従い、モバイルアプリ３０２のユーザインタフェース（ＵＩ）をユーザーに提供する。
図４は、モバイルアプリ３０２のＵＩ（携帯端末用のＵＩ）を提供する画面（モバイル端末画面４００）の一例を示す図である。モバイル端末画面４００は、モバイル端末１００のタッチパネル１０２に表示される。また、モバイル端末画面４００では、表示及び操作領域４０１にカメラ１０４を介して取り込んだ画像が表示され、画像等に対するユーザーによる操作（ユーザ操作）を、表示されたＵＩを介して受け付ける。
モバイルアプリ３０２のＵＩの形態（位置、大きさ、範囲、配置、表示内容等）は、図４に示す形態に限定されるものではなく、モバイル端末１００の機能を実現することができる適宜の構成を採用することができる。
【００１３】
再び図３に戻り、モバイルアプリ３０２の各モジュールの説明を行う。
操作情報取得部３０５は、情報表示部３０４により表示されたモバイルアプリ３０２のＵＩがユーザー操作された情報を取得し、取得した情報をメイン制御部３０３に通知する。例えば、表示及び操作領域４０１をユーザーが手で触れると、操作情報取得部３０５は、触れられた画面上の位置の情報を感知し、感知した位置の情報をメイン制御部３０３に送信する。
画像解析部３０６は、カメラユニット２０６を介して取得したカメラ入力画像を解析して、手振れ度の算出を実行する。カメラユニット２０６は、単にスチール撮影を行えるだけでなく、高速で静止画を取得できる動画撮影機能、又は連写機能も備える。
ＯＣＲ部３０７は、画像解析部３０６が決定したＯＣＲ対象画像に対して、ＯＣＲ（光学文字認識）処理を行う。
記憶部３０８は、操作情報取得部３０５を介して、換言するならばモバイルアプリ３０２のＵＩを介して、ユーザーにより入力された設定値を保存（永続化）する。
ＤＢ部３０９は、データベース機能を有し、ユーザーが選択した短形領域の座標情報、画像の特徴量、エッジ画像等を管理する。ＤＢ部３０９のデータは、記憶部３０８に保存される。
座標処理部３１０は、データベースへ座標情報を登録する際の座標変換処理や画像の位置特定処理を行う。
画像特徴量抽出部３１１は、カメラ入力画像に対して、画像の特徴量の抽出処理を行う。
マスク作成部３１２は、カメラ入力画像に対して、文字の存在しない部分（地肌部分）を検出する処理を行う。
【００１４】
［タイヤの撮影画像］
次に、タイヤの撮影画像の特徴と読み取りたいシリアル番号について図５を用いて説明する。ユーザーは、被写体１０５であるタイヤの側面の一部分を、カメラ１０４を介して撮影する。ユーザーは、撮影時には短時間に複数フレームのスチールイメージを撮影するいわゆるビデオモードでの撮影を行う。ユーザーには図５に示すシリアル番号部分をフレーム内にできるだけ大きく含むように被写体に接近又はズームしてもらい、手振れを発生させないように努めてもらう。図５はそのようにして撮影された複数のフレーム画像のうちの一枚である。通常、タイヤの撮影画像にはシリアル番号以外にも、数字を含んだ文字列が含まれていることがある。またタイヤ特有の浅い擦り傷、小さいが深い傷、泥等の汚れが詰まった深い傷とシリアル番号部分を人間が判別しやすいようにチョークを塗った痕等が写り込むことが多い。
【００１５】
［基本フロー］
次に、モバイル端末１００におけるモバイルアプリ３０２の基本的な処理フローについて図６を用いて説明する。
本フローは、ユーザーによりモバイル端末１００におけるモバイルアプリ３０２で被写体１０５に対してカメラ１０４を接近して画像を取得することをトリガーに開始する。
Ｓ６０１で、モバイルアプリ３０２は、表示及び操作領域４０１に撮影画像を表示リアルタイムで表示する。更に、モバイルアプリ３０２は、検出したタイヤのシリアル番号を表示する領域４０２、ユーザーに読み取ったシリアル番号を確認して受諾するためのＯＫボタン４０３を表示する。また、モバイルアプリ３０２は、再読み取りを指示するリトライボタン４０４、読み取りを中止する為のキャンセルボタン４０５を表示する。Ｓ６０１の詳細な処理に関しては図７を用いて後述する。
Ｓ６０２で、モバイルアプリ３０２は、ユーザーによるキャンセルボタン４０５の選択を確認する。キャンセルボタン４０５が選択された場合はユーザーが読み取りをあきらめたかアプリを終了させたい場合であるため、モバイルアプリ３０２は、読み取ったシリアル番号を保存せずに図６に示す処理を終了する。
ユーザーは、モバイルアプリ３０２によって読み取られたシリアル番号がユーザーの目視による結果と一致しているか判断し、一致していればＯＫボタン４０３を選択し、一致していなければリトライボタン４０４を選択することになる。Ｓ６０３において、モバイルアプリ３０２は、ＯＫボタン４０３がユーザーにより選択されたと判断した場合、Ｓ６０４に遷移し、リトライボタン４０４がユーザーにより選択されたと判断した場合、Ｓ６０１に遷移して再読み取りを行う。Ｓ６０３の処理は、Ｓ７０６の文字認識処理の実行結果の保存を行うか、再びＳ７０１による複数の画像の取得を行うか制御する処理の一例である。
Ｓ６０４で、モバイルアプリ３０２は、読み取り結果（ＯＣＲ結果の文字列）とその読み取りに用いた撮影画像とを、データ管理部３０１に依頼してモバイル端末１００内に保存する。本実施形態では撮影結果をモバイル端末１００に保管する手法を取っているが、モバイルアプリ３０２は、Ｓ６０３でＯＫと判断した段階でインターネット上等のＰＣやサーバにその結果（読み取り結果と撮影画像）を即座にアップロードしてもよい。また、モバイルアプリ３０２は、読み取り結果と撮影画像とをデータ管理部３０１に貯めておき、後でまとめて他のＰＣやサーバにアップロードしてもよい。
【００１６】
［画像選択処理フロー］
図７は、図６のフローのＳ６０１の処理の詳細を示す図である。
まず、本フローで用いられる用語について説明する。
手振れ度は、撮影データの手振れの度合いを意味し、次に説明するエッジ強度に基づいて算出されるエッジ量を用いるものとする。エッジ強度とは、撮影画像の各画素について、各画素の値（例えば輝度値）とその隣接する画素の値との差分に基づき計算される値である。本実施形態でのエッジ強度の算出方法は隣接するＸ方向とＹ方向との画素の輝度の１次微分を取り、その絶対値の合計を取る方法とする。このような方法を用いると、隣接する画素同士の輝度の差が大きい程、強いエッジ強度を得ることができる。但し、後述するエッジ量同士が比較可能であれば、他のエッジ抽出手法であってもよい。例えば、Ｓｏｂｅｌフィルタを用いて撮影画像内の各画素のエッジ強度を求めるようにしてもよい。
エッジ量とは、撮影画像の所定範囲（特定の領域）内における各画素のエッジ強度に基づいて算出したものである。エッジ量は、所定範囲内の各画素のエッジ強度の和でもよいし、所定範囲内の各画素のエッジ強度の平均値であってもよい。また、エッジ量は、所定範囲内において、エッジ強度が所定の閾値以上である画素の数であってもよい。即ち、エッジ量の算出は、比較可能な値が算出できるのであれば、他の方法であってもよい。手ブレの少ない画像は、文字やキズ等のエッジが明確に出るので、エッジ強度が大きくなる（即ち、所定範囲内におけるエッジ量が大きくなる）傾向がある。したがって、エッジ量が大きい画像ほど、手ブレの少ない画像と判定できる。
【００１７】
続いて、図７のフローについてまず概要を説明する。モバイルアプリ３０２は、連続撮影された複数の撮影画像を取得し（Ｓ７０１）、その複数の撮影画像のなかから最も手振れの少ない画像を選出（Ｓ７０５）して、その画像に対してＯＣＲ処理（Ｓ７０６）を施してタイヤのシリアル番号を読み取る。このことが図７の大まかな処理の流れである。Ｓ７０３の手振れ度の算出処理は、連続撮影した複数の画像全てに対して行わなければならないため、時間を要する処理となってしまう。本実施形態では、撮影画像の全体（全画素）を手振れ度の算出対象とするのではない。モバイルアプリ３０２は、手振れ度の算出に効果が少ないと考えられる領域（バックグラウンド）を判定してその部分を除外することで処理時間を短縮する。バックグラウンドを除外するための処理が手振れ度算出用マスク作成処理（Ｓ７０２）である。
【００１８】
図７の詳細を説明する。
Ｓ７０１において、モバイルアプリ３０２は、カメラユニット２０６で撮影された被写体（タイヤ等）の撮影画像を取得する。取得する画像は、一定の時間の連続的に撮影された複数の画像である。Ｓ７０１では、ユーザーが撮影指示を１回出すだけで、カメラユニット２０６の動画撮影機能を用いて高速で対象を連続撮影する。Ｓ７０１の処理は、複数の画像を取得する画像取得の処理の一例である。
Ｓ７０２で、マスク作成部３１２は、Ｓ７０１で得られた複数の画像のうち一つ（例えば、連続撮影された３０枚の画像のうちの真ん中（１６枚目）の画像）を選択して手振れ度算出用マスク作成処理を実行する。マスク作成部３１２は、マスクの作成において、全フレーム画像の中から選択された１フレームの画像に対して一度だけ行う。マスクの作成時に選択されたフレーム画像の例を、図５に示す。図５の画像に基づいて作成されたマスクの例を、図８に示す。マスクにおけるハッチング部分が手振れ度算出対象外の領域を特定し、ハッチング部分以外が手振れ度算出対象領域を特定している。手振れ度算出用マスク作成処理（Ｓ７０２）の詳細は、図１０を用いて後述する。黒画素数が所定の閾値より小さいメッシュ領域が手振れ度算出対象外の領域となり、黒画素数が所定の閾値以上のメッシュ領域が手振れ度算出対象の領域となる。
【００１９】
Ｓ７０３では、メイン制御部３０３は、Ｓ７０２の処理結果として得られた手振れ度算出用マスクを用いて、各フレーム画像について手振れ度算出に不要とみなされる領域を計算対象から除外する。そして、メイン制御部３０３は、それ以外の領域（手振れ度算出対象領域）から手振れ度（エッジ量）を算出する。手振れ度算出に不要とみなされる領域とは、手振れしているかどうかの判断に用いるエッジが出にくい領域（文字やキズ等を含まない背景領域）と言い換えることができる。タイヤでいえば、タイヤの地肌部分（シリアルナンバーやキズ等が無い領域）がこの不要領域として判定される。図５のフレーム画像に図８のマスクを適用した図が図９である。ハッチング部分と重なっていない部分が手振れ度算出対象領域となりＳ７０３の手振れ度算出に用いられる。手振れ度算出対象領域はハッチング部分以外の部分を指定する複数の矩形の集まりとして表現される。具体的には矩形の左上と右下の座標の組の複数個の集まりとして表現される。図９から見て取れるように、手振れ度の算出対象領域は、タイヤの地肌部分以外の文字や細かい傷等エッジ成分を多く含む領域であり、フレーム画像全体と比べ、面積比で半分程度になっている。つまり算出に要する時間の短縮が望めることになる。
Ｓ７０４で、メイン制御部３０３は、Ｓ７０１で取得された複数の画像すべて（全フレーム画像）に対して手振れ度を計算したかどうか判断する。メイン制御部３０３は、Ｓ７０１で取得された複数の画像すべてに対して手振れ度を計算した場合、Ｓ７０５に進み、未処理の画像がある場合はＳ７０３に戻って次のフレーム画像に対して手振れ度を算出する。
【００２０】
Ｓ７０５において、メイン制御部３０３は、Ｓ７０３で計算した全フレーム画像の手振れ度を比較し最も手振れが少ないと判定したフレーム画像をＯＣＲ対象として選出する。メイン制御部３０３は、手振れ度としてエッジ量を用いる場合、エッジ量が最も多いフレーム画像を、手ブレが最も少ない画像として選択する。
Ｓ７０６で、ＯＣＲ部３０７は、Ｓ７０５で選択されたフレーム画像に対してＯＣＲ処理を実行し、シリアル番号を認識する。ＯＣＲ部３０７は、フレーム画像に対してＯＣＲ処理を実行する際、ＯＣＲ処理対象領域は全面ではなく、Ｓ７０２で決定した手振れ度算出対象領域に限定するようにしてもよい。ＯＣＲ処理対象領域を限定することにより、ＯＣＲ処理でもタイヤの地肌を予め処理対象から外すことができるため結果として処理時間の削減につながる。Ｓ７０６のＯＣＲ処理は、文字認識処理の一例である。また、ＯＣＲ処理の結果、認識されたシリアル番号は、文字認識処理の実行結果の一例である。
Ｓ７０７で、ＯＣＲ部３０７は、ＯＣＲ結果の確信度が閾値以上かどうかを確認する。ここで確信度とはＯＣＲ部３０７の認識結果の自信を表し、高いほど文字認識の精度が高いと言える。閾値は使用するＯＣＲエンジンにとって、適切な値が用いられる。ＯＣＲ部３０７は、ＯＣＲ確信度が閾値以上の場合、Ｓ７０８に進み、ＯＣＲ確信度が閾値に満たない場合にはＳ７０１に戻る。Ｓ７０１でモバイルアプリ３０２は、再度連続撮影された複数の撮影画像を取得する。
Ｓ７０８で、情報表示部３０４は、認識の結果得られた文字情報をタッチパネル１０２の領域４０２に表示して、図７に示す処理を終了する。
【００２１】
次に図１０においてＳ７０２の手振れ度算出用マスク作成処理を説明する。この処理の目的はタイヤの表面地肌の部分等の平滑な領域を検出して手振れ度の算出対象から除去するためのマスクを作成することにある。マスク作成部３１２において本処理が実行される。
Ｓ８０１で、マスク作成部３１２は、連続したフレーム画像をＳ７０１で得られた複数の画像の中から一つを選択する。複数のフレーム画像のうちどれを用いるかは任意であるが、本実施形態では、マスク作成部３１２は、取得順での中間のものを用いるものとする。これは撮影初期ではなくカメラを構えてしばらく経った時点の画像が最も手ぶれが少ないであろうとの推測に基づくからである。
Ｓ８０２で、マスク作成部３１２は、平滑化処理を行う。平滑化処理は主にタイヤの地肌における泥、埃によるテクスチャの除去に有効である。平滑化は移動平均法等の手法を用いて周辺の輝度変化を平均化する。平滑化処理のフィルタのサイズはタイヤの状況に応じて適切な値を用いることで効果と処理速度とのバランスをとることができる。
【００２２】
平滑化が終わった画像に対してＳ８０３で、マスク作成部３１２は、適応２値化処理を行う。タイヤは輝度が全体的に低いことに加え、撮影対象が湾曲しているのでカメラ撮影の際の光の当たり具合が一定しない等の特長がある。したがって、マスク作成部３１２は、二値化には適応二値化処理を用いる。図５のフレーム画像に対してＳ８０２の平滑化処理とＳ８０３の適応二値化処理とを施した結果を図１１に示す。図１１により、タイヤ地肌に含まれていた小さな傷が平滑化処理で落とされ、かつ、適応二値化処理でタイヤの地肌部分がほぼ白く飛んだ画像となったことがわかる。深い傷であっても泥が詰まっていて輝度がタイヤ地肌より高い（色が薄い）傷（図５の深い傷１）も白く飛んでしまう。一方、図５の深い傷２は平滑化処理では除去できないほど大きく、かつ、輝度が低い（暗い）ため二値化処理でも黒い点として残ってしまう。図５の浅い擦り傷も輝度が低いため二値化処理で除去されずに残っている。
このように、図１１のシリアル番号部分の文字部分が黒くつぶれて出力されていること、シリアル番号以外の文字部分が除去されていないこと、下部の浅い擦り傷が除去されていないことは問題ではない。図１１に示す出力画像は文字情報のＯＣＲ処理に用いられるわけではなく、あくまでも手振れ度の計算に用いるためのマスク作成に利用されるからである。エッジ成分を多く含む文字がマスクされずに残ることは、その文字部分がシリアル番号でなくとも手振れ度の計算に都合がよいため好ましい結果といえる。少なくともエッジ成分を含まないタイヤ地肌部分の大半が除去できれば目的を達することになる。
【００２３】
Ｓ８０４で、マスク作成部３１２は、適応二値化後の画像に対して図１２に示すメッシュ状の領域分割を適用し、各メッシュ領域内の黒画素の数を計算（ヒストグラム算出）する。
Ｓ８０５で、マスク作成部３１２は、黒画素数が所定の閾値より小さいメッシュ領域がマスク対象（手振れ度算出に用いない領域）として選別する。図８のハッチング部分が選別されたマスク部分である。
マスク作成部３１２による手振れ度算出用マスク作成処理の出力は、算出されたマスク領域の補集合（外部）領域を示す情報である。この領域情報は手振れ度算出対象領域を表す。
以上のように、本実施形態によれば、複数の画像の中から最も手ブレの少ない画像を選択する際、パフォーマンスを大きく損なわずに自動で選択できる。
【００２４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
【符号の説明】
【００２６】
１００    モバイル端末
２０１    ＣＰＵ
３０２    モバイルアプリ
【図１】
2018025981.tif 000003
【図２】
2018025981.tif 000004
【図３】
2018025981.tif 000005
【図４】
2018025981.tif 000006
【図５】
2018025981.tif 000007
【図６】
2018025981.tif 000008
【図７】
2018025981.tif 000009
【図８】
2018025981.tif 000010
【図９】
2018025981.tif 000011
【図１０】
2018025981.tif 000012
【図１１】
2018025981.tif 000013
【図１２】
2018025981.tif 000014