以下、本発明の好ましい実施例について、添付図面を参照して説明する。まず、図1及び図2を参照して、本発明の画像入力装置1の機械的な構成について説明する。図1は本実施例の画像入力装置1の概略図である。
この画像入力装置1は、対象物を撮像可能な撮像手段としての撮像装置2と、対象物が載置される平面5と、その平面5上の領域であって撮像装置2により撮像可能な領域である撮像領域4に撮像領域4とほぼ同形の光を投光する投影装置3とを有する。図2は図1に示す画像入力装置1に備えられた撮像装置2と投影装置3との各内部構造を示す概略図である。
画像入力装置1は、所謂書画カメラとして機能するものであり、平面5上の撮像領域4に対象物として載置され、画像が表示された矩形の原稿Pを撮像装置2により撮像し、その撮像から原稿Pの画像データを取得することができるとともに、投影装置3により撮像領域4に投影像として仮想的な操作ボタン6を投影することができる装置である。
撮像装置2と投影装置3とは、平面5の上方に取り付けられた本体ケース7に一体的に設けられている。また、本体ケース7にはプロセッサ40(図3参照)とメモリカード55(図3参照)とが内蔵されている。
図2に示すように、撮像装置2は、平面5に対向する結像レンズ31と、その結像レンズ31の上方に設けられるCCD画像センサ32とを備えている。
結像レンズ31は、複数枚のレンズで構成され、オートフォーカス機能を有し、自動で焦点距離及び絞りを調整して外部からの光をCCD画像センサ32上に結像する。
CCD画像センサ32は、CCD(Charge Coupled Device)素子などの光電変換素子がマトリクス状に配列されてなる構成で、表面に結像される画像の光の色及び強さに応じた信号を生成し、これをデジタルデータに変換してプロセッサ40へ出力する。尚、CCD素子一つ分のデータが画像を形成する画素の画素データであり、画像データはCCD素子の数の画素データで構成され、それぞれの画素データは、1画素あたり、赤(R)、緑(G)、青(B)の3色、各256階調の輝度で表される画素情報をもっている。
また、図2に示すように、投影装置3は、光源部33と、集光レンズ34と、液晶パネル35と、投射レンズ36とを備えている。
投影装置3は、液晶パネル35を利用して撮像領域4を照らす光を投光して使用者に対し撮像領域4を示すとともに、その液晶パネル35において形成された像に基づいて撮像領域4上に投影像を投影する。
光源部33は、集光レンズ34と液晶パネル35とに向けて光を発するものであり、光源としてのランプと、そのランプの光を液晶パネル35に向けて照射させるためのリフレクタとを有している。
集光レンズ34は、光源部33から発せられた光を集光する光学レンズであり、薄く平らなアクリル樹脂の板状シートに、同芯円状に全て角度の違うプリズムの山が一定間隔に施されている。そのプリズムの山が小さな屈曲面として作用し、全体として集光レンズとして機能する。
液晶パネル35は、2枚のガラス板の間に液晶を封入し、電圧をかけることによって液晶分子の向きを変え、光の透過率を増減させることで所望の投影像を撮像領域4に投影するものである。
次に、図3を参照して、上述した画像入力装置1の電気的な構成について説明する。図3は、画像入力装置1の電気的構成を示したブロック図である。画像入力装置1に搭載されたプロセッサ40は、CPU41、ROM42、RAM43を備えている。
CPU41は、ROM42に記憶されたプログラムによる処理に応じて、RAM43を利用して、CCD画像センサ32から画像データの取り込み等の各種処理を行う。
ROM42には、カメラ制御プログラム421、画像変化検知プログラム422、操作ボタン投影位置/サイズ/色演算プログラム423、焦点度測定プログラム424、矩形領域切取りプログラム425が格納されており、これらのプログラムはCPU41により実行される。
カメラ制御プログラム421は、図9に示すフローチャートの処理を含む画像入力装置1全体の制御に関するプログラムである。画像変化検知プログラム422は、撮像領域4において撮像される撮像データに変化があったか否かを検知するプログラムである。
操作ボタン投影位置/サイズ/色演算プログラム423は、投影装置3により投影する操作ボタン6の投影位置、サイズ、及び色を演算するプログラムである。焦点度測定プログラム424は、投影像が投影されている領域と撮像装置2(図1参照)との間に介在させられた入力部材の焦点度を測定するためのプログラムである。矩形領域切取りプログラム425は、画像データ中の原稿Pが写った領域の画像データを切取るためのプログラムである。
RAM43には、保存画像格納部431、矩形領域切取り結果画像格納部432、操作ボタン投影位置格納部433、操作ボタン投影サイズ格納部434、操作ボタン投影色格納部435、焦点度閾値格納部436、変化領域格納部437、ワーキングエリア438が記憶領域として割り当てられている。
保存画像格納部431は、撮像領域4の撮像の変化を検知するための基準となる保存画像の画像データを格納する。矩形領域切取り結果画像格納部432は、後述する矩形領域切取り処理の結果を格納する。
操作ボタン投影位置格納部433は、後述する操作ボタン投影位置/サイズ/色演算処理(図10,図11)の結果出力される操作ボタン6の投影位置を表す投影位置データを格納する。操作ボタン投影サイズ格納部434は、操作ボタン投影位置/サイズ/色演算処理の結果出力される操作ボタン6のサイズを表すサイズデータを格納する。操作ボタン投影色格納部435は、操作ボタン投影位置/サイズ/色演算処理により出力される操作ボタン6の色を決定するための色データを格納する。
焦点度閾値格納部436は、後述する撮像処理(図9参照)において用いられる焦点測定閾値を格納する。変化領域格納部437は、後述する画像変化検知処理(図13参照)によって得られた変化領域のデータを格納する。ワーキングエリア438は、CPU41での演算のために一時的に使用するデータを格納する。
メモリカード55は、不揮発性で書き換え可能なメモリで構成され、本体ケース7に着脱可能である。
光源制御装置56は、プロセッサ40からの信号を受けて、光源部33を制御する。液晶制御装置57は、プロセッサ40からの信号を受けて液晶パネル35を制御する。
また、画像入力装置1はインターフェイス62を介して外部機器と接続可能に構成されている。
次に、図4から図8を参照して、本実施例の画像入力装置1の投影装置3により撮像領域4に投影される操作ボタン6について説明する。なお、矩形の原稿Pに表示される画像の上下方向の向きが本体ケース7(図1参照)に対し所定の向きとなるように撮像領域4内に原稿Pを載置することで、原稿Pの画像の上下方向の向きと撮像領域4に投影される操作ボタン6の上下方向の向きとが一致する。
図4は、矩形の原稿Pに表示される画像よりも下側に存在する余白領域(以下、下側の余白領域という)に投影される操作ボタン6を示す図である。図4に示すように、下側の余白領域の高さが基準の高さHEIGHT3よりも大きく、下側の余白領域内に基準の高さHEIGHT3を有する操作ボタン6を投影できるときは、所定の形状、例えば高さがHEIGHT3であって基準色(本実施例では赤色)の操作ボタン6が、原稿P上の下側の余白領域内に投影される。
ここで、余白領域とは、原稿Pの輪郭により囲まれた領域であって、画像を表示していない空白の領域のことをいうものであって、原稿Pが例えば白以外の色を備えたカラー用紙であっても構わない。
すなわち、本明細書中において、「余白領域」とは、対象物としての原稿P上にテキスト、写真、図形等の画像が表示されていない領域を指すもので、原稿Pが特定の色(基調色)を有する場合にも、上記画像が表示されていない領域を指すものである。
図5は、矩形の原稿Pに表示される画像よりも上側に存在する余白領域(以下、上側の余白領域という)に投影される操作ボタン6を示す図である。図5に示すように、下側の余白領域の高さh0が基準の高さHEIGHT3以下であって、下側の余白領域内に高さHEIGHT3の操作ボタン6を投影できず、上側の余白領域内に予め定められた基準の高さHEIGHT3の操作ボタン6を投影できるときは、高さがHEIGHT3であって赤色の操作ボタン6が、上側の余白領域内であって原稿P上に投影される。
図6は、下側の余白領域に投影される操作ボタン6を示す図である。図6に示すように、下側の余白領域の高さh1及び上側の余白領域の高さh2がいずれも基準の高さHEIGHT3以下であって、下側の余白領域内及び上側の余白領域内のいずれにも予め定められた基準の高さHEIGHT3の操作ボタン6を投影できないときは、高さがHEIGHT2(HEIGHT2=HEIGHT3−微少値)であって赤色の操作ボタン6が、上側の余白領域または下側の余白領域のうち、高さHEIGHT2の操作ボタン6を投影可能ないずれか一方の余白領域が選択され、その余白領域内の原稿P上に投影される。
なお、図6において、高さがHEIGHT3の操作ボタン6が投影される場合の操作ボタン6の領域を破線で示す。図6から明らかなように、高さHEIGHT3の操作ボタン6に比較してサイズが小さい高さHEIGHT2の操作ボタン6を投影することで、余白領域の高さが小さい場合であっても余白領域内に操作ボタン6を投影することができる。
図4から図6に示すように、本実施例の画像入力装置1によれば、余白領域内に操作ボタン6を投影することで、原稿Pに表示された画像上に操作ボタン6が投影されて原稿Pに表示された画像と操作ボタン6とが互いに視認性を損なうことが抑制される。
図7は、矩形の原稿Pに表示された画像に重ねて投影される操作ボタン6を示す図である。図7に示すように、下側の余白領域の高さ及び上側の余白領域の高さがいずれもHEIGHT2(図6参照)以下であって、下側の余白領域内及び上側の余白領域内のいずれにも高さHEIGHT2の操作ボタン6(図6参照)を投影できないときは、原稿Pに表示される画像に重ねて、HEIGHT2の操作ボタン6がその原稿Pの色の補色で表示される。
したがって、原稿Pに表示された画像上に操作ボタン6が投影されたとしても、原稿Pに対して視認性の高い操作ボタン6を投影することができる。
図8は、矩形の原稿Pの輪郭により囲まれた領域外の平面5(図1参照)上に少なくとも一部が投影された操作ボタン6を示す図である。図8に示すように、下側の余白領域及び上側の余白領域がともに操作ボタン6を投影できるほど大きくない場合には、操作ボタン6のうち少なくとも一部が矩形の原稿Pの輪郭により囲まれた領域外であって平面5上に投影されるように、操作ボタン6の位置が変更される。
また、原稿Pの用紙の色(基調色)が白色とは異なる灰色または他の有彩色を有する場合には、その用紙の色と異なる色彩の色で操作ボタン6を投影するようにすれば良い。
なお、図4から図8に示すように、本実施例の画像入力装置1では、投影像として、「SCAN」と表示された操作ボタン6と、「CANCEL」と表示された操作ボタン6とが投影される。使用者は、原稿P上または平面5上の「SCAN」と表示された操作ボタン6が投影された領域に指やペンなどの入力部材を接触させることにより、原稿Pの撮像を指示することができる。
次に、図9を参照して、上述したように構成された画像入力装置1に関し、使用者により電源がオンされてからの動作について説明する。図9は、撮像処理を示すフローチャートである。
まず、使用者によって電源の投入が為されると、撮像領域4(図1参照)に原稿Pが載置されていない状態で撮像領域4を撮像装置2により低解像度で撮像し、その撮像の画像データを保存画像として保存画像格納部431(図3参照)に格納する(S1)。低解像度の画像データなので、後の処理における演算量が少なく、処理を高速にすることができる。
次に、使用者により電源がオフされたか否かを判断する(S2)。電源がオフされた場合(S2:Yes)、撮像処理を終了する。
一方、電源がオフされていない場合(S2:No)、後述する画像変化検知処理(図13参照)により撮像領域4の撮像を行ない(S3)、その画像変化検知処理の結果に基づいて、撮像領域4の撮像に変化があったか否かを判断する(S4)。撮像領域4の撮像に変化がない場合(S4:No)、S2の処理に戻る。
一方、使用者が撮像領域4内に原稿Pを載置すると、撮像領域4の撮像が変化するので、撮像領域4の撮像に変化があったと判断され(S4:Yes)、投影装置3により撮像領域4に光を投光し、その撮像領域4を照らす(S5)。
これにより使用者は、撮像装置2により撮像可能な撮像領域4を視認することができるので、例えば、その撮像領域4内に原稿Pが載置されるように、原稿Pの位置を調整する。また、撮像領域4内に原稿Pが載置されると、結像レンズ31(図2参照)は原稿Pに焦点が合うように、自動で焦点距離及び絞りを調整する。
次に、後述する画像変化検知処理(図13参照)を行い(S6)、その画像変化検知処理の結果に基づいて撮像領域4の撮像に変化がない状態が3秒間連続したか否かを判断する(S7)。
前回撮像領域4の撮像の変化を検出したときから3秒未満で再び撮像領域4の撮像に変化があった場合(S7:No)、S6の処理に戻るが、撮像領域4の撮像の変化がない状態が3秒間連続すると(S7:Yes)、S8の処理に進む。すなわち、原稿Pが使用者によって載置されてから、原稿Pの位置の調整などが完了したと考えられる場合にはS8以下の処理に進む。
次に、矩形領域切取り処理として(S8)、矩形領域切取りプログラム425(図3参照)により、撮像装置2により撮像されて保存画像格納部431に格納された保存画像の画像データを、原稿Pだけが画像の中央に配置された平面画像の画像データに変換し、この画像を矩形領域切取り結果画像格納部432(図3参照)に格納する。尚、矩形領域切取り処理(S8)については、先に本出願人が提出した特願2003−326614号に記載されている処理と同様であるため、その詳細な説明については省略する。
次に、後述する操作ボタン投影位置/サイズ/色演算処理(図10、図11参照)により操作ボタン6の投影位置、投影サイズ及び投影色を決定し(S9)、それぞれ操作ボタン投影位置格納部433、操作ボタン投影サイズ格納部434、操作ボタン投影色格納部435(図3参照)に格納する。
続いて、操作ボタン投影位置格納部433、操作ボタン投影サイズ格納部434、操作ボタン投影色格納部435に格納された操作ボタン6の位置、サイズ及び色データに基づいて、投影装置3により操作ボタン6を投影する(S10)。
次に、後述する画像変化検知処理(図13参照)を行い(S11)、その画像変化検知処理の結果に基づいて「SCAN」と表示された操作ボタン6または「CANCEL」と表示された操作ボタン6のいずれかが投影された領域の撮像データに変化があったか否かを判断する(S12)。
この処理により、操作ボタン6が撮像領域4内に投影されている状態で、操作ボタン6が投影されている領域と撮像装置2との間にペン先または指先等の入力部材が介在させられたか否かを判断する。
操作ボタン6が投影された領域の撮像に変化がない場合(S12:No)、S11の処理に戻るが、操作ボタン6が投影された領域に指やペンなどの入力部材が近づけられることにより、操作ボタン6が投影された領域の撮像に変化があった場合(S12:Yes)、後述する焦点度測定処理(図14参照)により、入力部材の焦点度を測定し(S13)、その焦点度が焦点度閾値格納部436(図3参照)に格納された焦点度閾値以上であるか否かを判断する(S14)。
ここで焦点度とは、結像レンズ31(図2参照)により原稿Pに合うように調整されている焦点に対し、ある物体に焦点がどの程度合っているかを数値化したパラメータである。
したがって、S13の焦点度測定処理において測定された焦点度が焦点度閾値よりも小さい場合(S14:No)、操作ボタン6が投影された領域に近づけられた指やペンなどの入力部材と原稿Pまたは平面5(図1参照)との距離は所定距離以上離れていると判断することができ、S11の処理に戻る。すなわち、使用者の誤りにより、指又はペン等が上記操作ボタン6上を通過したような場合には、S11の処理に戻る。
一方、S13の焦点度測定処理において測定された焦点度が焦点度閾値以上である場合(S14:Yes)、入力部材が焦点が合う位置、すなわち原稿Pまたは平面5(図1参照)に近接または接触する位置にあると判断した場合には、使用者が操作ボタン6の操作を意図したものであると判断することができ、S16の処理に進む。
次に、操作ボタン6が投影された領域の撮像において、S14の処理により焦点度が所定の焦点度閾値以上であると判定されてから所定時間、例えば3秒の間に操作ボタン6が投影されている領域の撮像に変化がないか否かを判定する(S16)。
入力部材が原稿Pまたは平面5に近接または接触する位置にある状態が所定時間以上連続したか否かを判断することで、誤操作ではなく、使用者が操作意思を持って操作ボタン6に入力部材を接触させたのか否かを判断するためである。
操作ボタン6が投影された領域の撮像に3秒未満で変化があった場合(S16:No)、S11の処理に戻るが、3秒の間、操作ボタン6が投影された領域の撮像に変化がない場合(S16:Yes)、投影装置3(図1参照)による撮像領域4への投光と操作ボタン6の投影を終了する(S17)。
これは、撮像領域4への投光と操作ボタン6の投影とを終了させることにより、使用者に対し、操作ボタン6の操作が受け付けられ、まもなく対象物の撮像が行われることを報知するためである。
次に、変化領域格納部437(図3参照)に格納されている変化領域のデータに基づいて、S11の処理において検知された撮像の変化が、「SCAN」と表示された操作ボタン6が投影された領域であったか否かを判断する(S18)。
S11の処理において検知された撮像の変化が、「CANCEL」と表示された操作ボタン6が投影された領域であった場合(S18:No)、S2の処理に戻る。
一方、S11の処理において検知された撮像の変化が、「SCAN」と表示された操作ボタン6が投影された領域であった場合(S18)、所定時間、例えば2秒間待機し(S19)、高解像度で原稿Pを撮像する(S20)。
すなわち、S17の処理において撮像領域4への投光と操作ボタン6の投影が終了することによりまもなく撮像が行われることを使用者が認識し、入力部材を撮像領域4外へ出すために充分な時間を待機させた後、原稿Pを高解像度で撮像することにより、入力部材が撮像領域4内に存在したままで原稿Pを撮像してしまうことを抑制できる。
続いて、投影装置3により撮像領域4を点滅させることにより使用者に対し、原稿Pの撮像が終了したことを使用者に対して示し、S2の処理に戻る(S21)。
次に、図10乃至図12を参照して、上述した操作ボタン投影位置/サイズ/色演算処理(図9のS9)について説明する。図10、図11は、操作ボタン投影位置/サイズ/色演算処理を示すフローチャートである。図12は、操作ボタン6の投影位置、投影サイズを説明する図である。
この処理では、まず、矩形領域切取り結果画像格納部432(図3参照)に格納された原稿Pの画像データを入力する(S900)。図12に示すように、この処理において入力される画像データの座標である幅方向位置(列)x及び高さ方向位置(行)yは、画素の個数であらわされ、画像の一番左上の画素を基点として、1個目を「0」位置とする。つまり、幅方向位置(列)xの範囲は「0」〜「W」で、高さ方向位置(行)yの範囲は「0」〜「H」となる。そして、画像データは、1画素あたり、赤(R)、緑(G)、青(B)の3色、各256階調の輝度で表される画素情報をもっている。また下側の余白領域の高さを示す変数を「HEIGHTB」、上側の余白領域の高さを示す変数を「HEIGHTT」とする。
次にS900の処理において入力された画像データに基づいて、下側の余白領域を検出する。
具体的には、下側の余白領域の高さを示す変数「HEIGHTB」を「0」、参照画素の高さ方向位置(行)を示す変数「h」を「H−1」とする(S901)。
次に、「h≧H−HEIGHT4」であれば(S902:Yes)、参照画素の幅方向位置を示す変数「w」を「0」とし、色データを示す変数「SUM」を「0」とする(S903)。すなわち、原稿Pの左下に位置する画素から参照を開始する。なお、「HEIGHT4」は後述する閾値2よりも大きい値であって、予め定められた値である。
「w<W」であれば(S904:Yes)、「SUM」に参照画素が有するR,G,Bの各成分の値を加算し(S906)、「w」に「1」を加算する(S906)。すなわち、右隣の画素を次の参照画素とする。
「h」行に位置する全て画素についてRGBの各成分の値の加算が終了すると(S904:No)、「SUM」を「W」で除算する(S907)。すなわち、「h」行において、1画素が有するR,G,Bの合計の値の平均値(色データ)を算出する。
「h」行において、「SUM」が閾値1よりも大きければ(S908:Yes)、「h」行は明度が高く、余白領域であると判断されて、「HEIGHTB」に「1」加算する(S909)。なお、閾値1は、その行が白色であると判断するための値であって、予め定められた値である。
続いて、「h」から「1」減算し(S910)、S902の処理に戻る。すなわち、一段上の行の左端の画素を次の参照画素とする。
一方、「h」行において、「SUM」が閾値1以下であれば(S908:No)、「h」行には画像が存在する、すなわち余白領域ではないと判断されS911の処理に進む。
「H」行から「H−HEIGHT4」行に存在する全ての画素について参照が終了するか(S902:No)、または、画像が存在する行を検出すると(S908:No)、「HEIGHTB」は、下側の余白領域の高さを示す値となるので、「HEIGHTB」を閾値2と比較する(S911)。ここで、閾値2は操作ボタン6の基準の高さHEIGHT3(図4,図5,図7,図8参照)に相当する値である。
「HEIGHTB」が閾値2よりも大きければ(S911:Yes)、余白領域内に基準の高さ「HEIGHT3」の操作ボタン6を投影することができると判断する。
したがって、操作ボタンサイズとして基準の高さ「HEIGHT3」を出力して操作ボタン投影サイズ格納部433に格納し(S912)、操作ボタン色として基準色である赤色を出力して操作ボタン投影色格納部435に格納し(S913)、操作ボタン位置として、操作ボタン6の上端の位置に相当する「H−閾値2」を出力して操作ボタン投影位置格納部433に格納し(S914)、処理を終了する。
すなわち、図4に示すように、下側の余白領域内において基準の高さHEIGT3の操作ボタン6が原稿P上に投影される。
また、「HEIGHTB」が閾値2以下であれば(S911:No)、矩形領域切取り結果画像格納部432(図3参照)に格納された原稿部分の画像データに基づいて、上側の余白領域の高さを示す「HEIGHTT」(図12参照)を検出する(S915〜S924)。
まず、原稿Pの上側に位置する余白領域の高さを示す変数「HEIGHTT」を「0」、参照画素の高さ方向位置を示す変数「h」を「0」とする(S915)。
次に、「h≧HEIGHT4」であれば(S916:Yes)、参照画素の幅方向位置を示す変数「w」を「0」とし、色データを示す変数「SUM」を「0」とする(S917)。すなわち、原稿Pの左上に位置する画素から参照を開始する。
「w<W」であれば(S918:Yes)、「SUM」に参照画素が有するR,G,Bの各成分の値を加算し(S919)、「w」に「1」を加算する(S920)。すなわち、右隣の画素を次の参照画素とする。
「h」行に位置する全て画素についてRGBの各成分の値の加算が終了すると(S918:No)、「SUM」を「W」で除算する(S921)。すなわち、「h」行において、1画素が有するR,G,Bの合計の値の平均値(色データ)を算出する。
「h」行において、「SUM」が閾値1よりも大きければ(S922:Yes)、「h」行は明度が高く、余白領域であると判断されて、「HEIGHTT」に「1」加算する(S923)。続いて、「h」に「1」加算し(S924)、S916の処理に戻る。すなわち、一段下の行の左端の画素を次の参照画素とする。
一方、「h」行において、「SUM」が閾値1以下であれば(S922:No)、「h」行には画像が存在すると判断されS925の処理に進む。
このようにして、「HEIGHTT」は、下側に位置する余白領域の高さを示す値となるので、「HEIGHTT」を閾値2と比較する(S925)。
「HEIGHTT」が閾値2よりも大きければ(S925:Yes)、上側の余白領域内に基準の高さ「HEIGHT3」の操作ボタン6を投影することができると判断する。
したがって、操作ボタンサイズとして「HEIGHT3」を出力して操作ボタン投影サイズ格納部433に格納し(S926)、操作ボタン色として基準色である赤色を出力して操作ボタン投影色格納部435に格納し(S927)、操作ボタン位置として、操作ボタン6の上端の位置に相当する「0」を出力して操作ボタン投影位置格納部433に格納し(S928)、処理を終了する。
すなわち、図5に示すように、上側の余白領域内において基準の高さHEIGT3の操作ボタン6が原稿P上に投影される。
次に、上側の余白領域の高さを示す「HEIGHTT」(図12参照)と下側の余白領域の高さを示す「HEIGHTB」(図12参照)とが共に閾値2以下である場合(S925:No)、すなわち、余白領域内に基準の高さHEIGHT3の操作ボタン6を投影することができないと判定された場合、図11に示すように、「HEIGHTT」が閾値3よりも大きいか否かを判断する(S929)。
ここで、閾値3は操作ボタン6の高さHEIGHT2(図6参照)に相当する値である。
「HEIGHTT」が閾値3よりも大きい場合(S929:Yes)、操作ボタンサイズとして「HEIGHT2」を出力して操作ボタン投影サイズ格納部433に格納する(S930)。
よって、原稿Pに表示される画像の上側に存在する余白領域内において基準の高さHEIGHT3よりも微少値だけ小さい高さHEIGHT2の操作ボタン6が原稿P上に投影される。
「HEIGHTT」が閾値3以下である場合(S929:No)、「HEIGHTB」(図12参照)が閾値3よりも大きいか否かを判断する(S933)。「HEIGHTB」が閾値3よりも大きいときは、操作ボタンサイズとして「HEIGHT2」を出力して操作ボタン投影サイズ格納部433に格納する(S934)。
よって、図6に示すように、原稿Pに表示される画像の下側に存在する余白領域内において基準の高さHEIGHT3よりも微少値だけ小さい高さHEIGHT2の操作ボタン6が原稿P上に投影される。
「HEIGHTT」と「HEIGHTB」とが共に閾値3以下である場合(S933:No)、S900の処理で入力された画像データに基づいて原稿Pの下端「H」から所定の高さ「H−HEIGHT4」までの各画素についてRGB値を各成分毎に合計し(S938〜S945)、原稿Pの色を判別する(S946〜S948)。
具体的には、参照画素の高さ方向位置を示す変数「h」を「H−1」とする(S937)。
次に、「h≧H−HEIGHT4」であれば(S938:Yes)、参照画素の幅方向位置を示す変数「w」を「0」とする(S939)。すなわち、原稿Pの左下に位置する画素から参照を開始する。
「w<W」であれば(S940:Yes)、「SUMR」、「SUMG」、「SUMB」に参照画素が有するR,G,Bの各成分の値をそれぞれ加算し(S941〜S943)、「w」に「1」を加算する(S944)。すなわち、右隣の画素を次の参照画素とする。
高さ方向位置「h」に位置する全て画素についてR,G,Bの各成分の値の加算が終了すると(S940:No)、「h」から「1」減算し(S945)、S938の処理に戻る。すなわち、一段上行の左端の画素を次の参照画素とする。
「H」行から「H−HEIGHT4」行に存在する全ての画素についてR,G,Bの各成分の値の加算が終了すると(S938:No)、「SUMR」、「SUMG」、「SUMB」をそれぞれ参照した画素数で除算し、一画素が有するR,G,Bの各成分の値の平均値を算出する(S946〜S948)。この処理により、原稿Pの平均の色が判別される。
続いて、S946〜S948の処理で判別された「SUMR」、「SUMG」、「SUMB」が全て閾値4より大きく閾値5よりも小さいか否かを判断する(S949)。「SUMR」、「SUMG」、「SUMB」のうち少なくとも一つが閾値4以下または閾値5以上であれば(S949:No)、操作ボタンサイズとして「HEIGHT3」を出力して操作ボタン投影サイズ格納部433に格納し(S950)、操作ボタン色として原稿Pの平均の色とは異なる色、例えばS946〜S948の処理において取得された原稿Pの平均の色の補色を出力して操作ボタン投影色格納部435に格納し(S951)、操作ボタン位置として、操作ボタン6の上端の位置に相当する「H−閾値2」を出力して操作ボタン投影位置格納部433に格納し(S952)、処理を終了する。
すなわち、図7に示すように、原稿Pに表示される画像に重ねて、その原稿Pの平均の色の補色の操作ボタン6が表示される。
ここで、原稿Pの平均の色の補色は、「SUMR」、「SUMG」、「SUMB」に基づいて、予め記憶されたテーブルを参照することにより決定されても良いし、演算処理を行うことにより決定されても良い。
一方、「SUMR」、「SUMG」、「SUMB」が全て閾値4より大きく閾値5よりも小さい場合(S949:Yes)、原稿Pの用紙の色(基調色)が灰色に近い場合や、原稿Pが写真のように基調色を有さない場合であると判断できる。したがって、操作ボタンサイズとして「HEIGHT3」を出力して操作ボタン投影サイズ格納部433に格納し(S953)、操作ボタン色として基準色である赤色を出力して操作ボタン投影色格納部435に格納し(S954)、操作ボタン位置として、例えば操作ボタン6の上端の位置に相当する「H−微少値」を出力して操作ボタン投影位置格納部433に格納し(S955)、処理を終了する。
すなわち、図8に示すように、操作ボタン6は、原稿Pの輪郭により囲まれた領域外の平面5(図1参照)上に少なくとも一部が投影されるように位置が変更されるので、操作ボタン6が原稿Pに表示された画像に重なることが抑制される。
次に、図13、図14を参照して、上述した画像変化検知処理(図9のS3,S6,S11)について説明する。図13は、画像変化検知処理を示すフローチャートであり、図14は、画像変化検知処理の結果出力される座標を示す図である。
画像変化検知処理は、撮像領域4(図1参照)の撮像の変化を検知するための処理である。
まず、撮像装置2により低解像度の静止画像を撮像し、画像データを取得する(S301)。低解像度の画像データなので、後の処理における演算量が少なく、処理を高速にすることができる。
次に、参照する画素行を示す変数「h」を「0」とし、「画素変化量」を初期化する(S302)。
続いて、「h」が保存画像の画像データの最下端の画素行を示す「H」よりも小さいか否かを判断する(S303)。「h」が「H」よりも小さい場合(S304)、参照する画素列を示す変数「w」を「0」とし(S304)、「w」が保存画像の画像データの最右端の画素列を示す「W」よりも小さいか否かを判断する(S305)。
「w<W」である場合(S305:Yes)、S301の処理により取得された低解像度静止画像の画像データにおける参照画素と保存画像格納部431(図3参照)に格納された保存画像の画像データにおける参照画素とを比較する(S306)。具体的には、R,G,Bの各成分について値を比較する。
その結果、R,G,Bの各成分について値が一致すれば、その画素〔h〕〔w〕の色は保存画像の画像データの対応する画素の色と同じであると判断されて(S307:Yes)、S310の処理に進む。
一方、R,G,Bの各成分のうち少なくとも一つについて値が一致しなければ、「画素変化量」に1を加算し(S308)、その参照画素の座標(w、h)を記憶し(S309)、S310の処理に進む。
次に、「w」に「1」を加算してS305の処理に戻る(S310)。すなわち、右隣の画素を参照画素とする。「h」行について右端の画素まで参照すると(S305:Yes)、「h」に「1」を加算して一段下の行の左端の画素を参照画素とする(S311)。
このようにして、S310の処理で取得した低解像度静止画像の画像データと保存画像格納部431(図3参照)に格納された保存画像の画像データとにおける全ての画素についての比較が終了すると(S303:No)、S309の処理において記憶された参照画素の座標(w、h)に基づいて、撮像の変化が検知された変化領域p(図14参照)の左上の座標(WSTART,HSTART)と右下の座標(WEND,HEND)とを出力し(S312)、変化領域格納部437(図3参照)に格納する。
次に、S308の処理において算出された「画素変化量」を出力し(S313)、保存画像格納部431(図3参照)に格納された保存画像の画像データを、S301の処理で取得された低解像度静止画像の画像データで更新し(S314)、処理を終了する。
次に、図14,図15を参照して、上述した焦点度測定処理(図9のS13)について説明する。図15は、焦点度測定処理を示すフローチャートである。
図15に示す焦点度測定処理は、図9に示すS11の画像変化検知処理において撮像の変化が検知された変化領域pにおける入力部材の焦点度を測定するための処理である。
具体的には、まず、変化領域格納部437に格納された変化領域pの左上の座標に基づいて、参照する画素行を示す「h」を「HSTART」とし、変数「avg」を「0」とする(S1300)。
次に、「h」が変化領域pの最下端の行「HEND」よりも小さいか否かを判断する(S1301)。
「h」が「HEND」よりも小さい場合(S1301:Yes)、参照する画素列を示す「w」を「WSTART」とし(S1303)、「w」が変化領域pの最右端に相当する画素列を示す「WEND」よりも小さいか否かを判断する(S1304)。すなわち変化領域pの左上から参照を開始する。
「w<WEND」である場合(S1304:Yes)、保存画像格納部431(図3参照)に格納された保存画像の画像データにおける参照画素のR,G,Bの各成分の合計値(画素〔h〕〔w〕)を「avg」に加算し(S1305)、「w」に「1」を加算して右隣の画素を次の参照画素とし、S1303の処理に戻る(S1306)。
「h」行について変化領域pの右端に相当する画素「WEND」まで参照すると(S1304:No)、「h」に「1」を加算して1つ下の行の左端の画素を次の参照画素とする(S1307)。
このようにして、保存画像格納部431(図3参照)に格納された画像データにおける変化領域p内の全ての画素についてR,G,Bの各成分の合計値が加算されると(S1302:No)、変数「avg」を変化領域p内の画素数で除算する(S1308)。すなわち、「avg」は、R,G,Bの各成分を合計した値(画素〔h〕〔w〕)の1画素当たりの平均値となる。
次に、変化領域pの分散値を算出する。具体的には、まず、変化領域格納部437に格納された変化領域pの左上の座標に基づいて、参照する画素行を示す「h」を「HSTART」とし、変数「v」を「0」とする(S1309)。
次に、「h」が変化領域pの最下端の行「HEND」よりも小さいか否かを判断する(S1310)。
「h」が「HEND」よりも小さい場合(S1310:Yes)、参照する画素列を示す「w」を「WSTART」とし(S1311)、「w」が変化領域pの右端に相当する画素列を示す「WEND」よりも小さいか否かを判断する(S1312)。
「w<WEND」である場合(S1312:Yes)、参照画素のR,G,Bの各成分を合計した値(画素〔h〕〔w〕)から「avg」を減算した値の二乗を「v」に加算し(S1313)、「w」に「1」を加算して右隣の画素を次の参照画素とし、S1311の処理に戻る(S1314)。
「h」行について変化領域pの右端に相当する画素まで参照すると(S1312:No)、「h」に「1」を加算して一つ下の行の左端の画素を次の参照画素とする(S1315)。
変化領域pに相当する全ての画素についての参照が終了すると(S1310:No)、変数「v」を変化領域p内の画素数で除算する(S1316)。すなわち、分散値を算出する。
各画素ごとのR,G,Bの各成分を合計した値のばらつきが大きいほど、この分散値は大きい値となる。よって、撮像領域p内に存在する物体に焦点があっており、めりはりのある撮像が得られる場合に、分散値が大きくなる。したがって、この分散値は、原稿Pに合うように調整されている焦点に対し、入力部材にどの程度ピントが合っているかを示す焦点度として用いることができる。
よって、図9に示すS14の処理では、図15に示す焦点度測定処理の結果として出力される「v」を焦点度とし、この焦点度が所定の焦点度閾値以上である場合(S14:Yes)、入力部材が操作ボタン6が投影された原稿Pまたは平面5に接触させられたと判断する。
上記実施例において、余白領域検出を「h」行における「SUM」が閾値1よりも大きい場合に明度が高く白色に近いものとして余白領域であると判断するようにしたが、「h」行の背景色を予め検出して、その背景色分を除したものの「SUM」を求めてから判断するようにすれば、特定の背景色を有する余白領域を検出することができる。
又、「h」行における各画素データの分散値(背景色のみの場合は単一色となり分散はなく、文字/写真データ等の場合には、種々の色データが現れるため分散が大となる)から、その余白領域を判断するようにしても良い。
以上説明したように、本実施例の画像入力装置1によれば、入力された画像データに基づいて撮像領域4のうち原稿Pの輪郭により囲まれた領域であって原稿Pに画像が表示されていない余白領域が検出され、その余白領域内に所定の形状の操作ボタン6を投影することができるか否かが判定され、余白領域内に操作ボタン6を投影することができると判定された場合は余白領域内の原稿P上に基準高さHEIGHT3の操作ボタン6が投影されるので、原稿Pに表示される画像と操作ボタン6とが互いに重ならず視認性を損なうことを抑制できる。
上記実施例において、請求項1に記載された画像データ入力手段としては、図10のフローチャートのS900の処理が該当し、余白領域検出手段としては、図10のフローチャートのS902〜S910、及びS916〜S924の処理が該当し、投影可否判定手段としては、図10のS911及びS925の処理が該当し、投影像位置決定手段としては、図10のフローチャートのS914及びS928の処理が該当する。
請求項2に記載された色データ取得手段としては、図10のフローチャートのS907及びS921の処理が該当する。請求項3に記載された対象物色判別手段としては、図11のフローチャートのS946〜S948の処理が該当し、投影像色決定手段としては、図11のS951の処理が該当する。
請求項4に記載された投影像サイズ決定手段としては、図11のS930及びS934の処理が該当する。請求項6に記載された投影像位置変更手段としては、図11のS955の処理が該当する。
請求項7に記載された第1変化判定手段としては、図9に示すS12の処理が該当し、焦点度検出手段としては、図15に示す焦点度測定処理が該当し、焦点度判定手段としては、図9に示すS14の処理が該当し、撮像制御手段としては、図9に示すS20の処理が該当する。
請求項8に記載された経過時間計測手段としては、図9に示すS16の処理が該当する。請求項9に記載された投影終了手段としては、図9に示すS17の処理が該当する。
以上実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものでなく、本発明の主旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
例えば、本実施例では、投影装置3により投影される操作ボタン6の個数は2つであったが、余白領域の高さ(HEIGHTBまたはHEIGHTT)に応じて投影する操作ボタン6の個数を変更しても良い。
図16は変形例における操作ボタン投影位置/サイズ/色演算処理を示すフローチャートであり、図10に相当する図である。図16に示すように、余白領域の高さHEIGHTBが予め定められた所定の値であるHEIGHT5よりも大きい場合(S9111:Yes)、充分な面積の余白領域があるとして、操作ボタン6の数を増加して投影するものであっても良い(S9112)。このようにすれば、原稿Pに表示される画像を考慮した個数の投影像を余白領域内に投影することができる。また、余白領域の面積が小さい場合には、操作ボタン6の個数を減少して投影するように指示するものであっても良い。
尚、この場合、請求項5に記載された投影像数変更手段としては、図16のS9112の処理が該当する。
また、本実施例では、図10に示す操作ボタン投影位置/サイズ/色演算処理のS900の処理において入力される画像データは原稿Pを低解像度で撮像したものであったが、高解像度で撮像するものであってもよい。その場合には、S900の処理において入力された画像データを利用することで、S20の処理を省略することができる。
以上、実施例に基づき本発明を説明したが、本発明は上述した実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。