以下、適宜図面を参照しながら、実施の形態を詳細に説明する。ただし、必要以上に詳細な説明は省略される場合がある。例えば、既によく知られた事項の詳細や実質的に同一の構成についての説明は、繰り返されない場合がある。以下の説明が冗長なあまり当業者の理解を妨げることを避けるためである。
なお、添付図面及び以下の説明は当業者が本開示を十分に理解できるよう提供されるものであり、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
まず、発明者が本開示で提供される技術の基とした知見について説明する。
上記で挙げた特許文献1に開示される技術では、撮影された画像に含まれる各画素の輝度に基づいて、いわば撮影装置(または画像データのファイルフォーマット)のダイナミックレンジの限界値を持つ画素とそうでない画素とを塗り分けた画像が生成され、この画像が撮影者(ユーザ)に示される。この技術は写真の撮影自体が目的であるユーザにとっては有用である。しかし、画像取得の目的が撮影以外にある場合、ダイナミックレンジの限界値を有している白飛びの領域のみならず、限界値未満であっても比較的輝度の高い画素の扱いが重要な場合がある。例えば印刷物等に表示される文字の認識が画像取得の目的である場合、各画素が文字の像を構成するか否かの判定には、ダイナミックレンジの限界値よりも低い値が閾値として用いられるのが通常である。そうしなければ、印刷物にかかる影、紙色、又は微かな汚れ等も文字の一部として読取の対象に含まれるためである。
また、特許文献2では、読取の作業を実施する環境に近い状態でこの作業の対象である書面が撮影され、この撮影の結果に基づいて、2値化画像を得るために用いられる閾値、又は照明状態を含む作業環境が確認及び調整されている。ただし、この技術を用いて高い精度で文字認識ができるのは、この確認と調整に用いられた書面を、この確認と調整で決定された閾値と環境で読み取る場合に限られる。
発明者はこれらの点に鑑みて、撮影された画像が、撮影以外の所定の目的に利用できるか否か、つまり所定の目的のための処理(例えば文字認識)に適しているか否か評価するための技術を本開示で提供する。これにより、ユーザは撮影した画像を実際に目的の処理にかけることなく、必要に応じて速やかに撮り直しをすることができる。また、本開示にかかる技術によってユーザは先の画像で目的の処理に適さないと評価される原因となった明るさや場所を把握できるため、撮り直しの際には、適切な画像の撮影のために適切な手段を講じることができる。
以下では、実施の形態を具体例に沿って説明する。本実施の形態では、図1Aに示されるように何らかの文字列を表示する表示媒体M10を、携帯情報端末が備えるデジタルカメラでユーザが撮影する。図1Aは、文字認識の処理の対象となる文字列を表示する表示媒体M10の例の一部を示す図である。そしてこのユーザは、携帯情報端末にインストールされた文字認識アプリケーションソフトウェア(以下、アプリケーションソフトウェアはアプリケーションと表記する)に、その撮影された画像に写る文字を認識させることを目的としている。これは、文字を認識させて得られる文字データを、他のアプリケーションでの入力データとして用いるためである。この「他のアプリケーション」とは、例えば、ウェブブラウザ、辞書アプリケーション、翻訳アプリケーション、地図アプリケーション、スケジュール管理アプリケーション、連絡先管理アプリケーション等である。
このようにして画像から文字データを取得することの利点は、ユーザは自身が読めない又は入力できない文字の文字データを利用することができる点にある。また、ユーザ自身が読んだり入力したりできる文字であっても、量が多い場合には文字データの入力にかかる手間を減らすことができる。
このようなユーザが文字データを取得するために携帯情報端末で撮影すると想定される表示媒体M10の例としては、本、雑誌、新聞、チラシ、料金表、名刺、ショップカード、標識、看板等の各種の印刷物、及び店頭、屋外、駅構内等にある情報端末、電光掲示板、デジタルサイネージ等の各種の表示装置が挙げられる。このように表示媒体M10は、その素材、表示原理、及び設置場所の点でバリエーションに富む。そのため撮影条件は多様であり、文字認識に適した画像の撮影が常に容易というわけではない。例えば表示媒体M10を撮影することによって取得された画像が、文字認識の精度を低下させる白飛びの領域や光源の写り込みを含むことがある。図1Bは、上記の表示媒体M10を撮影して取得された画像の例である画像P10の部分図である。画像P10の表示媒体M10との外見上の相違点は、このような白飛びや写り込み等によって生じる。
撮影された画像が文字認識に適さず、文字認識アプリケーションによる文字認識の結果が不正確である場合には、ユーザは文字データ中の誤りを探して修正する手間を強いられ、上記の利点の恩恵が受けられない。あるいは、なじみのない言語の文字では、文字認識の結果が不正確であるか否かの判断すらできないことがある。この場合、ユーザは、得られた文字データを用いた情報の検索結果を見て初めて文字認識の結果に問題があったことに気づき、被写体の向きを変えて画像を撮り直したり、文字認識アプリケーションの設定を変えたり等の試行錯誤をしなければならず、正確な文字データの取得までに多くの手間がかかる。なお、このような白飛びや写り込み等による問題は文字認識に限らず、バーコードやQRコード(登録商標)等の図形認識、及び顔認識等、画像から情報を抽出する各種の処理で起こり得る。
以下では、画像から情報を抽出するこれらのような処理の実施に先だって、当該画像がこの処理に適しているか否かを評価することで、上記のような問題を解決する技術について、画像が文字認識に適しているか否かを評価する実施の形態を例に用いて説明する。
(実施の形態)
本実施の形態は、上記の技術を実現する装置を例に用いて説明される。なお、この技術は、以下に説明する装置が行う処理の全部又は一部をステップとする方法、この方法を各種の情報処理装置に実行させるプログラム、又はこのプログラムを非一時的に記憶する各種の記憶媒体によっても実現することができる。
[1.構成]
図2は、実施の形態にかかる画像評価装置の機能ブロック図である。
実施の形態にかかる画像評価装置10は、演算処理部100、撮像部200、記憶部300、表示部400、及び入力部500を備える。また、この演算処理部100は、機能的構成要素である輝度画像生成部110、輝度閾値決定部120、強調画像生成部130、高輝度画素特定部140、評価画像生成部150、及び画像評価部160を提供する。
画像評価装置10は、上記のような携帯情報端末で実現され、より具体的には、携帯電話、スマートフォン、タブレット型コンピュータ等である。携帯情報端末は、次の「2.動作」の項で各処理のフローとして説明されるアルゴリズムを示すアプリケーションを実行することによって本実施の形態にかかる画像評価装置10を実現する。
演算処理部100は、この携帯情報端末が備えるCPU(central processing unit:中央演算処理装置)で実現され、撮像部200はこの携帯情報端末が備える光学系及び撮像素子を含む。
また、記憶部300は、この携帯情報端末が備える半導体メモリ等の記憶装置で実現される。
表示部400及び入力部500は、例えばこの携帯情報端末が備えるタッチパネル又はボタン等で実現される。タッチパネルを備えない携帯情報端末の場合は、表示部400はディスプレイで、入力部500はボタン等で実現される。
なお、撮像部200、記憶部300、表示部400、及び入力部500の動作は、演算処理部100によるアプリケーション310及び制御プログラム320の実行結果に基づく。つまり、これらの構成要素は、上記で例示した機器に、演算処理部100、並びにこれらのアプリケーション310及び制御プログラム320が加わって実現される。
演算処理部100が提供する上記の機能的構成要素は、画像評価装置10にインストールされているアプリケーション310を実行する演算処理部100によって実現される。これらの機能的構成要素については、次の「2.動作」の項で詳細に説明する。
撮像部200は、画像評価装置10を操作するユーザによって、文字認識処理の対象となる画像の撮影に用いられる。撮影によって生成された画像データは記憶部300に保存される。保存された画像データは演算処理部100によって読み出されて、演算処理部100がアプリケーション310を実行してする処理の対象となる。
記憶部300は、演算処理部100によって読み出されて実行される上述のアプリケーション310及び制御プログラム320を記憶する。実行されることによってアプリケーション310は携帯情報端末の各種の機能を実現する。携帯情報端末の画像評価装置10としての機能もアプリケーション310の実行によって実現される。制御プログラム320は画像評価装置10の各構成機器の動作を制御する。さらに記憶部300には、撮像部200による撮影によって生成された画像データ、入力部500を介してユーザが入力したデータ、及び後述の各処理で生成されるデータ等、各種のデータが必要に応じて演算処理部100によって書き込まれ、また、これらのデータは、記憶部300から読み出される。
表示部400は、ユーザに提示される視覚的情報を出力するユーザインターフェースであり、例えば撮像部200を用いてユーザが画像を撮影するときのファインダーとして機能する。また例えば、表示部400には、後述の処理の結果を示す画像や文字を含む画面が出力(表示)される。
入力部500は、ユーザの操作を受け付けるユーザインターフェースであり、例えば撮像部200を用いてユーザが画像を撮影するときのシャッターボタンとして機能する。また例えば、画像評価装置10に評価をさせる画像の選択や、後述の処理の実行開始又はキャンセルを指示するユーザの操作を受け付けてもよい。
[2.動作]
次に、画像評価装置10の動作についてフロー図を用いて説明する。
図3Aは、画像評価装置10によって実行される画像評価の処理の手順例を示すフロー図である。図3Bは、この処理での画像評価装置10の構成要素間のデータの流れを示すデータフロー図であり、下辺が波線の矩形はデータを示し、それ以外の矩形は画像評価装置10の構成要素(機能的構成要素を含む)を示す。また、構成要素の右下には、各構成要素が実行する図3Aのステップの参照符号が示されている。以下の説明で参照する各フロー図の処理の実行主体の確認に図3Bを適宜参照されたい。なお、説明及び理解を簡単にするために、図3Bでは記憶部300の介在は省略されている。
携帯情報端末である画像評価装置10の画像評価のための動作の前に、例えばユーザがこの携帯情報端末を操作して撮像部200を用いて画像を撮影する。以下ではこの撮影によって取得された画像を、以降の処理で生成される他の画像と区別するために撮影画像ともいう。例えば図1Bに示される画像P10が撮影画像の例である。
例えば、携帯情報端末で実行中のあるアプリケーション310で、撮影画像に対して文字認識の処理をする指示の操作をユーザがすると、この携帯情報端末は画像評価装置10として以下の動作を実行する。
まず、輝度画像生成部110が、この撮影画像に含まれる画素の輝度値を示す輝度画像を生成する(ステップS10)。図4は、ステップS10で実行される輝度画像の生成の手順例を示すフロー図である。
最初に輝度画像生成部110は、撮像部200によって生成されて記憶部300に保存された撮影画像のデータを読み出して取得する(ステップS101)。以降、輝度画像生成部110は、取得した撮影画像に含まれる画素それぞれについて以下の処理を実行する。
輝度画像生成部110は、1画素のRGB(red、green、及びblue)色情報を取得する(ステップS102)。なお、この例は、このRGB色情報はred、green、及びblueの各色の階調を8ビットの値で示す24ビットの情報であるという想定に基づいて説明する。また、本発明はこの想定に限定されず、他の色深度や色空間の画像データに対しても適用することができる。
次に輝度画像生成部110は、取得したRGB色情報からこの画素の輝度値Yを算出する(ステップS103)。この算出は、例えば上記の各色の階調を示す8ビットの各値に所定の係数をかけて行う。下記の式1はその一例である(R、G、Bそれぞれの値域は0以上255以下)。
Y=0.299×R+0.587×G+0.114×B・・・(式1)
次に輝度画像生成部110は、式1を用いて算出したYの値に、小数点以下の端数を四捨五入するために0.5を加える(ステップS104)。そしてステップS104で得たYの値が255より大きい場合(ステップS105でYES)、この画素の輝度値として255を出力する(ステップS106)。ステップS105で得たYの値が255以下の場合(ステップS105でNO)、Yの値の整数部分のみをこの画素の輝度値として出力する(ステップS107)。このように、画素の輝度値は、当該画素のRGB色情報に基づいて、0から255の値域で算出される。
次に輝度画像生成部110は、この画素が撮影画像のデータに含まれる終端画素であるか、つまり撮影画像のすべての画素について輝度値を算出したかを判定する(ステップS108)。この画素が終端画素ではない場合(ステップS108でNO)、輝度画像生成部110は輝度算出の対象を次の画素に移して(ステップS109)ステップS102以降を実行する。この画素が終端画素の場合(ステップS108でYES)、輝度画像生成部110は算出したすべての輝度に基づく輝度画像を生成して出力する(ステップS110)。ここまでの手順がステップS10である。
次に、輝度閾値決定部120が、ステップS110で出力された輝度画像に含まれる画素の輝度値の度数分布を取得する(ステップS20)。図5は、ステップS20で実行される輝度値の度数分布の取得の手順例を示すフロー図である。
まず輝度閾値決定部120は、輝度画像生成部110が出力した輝度画像のデータを取得する(ステップS201)。以降、輝度閾値決定部120は、取得した輝度画像に含まれる画素それぞれについて以下の処理を実行する。
輝度閾値決定部120は、1画素の輝度値を取得する(ステップS202)。
このとき、輝度閾値決定部120は配列H1を用意している。この配列H1は、例えば輝度画像が含む画素の各輝度値の出現頻度を集計するための、初期値がゼロの256個の整数型の要素を持つ配列である。また、配列H1のインデックス(配列番号)の値域は0から255までで、インデックスの値は、各要素で出現頻度(画素の数)が集計される輝度値に一致する。そして輝度閾値決定部120は、取得した輝度値に対応する配列H1の要素の値に1を加算する(ステップS203)。例えば、取得した画素の輝度値が0であれば、配列H1においてインデックス0が示す要素であるH1[0]に1が加算され、輝度値が255であれば、配列H1においてインデックス255が示す要素であるH1[255]の値に1が加算される。
次に輝度閾値決定部120は、この画素が輝度画像のデータに含まれる終端画素であるか、つまり輝度画像のすべての画素について輝度値の出現頻度を集計したかを判定する(ステップS204)。この画素が終端画素ではない場合(ステップS204でNO)、輝度閾値決定部120は輝度値の取得の対象を次の画素に移して(ステップS205)ステップS201以降を実行する。この画素が終端画素の場合(ステップS204でYES)、輝度閾値決定部120は算出したすべての輝度の集計結果を示す配列H1を出力する(ステップS206)。ステップS110で出力された輝度画像に含まれる画素の輝度値の度数分布はこの配列H1として取得される。ここまでの手順がステップS20の詳細である。
次に輝度閾値決定部120は、ステップS20で取得された度数分布に基づいて輝度閾値を決定する(ステップS30)。この輝度閾値とは、後述する手順において、ひとつの画像内で輝度値に基づく各画素の分類の判定基準として用いられる閾値である。以下では、例を用いてステップS30の詳細を説明する。図6A及び図6Bは、輝度値の度数分布に基づく輝度閾値の決定のための一連の手順例を示すフロー図である。
まず輝度閾値決定部120は、ステップS20で取得された度数分布から累積度数分布を生成する。図6Aは、この累積度数分布の生成までの手順を示す図である。ここで輝度閾値決定部120は配列H2を用意している。この配列H2は、例えば輝度画像が含む画素の各輝度値の出現頻度(画素の数)を累計するための、初期値がゼロの256個の整数型の要素を持つ配列である。また、配列H2のインデックスの値域は0から255までで、インデックスの値は、各要素で累計の対象である画素の最大輝度値に一致する。例えば、配列H2においてインデックス0で示される要素であるH2[0]の値は、輝度画像における輝度値0の画素の数であり、インデックス100で示される要素であるH2[100]の値は、輝度値0から100までの画素の数の累計値である。また、配列H2においてインデックス255で示される要素であるH2[255]の値は輝度値0から255までの画素の数の累計であって、すべての画素の輝度値は0以上255以下のいずれかの整数であるため、H2[255]の値は輝度画像の総画素数でもある。
輝度閾値決定部120は、配列H1の各要素の値を用いて配列H2の各要素の値を算出する。具体的には、最初に輝度閾値決定部120は、インデックス「0」で示される配列H2の先頭の要素、つまり輝度値0の画素の数を、配列H1の先頭の要素H1[0]の値から取得する(ステップS301)。
続いて輝度閾値決定部120は、配列H2の先頭から2番目以降の要素の値を取得する(ステップS302及びS303)。例えば配列H1及びH2の先頭から2番目以降の各要素のインデックスをi(iは1以上の整数)とすると、H2の各要素の値は下記の式2で得られる。
H2[i]=H1[i]+H2[i−1]・・・(式2)
例えば配列H2のインデックス1で示される要素であるH2[1]の値は、要素H2[0]の値に要素H1[1]の値を加算して得られる。このように得られた要素H2[1]の値は、配列H1の先頭の要素から配列H1の先頭から2番目の要素までの値の累積値である。この手順を、インデックスiの値を1ずつ増加させて値が255になるまで実行される(ステップS304及びS305)。この結果ステップS306で出力される配列H2は、ステップS20で取得された度数分布に基づく累積度数分布を示すデータである。
これより後の図6Bに示される手順は、ステップS306で取得された累積度数分布から輝度閾値を決定するための手順である。本実施の形態では、pタイル法を用いて輝度閾値を決定する方法を例として以下の手順を説明する。なお、pタイル法は画像の2値化において用いられる一手法であるが、本実施の形態の処理では輝度画像の2値化までは実行されない。
輝度閾値決定部120は、配列H2の最後の要素の値、つまり輝度画像の総画素数totalを取得する(ステップS307)。次に輝度閾値決定部120は、下記の式3を用いて、取得したtotalに累積相対度数(0%〜100%、本実施形態では98.5%)を乗算し基準累積度数pを算出する。この基準累積度数pとは、全画素の輝度値を昇順で並べた場合に、輝度値が0の画素から98.5パーセンタイルに該当する輝度値の画素までの画素の数である。なお、以下の(式3)において、累積相対度数は%ではなく、0(0%)〜1(100%)の数値とする。
p=total×0.985・・・(式3)
本実施の形態では、この98.5パーセンタイルに該当する輝度値が、後述する輝度値に基づく各画素の分類の判定の基準として用いられる輝度閾値である。輝度閾値決定部120は、以下の手順でこの98.5パーセンタイルの輝度値を求める。
まず輝度閾値決定部120は、配列H2のインデックスiの値を0で初期化する(ステップS309)。次に輝度閾値決定部120は要素H2[i]の値を取得し(ステップS310)、取得した値が基準累積度数p以上か否かを判定する(ステップS311)。要素H2[i]の値がp未満であれば(ステップS311でNO)、輝度閾値決定部120はインデックスiに1を加算して(ステップS312)、ステップS310及びS311を実行する。要素H2[i]の値がp以上であれば(ステップS311でYES)、輝度閾値決定部120はこのときのインデックスiの値を輝度閾値thとして決定して出力する(ステップS313)。別の表現を用いれば、本実施の形態においてpタイル法を用いて決定される輝度閾値は、上記の輝度値の度数分布で、輝度値の昇順での累積相対度数が0.985以上である最小の輝度値である。ここまでの手順がステップS30の処理の詳細である。
上記の配列H1、配列H2、及び輝度閾値thは、輝度値に関するヒストグラムを用いて図7A及び図7Bのように示される。図7Aは、配列H1を表すヒストグラム(以下、ヒストグラムHG1という)の例である。図7Bは、配列H2を表すヒストグラム(以下、ヒストグラムHG2という)及びこのヒストグラムでの輝度閾値thの位置の例である。なお、これらのヒストグラムは配列H1、配列H2、及び輝度閾値thの説明のための模式的な図であり、画像P10から生成される輝度画像の輝度値を反映するものではない。また、total及びpの位置は両者間の大小関係を示すものであって、その比率を正確に示すものではない。ステップS206では、ヒストグラムHG1に示されるようなデータが出力され、ステップS306でヒストグラムHG2に示されるようなデータが出力される。そしてヒストグラムHG2から、ステップS307でtotal、ステップS308でpが取得され、ステップS311でp以上の累積度数を示す柱が見つかると、その柱が該当する輝度値がステップS313で輝度閾値thとして決定される。
このようにして決定される輝度閾値は、輝度画像のデータ、引いてはその基である撮影画像のデータから動的に決定される。つまり、撮影画像が明るい(輝度の高い画素が多い)か暗い(輝度の低い画素が多い)かによって輝度閾値の値は変化する。これにより、輝度が飽和はしていないものの高いがために、OCR等の撮影画像から情報を抽出する処理において、抽出される情報のノイズの原因となり得る画素(別の表現を用いれば、この所定の処理に必要な情報の取得に利用可能な画素であるか否か)を特定するための基準である閾値が、当該撮影画像の明るさに応じて適切に決定される。
輝度画像生成部110から出力された輝度画像に対して上記の輝度閾値決定部120によってステップS20及びS30が実行される一方で、同じ輝度画像に対して別の処理が強調画像生成部130によって実行される。なお、この処理は、図3Aでは便宜的にステップS20及びS30に続くステップS40として記載されているが、ステップS20及びS30とステップS40との間では実行順序の前後は問わない。強調画像生成部130によって実行されるステップS40の手順を、図8を参照して説明する。図8は、強調画像生成部130による、輝度画像においてより高い輝度値の画素を強調するための処理の手順例を示す図である。
最初に強調画像生成部130は、ガンマ変換テーブルを取得する(ステップS401)。本実施の形態におけるガンマ変換は、輝度画像の各画素の輝度値を入力値x(xは0以上255以下の整数)とし、前記ガンマ変換の結果として出力される輝度値をyとすると、下記の式4に示される変換が輝度画像に対して実行される処理である。
式4に示される入出力の関係をグラフにしたものが図9Aである。図9Aにおける曲線は式に示される入出力の関係を示す。例えば輝度画像の最大輝度値にごく近い入力値in1は、最大輝度値からさらに遠いものの、比較的高輝度の出力値out1に変換される。これに対し、in1より低い輝度値の入力値in2とその出力値out2の差は、in1とout1の差に比べて大きい。この設定によるガンマ変換の結果として得られる画像では、輝度値が255の画素(以下、輝度飽和画素という)を除いて輝度画像に比べて全体的には輝度が低い。また、輝度画像において高輝度の画素に対応する部分では中輝度から高輝度の範囲で輝度差が強調され、輝度画像において低輝度から中輝度の画素に対応する部分では低輝度の範囲で輝度差が圧縮されたものである。具体的には、式4に基づけば、輝度画像で輝度値が184以上の画素間では高輝度部分強調画像で輝度差が強調され、輝度画像で輝度値が183以下の画素間では輝度差が圧縮される。別の表現を用いると、ガンマ変換の結果として得られる画像では、輝度画像において高輝度の画素に対応する部分は中輝度以上の画素として表され、そうでない画素は低輝度の比較的暗い画素として表される画像である。そして、このガンマ変換の結果として得られる画像でも比較的明るいのは、輝度画像でごく明るい画素であった部分に限られる。例えば、式4を用いたガンマ変換の結果として得られる画像で輝度値が170を超える(輝度値の値域上限から3分の1の範囲)画素は、輝度画像での輝度値が241以上(輝度値の値域上限から約6%の範囲)の画素である。以下では、ガンマ変換の結果として得られるこのような画像を高輝度部分強調画像という。この高輝度部分強調画像は、輝度画像でごく明るい画素であった部分のみが明るくてそれ以外は比較的暗く、結果的に所定の輝度より高い部分が強調された画像である。
図8のフロー図に沿ったステップS40に戻ると、この処理では、輝度画像の各画素の輝度値を式4の入力値xとする変換をすることによって、出力値yを輝度値とする高輝度部分強調画像が生成される。ただし、各画素の輝度値に対して式4の計算を逐一実行する処理は非効率である。また、入力値は輝度画像の輝度値である0以上255以下の整数に限定されているため、これらの入力値のそれぞれに対する出力値をあらかじめ計算し、この入力値と出力値を対応付けてテーブルに格納したガンマ変換テーブルを用いることでこの処理は効率よく実行される。図9Bに示されるテーブルLUT1は、このガンマ変換テーブルの例である。なお、本実施の形態では、入力値、出力値ともに整数が利用されるため、式4の結果として出力されたyに端数処理(例えば、4×10−15を0とする)がなされている。このように、ステップS40における変換によって得られる高輝度部分強調画像の各画素の輝度値は、式4によるガンマ変換の結果そのままの値ではなく、このガンマ変換の結果に基づくおよその値であってもよい。
強調画像生成部130は計算によってこのガンマ変換テーブルを取得してもよいし、記憶部300に保存されているガンマ変換テーブルを読み出して取得してもよい。
ガンマ変換テーブルを取得した強調画像生成部130は、輝度画像生成部110が生成した輝度画像を取得する(ステップS402)。次に強調画像生成部130は輝度画像の各画素の輝度値を取得し、ガンマ変換テーブルを参照して入力値である取得した輝度値に対応する出力値を取得することでガンマ変換を実行する(ステップS404〜S405)。なお、本フロー図中のnは1以上の整数であり、画素ごとに実行される手順を説明するために便宜的に各画素に付与した番号を示す。
画素nの輝度値Ynについてガンマ変換を実行すると、次に強調画像生成部130は画素nが輝度画像の終端画素であるか否かを判定する(ステップS406)。画素nが終端画素ではない場合(ステップS406でNO)、強調画像生成部130はガンマ変換の対象を次の画素に移して(ステップS407)ステップS404以降を実行する。画素nが終端画素の場合(ステップS406でYES)、強調画像生成部130はガンマ変換によって算出したすべての輝度に基づく高輝度部分強調画像を生成して出力する(ステップS408)。ここまでの手順がステップS40の処理の詳細である。
次に画像評価装置10では、高輝度画素を特定する処理が高輝度画素特定部140によって実行される(図3AのステップS50)。
この処理では、ステップS40で生成された高輝度部分強調画像を処理の対象として、高輝度部分強調画像に含まれる各画素の輝度値が、ステップS30で決定された輝度閾値を超えるか否かについて判定される。この処理の詳細について、図10を参照して説明する。図10は、高輝度画素特定部140による、高輝度画素の特定の処理の手順例の詳細を示すフロー図である。
まず高輝度画素特定部140は、輝度閾値決定部120が決定した輝度閾値thと、強調画像生成部130が生成した高輝度部分強調画像とを取得する(ステップS501)。次に高輝度画素特定部140は、高輝度部分強調画像の各画素の輝度値を取得し、この輝度値が輝度閾値thを超えるか否か判定する(ステップS502〜S504)。なお、本フロー図中のnは1以上の整数であり、画素ごとに実行される手順を説明するために便宜的に各画素に付与した番号を示す。
次に高輝度画素特定部140は、高輝度部分強調画像の画素nの輝度値Ynが輝度閾値thを超える(ステップS504でYES)か、超えないか(ステップS504でNO)の判定の結果に基づいて、輝度閾値thを超える輝度を持つ画素を高輝度画素と特定する。(ステップS505及びS506)。
ステップS505又はS506の後、高輝度画素特定部140は画素nが高輝度部分強調画像の終端画素であるか否かを判定する(ステップS507)。画素nが終端画素ではない場合(ステップS507でNO)、高輝度画素特定部140は輝度閾値thとの輝度値の比較対象を次の画素に移して(ステップS508)ステップS503以降を実行する。画素nが終端画素の場合(ステップS507でYES)、高輝度画素特定部140は、特定された高輝度画素を示す情報を出力する(ステップS509)。以下では、この情報を高輝度画素情報という。この高輝度画素情報を示すデータの形式は高輝度部分強調画像内の画素のうちいずれの画素が高輝度画素であるかを示すデータであれば特に限定されない。例えば特定された高輝度画素及びそれ以外の画素の少なくとも一方の輝度値を0等の一様の値に変更した画像のように、高輝度画素と特定された画素とそれ以外の画素の表示態様に差を付けた画像のデータであってもよい。図11は、画像P10についてステップS10からS50までが実行されて高輝度画素情報として出力された画像の一例である。この画像では、ステップS50で高輝度画素と特定された画素は輝度値が255に揃えられ、それ以外の画素はより低い一様な輝度値を有する。あるいはこのような画像データに代えて、高輝度画素の位置を示す座標、又は各画素に一定の規則で番号を付した上で高輝度画素と特定された画素に付されている番号を含む配列であってもよい。ここまでの手順がステップS50の処理の詳細である。
上記のような高輝度部分強調画像を、高輝度画素、ここでは、輝度が高いために、撮影画像に対する所定の処理において抽出される情報のノイズの原因となり得る画素の特定に用いることには次のような効果がある。
ひとつは、輝度画像において低輝度又は中輝度である画素は、変換によって、高輝度部分強調画像では低輝度の画素として現れるため、このような画素が、後に抽出される情報のノイズの原因となり得る画素と誤って判断されることが防止される。
また上述のとおり、輝度画像において輝度値が高い画素については、高輝度部分強調画像では輝度差が強調されている。したがって、輝度飽和画素よりも低い輝度値を示す輝度閾値を用いることで、輝度飽和画素より暗い画素であっても上記のような情報のノイズの原因となり得る画素と判定される一方で、輝度画像に同じ輝度閾値を用いてするよりも慎重な判定が可能である。
次に画像評価装置10では、高輝度画素特定部140が出力した高輝度画素情報に基づいて、撮影画像又は輝度画像に含まれる画素のうちで、高輝度画素特定部140によって高輝度画素と特定された画素に対応する画素を示す画像である評価画像が評価画像生成部150によって生成される(ステップS60)。この評価画像は、例えば、撮影画像又は輝度画像が所定の処理の対象として適しているかについてユーザに評価をさせるために表示部400を介して出力(表示)されてもよいし、後述する画像評価装置10による評価の結果とともに表示部400を介して出力されてもよい。図12A〜図12Cはこの評価画像の例である。評価画像とは、撮影画像又は輝度画像の画素のうち、高輝度画素特定部140によって高輝度画素と特定された画素に対応する画素の少なくとも一部が、元の撮影画像又は輝度画像での色から変更された画像である。
この「高輝度画素と特定された画素に対応する画素」とは、言い換えると高輝度画素と特定された画素と同じ位置にある画素である。上述のとおり、輝度画像は撮影画像の各画素のRGB色情報から当該画素の輝度値の情報を算出して取得される画像であり、高輝度画素情報はその輝度画像をガウス変換して得た高輝度部分強調画像のいずれの画素が高輝度画素であるかを示す情報である。ここまでのいずれの過程でも、画像間で画素の対応関係が1対複数であったり、画素の位置が変えられたりはしていない。したがって、撮影画像の画素、輝度画像の画素、及び高輝度画素情報に示される画素の間には1対1の対応関係があり、高輝度画素情報において高輝度画素であると示される画素に対応する、撮影画像又は輝度画素の画素を特定することが可能である。図12A〜図12Cの例では、撮影画像であるP10のうち、図11に示される、高輝度部分強調画像で高輝度画素と特定された画素に対応する画素(以下では、評価画像中の高輝度画素ともいう)の少なくとも一部の色が変更されている。
また、元の撮影画像又は輝度画像からの色の変更は、色相、明度、彩度のいずれにおける変更であってもよい。例えば図12Aに示されるように、隣接する評価画像の高輝度画素がなす領域(斑点で示される領域)のすべての画素の色を、元の色に関わらず同じ色に変えてもよい。そして評価画像中の高輝度画素の変更後の色は、それ以外のいずれの画素の色とも異なる色であってもよい。例えば輝度画像を用いて評価画像を生成する場合、輝度画像ではどの画素にも色情報は含まれないため、評価画像中の高輝度画素の色を赤色としてもよい。これにより、例えば評価画像を見たユーザは、高輝度画素の位置及び量を速やか且つ正確に把握することができる。
また別の変更の態様としては、例えばすべての高輝度画素の色を元の色から反転させてもよい。
また、「評価画像中の高輝度画素の少なくとも一部」とは、上記のような評価画像中の高輝度画素がなす領域がある場合に、その一部のみを変えてその領域を示してもよい、という意味である。例えば図12Bに示されるように、領域の一部分の色を変えた模様(この例ではハッチング)を用いる表示態様であってもよいし、図12Cに示されるように、領域の外縁(この例では外縁に沿う破線)の色が変更される表示態様であってもよい。また、色が変更される画素又は色自体が経時的に変化する表示態様、つまりアニメーションを用いてこの領域が示されてもよい。これにより、例えばユーザは静止画の中の動く部分を見て、速やかに輝度が高い画素の位置及び量を把握することができる。また、上記の表示態様の複数が組み合わせて用いられてもよい。
このような評価画像を、画像評価装置10においてステップS60より前に取得されたデータから生成する方法は複数考えられる。以下では、そのひとつを評価画像の生成のための処理の例として説明する。図13は、評価画像生成部150による、評価画像の生成のための処理の手順例の詳細を示すフロー図である。この例では、輝度画像と、図11に示されるような画像のデータである高輝度画像情報とを用いて評価画像が生成される。また、評価画像中の高輝度画素は赤色で示される。
まず評価画像生成部150は、輝度画像生成部110が生成した輝度画像と、高輝度画素特定部140が出力した高輝度画素情報とを取得する(ステップS601)。次に評価画像生成部150は高輝度画素情報から各画素が高輝度画素であるかを示す情報を取得し、この情報に基づいて当該画素が高輝度画素か否か判定する(ステップS604)。なお、本フロー図中のnは1以上の整数であり、画素ごとに実行される手順を説明するために便宜的に各画素に付与した番号を示す。
画素nが高輝度画素である場合(ステップS604でYES)、評価画像生成部150は、画素nの色を赤色に変更する(ステップS605)。画素nが高輝度画素ではない場合(ステップS604でNO)、評価画像生成部150は、画素nを、輝度画像内で画素nに対応する画素、つまり画素nと同位置にある画素に置換する(ステップS606)。
ステップS605又はS606の後、評価画像生成部150は、画素nが高輝度画素情報に示される画像データの終端画素であるか否かを判定する(ステップS607)。画素nが終端画素ではない場合(ステップS607でNO)、評価画像生成部150は高輝度画素であるか否かの判定とその判定結果に基づく画素の変更の対象を次の画素に移して(ステップS608)ステップS603以降を実行する。画素nが終端画素の場合(ステップS607でYES)は、画素値の変更による評価画像の生成の完了であり、評価画像生成部150は、この評価画像を出力する(ステップS609)。ここまでの手順がステップS60の処理の詳細である。
このようにして生成された評価画像は、上述のとおり表示部400を介して出力される(ステップS90)。図14は、画像評価装置10の表示部400に表示される、ユーザに評価画像を提示する画面例を示す。この例では、評価画像中の高輝度画素からなる領域が図12Aに示される態様で示される。ユーザはこの画面の評価画像を見て、例えば赤色(本図中では斑点)で示される領域の位置と大きさに基づいて、撮影画像(又は輝度画像)が文字認識等の所定の処理に適しているか否か評価することができる。所定の処理に適さないと評価した場合は、例えばこの画面で「画像を変更」の選択肢を選び、この画像を破棄して撮影を再度行うか、画像評価装置10内に記憶されている別の画像を選択してもよい。
あるいは、画像評価装置10がこの評価画像を用いて上記の評価をしてもよい。例えば、画像評価装置10は、評価画像の画素数に対する高輝度画素の数の割合を算出し(ステップS70)、この割合に基づいてこの評価をしてもよい(ステップS80)。以下では、この評価のための処理の例について説明する。
図15は、画像評価部160による、上記の評価のための処理の手順例を示すフロー図である。本実施の形態では、撮影画像が文字認識に適しているか否かについての評価を行う場合を例に説明する。
まず画像評価部160は、評価画像生成部150が生成した評価画像を取得する(ステップS701)。
次に画像評価部160は、取得した評価画像の総画素数aを取得する(ステップS702)。この総画素数aは例えば評価画像のデータを解析して取得してもよいし、輝度閾値決定部120が取得した輝度画像のtotalを取得してもよい。
次に画像評価部160は、評価画像中の高輝度画素の数bを取得する(ステップS703)。例えば評価画像が輝度画素を用いて生成された画像であって、この評価画像では高輝度画素が赤色で示されている場合には、この赤色の画素の数をカウントして評価画像中の高輝度画素の数bが取得されてもよい。
次に画像評価部160は、評価画像の総画素数aに対する評価画像中の高輝度画素の数bの割合qを算出する(ステップS704)。
次に画像評価部160は、評価画像の元である撮影画像又は輝度画像が、所定の処理に適しているか否かについて評価する(ステップS80)。画像評価部160はこの評価を、ステップS70で算出されたqが所定の閾値以下であるか否かの判定に基づいて行う(ステップS801)。本実施の形態では、撮影画像又は輝度画像が文字認識の処理に適しているか否かについて評価するための閾値として例えば0.2%が用いられる。qが0.2%以下の場合(ステップS801でYES)、画像評価部160はこの撮影画像又は輝度画像が文字認識の処理に適する画像であるとの評価結果を示すために、文字認識対象フラグを立てる(ステップS802)。qが0.2%を超える場合(ステップS801でNO)、画像評価部160はこの撮影画像又は輝度画像が文字認識の処理に適さない画像であるとの評価結果を示すために、文字認識対象外フラグを立てる(ステップS803)。これらのフラグは、例えば評価画像、撮影画像、又は輝度画像のデータにメタ情報として埋め込まれる。ここまでの手順がステップS80の処理の詳細である。
なお、上記のステップS70及びS80の詳細な手順は一例であり、文字認識等の所定の処理に適した画像であるか否かの評価のための手順であれば他のデータや閾値が用いられてもよいし、評価結果の情報が異なる形で示されてもよい。例えば、総画素数aは撮影画像、輝度画像、高輝度部分強調画像、評価画像の間では共通であるため、いずれを用いて取得されてもよい。また、評価画像に代えて、高輝度画素特定部140が出力する高輝度画素情報を用いて高輝度画素の数bが取得されてもよい(図3Bの破線の矢印参照)。例えば高輝度画素情報が画像であれば、所定の画素値の画素の数が取得されてもよいし、輝度画素情報が配列であれば、その要素の数であってもよい。また、評価画像中の高輝度画素の数に代えて、評価画像中の高輝度画素でない画素の数が用いられてもよい。
また、ステップS801の判定の結果は画像データへのメタ情報としての埋込に加えて又は代えて、表示部400を介して出力されてもよい(ステップS90)。例えばステップS801でNOの場合には、文字認識処理の結果は不正確な可能性が高い旨を示唆する通知及び再撮影をするか否かの決定を促すメッセージが、評価画像とあわせて画像の評価の結果として表示部400に表示されてもよい。図17は、画像評価装置10による画像の評価の結果を示す画面例である。この画面例では、評価画像中の高輝度画素からなる領域が図12Aに示される態様で示される画像と、ユーザにこの画像で文字認識を実行するか否かの選択を促すダイアログとが含まれている。この画面を見たユーザは、評価画像中の高輝度画素が、自身が文字情報を抽出したい像のある領域にかかっていれば画像を撮り直すか又は別の画像を選択し、そうでない場合は、この評価画像の基になった撮影画像又は輝度画像を文字認識の処理の対象としてもよい。
上記のステップS90までが、画像評価装置10で行われる処理手順である。例えばステップS80でNO(ステップS801でNO)であり、評価画像又は評価画像に加えて評価結果が表示部400に表示された後は、画像評価装置10はその表示に対するユーザからの入力を待つ(ステップS100)。この入力とは、例えば画像の破棄及び再撮影のためのカメラアプリケーションへの切り換え、画像の選択画面への切り換え、又は文字認識等の所定の処理の実行を指示する入力である。また、ステップS80でYES(ステップS801でYES)の場合は、この評価の結果を表示部400に表示することなく、撮影画像又は輝度画像に対して当該所定の処理が実行されてもよい(ステップS110)。
[3.効果等]
以上のように、本実施の形態における画像評価装置10は、撮影による撮影画像の取得に用いられる、撮像素子を含む撮像部200と、前記撮影画像に含まれる各画素の輝度値を示す輝度画像を取得する輝度画像生成部110と、前記輝度画像に含まれる各画素の輝度値の度数分布を取得し、前記度数分布に基づいて輝度閾値を決定する輝度閾値決定部120と、前記輝度画像に所定の輝度より高い部分を強調するための処理を行うことで高輝度部分強調画像を生成する強調画像生成部130と、前記高輝度部分強調画像に含まれる画素のそれぞれについて、当該画素の輝度が前記輝度閾値を超えるか否かについて判定し、前記判定の結果に基づいて、前記輝度閾値を超える輝度を有する画素を高輝度画素と特定する高輝度画素特定部140とを備える。また、この画像評価装置10においては、撮影によって取得された撮影画像に含まれる各画素の輝度値を示す輝度画像が取得され(ステップS10)、前記輝度画像に含まれる各画素の輝度値の度数分布を取得され(ステップS20)、この度数分布に基づいて輝度閾値が決定され(ステップS30)、前記輝度画像に所定の輝度より高い部分を強調するための処理が行われることで高輝度部分強調画像が生成され(ステップS40)、前記高輝度部分強調画像に含まれる画素のそれぞれについて、当該画素の輝度が前記輝度閾値を超えるか否かについて判定され、前記判定の結果に基づいて、前記輝度閾値を超える輝度を有する画素が高輝度画素と特定される(ステップS50)。
これにより、所定の処理に必要な情報の取得に利用可能な画素の特定は、撮影画像に基づく輝度画像そのものではなく、高い輝度値を持つ画素間の輝度差を強調し、低い方から中程度までの輝度値の画素間の輝度差は低い輝度値域で圧縮された画像に対して輝度閾値を用いて実行される。また、この輝度閾値は、当該輝度画像からダイナミックに決定される。そのため、表示媒体や照明状態等の点で不特定の撮影条件で撮影して取得されるさまざまな撮影画像に対して、この撮影画像内の各画素が、文字の読取等の所定の処理に必要な情報の取得に利用可能な画素であるか否かを、輝度値に基づいて適切に判定することができる。
また、本実施の形態において、前記撮影画像又は前記輝度画像の画素のうち、前記高輝度画素と特定された画素に対応する画素の少なくとも一部の画素の色が変更されている評価画像が生成され、前記評価画像が出力されてもよい(ステップS60)。より具体的には、前記色が変更された後の少なくとも一部の画素の色は、前記高輝度画素と特定された画素に対応する画素以外のいずれの画素の色とも異なる色であってもよい(ステップ605)。
これにより、撮影画像(又は輝度画像)中の、輝度が過度に高く所定の処理に必要な情報の取得に利用できない画素の位置や大きさをユーザに提示して、撮影画像(又は輝度画像)が上記の所定の処理に適した画像であるか否かを、ユーザに確認又は評価させることができる。
また、本実施の形態においては、さらに、前記撮影画像又は前記輝度画像の総画素数に対する前記高輝度画素の数の割合が算出され(ステップS70)、前記割合が所定の閾値以下の場合、前記撮影画像又は前記輝度画像の少なくとも一方について所定の処理に適していると評価されてもよい(ステップS80)。より具体的には、前記割合が所定の閾値以下の場合、前記撮影画像又は前記輝度画像の少なくとも一方について所定の処理に適していると評価されてもよい(ステップS801)。
これにより、撮影画像(又は輝度画像)が上記の所定の処理に適しているか否かを、画像全体に占める、輝度飽和している画素以外の画素も含み得る高輝度画素の割合に基づいて評価することができる。
例えば、本実施の形態において、前記輝度閾値は、前記度数分布にpタイル法を用いて決定されてもよい(ステップS311)。より具体的には、前記pタイル法を用いて決定される前記輝度閾値は、前記度数分布で輝度値の昇順での累積相対度数が0.985以上である最小の輝度値であってもよい(ステップS308)。
これにより、上記の輝度閾値は、撮影画像に基づく輝度画像からダイナミックに決定される。
また、例えば、本実施の形態において、前記輝度画像において所定の輝度より高い部分を強調するための処理は、前記輝度画像に対するガンマ変換に基づく処理であってもよい(ステップS405)。より具体的には、前記ガンマ変換は、前記輝度画像の各画素の輝度値を入力値xとし、前記ガンマ変換の結果として出力される輝度値をyとすると、
の式で表される計算による変換であってもよい。
これにより、上記の輝度閾値を用いる高輝度画素の判定を適切に実施することができる。
(実施の形態の変形例等)
以上、一実施の形態における画像評価装置10について説明したが、本発明はこれに限定されない。取得されるデータや、実行環境等に応じて、種々の変形が可能である。
例えば上記の説明では、撮影によって取得された画像である撮影画像からの文字情報の抽出が想定されているが、文字情報の抽出対象である画像は画像評価装置10の撮像部200による撮影によって取得される画像でなくてもよい。携帯情報端末である画像評価装置10が通信を介して取得した別の端末で撮影された画像であってよい。
また例えば、上記では撮影画像のRGB色情報を用いて輝度画像が生成されているが、撮影画像のデータが各画素の輝度値を直接示す情報を持つ場合は、輝度値の算出は不要であり、この輝度値を示す情報を含む画像が輝度画像として用いられてもよい。
また、上述の実施の形態で、携帯情報端末である画像評価装置10で実行されている処理の手順はすべてが画像評価装置10で実行されなくてもよい。つまり、一部の手順のみが画像評価装置10で行われてもよい。例えば画像内の文字認識サービスを提供する一台又は複数のサーバ装置がインターネット上にあり、撮像部200を用いて撮影された画像が、画像評価装置10が備える図示しない通信モジュールを介してインターネット経由でこのサーバ装置に送られ、このサーバ装置で文字認識の実行前に画像の評価(ステップS10からS80)が行われてもよい。そして画像の評価の結果はインターネット経由で画像評価装置10に返され、表示部400に表示されてもよい(ステップS90)。
また、演算処理部100による上述の処理(図3A、図4〜図6B、図8、図10、図13、図15、及び図16に示される各処理)、及びこれらの処理に含まれる各手順の実行順序は、必ずしも、上述の順序に制限されるものではなく、発明の要旨を逸脱しない範囲で入れ替えられたり、その一部が省略されたりしてもよい。また、これらの処理の全体又は一部は、ハードウェアによって実現されてもよいし、ソフトウェアを用いて実現されてもよい。ソフトウェアによる実現は、例えば画像評価装置10が備える演算処理部100が、記憶部300に記憶されたアプリケーション310を読み出して実行することによりなされる。また、そのソフトウェアは、記録媒体又はインターネット等の通信網を介して頒布されてもよい。頒布されたソフトウェアが携帯情報端末等の各種の情報処理装置で実行されることで、上記の画像評価装置10が実現される。
また、演算処理部100による上述の各機能的構成要素の間の機能分担は一例であり、その分担は変更されてもよい。また、一の機能的構成要素が複数の機能構成要素の機能を担ったり、一の機能的構成要素の機能が複数の機能構成要素によって分担されたりしてもよい。
また、上記の実施の形態で用いられた数値のうち、ステップS308の「0.985」、ガンマ変換に用いられる式4の「7」、ステップS801の「0.2%」は、撮影画像又は輝度画像が文字認識の処理に適しているか否かの評価を適切に行うことができる数値として発明者が経験的に得た組み合わせのひとつを例示として挙げたものである。この評価に上記とは異なる数値の組み合わせが用いられてもよいし、別の評価、例えば文字認識ではなく、バーコードやQRコード(登録商標)等の図形の読取、又は顔認識等の画像から情報を抽出する処理に適しているか否かの評価のためには、適宜数値が変更されてもよい。また、これらの数値の設定が、ユーザによって利用環境や撮影画像に対する処理内容に応じて調整されてもよい。
また、上記では高輝度部分強調画像は式4によるガンマ変換の結果に基づいて生成されているが、入力値に対応する出力値の調整によって高輝度部分を強調することができる他の手法が用いられてもよい。上述のとおり式4中の値の「7」を変えたガンマ変換に基づく変換であってもよいし、ガンマ変換の数式に基づかない変換テーブルが参照されてもよい。例えば画像のコントラストを高めるか、所定の閾値以下の入力値に対してのみ出力値を下げるトーンカーブに基づく変換テーブルが用いられてもよい。
また、評価画像の生成に用いられるデータ及び処理の手順も、上記の実施の形態の説明に限定されない。上記の説明では、図11に示されるような画像のデータである高輝度画像情報の画素のうち、高輝度画素でない画素を撮影画像又は輝度画像の対応する画素に置き換えて評価画像が生成されている。これに代えて、例えば高輝度画像情報に含まれる高輝度画素の位置情報を取得して、撮影画像又は輝度画像で当該取得された位置にある画素の色が元の色から所定の色に変更されてもよい。
また、上記の実施の形態及び変形例で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
すなわち、本発明の包括的又は具体的な各種態様は上記の実施の形態及びその変形例における画像評価装置に限定されず、システム、方法、集積回路、コンピュータプログラム、コンピュータで読み取り可能な記録媒体等の1つ又は複数の組み合わせが含まれる。
例えば方法は、上述した画像評価装置において実行される各処理の手順の全部又は一部からなる方法である。例えば撮影によって取得された撮影画像に含まれる各画素の輝度値を示す輝度画像を取得し、前記輝度画像に含まれる各画素の輝度値の度数分布を取得し、前記度数分布に基づいて輝度閾値を決定し、前記輝度画像に所定の輝度より高い部分を強調するための処理を行うで高輝度部分強調画像を生成し、前記高輝度部分強調画像に含まれる画素のそれぞれについて、当該画素の輝度が前記輝度閾値を超えるか否かについて判定し、前記判定の結果に基づいて、前記輝度閾値を超える輝度を有する画素を高輝度画素と特定する方法である。
また、この方法を情報端末等に実行させるためのコンピュータプログラムとは、例えば演算処理部と、記憶部とを備える情報端末において前記記憶部に記憶される画像評価プログラムであって、前記演算処理部で実行されることで撮影によって取得された撮影画像に含まれる各画素の輝度値示す輝度画像を取得させ、前記輝度画像に含まれる各画素の輝度値の度数分布を取得させ、前記度数分布に基づいて輝度閾値を決定させ、前記輝度画像に所定の輝度より高い部分を強調するための処理を行うことで高輝度部分強調画像を生成させ、前記高輝度部分強調画像に含まれる画素のそれぞれについて、当該画素の輝度が前記輝度閾値を超えるか否かについて判定し、前記判定の結果に基づいて、前記輝度閾値を超える輝度を有する画素を高輝度画素と特定させる画像評価プログラムである。
これらの態様においても、上述した画像評価装置と同様の効果が得られる。
また、上記のコンピュータプログラムは、単体で実行又は頒布されるものでなくてもよい。例えばOCR、OMR等のアプリケーション、文字データの入力を受けるウェブブラウザ、辞書、翻訳、地図等のアプリケーションの一部として実行され、頒布されるものであってもよい。
以上のように、本開示における技術の例示として実施の形態を説明した。そのために、添付図面及び詳細な説明を提供した。
したがって、添付図面及び詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲又はその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。