JP2015099979A - 携帯端末、画像処理方法及びプログラム - Google Patents
携帯端末、画像処理方法及びプログラム Download PDFInfo
- Publication number
- JP2015099979A JP2015099979A JP2013238089A JP2013238089A JP2015099979A JP 2015099979 A JP2015099979 A JP 2015099979A JP 2013238089 A JP2013238089 A JP 2013238089A JP 2013238089 A JP2013238089 A JP 2013238089A JP 2015099979 A JP2015099979 A JP 2015099979A
- Authority
- JP
- Japan
- Prior art keywords
- image
- background removal
- shadow
- photographing
- light source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Telephone Function (AREA)
Abstract
【課題】適切な下地処理を行うことにより、演算量を低減し、処理時間を短縮することを目的とする。【解決手段】被写体の画像を撮影する第1の撮影手段と、第1の撮影手段による撮影時の撮影条件を取得する取得手段と、撮影条件に基づいて、撮影画像に影が写り込む可能性を推定する推定手段と、推定手段による推定結果に基づいて、演算量の異なる複数の下地除去処理の中から、一の下地除去処理を選択する選択手段と、撮影画像に対し、選択手段により選択された下地除去処理を施す下地除去手段とを有する。【選択図】図3
Description
本発明は、携帯端末、画像処理方法及びプログラムに関する。
近年、スマートフォンやタブレット等撮影機能を有する携帯端末が普及している。携帯端末や、デジタルカメラにおいて、紙媒体の原稿を撮影した場合には、撮影画像において原稿領域が傾いてしまう、撮影手段等の影が写り込んでしまう、原稿内の文字がぼやけてしまうといった問題が生じる場合がある。
このような画像を補正する技術として、台形補正、下地除去処理等、撮影後の画像に対する画像補正処理が知られている。例えば、特許文献1には、カメラで撮影された画像データの傾き情報を識別し、傾きに応じて画像データを補正する技術が開示されている。
このような画像を補正する技術として、台形補正、下地除去処理等、撮影後の画像に対する画像補正処理が知られている。例えば、特許文献1には、カメラで撮影された画像データの傾き情報を識別し、傾きに応じて画像データを補正する技術が開示されている。
上述の下地除去処理は、画像中に映り込んだ影による輝度変化を補正するものである。しかしながら、実際には影が映り込んでいない画像もあるため、すべての画像に対し、下地除去処理を行うこととすると、処理量が多くなってしまう。特に携帯端末等のように処理能力の低い装置においては、このような処理の多さは装置への負荷が大きく、また画像補正処理に係る時間が長くなるという問題があった。
本発明はこのような問題点に鑑みなされたもので、適切な下地処理を行うことにより、演算量を低減し、処理時間を短縮することを目的とする。
そこで、本発明は、携帯端末であって、被写体の画像を撮影する第1の撮影手段と、前記第1の撮影手段による撮影時の撮影条件を取得する取得手段と、前記撮影条件に基づいて、撮影画像に影が写り込む可能性を推定する推定手段と、前記推定手段による推定結果に基づいて、演算量の異なる複数の下地除去処理の中から、一の下地除去処理を選択する選択手段と、前記撮影画像に対し、前記選択手段により選択された下地除去処理を施す下地除去手段とを有する。
本発明によれば、適切な下地処理を行うことにより、演算量を低減し、処理時間を短縮することができる。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、第1の実施形態に係る画像処理システムを示す図である。画像処理システムは、携帯端末100と、無線ルータ101と、プリンタ102と、クラウドサーバ装置121と、メールサーバ装置122と、プリンタ123とを備えている。携帯端末100としては、例えば、携帯電話や、スマートフォン、デジタルカメラ、タブレット端末等が挙げられる。
無線ルータ101及びプリンタ102は、LAN110に接続している。さらに、LAN110は、インターネット120に接続している。クラウドサーバ装置121、メールサーバ装置122及びプリンタ123は、インターネット120に接続している。
図1は、第1の実施形態に係る画像処理システムを示す図である。画像処理システムは、携帯端末100と、無線ルータ101と、プリンタ102と、クラウドサーバ装置121と、メールサーバ装置122と、プリンタ123とを備えている。携帯端末100としては、例えば、携帯電話や、スマートフォン、デジタルカメラ、タブレット端末等が挙げられる。
無線ルータ101及びプリンタ102は、LAN110に接続している。さらに、LAN110は、インターネット120に接続している。クラウドサーバ装置121、メールサーバ装置122及びプリンタ123は、インターネット120に接続している。
携帯端末100は、無線ルータ101を介し、プリンタ102、クラウドサーバ装置121、メールサーバ装置122及びプリンタ123に接続することができる。
なお、画像処理システムにおけるネットワーク構成は、携帯端末100と図1に示す各装置との通信を可能とするものであればよく、実施形態に限定されるものではない。
なお、画像処理システムにおけるネットワーク構成は、携帯端末100と図1に示す各装置との通信を可能とするものであればよく、実施形態に限定されるものではない。
図2は、携帯端末100の外観構成を示す図である。図2(a)は、携帯端末100の表面を示す図である。図2(b)は、携帯端末100の裏面を示す図である。図2(a)に示すように、携帯端末100の表面には、タッチパネル201、操作ボタン202、インカメラ204、環境光センサ205が設けられている。また、図2(b)に示すように、携帯端末100の裏面には、アウトカメラ203が設けられている。
タッチパネル201は、各種情報を表示する表示機能と、ユーザ操作を受け付ける操作入力機能とを有している。操作ボタン202は、ユーザからの操作を受け付けるためのハードキーである。
タッチパネル201は、各種情報を表示する表示機能と、ユーザ操作を受け付ける操作入力機能とを有している。操作ボタン202は、ユーザからの操作を受け付けるためのハードキーである。
アウトカメラ203は、被写体を撮影するためのメインカメラである。インカメラ204は、例えば撮影者等を撮影するためのサブカメラである。アウトカメラ203及びインカメラ204は、いずれも不図示のオートフォーカス装置を備える。オートフォーカス装置は、コントラスト比や赤外線の送受信タイミングなどによってピントの合った状態を自動的に検出する。携帯端末100は、オートフォーカス装置の処理に応じて、焦点距離や被写体距離を測定することができる。
環境光センサ205は、携帯端末100の周囲の環境光を測定する。環境光センサ205は、具体的には、携帯端末100の周囲の照度又は輝度を測定する。
環境光センサ205は、携帯端末100の周囲の環境光を測定する。環境光センサ205は、具体的には、携帯端末100の周囲の照度又は輝度を測定する。
図3は、携帯端末100のハードウェア構成を示す図である。携帯端末100は、CPU301と、RAM302と、ROM303と、USBコントローラ304と、LANコントローラ306と、操作部コントローラ308と、画像処理部309と、加速度センサ310とを有している。なお、上記各部は、内部バス311に接続している。さらに、アウトカメラ203、インカメラ204及び環境光センサ205も内部バス311に接続している。
CPU301は、携帯端末100の全体を制御する。RAM302は、CPU301の主メモリ、ワークエリア等として機能する。ROM303は、CPU301が実行する制御プログラムを含む各種プログラムや各種データを格納している。
なお、後述する携帯端末100の機能や処理は、CPU301がROM303等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
CPU301は、携帯端末100の全体を制御する。RAM302は、CPU301の主メモリ、ワークエリア等として機能する。ROM303は、CPU301が実行する制御プログラムを含む各種プログラムや各種データを格納している。
なお、後述する携帯端末100の機能や処理は、CPU301がROM303等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
USBコントローラ304には、外部記憶装置305が接続されている。CPU301は、USBコントローラ304を介して、外部記憶装置305に画像データや各種プログラムを格納することができる。LANコントローラ306は、無線LAN装置307に接続しており、無線ルータ101との間でデータを送受信する。
操作部コントローラ308は、タッチパネル201や操作ボタン202を介して、ユーザ操作に応じた入力を受け付ける。画像処理部309は、アウトカメラ203及びインカメラ204により撮影された撮影画像に対し、画像処理を施す。具体的には、画像処理部309は、画像処理として、台形・歪み補正、下地除去、像域判定、鮮鋭性補正、色補正等の画像補正処理を行う。加速度センサ310は、携帯端末100の本体の傾きを検出する。
操作部コントローラ308は、タッチパネル201や操作ボタン202を介して、ユーザ操作に応じた入力を受け付ける。画像処理部309は、アウトカメラ203及びインカメラ204により撮影された撮影画像に対し、画像処理を施す。具体的には、画像処理部309は、画像処理として、台形・歪み補正、下地除去、像域判定、鮮鋭性補正、色補正等の画像補正処理を行う。加速度センサ310は、携帯端末100の本体の傾きを検出する。
図4は、加速度センサ310が検出する加速度の座標系を説明するための図である。図4に示すように、加速度センサ310は、携帯端末100のタッチパネル201の横方向及び縦方向をそれぞれX軸及びY軸とし、タッチパネル201の平面に垂直な方向をZ軸とする3軸方向において加速度を検出する。
図5に示すように、携帯端末100の本体が地面に水平な状態、すなわち状態Aの場合、加速度センサ310は、(X,Y,Z)=(0.0,0.0,−1.0)から、傾き角度θ=0°を検出する。加速度センサ310はまた、携帯端末100が地面に垂直な状態、すなわち状態Bの場合には、加速度センサ310は、(X,Y,Z)=(0.0,−1.0,0.0)から、傾き角度θ=90°を検出する。同様に、加速度センサ310は、携帯端末100が状態Cのように傾いた状態においても(X,Y,Z)の値から傾き角度θを検出することができる。
加速度センサ310により検出された傾き角度の情報は、この傾き角度において撮影された撮影画像に対応付けてROM303等に格納される。なお、傾き角度は、撮影画像とともにテキスト情報としてROM303に格納されてもよく、また他の例としては、撮影画像のExifタグに埋め込まれた状態で、ROM303等に格納されてもよい。傾き角度は、画像処理部309による画像補正処理において利用される。
図5に示すように、携帯端末100の本体が地面に水平な状態、すなわち状態Aの場合、加速度センサ310は、(X,Y,Z)=(0.0,0.0,−1.0)から、傾き角度θ=0°を検出する。加速度センサ310はまた、携帯端末100が地面に垂直な状態、すなわち状態Bの場合には、加速度センサ310は、(X,Y,Z)=(0.0,−1.0,0.0)から、傾き角度θ=90°を検出する。同様に、加速度センサ310は、携帯端末100が状態Cのように傾いた状態においても(X,Y,Z)の値から傾き角度θを検出することができる。
加速度センサ310により検出された傾き角度の情報は、この傾き角度において撮影された撮影画像に対応付けてROM303等に格納される。なお、傾き角度は、撮影画像とともにテキスト情報としてROM303に格納されてもよく、また他の例としては、撮影画像のExifタグに埋め込まれた状態で、ROM303等に格納されてもよい。傾き角度は、画像処理部309による画像補正処理において利用される。
図6は、プリンタ102,123の構成を示す図である。プリンタ102,123は、コントローラ部600と、操作部609と、外部メモリ610と、プリンタ部611とを有している。コントローラ部600は、ネットワークI/F601と、PDL処理部602と、画像処理部603と、プリンタI/F604と、CPU605と、RAM606と、ROM607とを有している。コントローラ部600の各部は、システムバス608に接続している。
ネットワークI/F601は、インターネット120を介し、携帯端末100やクラウドサーバ装置121、メールサーバ装置122等の外部装置と通信を行う。ネットワークI/F601は、例えばプリンタが有する情報を外部装置に送信する。ネットワークI/F601は、また例えば、携帯端末100から撮影画像を受信する。
ネットワークI/F601は、インターネット120を介し、携帯端末100やクラウドサーバ装置121、メールサーバ装置122等の外部装置と通信を行う。ネットワークI/F601は、例えばプリンタが有する情報を外部装置に送信する。ネットワークI/F601は、また例えば、携帯端末100から撮影画像を受信する。
PDL(ページ記述原稿)処理部602は、例えば、ネットワークI/F601が外部から受信した画像データに対し、PDL解釈やレンダリング等の処理を行う。画像処理部603は、PDL処理部602による処理後のデータを受け取ると、受け取ったデータに対しプリント出力用の画像処理を施す。プリンタI/F604は、画像処理後の画像データをプリンタ部611に渡す。プリンタ部611は、画像データに基づいて、プリント処理を行う。
CPU605は、プリンタ102,123の全体を制御する。例えば、CPU605は、制御プログラムに基づいて、プリンタI/F601を介しプリンタ部611に対し画像信号を出力する。RAM606は、CPU605の主メモリ、ワークエリア等として機能する。ROM607は、CPU605が実行する制御プログラムを含む各種プログラムや各種データを格納している。
なお、後述するプリンタ102,123の機能や処理は、CPU605がROM607等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
CPU605は、プリンタ102,123の全体を制御する。例えば、CPU605は、制御プログラムに基づいて、プリンタI/F601を介しプリンタ部611に対し画像信号を出力する。RAM606は、CPU605の主メモリ、ワークエリア等として機能する。ROM607は、CPU605が実行する制御プログラムを含む各種プログラムや各種データを格納している。
なお、後述するプリンタ102,123の機能や処理は、CPU605がROM607等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
図7は、画像処理システムによる画像処理の概要を示すシーケンス図である。なお、ここでは、携帯端末100において撮影、補正された撮影画像をプリンタ102においてプリントする処理について説明する。
まず、携帯端末100のCPU301は、ユーザにより被写体としての原稿の撮影開始指示の入力を受け付けると、ステップS701において、無線ルータ101、LAN110を介し、撮影画像の印刷を行うプリンタを検索する。
このとき、印刷可能なプリンタは、携帯端末100に対し、設定情報を送信する。図7に示す例においては、プリンタ102が携帯端末100の撮影画像を印刷可能であり、ステップS702において、プリンタ102は、設定情報を携帯端末100に送信する。ここで、設定情報は、プリンタ102における印刷時に設定可能な印刷に関する情報である。設定情報は、具体的には、印刷時に使用可能な用紙サイズや用紙の種類、出力解像度、両面印刷が可能か、Nin1印刷が可能か、カラー印刷が可能か等の情報である。
まず、携帯端末100のCPU301は、ユーザにより被写体としての原稿の撮影開始指示の入力を受け付けると、ステップS701において、無線ルータ101、LAN110を介し、撮影画像の印刷を行うプリンタを検索する。
このとき、印刷可能なプリンタは、携帯端末100に対し、設定情報を送信する。図7に示す例においては、プリンタ102が携帯端末100の撮影画像を印刷可能であり、ステップS702において、プリンタ102は、設定情報を携帯端末100に送信する。ここで、設定情報は、プリンタ102における印刷時に設定可能な印刷に関する情報である。設定情報は、具体的には、印刷時に使用可能な用紙サイズや用紙の種類、出力解像度、両面印刷が可能か、Nin1印刷が可能か、カラー印刷が可能か等の情報である。
次に、ステップS703において、携帯端末100は、ユーザ操作に応じて、アウトカメラ203により原稿を撮影する(第1の撮影処理)。図8は、撮影対象となる原稿800の一例を示す図である。携帯端末100は、原稿800を撮影し、撮影画像を得る。
次に、ステップS704において、携帯端末100は、アウトカメラ203による撮影時の撮影条件を取得する。携帯端末100は、アウトカメラ203による撮影画像への影の写り込みの有無の推定に利用される撮影条件を取得する。本実施形態に係る携帯端末100は、撮影時の携帯端末100の傾きと、被写体周囲の光源の有無と、を撮影条件として取得する。なお、撮影条件及び撮影条件を取得する処理については後に詳述する。
なお、携帯端末100は、これ以外に、撮影条件として、撮影画像中の原稿の位置情報や、携帯端末100から原稿までの被写体距離、フラッシュ使用の有無、環境光の測定結果等を取得する。なお、撮影画像データ内における原稿の位置情報とは、撮影画像における原稿領域の外郭の相対的な座標値である。
次に、ステップS704において、携帯端末100は、アウトカメラ203による撮影時の撮影条件を取得する。携帯端末100は、アウトカメラ203による撮影画像への影の写り込みの有無の推定に利用される撮影条件を取得する。本実施形態に係る携帯端末100は、撮影時の携帯端末100の傾きと、被写体周囲の光源の有無と、を撮影条件として取得する。なお、撮影条件及び撮影条件を取得する処理については後に詳述する。
なお、携帯端末100は、これ以外に、撮影条件として、撮影画像中の原稿の位置情報や、携帯端末100から原稿までの被写体距離、フラッシュ使用の有無、環境光の測定結果等を取得する。なお、撮影画像データ内における原稿の位置情報とは、撮影画像における原稿領域の外郭の相対的な座標値である。
次に、ステップS705において、携帯端末100は、撮影条件に基づいて、撮影画像に対する画像補正処理を行う。携帯端末100は、複数の下地除去処理を実行することが可能であり、撮影画像への携帯端末100の影等局所的な影の映り込みの有無に応じて、複数の下地除去処理のうち、撮影画像に対して実行すべき一の下地除去処理を選択する。
本実施形態にかかる携帯端末100が実行可能な下地除去処理は、2種類あり、1つ目は、高精度な下地除去処理であり、2つ目は、高精度な下地除去処理に比べて演算量の少ない簡易的な下地除去処理である。
そして、携帯端末100は、撮影画像に対し、選択した下地除去処理を施す。具体的には、携帯端末100は、局所的な影を含む撮影画像に対しては、高精度な下地除去処理を施し、局所的な影を含まない撮影画像に対しては、簡易的な下地除去処理を施す。
携帯端末100は、それ以外の画像補正として、台形・歪み補正、下地除去、像域判定、鮮鋭性補正、色補正などもこのステップで行う。
本実施形態にかかる携帯端末100が実行可能な下地除去処理は、2種類あり、1つ目は、高精度な下地除去処理であり、2つ目は、高精度な下地除去処理に比べて演算量の少ない簡易的な下地除去処理である。
そして、携帯端末100は、撮影画像に対し、選択した下地除去処理を施す。具体的には、携帯端末100は、局所的な影を含む撮影画像に対しては、高精度な下地除去処理を施し、局所的な影を含まない撮影画像に対しては、簡易的な下地除去処理を施す。
携帯端末100は、それ以外の画像補正として、台形・歪み補正、下地除去、像域判定、鮮鋭性補正、色補正などもこのステップで行う。
次に、ステップS706において、携帯端末100は、補正後の撮影画像、すなわち補正画像をタッチパネル201にプレビュー表示する。図9は、プレビュー画面900の一例を示す図である。プレビュー画面900には、補正画像901と、「OK」ボタン902と、「retry」ボタン903と、「cancel」ボタン904とが表示されている。
ユーザは、補正画像901を見て、了承する場合には、「OK」ボタン902を選択する。この場合、携帯端末100は、図7に示す画像処理を、ステップS707に進める。ユーザは、了承しない場合には、「retry」ボタン902を選択する。この場合、携帯端末100は、処理をステップS705に進め、補正条件を変更し、再び画像補正処理を行う。「cancel」ボタン904が選択された場合には、携帯端末100は、画像処理を終了する。
ユーザは、補正画像901を見て、了承する場合には、「OK」ボタン902を選択する。この場合、携帯端末100は、図7に示す画像処理を、ステップS707に進める。ユーザは、了承しない場合には、「retry」ボタン902を選択する。この場合、携帯端末100は、処理をステップS705に進め、補正条件を変更し、再び画像補正処理を行う。「cancel」ボタン904が選択された場合には、携帯端末100は、画像処理を終了する。
図7に戻り、ステップS707において、携帯端末100は、補正画像をプリント時の印刷設定とともに、無線LAN装置307を利用し、無線ルータ101に送信する。ここで、印刷設定とは、ユーザによって指定されたプリント用紙サイズ、用紙の種類、出力解像度、両面印刷か否か、Nin1印刷か否か、カラー印刷かモノクロ印刷か、といったプリンタ102に対する設定である。無線ルータ101は、受信した補正画像とプリント時の印刷設定を、LAN110を介しプリンタ102に送信する。
次に、ステップS708において、プリンタ102は、補正画像と印刷設定とを受信すると、受信した補正画像に対し、階調補正やスクリーン処理等、プリントのための画像処理を施す。
次に、ステップS708において、プリンタ102は、補正画像と印刷設定とを受信すると、受信した補正画像に対し、階調補正やスクリーン処理等、プリントのための画像処理を施す。
次に、ステップS709において、プリンタ102は、携帯端末100による画像補正処理と、プリンタ102による画像補正処理とが施された、アウトカメラ203による撮影画像を、印刷設定に応じてプリントする。次に、ステップS710において、プリンタ102は、プリンタが終了したことをユーザに通知すべく、携帯端末100にプリント終了通知を送信する。
なお、図7に示す画像処理においては、携帯端末100と同一のLAN110に接続するプリンタ102が撮影画像をプリントする例について説明したが、携帯端末100による補正後の撮影画像の送信先は、実施形態に限定されるものではない。他の例としては、携帯端末100は、インターネット120を介して携帯端末100と接続するプリンタ123に撮影画像を送信し、プリンタ123がプリントを行ってもよい。
なお、図7に示す画像処理においては、携帯端末100と同一のLAN110に接続するプリンタ102が撮影画像をプリントする例について説明したが、携帯端末100による補正後の撮影画像の送信先は、実施形態に限定されるものではない。他の例としては、携帯端末100は、インターネット120を介して携帯端末100と接続するプリンタ123に撮影画像を送信し、プリンタ123がプリントを行ってもよい。
図10は、携帯端末100による撮影条件取得処理(ステップS704)及び画像補正処理(ステップS705)の詳細な処理を示すフローチャートである。ステップS1001において、加速度センサ310は、CPU301の制御の下、携帯端末100の本体の傾きを検出する(傾き検出処理)。そして、CPU301は、加速度センサ310から検出された傾きを撮影条件として取得する(取得処理)。
次に、ステップS1002において、CPU301は、傾きが傾き閾値45°未満か否かを判定する。ここで、傾き閾値は、予め設定された値であり、例えばROM303等に格納されているものとする。CPU301は、傾きが傾き閾値未満である場合には(ステップS1002でYes)、処理をステップS1003へ進める。CPU301は、傾きが傾き閾値以上である場合には(ステップS1002でNo)、処理をステップS1008へ進める。
次に、ステップS1002において、CPU301は、傾きが傾き閾値45°未満か否かを判定する。ここで、傾き閾値は、予め設定された値であり、例えばROM303等に格納されているものとする。CPU301は、傾きが傾き閾値未満である場合には(ステップS1002でYes)、処理をステップS1003へ進める。CPU301は、傾きが傾き閾値以上である場合には(ステップS1002でNo)、処理をステップS1008へ進める。
ステップS1003において、インカメラ204は、CPU301の制御の下、アウトカメラ203の撮影方向と異なる撮影方向の風景を撮影する(第2の撮影処理)。本実施形態にかかるインカメラ204は、アウトカメラ203の撮影方向と反対向きの風景を撮影する。
次に、ステップS1004において、CPU301は、インカメラ204により撮影された撮影画像を取得する。そして、CPU301は、インカメラ204による撮影画像の輝度に基づいて、インカメラ204による撮影画像に光源が含まれているか否か、すなわち光源の有無を判定する(光源判定処理)。そして、CPU301は、光源の有無を撮影条件として取得する(取得処理)。なお、ステップS1004の処理については、図14を参照しつつ、後に詳述する。
なお、ステップS1001における傾き検出処理と、ステップS1003におけるインカメラ204による撮影処理は、アウトカメラ203により撮影された原稿の撮影画像に局所的な影が写り込む可能性を推定する推定処理の一例である。したがって、ステップS1001〜ステップS1003の処理は、ステップS1001の処理と略同時に行うのが好ましい。
次に、ステップS1004において、CPU301は、インカメラ204により撮影された撮影画像を取得する。そして、CPU301は、インカメラ204による撮影画像の輝度に基づいて、インカメラ204による撮影画像に光源が含まれているか否か、すなわち光源の有無を判定する(光源判定処理)。そして、CPU301は、光源の有無を撮影条件として取得する(取得処理)。なお、ステップS1004の処理については、図14を参照しつつ、後に詳述する。
なお、ステップS1001における傾き検出処理と、ステップS1003におけるインカメラ204による撮影処理は、アウトカメラ203により撮影された原稿の撮影画像に局所的な影が写り込む可能性を推定する推定処理の一例である。したがって、ステップS1001〜ステップS1003の処理は、ステップS1001の処理と略同時に行うのが好ましい。
ステップS1004の処理の後、ステップS1005において、CPU301の制御の下、画像処理部309は、アウトカメラ203により撮影された撮影画像において、原稿枠を抽出し、台形・歪み補正を行う。具体的には、画像処理部309は、まず、アウトカメラ203による撮影画像内の原稿の位置情報を利用して、射影変換行列を導出する。
そして、画像処理部309は、射影変換行列を利用して原稿画像領域の台形・歪み補正を行い、台形・歪み補正済み原稿画像領域とする。そして、画像処理部309は、補正済み原稿画像領域に対して、キュービックや線形変倍などの公知の変倍技術を利用して、出力画像サイズに応じた変倍を施す。なお、ステップS1008の処理は、ステップS1005の処理と同様である。
そして、画像処理部309は、射影変換行列を利用して原稿画像領域の台形・歪み補正を行い、台形・歪み補正済み原稿画像領域とする。そして、画像処理部309は、補正済み原稿画像領域に対して、キュービックや線形変倍などの公知の変倍技術を利用して、出力画像サイズに応じた変倍を施す。なお、ステップS1008の処理は、ステップS1005の処理と同様である。
次に、ステップS1006において、CPU301は、ステップS1004の光源解析により光源ありと判定した場合には(ステップS1006でYes)、処理をステップS1007へ進める。一方、CPU301は、ステップS1004の光源解析により光源なしと判定した場合には(ステップS1006でNo)、処理をステップS1009へ進める。
ステップS1007において、CPU301は、アウトカメラ203による撮影画像に対して施す下地除去処理として、高精度な下地除去処理を選択する。ここで、ステップS1007の処理は、撮影画像に影が写り込む可能性の推定結果に基づいて、複数の下地除去処理の中から、一の下地除去処理を選択する選択処理の一例である。そして、画像処理部309は、CPU301の制御の下、アウトカメラ203による撮影画像に対し、高精度な下地除去処理を施し(下地除去処理)、処理をステップS1010へ進める。
ステップS1007において、CPU301は、アウトカメラ203による撮影画像に対して施す下地除去処理として、高精度な下地除去処理を選択する。ここで、ステップS1007の処理は、撮影画像に影が写り込む可能性の推定結果に基づいて、複数の下地除去処理の中から、一の下地除去処理を選択する選択処理の一例である。そして、画像処理部309は、CPU301の制御の下、アウトカメラ203による撮影画像に対し、高精度な下地除去処理を施し(下地除去処理)、処理をステップS1010へ進める。
一方、ステップS1009において、CPU301は、アウトカメラ203による撮影画像に対して施す下地除去処理として、簡易的な下地除去処理を選択する(選択処理)。そして、画像処理部309は、CPU301の制御の下、アウトカメラ203による撮影画像に対し、簡易的な下地除去処理を施し(下地除去処理)、処理をステップS1010へ進める。
簡易的な下地除去処理は、遮蔽物により生じた影など局所的な輝度ムラには対応できないが、一様な輝度勾配に対し有効な処理である。簡易的な下地除去処理は、高精度な下地除去処理に比べて高速に処理を完了することができる。なお、高精度な下地除去処理及び簡易的な下地除去処理については、後に詳述する。
ステップS1010において、画像処理部309は、CPU301の制御の下、アウトカメラ203による撮影画像に対し、下地除去処理以外の画像補正処理を施し、撮影処理を終了する。
なお、原稿枠の抽出、台形・歪み補正、下地除去処理及びその他の画像補正処理の順序は、実施形態に限定されるものではない。
簡易的な下地除去処理は、遮蔽物により生じた影など局所的な輝度ムラには対応できないが、一様な輝度勾配に対し有効な処理である。簡易的な下地除去処理は、高精度な下地除去処理に比べて高速に処理を完了することができる。なお、高精度な下地除去処理及び簡易的な下地除去処理については、後に詳述する。
ステップS1010において、画像処理部309は、CPU301の制御の下、アウトカメラ203による撮影画像に対し、下地除去処理以外の画像補正処理を施し、撮影処理を終了する。
なお、原稿枠の抽出、台形・歪み補正、下地除去処理及びその他の画像補正処理の順序は、実施形態に限定されるものではない。
ここで、図11〜図13を参照しつつ、アウトカメラ203による撮影画像に影が写り込む可能性を推定する処理について説明する。図11(a)、図12(a)、図13(a)は、撮影対象の原稿800(図8参照)と、蛍光灯等の光源1101の位置関係を示す図である。図11(a)〜図13(a)に示すように、天井1100に、光源1101が設置されている。
図11(b)、図12(b)、図13(b)は、それぞれ、図11(a)、図12(a)、図13(a)の状態においてアウトカメラ203により撮影された、原稿800の撮影画像の一例を示す図である。図12(c)、図13(c)は、それぞれ、図12(a)、図13(a)の状態においてインカメラ204により撮影された撮影画像の一例を示す図である。
図11(b)、図12(b)、図13(b)は、それぞれ、図11(a)、図12(a)、図13(a)の状態においてアウトカメラ203により撮影された、原稿800の撮影画像の一例を示す図である。図12(c)、図13(c)は、それぞれ、図12(a)、図13(a)の状態においてインカメラ204により撮影された撮影画像の一例を示す図である。
図11(a)に示す例においては、壁1102に撮影対象の原稿800が貼られている。この場合、撮影者は、例えば図11(a)に示すように傾き90°になるように携帯端末100を保持し、1110を撮影範囲としてアウトカメラ203による撮影を行う。このとき、撮影画像に携帯端末100による影が映り込むことは少なく、図11(b)に示すように、局所的な影を含まない撮影画像1120が得られる場合が多い。
図11(a)に示す例のように、携帯端末100の傾きが大きい場合には、撮影画像が局所的な影を含む可能性が低いと考えることができる。そこで、携帯端末100は、傾きの実測値が傾き閾値以上である場合には(S1002でNo)、撮影画像に影が写り込む可能性はないと推定し、簡易的な処理(ステップS1010)を行うこととした。
なお、本実施形態の携帯端末100においては、携帯端末100の傾きと比較する傾き閾値を45°としたが、傾き閾値は、被写体の種類や、撮影環境に応じて定められた値であればよく、実施形態に限定されるものではない。
図11(a)に示す例のように、携帯端末100の傾きが大きい場合には、撮影画像が局所的な影を含む可能性が低いと考えることができる。そこで、携帯端末100は、傾きの実測値が傾き閾値以上である場合には(S1002でNo)、撮影画像に影が写り込む可能性はないと推定し、簡易的な処理(ステップS1010)を行うこととした。
なお、本実施形態の携帯端末100においては、携帯端末100の傾きと比較する傾き閾値を45°としたが、傾き閾値は、被写体の種類や、撮影環境に応じて定められた値であればよく、実施形態に限定されるものではない。
図12(a)及び図13(a)に示す例においては、撮影対象の原稿800が机1200上に置かれている。この場合、撮影者は、図12(a)及び図13(a)に示すように水平(傾き0°)になるように携帯端末100を保持し、それぞれ1210,1310を撮影範囲として、アウトカメラ203による撮影を行う。
このとき、図12(a)に示すように、携帯端末100が光源1101と原稿800の間の位置で保持された場合には、携帯端末100が光源1101から原稿800に照射される光を遮ることとなる。したがって、図12(b)に示すように、アウトカメラ203による撮影画像1220には、局所的な影1221が写り込む場合が多い。さらに、この場合には、図12(c)に示すように、インカメラ204による撮影画像1230には、天井1100と光源1101との画像が含まれる。
このとき、図12(a)に示すように、携帯端末100が光源1101と原稿800の間の位置で保持された場合には、携帯端末100が光源1101から原稿800に照射される光を遮ることとなる。したがって、図12(b)に示すように、アウトカメラ203による撮影画像1220には、局所的な影1221が写り込む場合が多い。さらに、この場合には、図12(c)に示すように、インカメラ204による撮影画像1230には、天井1100と光源1101との画像が含まれる。
一方、図13(a)に示すように、携帯端末100が光源1101と原稿800の間からずれた位置で保持された場合には、光源1101から原稿800に照射される光が携帯端末100により遮られることはない。このため、図13(b)に示すように、アウトカメラ203による撮影画像1320には、局所的な影が写り込むことは少ない。さらにこの場合には、図13(c)に示すように、インカメラ204による撮影画像1330には、天井1100の画像のみが含まれ、光源1101の画像は含まれない。
図12(a)及び図13(a)に示す例のように、携帯端末100の傾きが小さい場合には、撮影画像に影が写り込むか否かは、光源1101と携帯端末100の位置関係によって異なる。さらに図12(c)及び図13(c)に示すように、インカメラ204による撮影画像に光源1101が含まれるか否かにより、アウトカメラ203による撮影画像への影の写り込みの有無を推定することが可能である。
以上のことから、携帯端末100は、傾きが傾き閾値未満である場合に、インカメラ204による撮影を行い(S1003)、光源解析の結果に基づいて、影が写り込む可能性を推定することとした。
すなわち、携帯端末100は、インカメラ204による撮影画像に光源があると判定した場合には(S1006でYes)、アウトカメラ203による撮影画像には影が含まれると推定し、高精度な下地除去処理(S1007)を行うこととした。
以上のことから、携帯端末100は、傾きが傾き閾値未満である場合に、インカメラ204による撮影を行い(S1003)、光源解析の結果に基づいて、影が写り込む可能性を推定することとした。
すなわち、携帯端末100は、インカメラ204による撮影画像に光源があると判定した場合には(S1006でYes)、アウトカメラ203による撮影画像には影が含まれると推定し、高精度な下地除去処理(S1007)を行うこととした。
図14は、図10を参照しつつ説明した光源解析処理(ステップS1004)における詳細な処理を示すフローチャートである。ステップS1401において、画像処理部309は、CPU301の制御の下、インカメラ204による撮影画像に対し、解像度化・グレースケール化を行う。低解像度化するのは、光源推定の処理スピードを上げるためであり、グレースケール化するのは、撮影画像中の各領域の明るさを判断するためである。
次に、ステップS1402において、CPU301は、低解像度化・グレースケール化後の撮影画像において注目画素を設定し、順次走査しながら、以下の処理を行う。すなわち、CPU301は、注目画素の輝度値が輝度閾値以上となる場合に、注目画素を光源画素候補とし、光源画素候補の座標をRAM302等の記憶部に格納する。ここで、輝度閾値は、例えばROM303等に予め設定されているものとする。
光源を示す画素は、白に近い色を示す画素となり、8bitグレースケールにおいては、255に近い値を示すことが推測される。そこで、例えば250の値が輝度閾値として設定されてもよい。
次に、ステップS1402において、CPU301は、低解像度化・グレースケール化後の撮影画像において注目画素を設定し、順次走査しながら、以下の処理を行う。すなわち、CPU301は、注目画素の輝度値が輝度閾値以上となる場合に、注目画素を光源画素候補とし、光源画素候補の座標をRAM302等の記憶部に格納する。ここで、輝度閾値は、例えばROM303等に予め設定されているものとする。
光源を示す画素は、白に近い色を示す画素となり、8bitグレースケールにおいては、255に近い値を示すことが推測される。そこで、例えば250の値が輝度閾値として設定されてもよい。
次に、ステップS1403において、CPU301は、注目画素の周囲の光源画素候補の有無に応じて、光源候補領域を特定する。具体的には、CPU301は、注目画素の出現以前に出現した、主走査方向及び副走査方向に連続する光源画素候補の領域を光源候補領域として特定する。
次に、ステップS1404において、CPU301は、光源候補領域に含まれる光源画素候補の数をカウントし、カウント数を光源候補領域の面積として得る。そして、CPU301は、光源候補領域の面積と面積閾値とを比較する。面積閾値は予め設定された値であり、例えばROM303等に格納されている。CPU301は、光源候補領域の面積が面積閾値以上である場合には(ステップS1404でYes)、処理をステップS1405へ進める。ステップS1405において、CPU301は、光源候補領域は、光源領域であり、インカメラ204側に光源があると判定し、光源判定処理を終了する。
次に、ステップS1404において、CPU301は、光源候補領域に含まれる光源画素候補の数をカウントし、カウント数を光源候補領域の面積として得る。そして、CPU301は、光源候補領域の面積と面積閾値とを比較する。面積閾値は予め設定された値であり、例えばROM303等に格納されている。CPU301は、光源候補領域の面積が面積閾値以上である場合には(ステップS1404でYes)、処理をステップS1405へ進める。ステップS1405において、CPU301は、光源候補領域は、光源領域であり、インカメラ204側に光源があると判定し、光源判定処理を終了する。
一方、CPU301は、光源候補領域の面積が面積閾値未満である場合には(ステップS1404でNo)、処理をステップS1406へ進める。ステップS1406において、CPU301は、すべての注目画素に対する処理が終了したか否かを確認する。CPU301は、未処理の注目画素が存在する場合には(ステップS1406でNo)、処理をステップS1402へ進め、処理対象を未処理の注目画素に進め、ステップS1402以降の処理を繰り返す。
CPU301は、すべての注目画素に対する処理が終了した場合には(ステップS1406でYes)、処理をステップS1407へ進める。ステップS1407において、CPU301は、インカメラ204側に光源はないと判定し、光源判定処理を終了する。
CPU301は、すべての注目画素に対する処理が終了した場合には(ステップS1406でYes)、処理をステップS1407へ進める。ステップS1407において、CPU301は、インカメラ204側に光源はないと判定し、光源判定処理を終了する。
図15は、図10を参照しつつ説明した高精度な下地除去処理(ステップS1007)における詳細な処理を示すフローチャートである。ステップS1501において、CPU301は、アウトカメラ203による撮影画像の色空間を、輝度成分を含む色空間に変換する。
次に、ステップS1502において、CPU301は、アウトカメラ203による撮影画像を走査し、白との輝度差が大きい箇所をオブジェクト領域として特定し、これ以外の領域を非オブジェクト領域として特定する。具体的には、CPU301は、予め設定された輝度閾値を用いた閾値処理により、オブジェクト領域を特定する。例えば、図12(b)に示す撮影画像1220を処理対象とした場合には、図16(a)に示すように、オブジェクト領域1601を含む複数のオブジェクト領域が得られる。なお、各オブジェクト領域は、矩形の領域である。
次に、ステップS1502において、CPU301は、アウトカメラ203による撮影画像を走査し、白との輝度差が大きい箇所をオブジェクト領域として特定し、これ以外の領域を非オブジェクト領域として特定する。具体的には、CPU301は、予め設定された輝度閾値を用いた閾値処理により、オブジェクト領域を特定する。例えば、図12(b)に示す撮影画像1220を処理対象とした場合には、図16(a)に示すように、オブジェクト領域1601を含む複数のオブジェクト領域が得られる。なお、各オブジェクト領域は、矩形の領域である。
次に、ステップS1503において、CPU301は、非オブジェクト領域において、数画素おきに輝度値を取得する。CPU301は、例えば、図16(b)の1602に示す各格子点に位置する画素の輝度値を取得する。なお、このように、取得する輝度値の数を制限するのは、処理の高速化を図るためである。なお、ステップS1503における輝度値の取得の対象となるのは、非オブジェクト領域のみであり、1603のようなオブジェクト領域の輝度値は取得対象となっていない。
次に、ステップS1504において、CPU301は、ステップS1503において取得した非オブジェクト領域の輝度値を補間して、オブジェクト領域の輝度値を求め、輝度ムラマップを生成する。図16(c)は、図12(b)に示す撮影画像1220に対応する輝度ムラマップの一例を示す図である。
次に、ステップS1504において、CPU301は、ステップS1503において取得した非オブジェクト領域の輝度値を補間して、オブジェクト領域の輝度値を求め、輝度ムラマップを生成する。図16(c)は、図12(b)に示す撮影画像1220に対応する輝度ムラマップの一例を示す図である。
次に、ステップS1505において、CPU301は、アウトカメラ203による撮影画像の各画素の輝度値から、輝度ムラマップの各画素の輝度値を差し引く。以上により、高精度な下地除去処理が終了する。
以上の処理により、携帯端末100は、図12(b)に示す撮影画像1220のように、影のような局所的な輝度変化を示す画像に対しても、適切な下地除去処理を行うことができる。
以上の処理により、携帯端末100は、図12(b)に示す撮影画像1220のように、影のような局所的な輝度変化を示す画像に対しても、適切な下地除去処理を行うことができる。
次に、図17及び図18を参照しつつ、簡易的な下地除去処理(ステップS1009)について説明する。図17に示すように、CPU301は、簡易的な下地除去処理(ステップS1009)において、まず、アウトカメラ203による撮影画像において、複数の画像を含む領域1701を定める。そして、CPU301は、領域1701における各画素を注目画素1702とし、注目画素1702の輝度値を変換することにより、領域1701に対する下地除去処理を行う。
CPU301は、具体的には、注目画素の輝度値をinとし、(式1)により、輝度値inを輝度値outに変換する。
out=in×(max/thres) …(式1)
ここで、maxは、取り得る輝度値の最大値であり、例えば入力画像が8bitの場合、maxは255である。thresは、予め設定された輝度閾値であり、例えばROM303等に格納されているものとする。
CPU301は、具体的には、注目画素の輝度値をinとし、(式1)により、輝度値inを輝度値outに変換する。
out=in×(max/thres) …(式1)
ここで、maxは、取り得る輝度値の最大値であり、例えば入力画像が8bitの場合、maxは255である。thresは、予め設定された輝度閾値であり、例えばROM303等に格納されているものとする。
CPU301は、領域1701に続いて、領域1703というように、撮影画像を走査方向1704に沿って走査し、撮影画像を構成するすべての領域の下地除去処理を完了する。このとき、CPU301は、各領域の下地除去量を、直前までの領域の下地除去処理の結果に応じて変動させる。ここで、下地除去量は、thresの値により定まる値であり、CPU301は、直前の領域に対する下地除去処理の結果に応じて、thresの値を変更する。
図18は、各領域に対する下地除去量(thres)を変動させる下地除去量制御処理を示すフローチャートである。ステップS1801において、CPU301は、注目画素の輝度値inと、閾値thresとを比較する。CPU301は、輝度値inが閾値thresよりも小さい場合には(ステップS1801でYes)、処理をステップS1802へ進める。一方、CPU301は、輝度値inが閾値thres以上である場合には(ステップS1801でNo)、処理をステップS1803へ進める。
ステップS1802において、CPU301は、閾値調整カウンタthres_countの値を1加算する。ステップS1803において、CPU301は、輝度値inが閾値thresよりも大きいか否かを確認する。CPU301は、輝度値inが閾値thresよりも大きい場合には(ステップS1803でYes)、処理をステップS1804へ進める。CPU301は、輝度値inが閾値thres以下、すなわち輝度値inが閾値thresと等しい場合には(ステップS1803でNo)、処理をステップS1805へ進める。
ステップS1802において、CPU301は、閾値調整カウンタthres_countの値を1加算する。ステップS1803において、CPU301は、輝度値inが閾値thresよりも大きいか否かを確認する。CPU301は、輝度値inが閾値thresよりも大きい場合には(ステップS1803でYes)、処理をステップS1804へ進める。CPU301は、輝度値inが閾値thres以下、すなわち輝度値inが閾値thresと等しい場合には(ステップS1803でNo)、処理をステップS1805へ進める。
ステップS1804において、CPU301は、閾値調整カウンタthres_countの値を1減算する。ステップS1805において、CPU301は、処理対象の領域内のすべての画素に対する処理が終了したか否かを確認する。CPU301は、未処理の画素が存在する場合には(ステップS1805でNo)、処理をステップS1806へ進める。ステップS1806において、CPU301は、注目画素を次の画素に変更し、ステップS1801に処理を進める。
ステップS1805において、CPU301は、すべての画素に対する処理を終了した場合には(ステップS1805でYes)、処理をステップS1807へ進める。ステップS1807において、CPU301は、閾値調整カウンタthres_countの値と上限閾値thres_upとを比較する。CPU301は、閾値調整カウンタthres_countの値が上限閾値thres_upよりも大きい場合には(ステップS1807でYes)、処理をステップS1808へ進める。ステップS1808において、CPU301は、thresの値を1加算して、下地除去量制御処理を終了する。
ステップS1805において、CPU301は、すべての画素に対する処理を終了した場合には(ステップS1805でYes)、処理をステップS1807へ進める。ステップS1807において、CPU301は、閾値調整カウンタthres_countの値と上限閾値thres_upとを比較する。CPU301は、閾値調整カウンタthres_countの値が上限閾値thres_upよりも大きい場合には(ステップS1807でYes)、処理をステップS1808へ進める。ステップS1808において、CPU301は、thresの値を1加算して、下地除去量制御処理を終了する。
ステップS1807において、CPU301は、閾値調整カウンタthres_countの値が上限閾値thres_up以下である場合には(ステップS1807でNo)、処理をステップS1809へ進める。
ステップS1809において、CPU301は、閾値調整カウンタthres_countの値と下限閾値thres_downとを比較する。CPU301は、閾値調整カウンタthres_countの値が下限閾値thres_downよりも小さい場合には(ステップS1809でYes)、処理をステップS1810へ進める。ステップS1810において、CPU301は、thresの値を1減算して、下地除去量制御処理を終了する。
ステップS1809において、CPU301は、閾値調整カウンタthres_countの値が下限閾値thres_down以上である場合には(ステップS1809でNo)、thresの値を変更することなく、下地除去量制御処理を終了する。
ステップS1809において、CPU301は、閾値調整カウンタthres_countの値と下限閾値thres_downとを比較する。CPU301は、閾値調整カウンタthres_countの値が下限閾値thres_downよりも小さい場合には(ステップS1809でYes)、処理をステップS1810へ進める。ステップS1810において、CPU301は、thresの値を1減算して、下地除去量制御処理を終了する。
ステップS1809において、CPU301は、閾値調整カウンタthres_countの値が下限閾値thres_down以上である場合には(ステップS1809でNo)、thresの値を変更することなく、下地除去量制御処理を終了する。
以上のように、CPU301は、下地除去量制御処理により、次に処理対象とする領域において参照されるthresの値を調整することができる。例えば、図17に示す領域1703における下地除去処理においては、領域1701において決定されたthresの値が参照される。
これにより、CPU301は、直前に処理が完了した画素の情報に基づいて、リアルタイムに下地除去量を変更することにより、適切な下地除去処理を行うことができる。さらに、下地除去量を変更する処理を、下地除去の処理に並行して行うことができるので、高速に処理を行うことができる。
以上のように、本実施形態に係る携帯端末100は、影の有無に応じた適切な下地処理を行うことができる。
これにより、CPU301は、直前に処理が完了した画素の情報に基づいて、リアルタイムに下地除去量を変更することにより、適切な下地除去処理を行うことができる。さらに、下地除去量を変更する処理を、下地除去の処理に並行して行うことができるので、高速に処理を行うことができる。
以上のように、本実施形態に係る携帯端末100は、影の有無に応じた適切な下地処理を行うことができる。
なお、携帯端末100が行う2種類の下地除去処理は、演算量の異なる処理であればよく、具体的な処理内容は実施形態に限定されるものではない。他の例としては、携帯端末100は、高精度な下地除去処理において、数画素おきに輝度値を取得する処理において、輝度値の取得間隔を広くしたものを、簡易的な下地除去処理として実施してもよい。
このように、携帯端末100は、輝度ムラマップ作成に用いる画素数を変更することにより、処理スピードや精度を切り替えてもよい。
このように、携帯端末100は、輝度ムラマップ作成に用いる画素数を変更することにより、処理スピードや精度を切り替えてもよい。
次に、第1の実施形態に係る画像処理システムの変更例について説明する。第1の変更例としては、携帯端末100は、オートフォーカス装置により測定されたアウトカメラ203から被写体としての原稿までの被写体距離や、インカメラ204から光源までの被写体距離に基づいて、撮影画像への影の写り込みやすさを推定してもよい。
例えば、インカメラ204による撮影画像に光源が含まれている場合であっても、アウトカメラ203から原稿までの距離が遠くなる程、アウトカメラ203による撮影画像にはっきりとした影が入る可能性は低くなる。そこで、携帯端末100は、例えばステップS1006において光源ありと判定した場合であっても、アウトカメラ203から原稿までの距離が距離閾値以上である場合には、影の写り込みはないと推定し、簡易的な下地除去を行うこととしてもよい。
例えば、インカメラ204による撮影画像に光源が含まれている場合であっても、アウトカメラ203から原稿までの距離が遠くなる程、アウトカメラ203による撮影画像にはっきりとした影が入る可能性は低くなる。そこで、携帯端末100は、例えばステップS1006において光源ありと判定した場合であっても、アウトカメラ203から原稿までの距離が距離閾値以上である場合には、影の写り込みはないと推定し、簡易的な下地除去を行うこととしてもよい。
また、第2の変更例としては、携帯端末100は、インカメラ204による撮影画像に基づく光源判定処理に加えて、又はこれにかえて、環境光センサ205による測定結果に基づいて、撮影画像への影の写り込みやすさを推定してもよい。
例えば、アウトカメラ203による撮影時に、環境光センサ205は、被写体の周囲の照度及び輝度のうち少なくとも一方を測定する(測定処理)。CPU301は、環境光センサ205により測定された照度を撮影条件として取得する(取得処理)。そして、CPU301は、測定された照度が照度閾値以上である場合に、撮影画像に影が写り込むと推定し、高精度な下地除去処理を行うこととしてもよい。なお、携帯端末100は、インカメラ204による撮影画像、被写体距離及び環境光をどのように組み合わせて、撮影画像への影の写り込みやすさを推定してもよい。
例えば、アウトカメラ203による撮影時に、環境光センサ205は、被写体の周囲の照度及び輝度のうち少なくとも一方を測定する(測定処理)。CPU301は、環境光センサ205により測定された照度を撮影条件として取得する(取得処理)。そして、CPU301は、測定された照度が照度閾値以上である場合に、撮影画像に影が写り込むと推定し、高精度な下地除去処理を行うこととしてもよい。なお、携帯端末100は、インカメラ204による撮影画像、被写体距離及び環境光をどのように組み合わせて、撮影画像への影の写り込みやすさを推定してもよい。
また、第3の変更例としては、携帯端末100による画像補正処理後の撮影画像の利用形態は実施形態に限定されるものではない。他の例としては、携帯端末100は、画像補正処理後の撮影画像をプリンタ102等から出力するのにかえて、ROM303や、インターネット120上のストレージサービス等に格納し、処理を終了してもよい。
また、他の例としては、携帯端末100は、ROM303に格納された撮影画像は、Eメールに添付して、無線LAN装置307を介して外部装置に送信してもよい。このように、携帯端末100は、プリント用の画像処理が施されていない、携帯端末100による画像補正処理後の撮影画像を、電子データとして保存・利用してもよい。
また、他の例としては、携帯端末100は、ROM303に格納された撮影画像は、Eメールに添付して、無線LAN装置307を介して外部装置に送信してもよい。このように、携帯端末100は、プリント用の画像処理が施されていない、携帯端末100による画像補正処理後の撮影画像を、電子データとして保存・利用してもよい。
また、第4の変更例としては、携帯端末100が行う画像補正処理は、画像処理システムが備えるいずれかの装置が行えばよく、処理の主体は実施形態に限定されるものではない。図19は、第4の変更例に係る画像処理を示すシーケンス図である。ここでは、図7に示す画像処理と異なる処理について説明する。原稿撮影処理(ステップS703)の後、ステップS1901において、携帯端末100のCPU301は、無線LAN装置307を介して、撮影画像、撮影条件及び印刷設定をクラウドサーバ装置121に送信する。
このとき、CPU301は、図10に示すステップS1001〜ステップS1004の処理を行い、携帯端末100の傾き、光源の有無を含む撮影条件を取得し、これをクラウドサーバ装置121に送信する。
このとき、CPU301は、図10に示すステップS1001〜ステップS1004の処理を行い、携帯端末100の傾き、光源の有無を含む撮影条件を取得し、これをクラウドサーバ装置121に送信する。
次に、ステップS1902において、クラウドサーバ装置121は、撮影条件に基づいて、撮影画像の画像補正処理を行う。具体的には、クラウドサーバ装置121は、図10に示すステップS1005〜ステップS1010の処理を行う。そして、ステップS1903において、携帯端末100は、補正画像を受信すると、これをタッチパネル201にプレビュー表示する。
図9に示すプレビュー画面900において、「OK」ボタン902が選択された場合、ステップS1904において、携帯端末100は、処理継続指示の入力を受け付け、処理継続指示をクラウドサーバ装置121に送信する。次に、ステップS1905において、クラウドサーバ装置121は、プリンタ102に補正画像と印刷設定を送信する。その後、ステップS708において、プリンタ102は、プリント用画像処理を行う。以降の処理は、図7に示す画像処理と同様である。
このように、クラウドサーバ装置121により画像処理を行う場合においても、撮影条件に応じた下地除去処理を選択することができる。
図9に示すプレビュー画面900において、「OK」ボタン902が選択された場合、ステップS1904において、携帯端末100は、処理継続指示の入力を受け付け、処理継続指示をクラウドサーバ装置121に送信する。次に、ステップS1905において、クラウドサーバ装置121は、プリンタ102に補正画像と印刷設定を送信する。その後、ステップS708において、プリンタ102は、プリント用画像処理を行う。以降の処理は、図7に示す画像処理と同様である。
このように、クラウドサーバ装置121により画像処理を行う場合においても、撮影条件に応じた下地除去処理を選択することができる。
(第2の実施形態)
第2の実施形態に係る画像処理システムについて説明する。第2の実施形態に係る画像処理システムにおいては、携帯端末100は、インカメラ204による撮影画像により光源ありと判定した場合には、さらに光源の位置から、撮影画像中の影の領域を推定する。そして、携帯端末100は、影の領域に対し、他の領域に比べて高精度な下地除去処理を施す。
図20は、第2の実施形態に係る携帯端末100による撮影条件取得処理(ステップS704)及び画像補正処理(ステップS705)の詳細な処理を示すフローチャートである。ここでは、図10に示す処理と異なる処理について説明する。
第2の実施形態に係る画像処理システムについて説明する。第2の実施形態に係る画像処理システムにおいては、携帯端末100は、インカメラ204による撮影画像により光源ありと判定した場合には、さらに光源の位置から、撮影画像中の影の領域を推定する。そして、携帯端末100は、影の領域に対し、他の領域に比べて高精度な下地除去処理を施す。
図20は、第2の実施形態に係る携帯端末100による撮影条件取得処理(ステップS704)及び画像補正処理(ステップS705)の詳細な処理を示すフローチャートである。ここでは、図10に示す処理と異なる処理について説明する。
ステップS1006において、CPU301は、光源ありと判定した場合には(ステップS1006でYes)、処理をステップS2001へ進める。ステップS2001において、CPU301は、インカメラ204による撮影画像内における光源領域の位置を特定する(光源位置特定処理)。
具体的には、CPU301は、インカメラ204による撮影画像を複数の領域に分割する。そして、CPU301は、光源領域の座標位置に基づいて、画像分割後のいずれの領域に光源領域が存在するかを判定する。
図21(a)は、図12(c)に示す撮影画像1230を処理対象とする例を示す図である。図21(a)に示す例においては、CPU301は、図中の点線で示すように、撮影画像1230を格子状に、3×3=9つの領域に分割するとする。この場合、図21(a)に示すように、CPU301は、撮影画像1230のうち、領域2101が光源の位置として特定される。
具体的には、CPU301は、インカメラ204による撮影画像を複数の領域に分割する。そして、CPU301は、光源領域の座標位置に基づいて、画像分割後のいずれの領域に光源領域が存在するかを判定する。
図21(a)は、図12(c)に示す撮影画像1230を処理対象とする例を示す図である。図21(a)に示す例においては、CPU301は、図中の点線で示すように、撮影画像1230を格子状に、3×3=9つの領域に分割するとする。この場合、図21(a)に示すように、CPU301は、撮影画像1230のうち、領域2101が光源の位置として特定される。
次に、ステップS2002において、CPU301は、光源領域の位置に基づいて、アウトカメラ203による撮影画像中の影領域の位置を推定する(影領域推定処理)。具体的には、CPU301は、図21(b)に示すように、アウトカメラ203による撮影画像を、インカメラ204による撮影画像1230と同様に、格子状に、3×3=9つの領域に分割する。そして、CPU301は、インカメラ204による撮影画像中の領域(光源領域)と、アウトカメラ203による撮影画像中の領域(影領域)とを対応付ける対応テーブルを参照し、影領域を含む領域を特定する。なお、対応テーブルは予め作成され、ROM303等に格納されているものとする。
なお、対応テーブルの作成にあたり、インカメラ204による撮影画像の各領域に光源が存在する場合に、アウトカメラ203による撮影画像のいずれの領域に影が生じ易いかを、実際の撮影により確認する。そして、この確認結果に基づいて、対応テーブルが作成されるものとする。
なお、対応テーブルの作成にあたり、インカメラ204による撮影画像の各領域に光源が存在する場合に、アウトカメラ203による撮影画像のいずれの領域に影が生じ易いかを、実際の撮影により確認する。そして、この確認結果に基づいて、対応テーブルが作成されるものとする。
対応テーブルにより、例えば、図21(a)に示す領域2101により、図21(b)に示す領域2102が影領域の位置として特定される。
なお、格子状の領域に分割する際のインカメラ204による撮影画像の分割数やアウトカメラ203による撮影画像の分割数は、実施形態に限定されるものではない。
なお、格子状の領域に分割する際のインカメラ204による撮影画像の分割数やアウトカメラ203による撮影画像の分割数は、実施形態に限定されるものではない。
次に、ステップS2003において、画像処理部309は、CPU301の制御の下、影領域と、影領域以外の領域(非影領域と称する)と、に対し、異なる下地除去処理を施す。具体的には、画像処理部309は、非影領域に対しては、図15等を参照しつつ説明した、第1の実施形態に係る高精度な下地除去処理を施す。一方で、画像処理部309は、影領域に対し、高精度な下地除去処理におけるオブジェクト領域の輝度値取得処理(ステップS1503)において、輝度値を取得する間隔を、非影領域に比べて小さい間隔とする。
例えば、図21(b)に示す撮影画像に対しては、図21(c)の2103に示すような間隔で、輝度値の取得が行われる。すなわち、図21(c)に示す影領域2102においては、非影領域2104に比べてより小さい間隔で、輝度値の取得が行われる。
例えば、図21(b)に示す撮影画像に対しては、図21(c)の2103に示すような間隔で、輝度値の取得が行われる。すなわち、図21(c)に示す影領域2102においては、非影領域2104に比べてより小さい間隔で、輝度値の取得が行われる。
なお、第2の実施形態に係る画像処理システムのこれ以外の構成及び処理は、他の実施形態に係る画像処理システムの構成及び処理と同様である。
以上のように、第2の実施形態にかかる画像処理システムにおいては、携帯端末100は、影領域に対し、他の領域に比べてより高精度な下地除去処理を行うことができる。これにより、影による急峻な輝度変化にも追従することができる。
以上のように、第2の実施形態にかかる画像処理システムにおいては、携帯端末100は、影領域に対し、他の領域に比べてより高精度な下地除去処理を行うことができる。これにより、影による急峻な輝度変化にも追従することができる。
(第3の実施形態)
次に、第3の実施形態に係る画像処理システムについて説明する。第3の実施形態に係る画像処理システムにおいては、携帯端末100は、アウトカメラ203による撮影画像に影が写り込むと推定した場合に、タッチパネル201に警告画面を表示する。
図22は、第3の実施形態に係る携帯端末100による撮影条件取得処理(ステップS704)及び画像補正処理(ステップS705)の詳細な処理を示すフローチャートである。ここでは、第1の実施形態において、図10を参照しつつ説明した処理と異なる処理について説明する。
次に、第3の実施形態に係る画像処理システムについて説明する。第3の実施形態に係る画像処理システムにおいては、携帯端末100は、アウトカメラ203による撮影画像に影が写り込むと推定した場合に、タッチパネル201に警告画面を表示する。
図22は、第3の実施形態に係る携帯端末100による撮影条件取得処理(ステップS704)及び画像補正処理(ステップS705)の詳細な処理を示すフローチャートである。ここでは、第1の実施形態において、図10を参照しつつ説明した処理と異なる処理について説明する。
ステップS1004における光源解析処理の後、CPU301は、光源ありと判定した場合には(ステップS1006でYes)、処理をステップS2201へ進める。一方、CPU301は、光源なしと判定した場合には処理をステップS1008へ進める。
ステップS2201において、CPU301は、タッチパネル201に、影警告画面を表示する。ここで、影警告画面は、影が写り込むことの警告情報の一例であり、ステップS2201の処理は、撮影画像に影が写り込むと推定された場合に、警告情報を出力する出力処理の一例である。
図23は、影警告画面の一例を示す図である。影警告画面2300は、アウトカメラ203による撮影画像2301上に、「影が入っている可能性があります。除去できない可能性がありますので、再撮影しますか?」等の警告メッセージ2302を重畳表示する。さらに、影警告画面2300には、「はい」ボタン2303と、「いいえ」ボタン2304と、「cancel」ボタン2305とが表示されており、ユーザからの指示入力を受け付ける。
ステップS2201において、CPU301は、タッチパネル201に、影警告画面を表示する。ここで、影警告画面は、影が写り込むことの警告情報の一例であり、ステップS2201の処理は、撮影画像に影が写り込むと推定された場合に、警告情報を出力する出力処理の一例である。
図23は、影警告画面の一例を示す図である。影警告画面2300は、アウトカメラ203による撮影画像2301上に、「影が入っている可能性があります。除去できない可能性がありますので、再撮影しますか?」等の警告メッセージ2302を重畳表示する。さらに、影警告画面2300には、「はい」ボタン2303と、「いいえ」ボタン2304と、「cancel」ボタン2305とが表示されており、ユーザからの指示入力を受け付ける。
ステップS2202において、CPU301は、ユーザから、再撮影指示の入力を受け付けたか否かを確認する。影警告画面2300において、「はい」ボタン2303が選択されると、CPU301は、再撮影指示の入力を受け付ける。CPU301は、再撮影指示の入力を受け付けると(ステップS2202でYes)、処理を図7に示す原稿撮影処理(S703)へ進め、再度アウトカメラ203による撮影を行う。
一方、「いいえ」ボタン2304が選択されると、再撮影を行わない旨の指示を受け付ける。この場合、CPU301は、再撮影指示の入力を受け付けないため(ステップS2202でNo)、処理をステップS1008へ進める。なお、「cancel」ボタン2305が選択された場合には、CPU301は、本処理を途中で中断して終了する。
なお、第3の実施形態に係る画像処理システムのこれ以外の構成及び処理は、他の実施形態に係る画像処理システムの構成及び処理と同様である。
一方、「いいえ」ボタン2304が選択されると、再撮影を行わない旨の指示を受け付ける。この場合、CPU301は、再撮影指示の入力を受け付けないため(ステップS2202でNo)、処理をステップS1008へ進める。なお、「cancel」ボタン2305が選択された場合には、CPU301は、本処理を途中で中断して終了する。
なお、第3の実施形態に係る画像処理システムのこれ以外の構成及び処理は、他の実施形態に係る画像処理システムの構成及び処理と同様である。
以上のように、第3の実施形態においては、アウトカメラ203による撮影画像に影が含まれる可能性が高い場合には、ユーザに再撮影を促すことができる。したがって、ユーザが、影が入らないように携帯端末100の位置や傾きを変更するなど、調整を行い、影の写り込みのない撮影画像が得られると期待される。これにより、携帯端末100は、高精度な下地除去処理を行うことがないため、画像補正に係る処理時間を短縮することができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、適切な下地処理を行うことにより、演算量を低減し、処理時間を短縮することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 携帯端末、101 無線ルータ、102 プリンタ、120 インターネット、121 クラウドサーバ装置、122 メールサーバ装置、201 タッチパネル、203 アウトカメラ、204 インカメラ、205 環境光センサ、301 CPU、302 RAM、303 ROM、309 画像処理部、310 加速度センサ
Claims (9)
- 被写体の画像を撮影する第1の撮影手段と、
前記第1の撮影手段による撮影時の撮影条件を取得する取得手段と、
前記撮影条件に基づいて、撮影画像に影が写り込む可能性を推定する推定手段と、
前記推定手段による推定結果に基づいて、演算量の異なる複数の下地除去処理の中から、一の下地除去処理を選択する選択手段と、
前記撮影画像に対し、前記選択手段により選択された下地除去処理を施す下地除去手段と
を有する携帯端末。 - 前記第1の撮影手段の撮影方向と異なる撮影方向において画像を撮影する第2の撮影手段と、
前記第2の撮影手段により撮影された画像の輝度に基づいて、光源の有無を判定する光源判定手段と
をさらに有し、
前記取得手段は、光源の有無を前記撮影条件として取得する請求項1に記載の携帯端末。 - 前記携帯端末の本体の傾きを検出する傾き検出手段をさらに有し、
前記取得手段は、前記傾きを前記撮影条件として取得する請求項1又は2に記載の携帯端末。 - 前記携帯端末の周囲の環境光を測定する測定手段をさらに有し、
前記取得手段は、前記環境光の測定結果を前記撮影条件として取得する請求項1乃至3何れか1項に記載の携帯端末。 - 前記推定手段により撮影画像に影が写り込むと推定された場合に、影が写り込むことの警告情報を出力する出力手段をさらに有する請求項1乃至4何れか1項に記載の携帯端末。
- 前記光源判定手段により光源があると判定された場合に、前記光源の位置を特定する位置特定手段と、
前記光源の位置に基づいて、前記撮影画像のうち、影が写りこむ可能性がある影領域を推定する影領域推定手段と
をさらに有し、
前記選択手段は、影領域と、影領域以外の領域それぞれに対し、異なる下地除去処理を選択し、
前記下地除去手段は、影領域と影領域以外の領域に対し、異なる下地除去処理を施す請求項2に記載の携帯端末。 - 被写体の画像を撮影する第1の撮影手段と、
前記第1の撮影手段による撮影時の撮影条件を取得する取得手段と、
前記撮影条件に基づいて、撮影画像に影が写り込む可能性を推定する推定手段と、
前記推定手段による推定結果に基づいて、演算量の異なる複数の下地除去処理の中から、一の下地除去処理を選択する選択手段と、
前記撮影画像に対し、前記選択手段により選択された下地除去処理を施す下地除去手段と
を有する画像処理システム。 - 携帯端末が実行する画像処理方法であって、
被写体の画像を撮影する第1の撮影ステップと、
前記第1の撮影ステップにおける撮影時の撮影条件を取得する取得ステップと、
前記撮影条件に基づいて、撮影画像に影が写り込む可能性を推定する推定ステップと、
前記推定ステップにおける推定結果に基づいて、演算量の異なる複数の下地除去処理の中から、一の下地除去処理を選択する選択ステップと、
前記撮影画像に対し、前記選択ステップにおいて選択された下地除去処理を施す下地除去ステップと
を含む画像処理方法。 - コンピュータを、
被写体の画像の撮影時の撮影条件を取得する取得手段と、
前記撮影条件に基づいて、撮影画像に影が写り込む可能性を推定する推定手段と、
前記推定手段による推定結果に基づいて、演算量の異なる複数の下地除去処理の中から、一の下地除去処理を選択する選択手段と、
前記撮影画像に対し、前記選択手段により選択された下地除去処理を施す下地除去手段と
して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013238089A JP2015099979A (ja) | 2013-11-18 | 2013-11-18 | 携帯端末、画像処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013238089A JP2015099979A (ja) | 2013-11-18 | 2013-11-18 | 携帯端末、画像処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015099979A true JP2015099979A (ja) | 2015-05-28 |
Family
ID=53376367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013238089A Pending JP2015099979A (ja) | 2013-11-18 | 2013-11-18 | 携帯端末、画像処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015099979A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022244970A1 (ko) * | 2021-05-21 | 2022-11-24 | 삼성전자 주식회사 | 전자 장치의 촬영 방법 및 그 전자 장치 |
-
2013
- 2013-11-18 JP JP2013238089A patent/JP2015099979A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022244970A1 (ko) * | 2021-05-21 | 2022-11-24 | 삼성전자 주식회사 | 전자 장치의 촬영 방법 및 그 전자 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6467787B2 (ja) | 画像処理システム、撮像装置、画像処理方法およびプログラム | |
CN102484724A (zh) | 投影图像区域检测装置 | |
JP5922067B2 (ja) | 画像形成システム | |
KR101450782B1 (ko) | 화상 처리 장치 및 프로그램 | |
US20120249554A1 (en) | Methods and Systems for Mobile Document Acquisition and Enhancement | |
JP2018107593A (ja) | 画像処理装置、画像処理方法およびプログラム | |
KR101513431B1 (ko) | 매체 이미지의 테두리 자동 검출 방법, 이를 이용한 매체 이미지 처리 시스템 및 처리 방법 | |
JP6953178B2 (ja) | 画像処理装置、画像処理方法、プログラム | |
US20120242683A1 (en) | Computer readable recording medium, information processing terminal device, and control method of information processing terminal device | |
US9871947B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP2014123881A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム | |
JP2011160423A (ja) | 非接触スキャンシステムおよび非接触スキャン方法 | |
US10033901B1 (en) | System and method for using a mobile camera as a copier | |
JP2015099979A (ja) | 携帯端末、画像処理方法及びプログラム | |
US20210281742A1 (en) | Document detections from video images | |
JP5228705B2 (ja) | 画像読み取り装置、画像読み取り方法、画像読み取りプログラム、画像読み取りプログラムが記憶された記憶媒体 | |
JP6067040B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN114091168A (zh) | 色调校正系统和色调校正方法 | |
JP6614500B2 (ja) | 画像読取装置、携帯端末、画像読取方法及び画像読取プログラム | |
JP2016072924A (ja) | 画像処理装置及び画像処理方法 | |
CN106033622B (zh) | 一种数据采集及目标对象的重建方法、装置 | |
JP2017123561A (ja) | 画像処理装置、画像処理装置の画像処理方法、画像処理装置の制御方法、及びプログラム | |
JP2018128927A (ja) | 画像情報合成システム | |
JP2016225671A (ja) | 撮像装置および画像形成装置 | |
JP2017011627A (ja) | 画像処理装置およびプログラム |