画像処理装置およびこれを備えた原稿読取システム
【課題】ブックスキャナなどの画像入力装置の構成を複雑化することなく、照明光の映り込みによる白飛びのない画像を取得することができ、さらにユーザの使い勝手を高めることができるようにする。
【解決手段】原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得し、白飛び領域設定部32にて、第1の撮影画像に基づいて白飛び領域を設定し、白飛び修正処理部35にて、第2の撮影画像から白飛び領域内の影領域の画像を抽出して、その影領域の画像を第1の撮影画像に合成する白飛び修正処理を行うものとする。
【解決手段】原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得し、白飛び領域設定部32にて、第1の撮影画像に基づいて白飛び領域を設定し、白飛び修正処理部35にて、第2の撮影画像から白飛び領域内の影領域の画像を抽出して、その影領域の画像を第1の撮影画像に合成する白飛び修正処理を行うものとする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、本などの原稿を読み取って得られた画像を処理する画像処理装置およびこれを備えた原稿読取システムに関するものである。
【背景技術】
【0002】
本のページを自然に開いた状態で上方から撮影してページの画像を読み取ることができるブックスキャナ(書画カメラ)が普及している。このようなブックスキャナを用いると、ページをめくりながらページの画像を次々に読み取ることができるため、本を電子化する作業を効率良く行うことができる。
【0003】
一方、本の表紙には光沢紙が用いられており、また雑誌やカタログでも光沢紙が多用されているが、このような光沢紙を用いた原稿をブックスキャナで読み取る場合、天井などに設けられた照明の光が映り込みことで画像が白くなって見えなくなる、いわゆる白飛びが生じることがある。
【0004】
このような照明光の映り込みによる白飛びを防止するには、ユーザが原稿をずらしたり、あるいは白飛びの原因となる照明光が当たらないように覆いを設ければよいが、このような煩わしさを解消するため、従来、原稿を複数の角度から撮影することができるようにカメラ部を揺動可能に設けた技術(特許文献1参照)や、照明光が原稿の表面で反射してカメラ部に入射することを防止する反射抑止板を設けた技術(特許文献2参照)が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−279828号公報
【特許文献2】特開2008−131325号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、前記従来の技術では、ブックスキャナの構成が複雑になり、製造コストが上昇するという問題があり、またユーザにとって必ずしも使い勝手がよいものではなかった。
【0007】
本発明は、このような従来技術の問題点を解消するべく案出されたものであり、その主な目的は、ブックスキャナなどの画像入力装置の構成を複雑化することなく、照明光の映り込みによる白飛びのない画像を取得することができ、さらにユーザの使い勝手を高めることができるように構成された画像処理装置およびこれを備えた原稿読取システムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の画像処理装置は、原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得する撮影画像取得部と、前記第1の撮影画像に基づいて白飛び領域を設定する白飛び領域設定部と、前記第2の撮影画像から前記白飛び領域内の影領域の画像を抽出して、その影領域の画像を前記第1の撮影画像に合成する白飛び修正処理を行う白飛び修正処理部と、を有する構成とする。
【0009】
また、本発明の原稿読取システムは、前記の発明にかかる画像処理装置と、カメラ部を備えた画像入力装置と、を有し、この画像入力装置において、原稿を撮影し、またユーザが原稿の上方を横切るように動体を動かした際の原稿を撮影して、前記第1の撮影画像および前記第2の撮影画像を前記画像処理装置に送る構成とする。
【発明の効果】
【0010】
本発明によれば、動体が照明光を遮ることで、動体の影となる部分では照明光の映り込みが解消されて画像が明瞭に現れるため、この影となる部分の画像を撮影画像に合成することで、照明光の映り込みによる白飛びのない画像を取得することができる。そして、ユーザは原稿の全体を横切るように動体を動かせばよく、特に白飛びを起こした部分を考慮して動体を動かす必要がないため、動体を動かす操作が簡単になり、ユーザの使い勝手を高めることができる。
【図面の簡単な説明】
【0011】
【図1】本実施形態にかかる原稿読取システムを示す全体構成図
【図2】原稿Bの上方を横切るように動体Hを動かした際の影が生じる状況を示す模式図
【図3】ブックスキャナ1およびPC2の概略構成を示すブロック図
【図4】本原稿読取システムにおける原稿読み取りの手順を示すフロー図
【図5】図4に示した原稿輪郭検出(ST104)の手順を示すフロー図
【図6】原稿輪郭検出の要領を説明する模式図
【図7】図4に示した白飛び領域設定(ST105)の手順を示すフロー図
【図8】白飛び領域設定の要領を説明する模式図
【図9】図4に示した白飛び領域画像取得(ST106)の手順を示すフロー図
【図10】白飛び領域画像取得の要領を説明する模式図
【図11】図4に示した白飛び修正処理(ST107)の手順を示すフロー図
【図12】白飛び修正処理の要領を説明する模式図
【図13】白飛び修正処理の要領を説明する模式図
【図14】図4に示した画像補正(ST108)の手順を示すフロー図
【図15】画像補正の要領を説明する模式図
【図16】動体Hが白飛び領域の上を通過する際の状況を示す模式図
【図17】動体Hの動かし方の別の例を示す模式図
【図18】図17の例の場合の手順を示すフロー図
【発明を実施するための形態】
【0012】
前記課題を解決するためになされた第1の発明は、原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得する撮影画像取得部と、前記第1の撮影画像に基づいて白飛び領域を設定する白飛び領域設定部と、前記第2の撮影画像から前記白飛び領域内の影領域の画像を抽出して、その影領域の画像を前記第1の撮影画像に合成する白飛び修正処理を行う白飛び修正処理部と、を有する構成とする。
【0013】
これによると、動体が照明光を遮ることで、動体の影となる部分では照明光の映り込みが解消されて画像が明瞭に現れるため、この影となる部分の画像を撮影画像に合成することで、照明光の映り込みによる白飛びのない画像を取得することができる。そして、ユーザは原稿の全体を横切るように動体を動かせばよく、特に白飛びを起こした部分を考慮して動体を動かす必要がないため、動体を動かす操作が簡単になり、ユーザの使い勝手を高めることができる。
【0014】
また、第2の発明は、前記第1の発明において、前記撮影画像取得部は、連続撮影により生成した、前記動体の影の位置が徐々に変化する一連の前記第2の撮影画像を取得し、前記白飛び修正処理部は、一連の前記第2の撮影画像内の影領域の画像を、前記第1の撮影画像内の白飛び領域画像に順次合成する構成とする。
【0015】
これによると、白飛び領域の大きさに対して動体の影の幅が小さい場合でも、白飛び領域の全体をもれなく修正することができる。
【0016】
また、第3の発明は、前記第1若しくは第2の発明において、前記白飛び修正処理部は、前記動体の進行方向の前側に生じる影を用いた白飛び修正処理で取得した第1の白飛び修正画像と、前記動体の進行方向の後側に生じる影を用いた白飛び修正処理で取得した第2の白飛び修正画像とを比較して、白飛び量の少ない白飛び修正画像を選択する構成とする。
【0017】
これによると、動体の前後いずれに影が生じているか、また動体の前後の双方に影が生じている場合にいずれの影がより適切かは不明であるため、動体の前後の双方で白飛び修正処理を実施して各々で取得した白飛び修正画像を比較選択することにより、照明光の映り込みによる白飛びがより適切に修正された画像を取得することができる。
【0018】
また、第4の発明は、前記第1乃至第3の発明において、前記白飛び修正処理部で白飛び修正された画像において前記白飛び領域の内外の輝度を均一化する画像補正部をさらに有する構成とする。
【0019】
これによると、白飛び領域の内外の輝度が均一化されるため、第1の撮影画像の白飛び領域に白飛び修正画像を嵌め込んだ際に白飛び領域と周辺領域とが不連続に見える不具合を解消することができる。
【0020】
また、第5の発明は、原稿読取システムに関するものであり、前記第1乃至第4の発明にかかる画像処理装置と、カメラ部を備えた画像入力装置と、を有し、この画像入力装置において、原稿を撮影し、またユーザが原稿の上方を横切るように動体を動かした際の原稿を撮影して、前記第1の撮影画像および前記第2の撮影画像を前記画像処理装置に送る構成とする。
【0021】
これによると、前記のとおり、照明光の映り込みによる白飛びのない原稿の画像を取得することができる。
【0022】
また、第6の発明は、前記第5の発明において、前記画像処理装置は、前記画像入力装置のカメラ部の撮影領域内に進入した動体を検知する動体検知部を備え、この動体検知部の検知結果に基づいて、前記動体が撮影領域内に進入してから撮影領域外に移動するまで、前記画像入力装置に連続撮影を行わせて、前記第2の撮影画像を取得する構成とする。
【0023】
これによると、動体の影が写った第2の撮影画像を取得するための連続撮影が自動的に行われ、連続撮影の開始および終了のためにユーザがスイッチなどを操作する手間が不要になるため、ユーザの使い勝手を高めることができる。
【0024】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【0025】
図1は、本実施形態にかかる原稿読取システムを示す全体構成図である。この原稿読取システムは、原稿(ここでは本の表紙カバー)Bの画像を読み取って、原稿Bの画像データを取得するものであり、ブックスキャナ(画像入力装置)1とPC(画像処理装置)2とからなっている。
【0026】
ブックスキャナ1は、原稿Bを撮影するカメラ部3と、このカメラ部3を保持するスタンド部4とを備え、スタンド部4を机などの載置面5に据え付けるとともに、カメラ部3の真下の載置面5上に原稿Bを載置して、カメラ部3で原稿Bを撮影する。
【0027】
ここでは、原稿Bが本の表紙カバーであり、この表紙カバーには光沢紙が用いられるため、撮影画像に照明光の映り込みによる白飛びが生じやすい。そこでここでは、ユーザの手などの動体Hを原稿Bの上方を横切るように動かし、このとき生じる影を用いて撮影画像の白飛びを修正する処理がPC2で行われる。
【0028】
図2は、原稿Bの上方を横切るように動体Hを動かした際の影が生じる状況を示す模式図である。手などの動体Hを原稿Bの上方を横切るように動かすと、天井の照明からの光が動体Hで遮られて、原稿Bに動体Hの影が生じる。この影領域では、照明光の映り込みがないため、画像が明瞭になり、影領域の画像を用いることで、照明光の映り込みによる白飛びのない原稿Bの画像を取得することができる。
【0029】
図3は、ブックスキャナ1およびPC2の概略構成を示すブロック図である。ブックスキャナ1は、カメラ部3を備えた撮影処理部11と、操作指示部12と、外部インタフェイス13と、を有している。PC2は、外部I/F21と、画像データ入力部(撮影画像取得部)22と、画像処理部23と、操作系制御部24と、表示データ生成部25と、表示器26と、入力部27と、データ格納部28と、を有している。なお、PC2の画像処理部23および表示データ生成部25は、画像処理アプリケーションなどのプログラムをCPUで実行するソフトウェア処理で実現される。
【0030】
PC2では、キーボードなどからなる入力部27の操作により、ブックスキャナ1で撮影される画像の解像度やフレームレートなどの動作条件が入力され、この動作条件が操作系制御部24からブックスキャナ1に送信され、ブックスキャナ1では、PC2から送信された動作条件に基づいて操作指示部12による指示にしたがって撮影処理部11が所要の動作を行う。
【0031】
PC2の画像データ入力部22では、ブックスキャナ1から送信される画像データをメモリに格納し、必要に応じてその画像データを画像処理部23に出力する。この画像データ入力部22では、原稿(ここでは本の表紙カバー)Bが載置面5とともに写った第1の撮影画像と、原稿Bの上方を横切るようにユーザが動かす動体Hの影が原稿B上に写った第2の撮影画像とを取得する。
【0032】
画像処理部23は、原稿輪郭検出部31と、白飛び領域設定部32と、動体検知部33と、白飛び領域画像切出し部34と、白飛び修正処理部35と、画像補正部36と、画像変換部37と、を有している。
【0033】
原稿輪郭検出部31では、原稿Bを載置面5とともに撮影した第1の撮影画像から原稿Bの輪郭を取得する。白飛び領域設定部32では、原稿輪郭検出部31で検出された原稿領域を対象にして、照明光の映り込みによる白飛びを起こした部分を検出して白飛び領域を設定する。
【0034】
動体検知部33では、原稿Bの上方を横切るようにユーザが動かす動体Hを形状認識により検知する。白飛び領域画像切出し部34では、動体Hの影が写った第2の撮影画像から白飛び領域画像を切り出す。白飛び修正処理部35では、白飛び領域画像切出し部34で取得した白飛び領域画像内の影領域の画像を用いて第1の撮影画像の白飛びを修正する。画像補正部36では、白飛び修正処理部35で取得した画像に対して輝度調整や傾き調整などの画像補正を行う。
【0035】
画像変換部37では、歪みのある画像を歪みのない画像に変換する。この画像変換部37では、メッシュモデルを生成して、射影変換(アフィン変換)により画像の平面化が行われ、フラットベッドスキャナで読み取ったものと同様の画像を取得することができる。
【0036】
図4は、本原稿読取システムにおける原稿読み取りの手順を示すフロー図である。まず、ブックスキャナ1を起動させるとともに、PC2で原稿読み取りのアプリケーションを起動させて、読取モードを選択する(ST101)。ここでは、原稿Bが光沢紙か否かに応じた2つの読取モードがあり、以降のフローでは光沢紙の読取モードの例を示す。そして、読取モードが選択されると、画像の入力、すなわちブックスキャナ1で撮影が開始されてその撮影データがPC2に送信される(ST102)。
【0037】
ついで、ユーザがブックスキャナ1のカメラ部3の下に原稿Bをセットすると(ST103)、原稿Bの表紙カバーが撮影されてその撮影データがPC2に送信され、PC2の画像データ入力部22では、原稿Bの表紙カバーを載置面5とともに撮影した第1の撮影画像を取得する。そしてPC2では、第1の撮影画像から原稿Bの輪郭を取得する処理が原稿輪郭検出部31にて行われる(ST104)。
【0038】
ついで、原稿輪郭検出(ST104)で検出された輪郭成分で取り囲まれた原稿領域を対象にして、照明光の映り込みによる白飛びを起こした部分を検出して白飛び領域を設定する処理が白飛び領域設定部32にて行われる(ST105)。
【0039】
そして、原稿Bの上方を横切るようにユーザが手などの動体Hを動かす操作を行うのに応じて、動体Hの影が写った第2の撮影画像を取得して、その撮影画像から白飛び領域画像を切り出す処理が白飛び領域画像切出し部34にて行われる(ST106)。
【0040】
ついで、影が写った白飛び領域画像内の影領域の画像を用いて、第1の撮影画像から切り出された白飛び領域画像を修正して白飛び修正画像を生成して、その白飛び修正画像を第1の撮影画像に嵌め込む処理が白飛び修正処理部35にて行われる(ST107)。
【0041】
ついで、白飛び修正処理(ST107)で取得した画像の輝度および傾きを調整する画像補正が画像補正部36にて行われ(ST108)、これにより得られた画像を表示器26に表示させる(ST109)。これによりユーザは原稿Bの読み取りが適切に行われたか否かを確認することができる。
【0042】
なお、この他、必要に応じて、歪みのある画像を平面化する処理が画像変換部37にて行われる。
【0043】
図5は、図4に示した原稿輪郭検出(ST104)の手順を示すフロー図である。図6は、原稿輪郭検出の要領を説明する模式図である。ここでは、原稿Bの表紙カバーを載置面5とともに撮影した第1の撮影画像から、原稿Bの輪郭情報として、原稿Bの載置状態を大まかに把握するための主要直線成分と、表紙カバーの上下左右の端点である特異点を検出する。
【0044】
まず、原稿B全体の外形の主要直線成分を検出する(ST201)。ここでは、図6(A)に示すように、表紙カバーの撮影画像において、原稿B全体の外形における左右の側縁を示す2本の直線を検出する。この直線成分の検出は、ハフ(Hough)変換により行えばよい。
【0045】
また、撮影画像に対してエッジ検出を行う(ST202)。このエッジ検出は、キャニー(Canny)法を用いて行えばよい。ついで、取得したエッジ画像内の輪郭成分(原稿Bの輪郭を構成する画素)を抽出する(ST203)。ついで、取得した輪郭成分に基づいて、原稿Bの上下左右の端点である特異点を検出する(ST204)。ここでは、図6(B)に示すように、表紙カバーの撮影画像において、上下左右の端点として4つの特異点が検出される。
【0046】
そして、特異点検出(ST204)で取得した特異点の妥当性を判断する(ST205)。ここでは、取得した特異点と、直線成分検出(ST201)で取得した直線成分とを比較して、原稿Bの上下左右の端点である特異点の妥当性を判断する。ここで、特異点が妥当であるものと判定されると、その特異点を確定する(ST206)。
【0047】
なお、エッジ検出(ST202)、輪郭成分抽出(ST203)、および特異点検出(ST204)の各処理は、直線成分検出(ST201)の処理と平行して行うようにしてもよい。
【0048】
図7は、図4に示した白飛び領域設定(ST105)の手順を示すフロー図である。図8は、白飛び領域設定の要領を説明する模式図である。ここでは、撮影画像内の原稿領域を対象にして、照明光の映り込みによる白飛びを起こした部分を検出して白飛び領域を設定する。
【0049】
まず、図4に示した原稿輪郭検出(ST104)で抽出された輪郭成分で取り囲まれた原稿領域を対象にして、各画素の階調レベルが基準値より高いか否かを判定する(ST301)。ここでは、階調レベルが基準値より高い、すなわち極端なホワイトレベルとなる場合には、照明光の映り込みによる白飛びを起こしているものと判断する。ここで、階調レベルを8bitのデータで表す場合、階調レベルは0(黒)〜255(白)の値をとり、階調レベルの基準値は例えば200とする。
【0050】
そして、原稿領域内の全ての画素について基準値との比較が終了すると(ST302)、基準値より高いものと判定された画素の座標データをメモリに格納し(ST303)、白飛び領域を確定する(ST304)。ここでは、図8に示すように、階調レベルが基準値より高い、すなわち極端なホワイトレベルとなる部分を含む方形状の領域を白飛び領域に設定する。
【0051】
なお、図8に示す例では、白飛び領域が1つだけ設定されているが、極端なホワイトレベルとなる部分が複数抽出される場合もあり、この場合、極端なホワイトレベルとなる部分ごとに方形状の白飛び領域が設定され、以降の処理では、設定された白飛び領域ごとに白飛び修正処理が行われる。
【0052】
図9は、図4に示した白飛び領域画像取得(ST106)の手順を示すフロー図である。図10は、白飛び領域画像取得の要領を説明する模式図である。
【0053】
図10(A)に示すように、動体Hを原稿Bの上方を横切るように動かすと、動体Hとともに動体Hの影が撮影領域内を移動し、動体Hが撮影領域内に進入してから撮影領域外に移動するまでの間に、ブックスキャナ1に連続撮影を行わせると、動体Hの影が映った撮影画像が所定のフレームレートで順次出力され、動体Hおよび影の位置が徐々に変化する撮影画像を収集することができる。
【0054】
特にここでは、図2に示したように、原稿Bとカメラ部3との間を横切るように動体Hを動かすため、動体Hが撮影領域内を移動し、カメラ部3で撮影された画像に動体Hが写り、その撮影画像から形状認識処理により動体Hを検知する処理が動体検知部33で行われる。この動体検知により、動体Hの撮影領域内への進入と、撮影領域外への移動とを判断し、動体Hが撮影領域内に進入したタイミングで連続撮影モードに入り、動体Hが撮影領域から抜け出したタイミングで連続撮影モードを終了させる。
【0055】
このとき、カメラ部3の撮影領域外から動体Hを動かして撮影領域内に進入させるようにすれば、撮影画像の外周部に注目して動体検知を行えば良い。また、たまたま動体Hが撮影領域内に入ってしまった場合に、撮影領域内を横切るように動かす正規の動作と誤判断されることを避けるため、動体Hが撮影領域の中心部に向かって移動していることの判定を行うようにするとよい。
【0056】
このようにして動体Hが写った撮影画像を取得すると、図10(B)に示すように、撮影画像から白飛び領域画像を切り出す処理が行われる。この白飛び領域画像の切出し処理は、所定のフレームレートで撮影画像が順次出力されるたびに実行される。
【0057】
なお、動体Hが撮影領域内に進入してから撮影領域外に移動するまでの間、順次出力される撮影画像を一旦格納した上で、後に一括して白飛び領域画像の切出し処理を行うようにしてもよい。白飛び領域が1つしか見つからない場合には、撮影画像の出力のたびに切出し処理を行う方法でよいが、事務室などのように照明が複数ある場合には、白飛び領域が複数見つかることもあり、この場合、切出し処理に時間を要するため、後で一括して切出し処理を行う方法を採用するとよい。
【0058】
この白飛び領域画像取得の手順を具体的に説明すると、図9に示すように、まず、撮影画像から形状認識処理により動体Hを検知する処理を行い(ST401)、動体Hが撮影領域内に進入したものと判断されると(ST402でYes)、影が写った撮影画像を取得するための連続撮影モードに入り、所定のフレームレートで順次出力される撮影画像から白飛び領域画像を切り出す処理が行われる(ST403)。そして、動体Hが撮影領域外に抜け出たものと判断されると、(ST404でYes)、連続撮影モードを終了し、白飛び領域画像のデータをデータ格納部に格納する(ST405)。
【0059】
図11は、図4に示した白飛び修正処理(ST107)の手順を示すフロー図である。図12、図13は、白飛び修正処理の要領を説明する模式図であり、図12は、動体Hの進行方向の前側に影が生じる場合を、図13は、動体Hの進行方向の後側に影が生じる場合を、それぞれ示している。
【0060】
図12、図13に示すように、図4に示した白飛び領域画像取得(ST106)で取得した一連の白飛び領域画像では、動体Hの影が動体Hに隣接して現れ、この影領域では、照明光の映り込みが解消されて画像が明瞭に現れる。また、白飛び領域画像内の影は動体Hとともに1フレーム毎に位置が変化する。
【0061】
ここでは、1フレーム毎に影領域の画像を白飛び領域画像から抽出(切り出し)して、この影領域の画像を原画像(第1の撮影画像から切り出した白飛び領域画像)における対応する位置に嵌め込む合成処理を行う。これにより、白飛びを起こした画像が白飛びのない画像に順次置換され、1フレーム毎に白飛びが段階的に修正されて、白飛びのない白飛び修正画像を得ることができる。
【0062】
この白飛び修正処理では、まず、動体検知により検知された動体部分を白データ化する。これにより、影領域の除く部分は階調レベルが高くなるため、階調レベルの違いで影領域を見分けることができ、階調レベルを基準値と比較することにより影領域を検出することができる。
【0063】
また、図4に示した白飛び領域画像取得(ST106)で取得した一連の白飛び領域画像には、動体Hの影が写っていないものも含まれる。そこで、白飛び修正処理は、動体Hの影が写った白飛び領域画像を抽出しながら行われる。このとき、動体Hの進行方向の前側に影が写っているものは先に抽出され、動体Hの進行方向の後側に影が写っているものは後から抽出されるが、動体Hの前後いずれに影が生じているか、また動体Hの前後の双方に影が生じている場合にいずれの影がより適切かは不明である。そこで、まず、動体Hの前側に生じる影を用いた白飛び修正処理を行い、ついで動体Hの後側に生じる影を用いた白飛び修正処理を行い、各々で取得した白飛び修正画像を比較して、白飛びがより適切に修正されているものを選択する。
【0064】
具体的には、図11に示すように、まず、図4に示した白飛び領域画像取得(ST106)で取得した一連の白飛び領域画像について順番に、動体Hの進行方向の前端が白飛び領域に到達したか否かを判定し(ST501)、動体Hの前端が白飛び領域に到達した白飛び領域画像が見つかると(ST501でYes)、その白飛び領域画像内の影領域を検出して、その影領域の画像を原画像(第1の撮影画像から切り出した白飛び領域画像)に合成する白飛び修正処理を行う(ST502)。
【0065】
この白飛び修正処理を、動体Hが進入した端部から対角方向にある端部に動体Hの前端が到達した白飛び領域画像が見つかるまで繰り返し、該当する白飛び領域画像が見つかると(ST503でYes)、動体Hの前側に生じる影を用いた白飛び修正処理を終了し、それまでの画像合成で取得した白飛び領域画像を第1の白飛び修正画像としてデータ格納部に格納する(ST504)。
【0066】
ついで、次の白飛び領域画像から順番に、動体Hの進行方向の後端が白飛び領域に到達したか否かを判定し(ST505)、動体Hの後端が白飛び領域に到達した白飛び領域画像が見つかると(ST505でYes)、その白飛び領域画像内の影領域を検出して、その影領域の画像を白飛び領域画像に合成する白飛び修正処理を行う(ST506)。
【0067】
この白飛び修正処理を、動体Hが進入した端部から対角方向にある端部に動体Hの後端が到達した白飛び領域画像が見つかるまで繰り返し、該当する白飛び領域画像が見つかると(ST507でYes)、動体Hの後側に生じる影を用いた白飛び修正処理を終了し、それまでの画像合成で取得した白飛び領域画像を第2の白飛び修正画像としてデータ格納部に格納する(ST508)。
【0068】
そして、動体Hの前側に生じる影を用いた白飛び修正処理で取得した第1の白飛び修正画像と、動体Hの後側に生じる影を用いた白飛び修正処理で取得した第2の白飛び修正画像とを比較して、白飛び量の少ない白飛び修正画像を選択する(ST509)。ここで、白飛び量とは、白飛び修正画像の輝度の平均値などの白飛び状態を判断する指標となる値である。そして、選択された白飛び修正画像を第1の撮影画像内の白飛び領域に嵌め込む処理を行う(ST510)。
【0069】
図14は、図4に示した画像補正(ST108)の手順を示すフロー図である。図15は、画像補正の要領を説明する模式図である。ここでは、白飛び領域とその周辺領域との輝度を均一化する画像補正などが行われる。これにより、第1の撮影画像の白飛び領域に白飛び修正画像を嵌め込んだ際に白飛び領域と周辺領域とが不連続に見える不具合を解消することができる。
【0070】
まず、白飛び領域とその周辺領域との輝度差が大であるか否かを判定する(ST601)。ここでは、白飛び領域の平均輝度が所定の割合(例えば周辺領域の平均輝度の±10%)以上異なっている場合に、輝度差が大であると判定する。そして、白飛び領域と周辺領域との輝度差が大である場合には、白飛び領域と周辺領域との輝度差が小さくなるように、白飛び領域の画像の輝度を調整する(ST602)。ついで、原稿領域の傾きを補正するスキュー補正を実施する(ST603)。
【0071】
なお、輝度の他に色差を均一化する手法もあるが、白飛び領域と周辺領域とが不連続に見える不具合は、主に動体Hの影により画像の輝度が低くなったことに起因し、さらに人間の目は輝度の変化に対して敏感であるため、白飛び領域と周辺領域とが不連続に見える不具合を解消する上では、輝度を均一化する手法が優れている。
【0072】
次に、原稿Bの上方を横切るように動体Hを動かす際の動体Hの移動速度について検討する。図16は、動体Hが白飛び領域の上を通過する際の状況を示す模式図である。
【0073】
動体Hの影を用いた白飛び修正処理において、白飛び領域の全体をもれなく修正するには、次のフレームの撮影タイミングまでに動体Hが移動する距離hLを、1フレームで白飛び修正が可能な画像の幅、すなわち影領域の幅Wと等しいかあるいは小さくする必要がある。
【0074】
動体Hの移動速度hVおよび動体Hの移動距離hLは、フレームレート、すなわち1秒当たりのフレームの撮影枚数Cfpsにより、次式のように表される。
hL=hV/Cfps
hV=hL×Cfps
【0075】
ここで、連続撮影時のフレームレートCfpsを30fpsとし、動体Hの移動距離hLを影領域の幅Wと同じ10mmとすると、動体Hの移動速度(秒速)hVは、hV=hL×Cfps=10×30=300mmとなり、白飛び領域の全体をもれなく修正するには、30cm/sの速度で動体Hを動かせばよい。
【0076】
図17は、動体Hの動かし方の別の例を示す模式図である。図18は、図17の例の場合の手順を示すフロー図である。
【0077】
ここでは、図17に示すように、手などの動体Hをカメラ部3の上を横切るように動かす。この場合でも、前記の例と同様に、原稿B上に動体Hの影が生じるため、この動体Hの影を用いて白飛び修正処理を行うことができる。一方、この場合にはカメラ部3で動体H自体を撮影することができないため、前記の例のように、撮影画像から動体Hを検知して、動体Hの影が写った画像を取得するための連続撮影を自動化することができない。
【0078】
そこでここでは、動体Hを動かす際に、ブックスキャナ1に設けたスイッチやPC2のキーを操作して連続撮影の開始および終了を指示する。具体的には、図18に示すように、まず、ブックスキャナ1のスイッチなどでユーザが連続撮影を開始させる操作を行うと(ST701)、連続撮影が実施され、連続撮影により生成した撮影データを格納する処理が開始される(ST702)。そして、ユーザが動体Hをカメラ部3の上を横切るように動かして(ST703)、動体Hがカメラ部3の撮影領域から抜け出すと、ユーザが連続撮影を終了させる操作を行う(ST704)。
【0079】
この図18に示した手順は、図4に示した白飛び領域画像取得(ST106)において行われるものであり、図9に示した例と同様に、撮影画像から白飛び領域画像を切り出す処理が連続撮影に並行してあるいは連続撮影の後に一括して実施される。
【0080】
なお、前記の例では、図3に示したように、ブックスキャナから撮影画像データをPCに送ってPCで画像処理を行うようにしたが、このような画像処理をブックスキャナで行う、すなわちブックスキャナが画像処理装置を含む構成も可能である。この場合、テレビジョン受像機などの表示デバイスに画像を表示させればよい。
【0081】
また、前記の例では、影を作るための動体をユーザの手としたが、ユーザの指や腕でもよく、さらにこのようなユーザの身体自体ではなく、手近にある物品を用いることも可能である。
【産業上の利用可能性】
【0082】
本発明にかかる画像処理装置およびこれを備えた原稿読取システムは、ブックスキャナなどの画像入力装置の構成を複雑化することなく、照明光の映り込みによる白飛びのない画像を取得することができ、さらにユーザの使い勝手を高めることができる効果を有し、本などの原稿を読み取って得られた画像を処理する画像処理装置およびこれを備えた原稿読取システムなどとして有用である。
【符号の説明】
【0083】
1 ブックスキャナ(画像入力装置)
2 PC(画像処理装置)
3 カメラ部
22 画像データ入力部(撮影画像取得部)
23 画像処理部
31 原稿輪郭検出部
32 白飛び領域設定部
33 動体検知部
34 白飛び領域画像切出し部
35 白飛び修正処理部
36 画像補正部
37 画像変換部
B 原稿
H 動体
【技術分野】
【0001】
本発明は、本などの原稿を読み取って得られた画像を処理する画像処理装置およびこれを備えた原稿読取システムに関するものである。
【背景技術】
【0002】
本のページを自然に開いた状態で上方から撮影してページの画像を読み取ることができるブックスキャナ(書画カメラ)が普及している。このようなブックスキャナを用いると、ページをめくりながらページの画像を次々に読み取ることができるため、本を電子化する作業を効率良く行うことができる。
【0003】
一方、本の表紙には光沢紙が用いられており、また雑誌やカタログでも光沢紙が多用されているが、このような光沢紙を用いた原稿をブックスキャナで読み取る場合、天井などに設けられた照明の光が映り込みことで画像が白くなって見えなくなる、いわゆる白飛びが生じることがある。
【0004】
このような照明光の映り込みによる白飛びを防止するには、ユーザが原稿をずらしたり、あるいは白飛びの原因となる照明光が当たらないように覆いを設ければよいが、このような煩わしさを解消するため、従来、原稿を複数の角度から撮影することができるようにカメラ部を揺動可能に設けた技術(特許文献1参照)や、照明光が原稿の表面で反射してカメラ部に入射することを防止する反射抑止板を設けた技術(特許文献2参照)が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−279828号公報
【特許文献2】特開2008−131325号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、前記従来の技術では、ブックスキャナの構成が複雑になり、製造コストが上昇するという問題があり、またユーザにとって必ずしも使い勝手がよいものではなかった。
【0007】
本発明は、このような従来技術の問題点を解消するべく案出されたものであり、その主な目的は、ブックスキャナなどの画像入力装置の構成を複雑化することなく、照明光の映り込みによる白飛びのない画像を取得することができ、さらにユーザの使い勝手を高めることができるように構成された画像処理装置およびこれを備えた原稿読取システムを提供することにある。
【課題を解決するための手段】
【0008】
本発明の画像処理装置は、原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得する撮影画像取得部と、前記第1の撮影画像に基づいて白飛び領域を設定する白飛び領域設定部と、前記第2の撮影画像から前記白飛び領域内の影領域の画像を抽出して、その影領域の画像を前記第1の撮影画像に合成する白飛び修正処理を行う白飛び修正処理部と、を有する構成とする。
【0009】
また、本発明の原稿読取システムは、前記の発明にかかる画像処理装置と、カメラ部を備えた画像入力装置と、を有し、この画像入力装置において、原稿を撮影し、またユーザが原稿の上方を横切るように動体を動かした際の原稿を撮影して、前記第1の撮影画像および前記第2の撮影画像を前記画像処理装置に送る構成とする。
【発明の効果】
【0010】
本発明によれば、動体が照明光を遮ることで、動体の影となる部分では照明光の映り込みが解消されて画像が明瞭に現れるため、この影となる部分の画像を撮影画像に合成することで、照明光の映り込みによる白飛びのない画像を取得することができる。そして、ユーザは原稿の全体を横切るように動体を動かせばよく、特に白飛びを起こした部分を考慮して動体を動かす必要がないため、動体を動かす操作が簡単になり、ユーザの使い勝手を高めることができる。
【図面の簡単な説明】
【0011】
【図1】本実施形態にかかる原稿読取システムを示す全体構成図
【図2】原稿Bの上方を横切るように動体Hを動かした際の影が生じる状況を示す模式図
【図3】ブックスキャナ1およびPC2の概略構成を示すブロック図
【図4】本原稿読取システムにおける原稿読み取りの手順を示すフロー図
【図5】図4に示した原稿輪郭検出(ST104)の手順を示すフロー図
【図6】原稿輪郭検出の要領を説明する模式図
【図7】図4に示した白飛び領域設定(ST105)の手順を示すフロー図
【図8】白飛び領域設定の要領を説明する模式図
【図9】図4に示した白飛び領域画像取得(ST106)の手順を示すフロー図
【図10】白飛び領域画像取得の要領を説明する模式図
【図11】図4に示した白飛び修正処理(ST107)の手順を示すフロー図
【図12】白飛び修正処理の要領を説明する模式図
【図13】白飛び修正処理の要領を説明する模式図
【図14】図4に示した画像補正(ST108)の手順を示すフロー図
【図15】画像補正の要領を説明する模式図
【図16】動体Hが白飛び領域の上を通過する際の状況を示す模式図
【図17】動体Hの動かし方の別の例を示す模式図
【図18】図17の例の場合の手順を示すフロー図
【発明を実施するための形態】
【0012】
前記課題を解決するためになされた第1の発明は、原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得する撮影画像取得部と、前記第1の撮影画像に基づいて白飛び領域を設定する白飛び領域設定部と、前記第2の撮影画像から前記白飛び領域内の影領域の画像を抽出して、その影領域の画像を前記第1の撮影画像に合成する白飛び修正処理を行う白飛び修正処理部と、を有する構成とする。
【0013】
これによると、動体が照明光を遮ることで、動体の影となる部分では照明光の映り込みが解消されて画像が明瞭に現れるため、この影となる部分の画像を撮影画像に合成することで、照明光の映り込みによる白飛びのない画像を取得することができる。そして、ユーザは原稿の全体を横切るように動体を動かせばよく、特に白飛びを起こした部分を考慮して動体を動かす必要がないため、動体を動かす操作が簡単になり、ユーザの使い勝手を高めることができる。
【0014】
また、第2の発明は、前記第1の発明において、前記撮影画像取得部は、連続撮影により生成した、前記動体の影の位置が徐々に変化する一連の前記第2の撮影画像を取得し、前記白飛び修正処理部は、一連の前記第2の撮影画像内の影領域の画像を、前記第1の撮影画像内の白飛び領域画像に順次合成する構成とする。
【0015】
これによると、白飛び領域の大きさに対して動体の影の幅が小さい場合でも、白飛び領域の全体をもれなく修正することができる。
【0016】
また、第3の発明は、前記第1若しくは第2の発明において、前記白飛び修正処理部は、前記動体の進行方向の前側に生じる影を用いた白飛び修正処理で取得した第1の白飛び修正画像と、前記動体の進行方向の後側に生じる影を用いた白飛び修正処理で取得した第2の白飛び修正画像とを比較して、白飛び量の少ない白飛び修正画像を選択する構成とする。
【0017】
これによると、動体の前後いずれに影が生じているか、また動体の前後の双方に影が生じている場合にいずれの影がより適切かは不明であるため、動体の前後の双方で白飛び修正処理を実施して各々で取得した白飛び修正画像を比較選択することにより、照明光の映り込みによる白飛びがより適切に修正された画像を取得することができる。
【0018】
また、第4の発明は、前記第1乃至第3の発明において、前記白飛び修正処理部で白飛び修正された画像において前記白飛び領域の内外の輝度を均一化する画像補正部をさらに有する構成とする。
【0019】
これによると、白飛び領域の内外の輝度が均一化されるため、第1の撮影画像の白飛び領域に白飛び修正画像を嵌め込んだ際に白飛び領域と周辺領域とが不連続に見える不具合を解消することができる。
【0020】
また、第5の発明は、原稿読取システムに関するものであり、前記第1乃至第4の発明にかかる画像処理装置と、カメラ部を備えた画像入力装置と、を有し、この画像入力装置において、原稿を撮影し、またユーザが原稿の上方を横切るように動体を動かした際の原稿を撮影して、前記第1の撮影画像および前記第2の撮影画像を前記画像処理装置に送る構成とする。
【0021】
これによると、前記のとおり、照明光の映り込みによる白飛びのない原稿の画像を取得することができる。
【0022】
また、第6の発明は、前記第5の発明において、前記画像処理装置は、前記画像入力装置のカメラ部の撮影領域内に進入した動体を検知する動体検知部を備え、この動体検知部の検知結果に基づいて、前記動体が撮影領域内に進入してから撮影領域外に移動するまで、前記画像入力装置に連続撮影を行わせて、前記第2の撮影画像を取得する構成とする。
【0023】
これによると、動体の影が写った第2の撮影画像を取得するための連続撮影が自動的に行われ、連続撮影の開始および終了のためにユーザがスイッチなどを操作する手間が不要になるため、ユーザの使い勝手を高めることができる。
【0024】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【0025】
図1は、本実施形態にかかる原稿読取システムを示す全体構成図である。この原稿読取システムは、原稿(ここでは本の表紙カバー)Bの画像を読み取って、原稿Bの画像データを取得するものであり、ブックスキャナ(画像入力装置)1とPC(画像処理装置)2とからなっている。
【0026】
ブックスキャナ1は、原稿Bを撮影するカメラ部3と、このカメラ部3を保持するスタンド部4とを備え、スタンド部4を机などの載置面5に据え付けるとともに、カメラ部3の真下の載置面5上に原稿Bを載置して、カメラ部3で原稿Bを撮影する。
【0027】
ここでは、原稿Bが本の表紙カバーであり、この表紙カバーには光沢紙が用いられるため、撮影画像に照明光の映り込みによる白飛びが生じやすい。そこでここでは、ユーザの手などの動体Hを原稿Bの上方を横切るように動かし、このとき生じる影を用いて撮影画像の白飛びを修正する処理がPC2で行われる。
【0028】
図2は、原稿Bの上方を横切るように動体Hを動かした際の影が生じる状況を示す模式図である。手などの動体Hを原稿Bの上方を横切るように動かすと、天井の照明からの光が動体Hで遮られて、原稿Bに動体Hの影が生じる。この影領域では、照明光の映り込みがないため、画像が明瞭になり、影領域の画像を用いることで、照明光の映り込みによる白飛びのない原稿Bの画像を取得することができる。
【0029】
図3は、ブックスキャナ1およびPC2の概略構成を示すブロック図である。ブックスキャナ1は、カメラ部3を備えた撮影処理部11と、操作指示部12と、外部インタフェイス13と、を有している。PC2は、外部I/F21と、画像データ入力部(撮影画像取得部)22と、画像処理部23と、操作系制御部24と、表示データ生成部25と、表示器26と、入力部27と、データ格納部28と、を有している。なお、PC2の画像処理部23および表示データ生成部25は、画像処理アプリケーションなどのプログラムをCPUで実行するソフトウェア処理で実現される。
【0030】
PC2では、キーボードなどからなる入力部27の操作により、ブックスキャナ1で撮影される画像の解像度やフレームレートなどの動作条件が入力され、この動作条件が操作系制御部24からブックスキャナ1に送信され、ブックスキャナ1では、PC2から送信された動作条件に基づいて操作指示部12による指示にしたがって撮影処理部11が所要の動作を行う。
【0031】
PC2の画像データ入力部22では、ブックスキャナ1から送信される画像データをメモリに格納し、必要に応じてその画像データを画像処理部23に出力する。この画像データ入力部22では、原稿(ここでは本の表紙カバー)Bが載置面5とともに写った第1の撮影画像と、原稿Bの上方を横切るようにユーザが動かす動体Hの影が原稿B上に写った第2の撮影画像とを取得する。
【0032】
画像処理部23は、原稿輪郭検出部31と、白飛び領域設定部32と、動体検知部33と、白飛び領域画像切出し部34と、白飛び修正処理部35と、画像補正部36と、画像変換部37と、を有している。
【0033】
原稿輪郭検出部31では、原稿Bを載置面5とともに撮影した第1の撮影画像から原稿Bの輪郭を取得する。白飛び領域設定部32では、原稿輪郭検出部31で検出された原稿領域を対象にして、照明光の映り込みによる白飛びを起こした部分を検出して白飛び領域を設定する。
【0034】
動体検知部33では、原稿Bの上方を横切るようにユーザが動かす動体Hを形状認識により検知する。白飛び領域画像切出し部34では、動体Hの影が写った第2の撮影画像から白飛び領域画像を切り出す。白飛び修正処理部35では、白飛び領域画像切出し部34で取得した白飛び領域画像内の影領域の画像を用いて第1の撮影画像の白飛びを修正する。画像補正部36では、白飛び修正処理部35で取得した画像に対して輝度調整や傾き調整などの画像補正を行う。
【0035】
画像変換部37では、歪みのある画像を歪みのない画像に変換する。この画像変換部37では、メッシュモデルを生成して、射影変換(アフィン変換)により画像の平面化が行われ、フラットベッドスキャナで読み取ったものと同様の画像を取得することができる。
【0036】
図4は、本原稿読取システムにおける原稿読み取りの手順を示すフロー図である。まず、ブックスキャナ1を起動させるとともに、PC2で原稿読み取りのアプリケーションを起動させて、読取モードを選択する(ST101)。ここでは、原稿Bが光沢紙か否かに応じた2つの読取モードがあり、以降のフローでは光沢紙の読取モードの例を示す。そして、読取モードが選択されると、画像の入力、すなわちブックスキャナ1で撮影が開始されてその撮影データがPC2に送信される(ST102)。
【0037】
ついで、ユーザがブックスキャナ1のカメラ部3の下に原稿Bをセットすると(ST103)、原稿Bの表紙カバーが撮影されてその撮影データがPC2に送信され、PC2の画像データ入力部22では、原稿Bの表紙カバーを載置面5とともに撮影した第1の撮影画像を取得する。そしてPC2では、第1の撮影画像から原稿Bの輪郭を取得する処理が原稿輪郭検出部31にて行われる(ST104)。
【0038】
ついで、原稿輪郭検出(ST104)で検出された輪郭成分で取り囲まれた原稿領域を対象にして、照明光の映り込みによる白飛びを起こした部分を検出して白飛び領域を設定する処理が白飛び領域設定部32にて行われる(ST105)。
【0039】
そして、原稿Bの上方を横切るようにユーザが手などの動体Hを動かす操作を行うのに応じて、動体Hの影が写った第2の撮影画像を取得して、その撮影画像から白飛び領域画像を切り出す処理が白飛び領域画像切出し部34にて行われる(ST106)。
【0040】
ついで、影が写った白飛び領域画像内の影領域の画像を用いて、第1の撮影画像から切り出された白飛び領域画像を修正して白飛び修正画像を生成して、その白飛び修正画像を第1の撮影画像に嵌め込む処理が白飛び修正処理部35にて行われる(ST107)。
【0041】
ついで、白飛び修正処理(ST107)で取得した画像の輝度および傾きを調整する画像補正が画像補正部36にて行われ(ST108)、これにより得られた画像を表示器26に表示させる(ST109)。これによりユーザは原稿Bの読み取りが適切に行われたか否かを確認することができる。
【0042】
なお、この他、必要に応じて、歪みのある画像を平面化する処理が画像変換部37にて行われる。
【0043】
図5は、図4に示した原稿輪郭検出(ST104)の手順を示すフロー図である。図6は、原稿輪郭検出の要領を説明する模式図である。ここでは、原稿Bの表紙カバーを載置面5とともに撮影した第1の撮影画像から、原稿Bの輪郭情報として、原稿Bの載置状態を大まかに把握するための主要直線成分と、表紙カバーの上下左右の端点である特異点を検出する。
【0044】
まず、原稿B全体の外形の主要直線成分を検出する(ST201)。ここでは、図6(A)に示すように、表紙カバーの撮影画像において、原稿B全体の外形における左右の側縁を示す2本の直線を検出する。この直線成分の検出は、ハフ(Hough)変換により行えばよい。
【0045】
また、撮影画像に対してエッジ検出を行う(ST202)。このエッジ検出は、キャニー(Canny)法を用いて行えばよい。ついで、取得したエッジ画像内の輪郭成分(原稿Bの輪郭を構成する画素)を抽出する(ST203)。ついで、取得した輪郭成分に基づいて、原稿Bの上下左右の端点である特異点を検出する(ST204)。ここでは、図6(B)に示すように、表紙カバーの撮影画像において、上下左右の端点として4つの特異点が検出される。
【0046】
そして、特異点検出(ST204)で取得した特異点の妥当性を判断する(ST205)。ここでは、取得した特異点と、直線成分検出(ST201)で取得した直線成分とを比較して、原稿Bの上下左右の端点である特異点の妥当性を判断する。ここで、特異点が妥当であるものと判定されると、その特異点を確定する(ST206)。
【0047】
なお、エッジ検出(ST202)、輪郭成分抽出(ST203)、および特異点検出(ST204)の各処理は、直線成分検出(ST201)の処理と平行して行うようにしてもよい。
【0048】
図7は、図4に示した白飛び領域設定(ST105)の手順を示すフロー図である。図8は、白飛び領域設定の要領を説明する模式図である。ここでは、撮影画像内の原稿領域を対象にして、照明光の映り込みによる白飛びを起こした部分を検出して白飛び領域を設定する。
【0049】
まず、図4に示した原稿輪郭検出(ST104)で抽出された輪郭成分で取り囲まれた原稿領域を対象にして、各画素の階調レベルが基準値より高いか否かを判定する(ST301)。ここでは、階調レベルが基準値より高い、すなわち極端なホワイトレベルとなる場合には、照明光の映り込みによる白飛びを起こしているものと判断する。ここで、階調レベルを8bitのデータで表す場合、階調レベルは0(黒)〜255(白)の値をとり、階調レベルの基準値は例えば200とする。
【0050】
そして、原稿領域内の全ての画素について基準値との比較が終了すると(ST302)、基準値より高いものと判定された画素の座標データをメモリに格納し(ST303)、白飛び領域を確定する(ST304)。ここでは、図8に示すように、階調レベルが基準値より高い、すなわち極端なホワイトレベルとなる部分を含む方形状の領域を白飛び領域に設定する。
【0051】
なお、図8に示す例では、白飛び領域が1つだけ設定されているが、極端なホワイトレベルとなる部分が複数抽出される場合もあり、この場合、極端なホワイトレベルとなる部分ごとに方形状の白飛び領域が設定され、以降の処理では、設定された白飛び領域ごとに白飛び修正処理が行われる。
【0052】
図9は、図4に示した白飛び領域画像取得(ST106)の手順を示すフロー図である。図10は、白飛び領域画像取得の要領を説明する模式図である。
【0053】
図10(A)に示すように、動体Hを原稿Bの上方を横切るように動かすと、動体Hとともに動体Hの影が撮影領域内を移動し、動体Hが撮影領域内に進入してから撮影領域外に移動するまでの間に、ブックスキャナ1に連続撮影を行わせると、動体Hの影が映った撮影画像が所定のフレームレートで順次出力され、動体Hおよび影の位置が徐々に変化する撮影画像を収集することができる。
【0054】
特にここでは、図2に示したように、原稿Bとカメラ部3との間を横切るように動体Hを動かすため、動体Hが撮影領域内を移動し、カメラ部3で撮影された画像に動体Hが写り、その撮影画像から形状認識処理により動体Hを検知する処理が動体検知部33で行われる。この動体検知により、動体Hの撮影領域内への進入と、撮影領域外への移動とを判断し、動体Hが撮影領域内に進入したタイミングで連続撮影モードに入り、動体Hが撮影領域から抜け出したタイミングで連続撮影モードを終了させる。
【0055】
このとき、カメラ部3の撮影領域外から動体Hを動かして撮影領域内に進入させるようにすれば、撮影画像の外周部に注目して動体検知を行えば良い。また、たまたま動体Hが撮影領域内に入ってしまった場合に、撮影領域内を横切るように動かす正規の動作と誤判断されることを避けるため、動体Hが撮影領域の中心部に向かって移動していることの判定を行うようにするとよい。
【0056】
このようにして動体Hが写った撮影画像を取得すると、図10(B)に示すように、撮影画像から白飛び領域画像を切り出す処理が行われる。この白飛び領域画像の切出し処理は、所定のフレームレートで撮影画像が順次出力されるたびに実行される。
【0057】
なお、動体Hが撮影領域内に進入してから撮影領域外に移動するまでの間、順次出力される撮影画像を一旦格納した上で、後に一括して白飛び領域画像の切出し処理を行うようにしてもよい。白飛び領域が1つしか見つからない場合には、撮影画像の出力のたびに切出し処理を行う方法でよいが、事務室などのように照明が複数ある場合には、白飛び領域が複数見つかることもあり、この場合、切出し処理に時間を要するため、後で一括して切出し処理を行う方法を採用するとよい。
【0058】
この白飛び領域画像取得の手順を具体的に説明すると、図9に示すように、まず、撮影画像から形状認識処理により動体Hを検知する処理を行い(ST401)、動体Hが撮影領域内に進入したものと判断されると(ST402でYes)、影が写った撮影画像を取得するための連続撮影モードに入り、所定のフレームレートで順次出力される撮影画像から白飛び領域画像を切り出す処理が行われる(ST403)。そして、動体Hが撮影領域外に抜け出たものと判断されると、(ST404でYes)、連続撮影モードを終了し、白飛び領域画像のデータをデータ格納部に格納する(ST405)。
【0059】
図11は、図4に示した白飛び修正処理(ST107)の手順を示すフロー図である。図12、図13は、白飛び修正処理の要領を説明する模式図であり、図12は、動体Hの進行方向の前側に影が生じる場合を、図13は、動体Hの進行方向の後側に影が生じる場合を、それぞれ示している。
【0060】
図12、図13に示すように、図4に示した白飛び領域画像取得(ST106)で取得した一連の白飛び領域画像では、動体Hの影が動体Hに隣接して現れ、この影領域では、照明光の映り込みが解消されて画像が明瞭に現れる。また、白飛び領域画像内の影は動体Hとともに1フレーム毎に位置が変化する。
【0061】
ここでは、1フレーム毎に影領域の画像を白飛び領域画像から抽出(切り出し)して、この影領域の画像を原画像(第1の撮影画像から切り出した白飛び領域画像)における対応する位置に嵌め込む合成処理を行う。これにより、白飛びを起こした画像が白飛びのない画像に順次置換され、1フレーム毎に白飛びが段階的に修正されて、白飛びのない白飛び修正画像を得ることができる。
【0062】
この白飛び修正処理では、まず、動体検知により検知された動体部分を白データ化する。これにより、影領域の除く部分は階調レベルが高くなるため、階調レベルの違いで影領域を見分けることができ、階調レベルを基準値と比較することにより影領域を検出することができる。
【0063】
また、図4に示した白飛び領域画像取得(ST106)で取得した一連の白飛び領域画像には、動体Hの影が写っていないものも含まれる。そこで、白飛び修正処理は、動体Hの影が写った白飛び領域画像を抽出しながら行われる。このとき、動体Hの進行方向の前側に影が写っているものは先に抽出され、動体Hの進行方向の後側に影が写っているものは後から抽出されるが、動体Hの前後いずれに影が生じているか、また動体Hの前後の双方に影が生じている場合にいずれの影がより適切かは不明である。そこで、まず、動体Hの前側に生じる影を用いた白飛び修正処理を行い、ついで動体Hの後側に生じる影を用いた白飛び修正処理を行い、各々で取得した白飛び修正画像を比較して、白飛びがより適切に修正されているものを選択する。
【0064】
具体的には、図11に示すように、まず、図4に示した白飛び領域画像取得(ST106)で取得した一連の白飛び領域画像について順番に、動体Hの進行方向の前端が白飛び領域に到達したか否かを判定し(ST501)、動体Hの前端が白飛び領域に到達した白飛び領域画像が見つかると(ST501でYes)、その白飛び領域画像内の影領域を検出して、その影領域の画像を原画像(第1の撮影画像から切り出した白飛び領域画像)に合成する白飛び修正処理を行う(ST502)。
【0065】
この白飛び修正処理を、動体Hが進入した端部から対角方向にある端部に動体Hの前端が到達した白飛び領域画像が見つかるまで繰り返し、該当する白飛び領域画像が見つかると(ST503でYes)、動体Hの前側に生じる影を用いた白飛び修正処理を終了し、それまでの画像合成で取得した白飛び領域画像を第1の白飛び修正画像としてデータ格納部に格納する(ST504)。
【0066】
ついで、次の白飛び領域画像から順番に、動体Hの進行方向の後端が白飛び領域に到達したか否かを判定し(ST505)、動体Hの後端が白飛び領域に到達した白飛び領域画像が見つかると(ST505でYes)、その白飛び領域画像内の影領域を検出して、その影領域の画像を白飛び領域画像に合成する白飛び修正処理を行う(ST506)。
【0067】
この白飛び修正処理を、動体Hが進入した端部から対角方向にある端部に動体Hの後端が到達した白飛び領域画像が見つかるまで繰り返し、該当する白飛び領域画像が見つかると(ST507でYes)、動体Hの後側に生じる影を用いた白飛び修正処理を終了し、それまでの画像合成で取得した白飛び領域画像を第2の白飛び修正画像としてデータ格納部に格納する(ST508)。
【0068】
そして、動体Hの前側に生じる影を用いた白飛び修正処理で取得した第1の白飛び修正画像と、動体Hの後側に生じる影を用いた白飛び修正処理で取得した第2の白飛び修正画像とを比較して、白飛び量の少ない白飛び修正画像を選択する(ST509)。ここで、白飛び量とは、白飛び修正画像の輝度の平均値などの白飛び状態を判断する指標となる値である。そして、選択された白飛び修正画像を第1の撮影画像内の白飛び領域に嵌め込む処理を行う(ST510)。
【0069】
図14は、図4に示した画像補正(ST108)の手順を示すフロー図である。図15は、画像補正の要領を説明する模式図である。ここでは、白飛び領域とその周辺領域との輝度を均一化する画像補正などが行われる。これにより、第1の撮影画像の白飛び領域に白飛び修正画像を嵌め込んだ際に白飛び領域と周辺領域とが不連続に見える不具合を解消することができる。
【0070】
まず、白飛び領域とその周辺領域との輝度差が大であるか否かを判定する(ST601)。ここでは、白飛び領域の平均輝度が所定の割合(例えば周辺領域の平均輝度の±10%)以上異なっている場合に、輝度差が大であると判定する。そして、白飛び領域と周辺領域との輝度差が大である場合には、白飛び領域と周辺領域との輝度差が小さくなるように、白飛び領域の画像の輝度を調整する(ST602)。ついで、原稿領域の傾きを補正するスキュー補正を実施する(ST603)。
【0071】
なお、輝度の他に色差を均一化する手法もあるが、白飛び領域と周辺領域とが不連続に見える不具合は、主に動体Hの影により画像の輝度が低くなったことに起因し、さらに人間の目は輝度の変化に対して敏感であるため、白飛び領域と周辺領域とが不連続に見える不具合を解消する上では、輝度を均一化する手法が優れている。
【0072】
次に、原稿Bの上方を横切るように動体Hを動かす際の動体Hの移動速度について検討する。図16は、動体Hが白飛び領域の上を通過する際の状況を示す模式図である。
【0073】
動体Hの影を用いた白飛び修正処理において、白飛び領域の全体をもれなく修正するには、次のフレームの撮影タイミングまでに動体Hが移動する距離hLを、1フレームで白飛び修正が可能な画像の幅、すなわち影領域の幅Wと等しいかあるいは小さくする必要がある。
【0074】
動体Hの移動速度hVおよび動体Hの移動距離hLは、フレームレート、すなわち1秒当たりのフレームの撮影枚数Cfpsにより、次式のように表される。
hL=hV/Cfps
hV=hL×Cfps
【0075】
ここで、連続撮影時のフレームレートCfpsを30fpsとし、動体Hの移動距離hLを影領域の幅Wと同じ10mmとすると、動体Hの移動速度(秒速)hVは、hV=hL×Cfps=10×30=300mmとなり、白飛び領域の全体をもれなく修正するには、30cm/sの速度で動体Hを動かせばよい。
【0076】
図17は、動体Hの動かし方の別の例を示す模式図である。図18は、図17の例の場合の手順を示すフロー図である。
【0077】
ここでは、図17に示すように、手などの動体Hをカメラ部3の上を横切るように動かす。この場合でも、前記の例と同様に、原稿B上に動体Hの影が生じるため、この動体Hの影を用いて白飛び修正処理を行うことができる。一方、この場合にはカメラ部3で動体H自体を撮影することができないため、前記の例のように、撮影画像から動体Hを検知して、動体Hの影が写った画像を取得するための連続撮影を自動化することができない。
【0078】
そこでここでは、動体Hを動かす際に、ブックスキャナ1に設けたスイッチやPC2のキーを操作して連続撮影の開始および終了を指示する。具体的には、図18に示すように、まず、ブックスキャナ1のスイッチなどでユーザが連続撮影を開始させる操作を行うと(ST701)、連続撮影が実施され、連続撮影により生成した撮影データを格納する処理が開始される(ST702)。そして、ユーザが動体Hをカメラ部3の上を横切るように動かして(ST703)、動体Hがカメラ部3の撮影領域から抜け出すと、ユーザが連続撮影を終了させる操作を行う(ST704)。
【0079】
この図18に示した手順は、図4に示した白飛び領域画像取得(ST106)において行われるものであり、図9に示した例と同様に、撮影画像から白飛び領域画像を切り出す処理が連続撮影に並行してあるいは連続撮影の後に一括して実施される。
【0080】
なお、前記の例では、図3に示したように、ブックスキャナから撮影画像データをPCに送ってPCで画像処理を行うようにしたが、このような画像処理をブックスキャナで行う、すなわちブックスキャナが画像処理装置を含む構成も可能である。この場合、テレビジョン受像機などの表示デバイスに画像を表示させればよい。
【0081】
また、前記の例では、影を作るための動体をユーザの手としたが、ユーザの指や腕でもよく、さらにこのようなユーザの身体自体ではなく、手近にある物品を用いることも可能である。
【産業上の利用可能性】
【0082】
本発明にかかる画像処理装置およびこれを備えた原稿読取システムは、ブックスキャナなどの画像入力装置の構成を複雑化することなく、照明光の映り込みによる白飛びのない画像を取得することができ、さらにユーザの使い勝手を高めることができる効果を有し、本などの原稿を読み取って得られた画像を処理する画像処理装置およびこれを備えた原稿読取システムなどとして有用である。
【符号の説明】
【0083】
1 ブックスキャナ(画像入力装置)
2 PC(画像処理装置)
3 カメラ部
22 画像データ入力部(撮影画像取得部)
23 画像処理部
31 原稿輪郭検出部
32 白飛び領域設定部
33 動体検知部
34 白飛び領域画像切出し部
35 白飛び修正処理部
36 画像補正部
37 画像変換部
B 原稿
H 動体
【特許請求の範囲】
【請求項1】
原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得する撮影画像取得部と、
前記第1の撮影画像に基づいて白飛び領域を設定する白飛び領域設定部と、
前記第2の撮影画像から前記白飛び領域内の影領域の画像を抽出して、その影領域の画像を前記第1の撮影画像に合成する白飛び修正処理を行う白飛び修正処理部と、を有することを特徴とする画像処理装置。
【請求項2】
前記撮影画像取得部は、連続撮影により生成した、前記動体の影の位置が徐々に変化する一連の前記第2の撮影画像を取得し、
前記白飛び修正処理部は、一連の前記第2の撮影画像内の影領域の画像を、前記第1の撮影画像内の白飛び領域画像に順次合成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記白飛び修正処理部は、前記動体の進行方向の前側に生じる影を用いた白飛び修正処理で取得した第1の白飛び修正画像と、前記動体の進行方向の後側に生じる影を用いた白飛び修正処理で取得した第2の白飛び修正画像とを比較して、白飛び量の少ない白飛び修正画像を選択することを特徴とする請求項1若しくは請求項2に記載の画像処理装置。
【請求項4】
前記白飛び修正処理部で白飛び修正された画像において前記白飛び領域の内外の輝度を均一化する画像補正部をさらに有することを特徴とする請求項1乃至請求項3のいずれかに記載の画像処理装置。
【請求項5】
請求項1乃至請求項4のいずれかに記載の画像処理装置と、カメラ部を備えた画像入力装置と、を有し、この画像入力装置において、原稿を撮影し、またユーザが原稿の上方を横切るように動体を動かした際の原稿を撮影して、前記第1の撮影画像および前記第2の撮影画像を前記画像処理装置に送ることを特徴とする原稿読取システム。
【請求項6】
前記画像処理装置は、前記画像入力装置のカメラ部の撮影領域内に進入した動体を検知する動体検知部を備え、この動体検知部の検知結果に基づいて、前記動体が撮影領域内に進入してから撮影領域外に移動するまで、前記画像入力装置に連続撮影を行わせて、前記第2の撮影画像を取得することを特徴とする請求項5に記載の原稿読取システム。
【請求項1】
原稿が写った第1の撮影画像と、原稿の上方を横切るようにユーザが動かす動体の影が原稿上に写った第2の撮影画像と、を取得する撮影画像取得部と、
前記第1の撮影画像に基づいて白飛び領域を設定する白飛び領域設定部と、
前記第2の撮影画像から前記白飛び領域内の影領域の画像を抽出して、その影領域の画像を前記第1の撮影画像に合成する白飛び修正処理を行う白飛び修正処理部と、を有することを特徴とする画像処理装置。
【請求項2】
前記撮影画像取得部は、連続撮影により生成した、前記動体の影の位置が徐々に変化する一連の前記第2の撮影画像を取得し、
前記白飛び修正処理部は、一連の前記第2の撮影画像内の影領域の画像を、前記第1の撮影画像内の白飛び領域画像に順次合成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記白飛び修正処理部は、前記動体の進行方向の前側に生じる影を用いた白飛び修正処理で取得した第1の白飛び修正画像と、前記動体の進行方向の後側に生じる影を用いた白飛び修正処理で取得した第2の白飛び修正画像とを比較して、白飛び量の少ない白飛び修正画像を選択することを特徴とする請求項1若しくは請求項2に記載の画像処理装置。
【請求項4】
前記白飛び修正処理部で白飛び修正された画像において前記白飛び領域の内外の輝度を均一化する画像補正部をさらに有することを特徴とする請求項1乃至請求項3のいずれかに記載の画像処理装置。
【請求項5】
請求項1乃至請求項4のいずれかに記載の画像処理装置と、カメラ部を備えた画像入力装置と、を有し、この画像入力装置において、原稿を撮影し、またユーザが原稿の上方を横切るように動体を動かした際の原稿を撮影して、前記第1の撮影画像および前記第2の撮影画像を前記画像処理装置に送ることを特徴とする原稿読取システム。
【請求項6】
前記画像処理装置は、前記画像入力装置のカメラ部の撮影領域内に進入した動体を検知する動体検知部を備え、この動体検知部の検知結果に基づいて、前記動体が撮影領域内に進入してから撮影領域外に移動するまで、前記画像入力装置に連続撮影を行わせて、前記第2の撮影画像を取得することを特徴とする請求項5に記載の原稿読取システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−175166(P2012−175166A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−32272(P2011−32272)
【出願日】平成23年2月17日(2011.2.17)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月17日(2011.2.17)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]