(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行可能なプログラムであって、
背景色の背景領域内に前記背景色より輝度値が小さい前景色を含む写真を示す写真データを取得する取得処理と、
前記写真に含まれる各画素の輝度値の大小を表す輝度画像を生成する生成処理と、
前記背景色の輝度値と推定される第１閾値を、前記輝度画像の画素値に基づいて決定する第１決定処理と、
前記輝度画像に含まれる画素値が前記第１閾値未満の画素を第１値とし、前記第１閾値以上の画素を第２値とする第１二値画像を生成する第１二値化処理と、
前記第１二値画像における前記第１値の画素位置に対応する前記輝度画像の画素値に基づいて、前記背景色及び前記前景色の間の輝度値と推定される第２閾値を決定する第２決定処理と、
前記輝度画像に含まれる画素値が前記第２閾値未満の画素を第３値とし、前記第２閾値以上の画素を第４値とする第２二値画像を生成する第２二値化処理と、
前記写真に含まれる各画素のうち、前記第２二値画像における前記第３値の画素位置に対応する画素の輝度値を減少させ、第２二値画像における前記第４値の画素位置に対応する画素の輝度値を増加させる補正処理と、を前記コンピュータに実行させるプログラム。
【請求項２】
該プログラムは、前記第２決定処理において、判別分析法を用いて前記第２閾値を決定する請求項１に記載のプログラム。
【請求項３】
該プログラムは、前記第２決定処理において、前記輝度画像の一部である特定領域に含まれ且つ前記第１二値画像における前記第１値の画素位置に対応する画素値に基づいて、前記第２閾値を決定する請求項１又は２に記載のプログラム。
【請求項４】
前記特定領域は、前記輝度画像の中心を含む中央領域及び前記中央領域を囲む周辺領域のうちの前記中央領域である請求項３に記載のプログラム。
【請求項５】
該プログラムは、前記輝度画像を構成する複数の部分領域のうち、輝度値の合計値が最も大きい前記部分領域と異なる領域を前記特定領域として特定する特定処理を、前記コンピュータにさらに実行させる請求項３に記載のプログラム。
【請求項６】
前記コンピュータは、表示部と、操作部とをさらに備えており、
該プログラムは、
前記写真を前記表示部に表示させる表示処理と、
前記表示部に表示された前記写真の一部を前記特定領域として指定する指定操作を前記操作部を介して受け付ける指定受付処理と、を前記コンピュータに実行させる請求項３に記載のプログラム。
【請求項７】
該プログラムは、前記第１決定処理において、前記輝度画像に含まれる画素値の最頻値、前記輝度画像に含まれる画素値の中央値、或いは前記輝度画像に含まれる画素値の平均値を、前記第１閾値と決定する請求項１から６のいずれかに記載のプログラム。
【請求項８】
該プログラムは、
複数の色値の組み合わせで画素値を表現する第１形式の前記写真データを取得する前記取得処理と、
前記第１形式の前記写真データを、輝度値及び色差値の組み合わせで画素値を表現する第２形式に変換する変換処理と、
前記変換処理で変換された前記第２形式の前記写真データに対する前記補正処理と、
前記補正処理で補正された前記第２形式の前記写真データを前記第１形式に逆変換する逆変換処理と、を前記コンピュータに実行させる請求項１から７のいずれかに記載のプログラム。
【請求項９】
前記コンピュータは、撮像部をさらに備えており、
該プログラムは、前記取得処理において、前記撮像部に撮像させた前記写真を示す前記写真データを取得する請求項１から８のいずれかに記載のプログラム。
【請求項１０】
前記コンピュータは、操作部をさらに備えており、
該プログラムは、
前記写真に含まれる前記背景色及び前記前景色の差を明確化することを指示する指示操作を前記操作部を介して受け付ける指示受付処理と、
前記指示受付処理で前記指示操作を受け付けたことに応じて、前記生成処理、前記第１決定処理、前記第１二値化処理、前記第２決定処理、前記第２二値化処理、及び前記補正処理と、を前記コンピュータに実行させる請求項９に記載のプログラム。
【請求項１１】
制御部を備える画像処理装置であって、
前記制御部は、
背景色の背景領域内に前記背景色より輝度値が小さい前景色を含む写真を示す写真データを取得する取得処理と、
前記写真に含まれる各画素の輝度値の大小を表す輝度画像を生成する生成処理と、
前記背景色の輝度値と推定される第１閾値を、前記輝度画像の画素値に基づいて決定する第１決定処理と、
前記輝度画像に含まれる画素値が前記第１閾値未満の画素を第１値とし、前記第１閾値以上の画素を第２値とする第１二値画像を生成する第１二値化処理と、
前記第１二値画像における前記第１値の画素位置に対応する前記輝度画像の画素値に基づいて、前記背景色及び前記前景色の間の輝度値と推定される第２閾値を、判別分析法を用いて決定する第２決定処理と、
前記輝度値に含まれる画素値が前記第２閾値未満の画素を第３値とし、前記第２閾値以上の画素を第４値とする第２二値画像を生成する第２二値化処理と、
前記写真に含まれる各画素のうち、前記第２二値画像における前記第３値の画素位置に対応する画素の輝度値を減少させ、第２二値画像における前記第４値の画素位置に対応する画素の輝度値を増加させる補正処理と、を実行する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、写真データに対する画像処理を行うプログラムに関する。
【背景技術】
【０００２】
従来より、会議等で情報が書き込まれたホワイトボードをカメラで撮影し、当該会議の記録として写真データを保存しておくことが行われている。ここで、ホワイトボードを撮影した写真に照明が写り込むと、ホワイトボードに書き込まれた情報が読み取りにくくなるという課題がある。そこで、例えば特許文献１には、ホワイトボードを撮影した写真データに画像処理を施すことによって、ホワイトボードに描かれた文字等を明瞭にする画像処理装置が開示されている。
【０００３】
まず、当該画像処理装置は、ホワイトボードの写真の輝度分布ヒストグラム上において、ホワイトボード部分の輝度レベルＹ１と、照明の反射部分の輝度レベルＹ２と、文字部分の輝度レベルＹ３と、反射部分に重なる文字部分の輝度レベルＹ４とを特定する。次に、当該画像処理装置は、輝度レベルＹ２、Ｙ４の間に閾値を設定する。そして、当該画像処理装置は、反射部分に含まれる画素のうち、輝度レベルが閾値より高い画素をホワイトボードの背景色に置換し、輝度レベルが閾値より低い画素を背景色より輝度の低い所定の色に置換する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−７９２５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の図３に示される輝度分布ヒストグラムは、輝度分布が滑らかな曲線で表されたモデル図である。しかしながら、現実の輝度分布は、このような滑らかな曲線で表すことができず、凹凸の多い複雑な形状となる。そのため、現実の輝度分布ヒストグラムにおいて、分布密度の最も高い輝度レベルＹ１は特定可能であるとしても、輝度レベルＹ２〜Ｙ４を特定することは、極めて困難であるか、可能であるとしても非常に複雑な画像処理を必要とする。しかしながら、特許文献１には、輝度レベルＹ１〜Ｙ４を特定するための具体的な情報処理が開示されていない。
【０００６】
また、現実の使用環境において、文字部分に照明が写り込んだ場合は写真を撮り直せばよく、特許文献１で想定しているように、文字等の判別が極めて困難な写真に画像処理を施すことは、現実には稀なケースと言える。一方、現実に生じ得る大部分のケースは、ホワイトボードの端部に照明が写り込んで、全体が白っぽくなった写真に対する画像処理であると考えられる。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、比較的簡単な画像処理によって、写真に含まれる前景色及び背景色の差の明確化を実現したプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
(1)  本明細書に記載のプログラムは、コンピュータによって実行可能である。該プログラムは、背景色の背景領域内に前記背景色より輝度値が小さい前景色を含む写真を示す写真データを取得する取得処理と、前記写真に含まれる各画素の輝度値の大小を表す輝度画像を生成する生成処理と、前記背景色の輝度値と推定される第１閾値を、前記輝度画像の画素値に基づいて決定する第１決定処理と、前記輝度画像に含まれる画素値が前記第１閾値未満の画素を第１値とし、前記第１閾値以上の画素を第２値とする第１二値画像を生成する第１二値化処理と、前記第１二値画像における前記第１値の画素位置に対応する前記輝度画像の画素値に基づいて、前記背景色及び前記前景色の間の輝度値と推定される第２閾値を、判別分析法を用いて決定する第２決定処理と、前記輝度画像に含まれる画素値が前記第２閾値未満の画素を第３値とし、前記第２閾値以上の画素を第４値とする第２二値画像を生成する第２二値化処理と、前記写真に含まれる各画素のうち、前記第２二値画像における前記第３値の画素位置に対応する画素の輝度値を減少させ、第２二値画像における前記第４値の画素位置に対応する画素の輝度値を増加させる補正処理とを前記コンピュータに実行させる。
【０００９】
上記構成によれば、写真に含まれる各画素のうち、輝度値が第２閾値未満の画素の輝度値が減少され、輝度値が第２閾値以上の画素の輝度値が増加される。その結果、前景色がより暗くなり、背景色及び照明部分がより明るくなるので、前景色及び背景色の差を明確にすることができる。
【００１０】
また、上記の処理のうちの第１決定処理及び第１二値化処理は、照明が写り込んだ領域の画素を、判別分析法の適用対象から除外するための処理である。すなわち、上記の各処理を実行することにより、照明の影響を低減した適切な第２閾値を得ることができる。そして、これらの処理で行われるのは、特許文献１において比較的簡単な背景色の輝度値の特定と二値化だけである。すなわち、前景色及び背景色の差を明確にする処理を、簡単な情報処理で実現することができる。
【００１１】
なお、背景色とは単一の色であることに限定されず、輝度、明度、彩度が所定の範囲に含まれる色の集合であってもよい。前景色についても同様である。この場合において、前景色の輝度の最大値が背景色の輝度の最小値より小さければよい。また、輝度画像とは、例えば、グレー色の濃度によって輝度の大小を表す所謂グレースケール画像であってもよいし、ＹＵＶ色空間における輝度信号のみで構成される画像であってもよい。
【００１２】
(2)  好ましくは、該プログラムは、前記第２決定処理において、判別分析法を用いて前記第２閾値を決定する。
【００１３】
但し、第２閾値を決定する方法は判別分析法に限定されず、他の方法であってもよい。
【００１４】
(3)  好ましくは、該プログラムは、前記第２決定処理において、前記輝度画像の一部である特定領域に含まれ且つ前記第１二値画像における前記第１値の画素位置に対応する画素値に基づいて、前記第２閾値を決定する。
【００１５】
これにより、照明の影響をさらに低減した第２閾値を得ることができる。その結果、前景色及び背景色の差をさらに明確にすることができる。
【００１６】
(4)  好ましくは、前記特定領域は、前記輝度画像の中心を含む中央領域及び前記中央領域を囲む周辺領域のうちの前記中央領域である。
【００１７】
ホワイトボードの端部に照明が写り込んでいるケースが多いと考えれば、上記構成のように、写真の中央領域を特定領域とするのが望ましい。
【００１８】
(5)  好ましくは、該プログラムは、前記輝度画像を構成する複数の部分領域のうち、輝度値の合計値が最も大きい前記部分領域と異なる領域を前記特定領域として特定する特定処を、前記コンピュータにさらに実行させる。
【００１９】
輝度値の合計値が最大となる部分領域には、照明が写り込んでいると考えられる。そこで、この部分領域を判別分析法の適用対象から除外することにより、照明の影響を低減した第２閾値を得ることができる。
【００２０】
(6)  好ましくは、前記コンピュータは、表示部と、操作部とをさらに備える。そして、該プログラムは、前記写真を前記表示部に表示させる表示処理と、前記表示部に表示された前記写真の一部を前記特定領域として指定する指定操作を前記操作部を介して受け付ける指定受付処理とを前記コンピュータに実行させる。
【００２１】
照明が写り込んでいる場所はユーザによって容易に特定される。そこで、照明が写り込んでいない部分をユーザに指定させることにより、照明の影響を低減した第２閾値を得ることができる。
【００２２】
(7)  例えば、該プログラムは、前記第１決定処理において、前記輝度画像に含まれる画素値の最頻値、前記輝度画像に含まれる画素値の中央値、或いは前記輝度画像に含まれる画素値の平均値を、前記第１閾値と決定する。
【００２３】
(8)  例えば、該プログラムは、複数の色値の組み合わせで画素値を表現する第１形式の前記写真データを取得する前記取得処理と、前記第１形式の前記写真データを、輝度値及び色差値の組み合わせで画素値を表現する第２形式に変換する変換処理と、前記変換処理で変換された前記第２形式の前記写真データに対する前記補正処理と、前記補正処理で補正された前記第２形式の前記写真データを前記第１形式に逆変換する逆変換処理とを前記コンピュータに実行させる。
【００２４】
(9)  例えば、前記コンピュータは、撮像部をさらに備える。そして、該プログラムは、前記取得処理において、前記撮像部に撮像させた前記写真を示す前記写真データを取得する。
【００２５】
(10)  例えば、前記コンピュータは、操作部をさらに備える。そして、該プログラムは、前記写真に含まれる前記背景色及び前記前景色の差を明確化することを指示する指示操作を前記操作部を介して受け付ける指示受付処理と、前記指示受付処理で前記指示操作を受け付けたことに応じて、前記生成処理、前記第１決定処理、前記第１二値化処理、前記第２決定処理、前記第２二値化処理、及び前記補正処理とを前記コンピュータに実行させる。
【００２６】
(11)  本明細書に記載の画像処理装置は、制御部を備える。前記制御部は、背景色の背景領域内に前記背景色より輝度値が小さい前景色を含む写真を示す写真データを取得する取得処理と、前記写真に含まれる各画素の輝度値の大小を表す輝度画像を生成する生成処理と、前記背景色の輝度値と推定される第１閾値を、前記輝度画像の画素値に基づいて決定する第１決定処理と、前記輝度画像に含まれる画素値が前記第１閾値未満の画素を第１値とし、前記第１閾値以上の画素を第２値とする第１二値画像を生成する第１二値化処理と、前記第１二値画像における前記第１値の画素位置に対応する前記輝度画像の画素値に基づいて、前記背景色及び前記前景色の間の輝度値と推定される第２閾値を、判別分析法を用いて決定する第２決定処理と、前記輝度値に含まれる画素値が前記第２閾値未満の画素を第３値とし、前記第２閾値以上の画素を第４値とする第２二値画像を生成する第２二値化処理と、前記写真に含まれる各画素のうち、前記第２二値画像における前記第３値の画素位置に対応する画素の輝度値を減少させ、第２二値画像における前記第４値の画素位置に対応する画素の輝度値を増加させる補正処理とを実行する。
【発明の効果】
【００２７】
本発明によれば、照明が写り込んだ領域を除外して決定された第２閾値を用いて、前景色をより暗くし且つ背景色及び照明部分をより明るくするので、簡単な画像処理で前景色及び背景色の差を明確にすることができる。
【図面の簡単な説明】
【００２８】
【図１】図１は、携帯端末１０の機能ブロック図である。
【図２】図２は、撮像処理のフローチャートである。
【図３】図３は、明確化処理のフローチャートである。
【図４】図４は、表示部２３の表示例であって、（Ａ）は撮像画面を、（Ｂ）は明確化確認画面を示す。
【図５】図５は、撮像部２５によって撮影された写真の一例である。
【図６】図６は、グレースケール画像の輝度値の一部を例示的に表した図であって、（Ａ）は図５の領域Ａに、（Ｂ）は図５の領域Ｂに、（Ｃ）は図５の領域Ｃに対応する。
【図７】図７は、第１決定処理におけるヒストグラムの一例である。
【図８】図８は、第１二値画像の画素値の一部を例示的に表した図であって、（Ａ）は図５の領域Ａに、（Ｂ）は図５の領域Ｂに、（Ｃ）は図５の領域Ｃに対応する。
【図９】図９は、特定領域の特定方法を示す図であって、（Ａ）は合計輝度値が最大になる部分領域を特定領域から除外する例を、（Ｂ）は中央領域及び周辺領域のうちの中央領域を特定領域にする例を、（Ｃ）は操作部２４を介してユーザに特定領域を指定させる例を示す。
【図１０】図１０は、第２決定処理におけるヒストグラムの一例である。
【図１１】図１１は、第２二値画像の画素値の一部を例示的に表した図であって、（Ａ）は図５の領域Ａに、（Ｂ）は図５の領域Ｂに、（Ｃ）は図５の領域Ｃに対応する。
【図１２】図１２は、ステップＳ２３〜Ｓ２５を省略した場合の第２二値画像の画素値の一部を例示的に表した図であって、（Ａ）は図５の領域Ａに、（Ｂ）は図５の領域Ｂに、（Ｃ）は図５の領域Ｃに対応する。
【発明を実施するための形態】
【００２９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【００３０】
本実施形態に係る携帯端末１０は、図１に示されるように、表示部２３と、操作部２４と、撮像部２５と、ＣＰＵ３１と、記憶部３２と、通信バス３３とを主に備える。携帯端末１０を構成する各構成要素は、通信バス３３を介して相互に接続されている。携帯端末１０は、画像処理装置の一例である。
【００３１】
但し、画像処理装置は、スマートフォンやタブレット端末等の携帯端末１０に限定されず、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒの略）等であってもよい。この場合の画像処理装置は、撮像部２５に代えて、外部装置から写真データを取得する取得部を備えてもよい。取得部は、通信ネットワークを通じて外部装置と通信する通信インタフェースであってもよいし、外部装置に接続されたケーブル（例えば、ＵＳＢケーブル）を受け入れる接続口であってもよいし、可搬記憶媒体（例えば、メモリカード）が装着される装着部であってもよい。
【００３２】
［表示部２３］
表示部２３は、各種情報を表示する表示画面を備える。表示部２３としては、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略）、有機ＥＬディスプレイ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略）等を採用することができる。
【００３３】
［操作部２４］
操作部２４は、表示部２３の表示画面に表示されたオブジェクトを選択するユーザの操作を受け付ける。具体的には、操作部２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、操作部２４は、表示部２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。すなわち、表示部２３がタッチパネルディスプレイとして構成されてもよい。
【００３４】
なお、「オブジェクト」とは、ユーザが操作部２４を操作することによって選択可能な画像を指す。一例として、オブジェクトは表示部２３に表示された文字列であって、操作部２４の方向キーを押下することによってオブジェクトの１つがハイライト表示され、操作部２４の決定ボタンを押下することによってハイライト表示されたオブジェクトが選択されてもよい。他の例として、操作部２４がタッチパネルである場合のオブジェクトは表示部２３に表示されたアイコン、ボタン、リンク等であって、タッチ位置に表示されたオブジェクトが選択されてもよい。
【００３５】
タッチパネルとして実現される操作部２４は、表示部２３の表示画面をタッチするユーザ操作を受け付ける。また、操作部２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。位置情報は、例えば、表示画面の左上端を原点とし、右向きをｘ軸の正の向き、下向きをｙ軸の正の向きとしたｘ−ｙ平面上の座標（ｘ，ｙ）として表現できる。タッチセンサには、静電容量方式、抵抗膜方式等の周知の方式を採用することができる。
【００３６】
なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。すなわち、タッチした入力媒体を所定時間内に表示画面から離間させるタップ操作、タッチした入力媒体を表示画面上で静止させるロングタッチ操作、タッチした入力媒体を表示画面上でスライドさせるスライド操作、表示画面上をスライドする入力媒体の加速度が閾値以上であるフリック操作、表示画面上の異なる位置にタッチした２つの入力媒体を互いに近づける向きにスライドさせるピンチイン操作、表示画面上の異なる位置にタッチした２つの入力媒体を互いに離れる向きにスライドさせるピンチアウト操作等は、タッチの一例である。
【００３７】
また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。
【００３８】
［撮像部２５］
撮像部２５は、被写体を撮像して写真データを生成する。撮像部２５は、外部の光を集光するレンズと、レンズによって集光された光を光電変換するイメージセンサとを含む。イメージセンサは、例えば、ＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅの略）でもよいし、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒの略）でもよい。
【００３９】
［ＣＰＵ３１］
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略）３１は、携帯端末１０の全体動作を制御するものである。ＣＰＵ３１は、操作部２４から出力される各種情報、及び撮像部２５から出力される写真データ等に基づいて、後述する各種プログラムを記憶部３２から取得して実行する。すなわち、ＣＰＵ３１及び記憶部３２は、制御部の一例を構成する。
【００４０】
［記憶部３２］
記憶部３２は、プログラム記憶領域３２Ａと、データ記憶領域３２Ｂとを有する。プログラム記憶領域３２Ａには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略）３４と、制御プログラム３５とが格納される。ＯＳ３４及び制御プログラム３５は、バイナリ形式にビルドされたプログラムである。なお、制御プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域３２Ｂには、制御プログラム３５の実行に必要なデータ或いは情報が記憶される。
【００４１】
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
【００４２】
また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２“というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０“というバイナリ形式の情報として保持されてもよい。
【００４３】
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
【００４４】
記憶部３２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略）、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００４５】
なお、記憶部３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００４６】
プログラム記憶領域３２Ａに記憶されているプログラムは、ＣＰＵ３１によって実行される。しかしながら、本明細書では、ＣＰＵ３１を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＡが処理Ａを実行する」という趣旨の記述は、「ＣＰＵ３１がプログラムＡに記述された処理Ａを実行する」ことを指してもよい。
【００４７】
ＯＳ３４は、携帯端末１０を構成するハードウェアである表示部２３、操作部２４、及び撮像部２５等を制御するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略）を提供する基本プログラムである。すなわち、上記の各プログラムは、ＯＳ３４が提供するＡＰＩを呼び出すことによって、各ハードウェアを制御する。しかしながら、本明細書では、ＯＳ３４を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記述は、「プログラムＢがＯＳ３４のＡＰＩを通じてハードウェアＣを制御する」ことを指してもよい。
【００４８】
［携帯端末１０の動作］
次に、図２〜図１１を参照して、携帯端末１０の動作を説明する。本実施形態に係る携帯端末１０は、撮像部２５によって撮像した写真を示す写真データに明確化処理を施す。明確化処理とは、写真に含まれる前景色及び背景色の差を明確化する処理である。なお、本明細書中の「画素値」とは、写真或いは画像を構成する各画素に設定され得る値の総称として用いられる。すなわち、画素値は、輝度を表す輝度値、色を表す色値、色差を表す色差値、或いは後述する二値画像の第１値、第２値、第３値、第４値等を含む。
【００４９】
なお、図２は、携帯端末１０の制御プログラム３５が実行する撮像処理の手順を示すフローチャートである。一方、図３は、制御プログラム３５が実行する明確化処理の手順と、各処理における情報或いはデータの入出力とを示す図である。より詳細には、図３において、ステップ番号は処理の手順を示し、矢印は情報或いはデータの流れを示す。
【００５０】
［撮像処理］
まず、携帯端末１０の制御プログラム３５は、撮像画面を表示部２３に表示させる（Ｓ１１）。図４（Ａ）は、撮像画面の一例である。図４（Ａ）に示される撮像画面は、撮像範囲表示領域４１と、シャッターアイコン４２とを含む。撮像範囲表示領域４１には、撮像部２５のレンズが捉えた被写体の画像が表示される。図４（Ａ）の例において、撮像部２５は、図５に示されるホワイトボード５０に向けられている。シャッターアイコン４２は、レンズが捉えた被写体を撮像する指示、換言すれば、撮像範囲表示領域４１に表示された画像を示す写真データを生成する指示を受け付けるためのアイコンである。
【００５１】
次に、制御プログラム３５は、シャッターアイコン４２の位置をタップするユーザ操作を受け付ける（Ｓ１２）。そして、制御プログラム３５は、シャッターアイコン４２がタップされた際にレンズが捉えた被写体の撮像を撮像部２５に指示する（Ｓ１３）。すなわち、制御プログラム３５は、撮像範囲表示領域４１に表示された画像を示す写真データを撮像部２５に生成させる。但し、撮像範囲表示領域４１に表示された画像と、生成された写真データで示される画像とは、画角、解像度、各画素の画素値等が厳密に一致していなくてもよい。なお、写真データで示される画像のことを、写真と表記することもある。
【００５２】
次に、制御プログラム３５は、撮像部２５によって生成された写真データを取得する（Ｓ１４）。具体的には、制御プログラム３５は、撮像部２５が記憶部３２に一時的に記憶させた写真データを、記憶部３２から読み出す。ステップＳ１４の処理は、取得処理の一例である。次に、制御プログラム３５は、取得した写真データで示される写真を、撮像範囲表示領域４１に表示させる（Ｓ１５）。すなわち、撮像範囲表示領域４１に表示される画像を、取得した写真データで示される写真に更新する。
【００５３】
本実施形態で撮像された写真は、例えば図５に示されるように、文字等が描かれたホワイトボード５０を被写体とするものであってもよい。図５に示される写真において、ホワイトボード５０の地の色は、文字の色より輝度値が高い。また、図５に示されるホワイトボード５０の写真には、高輝度領域５１が存在する。高輝度領域５１は、例えば、照明の光が反射した領域であってもよいし、撮像部２５による撮像時のフラッシュが反射した領域であってもよい。
【００５４】
すなわち、図５に示される写真において、高輝度領域５１の各画素の輝度値は、その他の領域の各画素の輝度値より高い。また、ホワイトボード５０の地の領域の画素の輝度値は、概ね文字等の領域の各画素の輝度値より高い。ホワイトボード５０の地の領域は、背景領域の一例である。ホワイトボード５０の地の色は、背景色の一例である。文字等の色は前景色の一例である。
【００５５】
次に、制御プログラム３５は、明確化確認画面を表示部２３に表示させる（Ｓ１６）。図４（Ｂ）は、明確化確認画面の一例である。図４（Ｂ）に示される明確化確認画面は、「明確化処理を実行しますか？」とのメッセージと、［はい］アイコンと、［いいえ］アイコンとを含む。明確確認画面は、例えば、撮像画面に重ねて表示されるポップアップ画面であってもよい。
【００５６】
そして、制御プログラム３５は、［はい］アイコン或いは［いいえ］アイコンの位置をタップするユーザ操作を操作部２４を介して受け付ける（Ｓ１７）。制御プログラム３５は、［はい］アイコンの位置がタップされると（Ｓ１７：［はい］）、ステップＳ１３で生成した写真データに対して明確化処理を実行する（Ｓ１８）。明確化処理の詳細は、図３を参照して後述する。そして、制御プログラム３５は、明確化処理が施された写真データをデータ記憶領域３２Ｂに記憶させる（Ｓ１９）。一方、制御プログラム３５は、［いいえ］アイコンの位置がタップされると（Ｓ１７：［いいえ］）、ステップＳ１３で生成した写真データを、明確化処理を施すことなくデータ記憶領域３２Ｂに記憶させる（Ｓ２０）。
【００５７】
［明確化処理］
ステップＳ１４で取得した写真データは、複数の色値の組み合わせで画素値を表現する第１形式のデータである。複数の色値は、例えば、Ｒ（Ｒｅｄの略）、Ｇ（Ｇｒｅｅｎの略）、Ｂ（Ｂｌｕｅの略）を含む。すなわち、第１形式の写真データで示される写真は、赤、緑、青を任意の割合で混合して様々な色を表現する。
【００５８】
制御プログラム３５は、ステップＳ１４で取得した写真データからグレースケール画像データを生成する（Ｓ２２）。より詳細には、制御プログラム３５は、ステップＳ１４で取得した写真データをコピーする。そして、制御プログラム３５は、コピーした写真データの一方をデータ記憶領域３２Ｂに一時記憶させる。また、制御プログラム３５は、コピーした写真データの他方をグレースケール画像データに変換する。グレースケール画像から第１二値画像及び第２二値画像を生成する場合も同様である。グレースケール画像は、輝度画像の一例である。ステップＳ１２の処理は、生成処理の一例である。
【００５９】
図６は、図５に示される写真をグレースケール画像に変換したときの輝度値の一部を例示的に表した図である。図６に示される各格子が画素に相当する。また、図６に示される数値が輝度値に相当する。図６に示される輝度値は、０〜２５５の２５６階調で表される。数値の大きい画素ほど輝度値が高く、数値の小さい画素ほど輝度値が小さい。換言すれば、数値の大きい画素ほど明るく、数値の小さい画素ほど暗い。さらに換言すれば、数値の大きい画素ほど白に近く、数値の小さい画素ほど黒に近い。
【００６０】
図６（Ａ）は、高輝度領域５１に位置する図５の領域Ａに対応する。領域Ａの輝度値は、概ね２００〜２５０前後であって、他の領域Ｂ、Ｃの輝度値と比較して高い。また、図６（Ｂ）は、背景色のみを含む図５の領域Ｂに対応する。領域Ｂの輝度値は、概ね１４０〜１６０前後である。さらに、図６（Ｃ）は、前景色及び背景色が混在する図５の領域Ｃに対応する。領域Ｃの画素のうち、前景色のみの画素の輝度値は概ね２５〜６０前後であり、背景色のみの画素の輝度値は概ね１４０〜１６０前後であり、前景色及び背景色の境界に位置する画素の輝度値は概ね１００〜１２０前後である。
【００６１】
なお、ステップＳ２２で生成される輝度画像は、写真に含まれる各画素の輝度値の大小を表すことができれば、グレースケール画像に限定されない。例えば、制御プログラム３５は、写真データをＲＧＢ色空間からＹＵＶ色空間に色空間変換し、ＹＵＶ色空間で表現される写真データの輝度値のみを抽出して輝度画像を生成してもよい。
【００６２】
次に、制御プログラム３５は、生成したグレースケール画像に基づいて第１閾値を決定する（Ｓ２３）。第１閾値は、背景色の輝度値と推定される値である。具体的には、制御プログラム３５は、ステップＳ２２で生成したグレースケール画像の輝度値のヒストグラムを生成する。図７は、ステップＳ２３で生成されるヒストグラムの一例である。図７の横軸は輝度値を指し、縦軸は画素数を指す。そして、制御プログラム３５は、図７に示されるヒストグラムにおいて、最も画素数の多い輝度値を第１閾値に決定する。図７の例では、第１閾値＝１５０となる。ステップＳ２３の処理は、第１決定処理の一例である。
【００６３】
なお、本実施形態における第１閾値は、図７に示されるヒストグラムの最頻値である。しかしながら、第１閾値は、グレースケール画像に含まれる画素値の最頻値に限定されず、グレースケール画像に含まれる画素値の中央値、或いはグレースケール画像に含まれる画素値の平均値等であってもよい。
【００６４】
次に、制御プログラム３５は、第１二値画像を生成する（Ｓ２４）。第１二値画像は、ステップＳ２２で生成したグレースケール画像を構成する画素のうち、画素値が第１閾値未満の画素に第１値を設定し、画素値が第１閾値以上の画素に第２値を設定した画像である。図８は、ステップＳ２２で生成したグレースケール画像を第１閾値＝１５０で二値化した第１二値画像の画素の一部を例示的に表した図である。図８の例において、第１値＝０、第２値＝１である。ステップＳ２４は、第１二値化処理の一例である。
【００６５】
領域Ａに対応する第１二値画像の各画素には、図８（Ａ）に示されるように、第２値が設定される。領域Ｂに対応する第１二値画像は、図８（Ｂ）に示されるように、第１値が設定される画素と、第２値が設定される画素とが混在する。領域Ｃに対応する第１二値画像は、図８（Ｃ）に示されるように、第１値が設定される画素と、第２が設定される画素とが混在する。但し、前景色のみの画素には、第１値が設定される。
【００６６】
次に、制御プログラム３５は、グレースケール画像の一部の領域である特定領域を特定する（Ｓ２５）。制御プログラム３５は、例えば図９（Ａ）に示されるように、グレースケール画像を構成する複数の部分領域それぞれについて、当該部分領域の輝度値の合計値を算出する。本実施形態では、高輝度領域５１を含む第１部分領域の合計輝度値α１が最大になる。そして、制御プログラム３５は、合計輝度値α１が最も大きい第１部分領域を特定領域から除外し、第１部分領域と異なる第２部分領域、第３部分領域、及び第４部分領域を特定領域として特定する。ステップＳ２５の処理は、特定処理の一例である。
【００６７】
次に、制御プログラム３５は、グレースケール画像の特定領域に基づいて第２閾値を決定する（Ｓ２６）。第２閾値は、背景色及び前景色の間の輝度値と推定される値である。制御プログラム３５は、グレースケール画像の特定領域の画素のうち、第１二値画像の第１値の画素位置に対応する画素の画素値に基づいて、判別分析法を用いて第２閾値を決定する。ステップＳ２６の処理は、第２決定処理の一例である。
【００６８】
具体的には、制御プログラム３５は、グレースケール画像の特定領域から、第１二値画像の第１値の画素位置に対応する画素の輝度値を抽出する。次に、制御プログラム３５は、例えば図１０に示されるように、抽出した輝度値のヒストグラムを作成する。図１０の横軸は輝度値を指し、縦軸は画素数を指す。次に、制御プログラム３５は、暫定閾値Ｓを設定する。暫定閾値Ｓは、０〜２５５の範囲で任意に設定される値であって、後述する処理において変動される値である。
【００６９】
さらに、制御プログラム３５は、図１０に示されるヒストグラムにおいて、輝度値が暫定閾値Ｓ未満の画素数ｍ１、暫定閾値Ｓ未満の輝度値の平均値ω１、輝度値が暫定閾値Ｓ以上の画素数ｍ２、暫定閾値Ｓ以上の輝度値の平均値ω２を算出する。そして、制御プログラム３５は、０〜２５５の範囲で暫定閾値Ｓを変動させつつ、ω１×ω２×（ｍ１−ｍ２）２の値が最大となる暫定閾値Ｓを、第２閾値に決定する。本実施形態では、第２閾値＝８０となる。
【００７０】
次に、制御プログラム３５は、第２二値画像を生成する（Ｓ２７）。第２二値画像は、ステップＳ２２で生成したグレースケール画像を構成する画素のうち、画素値が第２閾値未満の画素に第３値を設定し、画素値が第２閾値以上の画素に第４値を設定した画像である。図１１は、ステップＳ２２で生成したグレースケール画像を第２閾値＝８０で二値化した第２二値画像の画素の一部を例示的に表した図である。図１１の例において、第３値＝０、第４値＝１である。ステップＳ２７は、第２二値化処理の一例である。
【００７１】
領域Ａに対応する第２二値画像の各画素には、図１１（Ａ）に示されるように、第４値が設定される。領域Ｂに対応する第２二値画像の各画素は、図１１（Ｂ）に示されるように、第４値が設定される。領域Ｃに対応する第２二値画像は、図１１（Ｃ）に示されるように、前景色のみの画素に第３値が設定され、その他の画素に第４値が設定される。
【００７２】
次に、制御プログラム３５は、データ記憶領域６２Ｂに一時記憶させた写真データを、ＲＧＢ色空間からＹＵＶ色空間に変換する（Ｓ２８）。すなわち、制御プログラム３５は、写真データを構成する各画素の画素値を、複数の色値の組み合わせから輝度値及び色差値の組み合わせに変換する。ＹＵＶ色空間は、写真データを構成する各画素の画素値を、輝度値及び色差値の組み合わせで表現する第２形式の一例である。ステップＳ２８の処理は、変換処理の一例である。
【００７３】
次に、制御プログラム３５は、ＹＵＶ色空間に変換された写真データを補正する（Ｓ２９）。具体的には、制御プログラム３５は、写真を構成する画素のうち、第２二値画像における第３値の画素位置に対応する画素の輝度値を減少させる。すなわち、前景色のみの画素の輝度値が減少する。また、制御プログラム３５は、写真を構成する画素のうち、第２二値画像における第４値の画素位置に対応する画素の輝度値を増加させる。すなわち、前景色以外の画素の画素値が増加する。一方、制御プログラム３５は、ステップＳ２９において、色差値を変更しない。ステップＳ２９の処理は、補正処理の一例である。
【００７４】
次に、制御プログラム３５は、輝度値が補正された写真データを、ＹＵＶ色空間からＲＧＢ色空間に逆変換する（Ｓ３０）。すなわち、制御プログラム３５は、写真データを構成する各画素の画素値を、輝度値及び色差値の組み合わせから複数の色値の組み合わせに変換する。ステップＳ３０の処理は、逆変換処理の一例である。そして、制御プログラム３５は、輝度値が補正され且つＲＧＢ色空間に逆変換された写真データを、データ記憶領域３２Ｂに記憶させる（Ｓ１９）。
【００７５】
［本実施形態の作用効果］
上記の実施形態によれば、写真に含まれる各画素のうち、輝度値が第２閾値未満の画素の輝度値が減少され、輝度値が第２閾値以上の画素の輝度値が増加される。換言すれば、写真に含まれる各画素のうち、前景色のみの画素の輝度値が減少され、その他の画素の輝度値が増加される。その結果、前景色がより暗くなり、背景色及び照明部分がより明るくなるので、前景色及び背景色の差を明確にすることができる。
【００７６】
また、図３に示される明確化処理のうちの第１決定処理及び第１二値化処理は、照明が写り込んだ高輝度領域５１の画素を、判別分析法の適用対象から除外するための処理である。すなわち、これらの処理を実行することにより、照明の影響を低減した適切な第２閾値を得ることができる。そして、これらの処理で行われるのは、特許文献１において比較的簡単な背景色の輝度値の特定と二値化だけである。すなわち、前景色及び背景色の差を明確にする処理を、簡単な情報処理で実現することができる。
【００７７】
一方、図１２は、ステップＳ２３〜Ｓ２５を省略した場合の第２二値画像の画素の一部を例示的に表した図である。ステップＳ２３〜Ｓ２５を省略した場合、判別分析法によって決定される第２閾値は、高輝度領域５１の画素の分だけ大きな値になる。その結果、例えば図１２（Ｃ）に網掛けして示されるように、前景領域及び背景領域の境界に位置する画素には、第３値が設定される。
【００７８】
そして、この第２二値画像を用いて写真データを補正すると、前景領域及び背景領域の境界に位置する画素の輝度値が減少されるので、文字等の輪郭がぼやけることになる。すなわち、本実施形態に係る明確化処理は、高輝度領域５１を含む写真に対して有効である。そこで、ユーザは、撮像画面で確認した写真に高輝度領域５１が含まれていれば、明確化確認画面で［はい］アイコンを選択すればよい。一方、ユーザは、撮像画面で確認した写真に高輝度領域５１が含まれていなければ、明確化確認画面で［いいえ］アイコンを選択すればよい。
【００７９】
また、判別分析法の適用対象をグレースケール画像の特定領域に限定することにより、照明の影響をさらに低減することができる。なお、図９（Ａ）を参照して説明したように、合計輝度値が最大となる部分領域は高輝度領域５１を含んでいる可能性が高い。そこで、合計輝度値が最大の部分領域を特定領域から除外するのが望ましい。但し、グレースケール画像全体を判別分析法の適用対象としてもよい。
【００８０】
なお、図９（Ａ）では、グレースケール画像の上下方向の中央を通り且つ左右方向に延びる仮想線と、グレースケール画像の左右方向の中央を通り且つ上下方向に延びる仮想線とで区画される４つの部分領域にグレースケール画像を分割した例を説明した。しかしながら、グレースケール画像を複数の部分領域に分割する方法はこれに限定されない。例えば、図９（Ｂ）に示されるように、グレースケール画像の輪郭と相似形の仮想線でグレースケール画像を複数の部分領域に分割してもよい。
【００８１】
また、合計輝度値に基づいて特定領域を特定することに限定されない。一例として、制御プログラム３５は、例えば図９（Ｂ）に示されるように、グレースケール画像を中央領域及び中央領域を囲む周辺領域に区画し、中央領域を特定領域として特定してもよい。高輝度領域５１がホワイトボード５０の端部に存在するケースが多いと考えれば、上記構成のように、中央領域を特定領域とするのが望ましい。
【００８２】
他の例として、制御プログラム３５は、例えば図９（Ｃ）に示されるように、グレースケール画像と、特定枠５５と、［決定］アイコンとを、表示部２３に表示させてもよい。また、制御プログラム３５は、特定枠５５の位置、大きさ、及び形状を変更するユーザ操作と、［決定］アイコンの位置をタップするユーザ操作とを、操作部２４を介して受け付けてもよい。そして、制御プログラム３５は、［決定］アイコンが選択されたことに応じて、特定枠５５で囲まれるグレースケール画像の領域を特定領域としてもよい。高輝度領域５１は、ユーザが目で見て容易に特定することができる。そこで、高輝度領域５１と異なる領域をユーザに指定させることにより、照明の影響を低減した第２閾値を得ることができる。
【００８３】
また、実施形態の携帯端末１０において、記憶部３２のプログラム記憶領域３２Ａに記憶された各種プログラムがＣＰＵ３１によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路（ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略）とも言う。）等のハードウェアで実現してもよい。
【００８４】
さらに、本発明は、携帯端末１０として実現できるだけでなく、携帯端末１０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを介して携帯端末１０に接続可能なサーバ装置に搭載された記憶部を含んでもよい。そして、サーバ装置の記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを介して配信されてもよい。
【符号の説明】
【００８５】
１０・・・携帯端末
２３・・・表示部
２４・・・操作部
２５・・・撮像部
３１・・・ＣＰＵ
３２・・・記憶部
３５・・・制御プログラム
【図１】
0006488792.tif 000002
【図２】
0006488792.tif 000003
【図３】
0006488792.tif 000004
【図４】
0006488792.tif 000005
【図５】
0006488792.tif 000006
【図６】
0006488792.tif 000007
【図７】
0006488792.tif 000008
【図８】
0006488792.tif 000009
【図９】
0006488792.tif 000010
【図１０】
0006488792.tif 000011
【図１１】
0006488792.tif 000012
【図１２】
0006488792.tif 000013