JP6422362B2 - 画像読取装置、画像読取方法、及びプログラム - Google Patents

画像読取装置、画像読取方法、及びプログラム Download PDF

Info

Publication number
JP6422362B2
JP6422362B2 JP2015026823A JP2015026823A JP6422362B2 JP 6422362 B2 JP6422362 B2 JP 6422362B2 JP 2015026823 A JP2015026823 A JP 2015026823A JP 2015026823 A JP2015026823 A JP 2015026823A JP 6422362 B2 JP6422362 B2 JP 6422362B2
Authority
JP
Japan
Prior art keywords
camera
unit
vector
image
light
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.)
Expired - Fee Related
Application number
JP2015026823A
Other languages
English (en)
Other versions
JP2016001864A (ja
Inventor
大樹 武石
大樹 武石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015026823A priority Critical patent/JP6422362B2/ja
Priority to US14/713,797 priority patent/US9942442B2/en
Publication of JP2016001864A publication Critical patent/JP2016001864A/ja
Application granted granted Critical
Publication of JP6422362B2 publication Critical patent/JP6422362B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • H04N1/19Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa using multi-element arrays
    • H04N1/195Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa using multi-element arrays the array comprising a two-dimensional array or a combination of two-dimensional arrays
    • H04N1/19594Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa using multi-element arrays the array comprising a two-dimensional array or a combination of two-dimensional arrays using a television camera or a still video camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Input (AREA)
  • Facsimile Heads (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Description

本発明は、スキャナを利用して原稿等を読み取り、画像データを保存する技術に関する。
従来、文書等の原稿をスキャンし画像データを保存する機器(所謂「スキャナ」)として、ラインセンサを用いた撮像によりライン毎に画像データを取得するラインスキャナがある。また、他の種類のスキャナとして、撮像センサ(カメラ)を用いて2次元画像データを取得するカメラスキャナもある。書画台に上向きに置かれた原稿を書画台の上方に配置されたカメラが撮像する方式のカメラスキャナでは、原稿が1枚の用紙であれば置くだけで素早くスキャンすることができ、書籍のように厚みのある原稿も書画台に置いて容易にスキャンすることができる。
特許文献1には、1枚の用紙の文書や厚みのある書籍等の原稿だけでなく、厚みのある立体物を書画台に置いてスキャンし当該立体物の立体形状を測定するカメラスキャナが開示されている。このカメラスキャナは、撮像するカメラとともに投光部を備えており、投光部から投光する計測パターンをカメラで撮像し、三角測量の原理を用いて書画台に置かれた物体の立体形状を測定する。そして、このカメラスキャナは、当該測定結果に基づき、書画台に置かれた物体が平面原稿であるか、書籍であるか、立体物であるかを判定し、当該判定結果に応じて適切な撮影モードで撮影する。
特開2003−78725号公報
特許文献1に開示されている発明では、対象物の形状に起因して取得画像の画質が低下する(例えば、対象物の凹凸が原因で取得画像において明暗差が生じる)恐れがある。
本発明は、読取台に置かれた対象物に照射手段によって光を照射し、前記対象物を撮像手段によって撮像して前記対象物の画像を読み取る画像読取装置であって、前記対象物の形状を測定する測定手段と、前記照射手段が前記対象物に光を照射しているときに前記撮像により取得した前記対象物の画像データと、前記測定の結果とに基づいて、前記照射手段が前記対象物に照射する光量を補正する補正手段とを備えることを特徴とする画像読取装置である。
本発明により、対象物の形状に起因する取得画像の画質低下を防ぐことが可能となる。
カメラスキャナ100の説明図 コントローラ部101のハードウェア構成を示すブロック図 カメラスキャナ100の制御用プログラムのソフトウェア構成を示すブロック図 スキャン処理の流れを示すフローチャート スキャン処理におけるデータフローを示す図 距離画像情報取得処理の説明図 プロジェクタ照射光量補正パラメータ生成処理の流れを示すフローチャート 光量Ipの計算方法の説明図 係数d、kd、ks、αの生成方法の説明図 係数d、kd、ks、αの生成処理のフローチャート プロジェクタ照射処理のフローチャート 本発明による効果の一例を示す図
以下、本発明を実施するための最良の形態について図面を参照しながら説明する。尚、以下で示す構成は例示に過ぎず、また、本発明は図示する構成に限定されるものではない。
[実施例1]
<カメラスキャナの構成>
図1は、本実施例に係る画像読取装置、より具体的にはカメラスキャナ100の説明図であり、図1(a)は、カメラスキャナ100の構成例を示す外観図である。図1(a)に示すように、カメラスキャナ100は、コントローラ部101と、カメラ部102と、距離画像センサ部103とで構成される。コントローラ部101及びカメラ部102並びにカメラ部102及び距離画像センサ部103は、腕部104により連結されている。
コントローラ部101は、CPU、RAM、ROM等で構成され、カメラ部102や距離画像センサ部103を制御する。また、コントローラ部101は、光を照射するプロジェクタ1011を備えている。コントローラ部101の詳細は後述する(図2を参照)。
カメラ部102はレンズを有し、このレンズは、白色のマット(非光沢)素材でできている読取台110に向けられている。カメラ部102は、読取台110上の読取領域111に置かれた対象物(例えば、図1(a)の例では、原稿120が置かれている)を撮像して、対象物の画像データを取得する。
距離画像センサ部103はレンズを有し、このレンズは、読取台110に向けられている。距離画像センサ部103は、このレンズを介して読取台110上の読取領域111内を読み取る。ここで、距離画像センサ部103は、赤外線によるパターン投射方式を採用するセンサを含み、赤外線パターン投射部1031と、赤外線カメラ部1032と、RGBカメラ部1033とで構成される。赤外線パターン投射部1031は、読取領域111に置かれた対象物に対し、人間の目には不可視の赤外線による3次元測定パターンを投射する。赤外線カメラ部1032は、当該対象物に投射された3次元測定パターンを読み取る。RGBカメラ部1033は、当該対象物の表面で反射された可視光波長域の光を赤・緑・青の3領域に分割しRGB信号として記録する。
図1(b)は、カメラスキャナ100における座標系を示す図である。本実施例では、図1(b)に示すように、カメラスキャナ100に対して、複数の異なる座標系が定義される。
即ち、コントローラ部101に対して、プロジェクタ座標系という座標系(XpYpZp座標系)が定義される。このプロジェクタ座標系では、プロジェクタ1011が投影する画像の画像平面をXpYp平面とし、このXpYp平面に直交する方向をZp方向と定義している。
カメラ部102に対して、カメラ座標系という座標系(XcYcZc座標系)が定義される。このカメラ座標系では、カメラ部102が撮像する画像の画像平面(カメラ画像平面)をXcYc平面とし、このXcYc平面に直交する方向をZc方向と定義している。
距離画像センサ部103に対して、距離画像センサ座標系という座標系(XsYsZs座標系)が定義される。この距離画像センサ座標系では、RGBカメラ部1033が撮像する画像の画像平面をXsYs平面とし、このXsYs平面に直交する方向をZs方向と定義している。
さらに、これらの独立した3つの座標系の3次元データを統一的に扱えるようにするために、読取台110を含む平面をXY平面とし、このXY平面から上方に垂直な方向をZ軸正方向とする直交座標系(XYZ座標系)を定義する。
図1(c)は、直交座標系(XYZ座標系)と、カメラ座標系(XcYcZc座標系)と、カメラ画像平面との関係を示す図である。図1(c)を用いて、直交座標系(XYZ座標系)で表現される空間と、カメラ部102を中心としたカメラ座標系(XcYcZc座標系)で表現される空間と、カメラ部102が撮像する画像の画像平面との関係を示しながら、座標系の変換の一例を説明する。直交座標系における3次元点P[X,Y,Z]は、式(1)によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
ここで、Rcは回転行列であり、直交座標系に対するカメラの姿勢(即ち、カメラが直交座標系に対してどの程度回転しているかを示すカメラの向き)よって求まる外部パラメータによって構成される3行3列の行列である。tcは並進ベクトルであり、直交座標系に対するカメラの位置によって求まる外部パラメータによって構成されるベクトルである。尚、式(1)とは逆に、カメラ座標系における3次元点Pc[Xc,Yc,Zc]は、式(2)によって、直交座標系における3次元点P[X,Y,Z]へ変換できる。
カメラ部102での撮像により取得される2次元のカメラ画像の画像平面をxy平面とする座標系(カメラ画像座標系)における座標情報は、カメラ部102によって3次元空間中の3次元情報が2次元情報に変換された結果として得られるものである。即ち、式(1)を用いて直交座標系における3次元点P[X,Y,Z]から変換したカメラ座標系における3次元点Pc[Xc,Yc,Zc]に対して、式(3)を用いて透視投影変換を行うことで、カメラ画像座標系における2次元座標pc[xp,yp]を導出する。
ここで、Aはカメラの内部パラメータ行列であり、焦点距離、画像中心位置などのパラメータによって構成される3行3列の行列である。
以上のように、式(1)〜(3)を用いることで、直交座標系で表された3次元点群の座標を、カメラ座標系における3次元点群の座標やカメラ画像座標系における2次元点群の座標に変換することができる。尚、各ハードウェアデバイスの内部パラメータと、直交座標系に対する位置姿勢(外部パラメータ)とは、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に断りがなく3次元点(群)と表記した場合は、直交座標系における3次元データを表しているものとする。
<コントローラ部101のハードウェア構成>
図2は、コントローラ部101のハードウェア構成を示すブロック図である。図2に示すように、コントローラ部101は、CPU201と、RAM202と、ROM203と、HDD204と、画像処理プロセッサ205と、カメラI/F206と、ディスプレイコントローラ207とで構成される。これらの構成要素は、システムバス208によって互いに接続されており、システムバス208を介した情報の送受信が可能である。
CPU201は、コントローラ部101全体の動作を制御する中央演算装置である。RAM202は、揮発性メモリである。ROM203は不揮発性メモリであり、CPU201の起動用プログラムが格納されている。HDD204は、RAM202と比較して大容量なハードディスクドライブである。HDD204には、CPU201によって実行される、カメラスキャナ100の制御用プログラムが格納されている。
CPU201は、電源ONによりカメラスキャナ100が起動されると、ROM203に格納されている起動用プログラム(公知のブートローダーなどに相当)を実行する。この起動用プログラムは、HDD204に格納されている制御用プログラムを読み出し、該読み出した制御用プログラムをRAM202上に展開するために予め実行されるプログラムである。CPU201は、起動用プログラムを実行し、RAM202上に制御用プログラムを展開すると、続けて当該展開した制御用プログラムを実行することで、カメラスキャナ100の制御を開始する。制御用プログラムに従って実行される処理に用いられる一時データは、RAM202に格納される。CPU201は、RAM202に対して当該一時データの読み込み及び書き込みを行う。HDD204には、制御用プログラムに加えて、制御用プログラムに従って実行される処理に必要な各種設定に関するデータや、カメラ入力によって生成した画像データも格納することができる。これらのデータについても、CPU201によってHDD204に対する読み込み及び書き込みが行われる。
画像処理プロセッサ205は、RAM202に格納された画像データを読み出して、該読み出した画像データに対する画像処理を施し、画像処理を施した後の画像データをRAM202へ上書きする。尚、画像処理プロセッサ205が実行する画像処理とは、例えば、公知の回転、変倍、色変換等の処理である。
カメラI/F206は、カメラ部102及び距離画像センサ部103と接続されている。カメラI/F206は、CPU201からの指示に従い、カメラ部102から画像データを、距離画像センサ部103から距離及び画像に関する情報(以下、距離画像情報)を取得する。取得した画像データや距離画像情報は、RAM202へ書き込まれる。また、カメラI/F206は、CPU201から受け取った制御コマンドをカメラ部102及び距離画像センサ部103へ転送する。これにより、CPU201は、カメラ部102及び距離画像センサ部103に対する設定等の制御を行う。
ディスプレイコントローラ207は、CPU201からの指示に従い、表示を制御する。本実施例では、ディスプレイコントローラ207は、プロジェクタ1011に接続されており、プロジェクタ1011による画像データに基づく投影を制御する。
<カメラスキャナ100の制御用プログラムのソフトウェア構成>
図3(a)は、本実施例に係るスキャン処理を実現するため、CPU201によって実行されるカメラスキャナ100の制御用プログラムのソフトウェア構成を示すブロック図である。この制御用プログラムは、上述のように、HDD204に格納されており、カメラスキャナ100起動時にRAM202上に展開され、実行される。以下、制御用プログラムが持つソフトウェアモジュール郡について説明する。
図3(a)に示すように、制御用プログラムは、メイン制御部301と、距離画像センサ制御部302と、カメラ制御部303と、ディスプレイ制御部304と、補正パラメータ生成部305と、画像処理制御部306とを備えている。
メイン制御部301は、以下のソフトウェアモジュールを統括的に制御することで、カメラスキャナ100によって実行される本実施例に係るスキャン処理を実現する(このスキャン処理の詳細は後述する)。
距離画像センサ制御部302は、カメラI/F206を介して距離画像センサ部103を制御することで、距離画像センサ部103が生成した距離画像情報を取得し、該取得した距離画像情報をRAM202へ格納する。
カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することで、カメラ部102が生成した画像データを取得し、該取得した画像データをRAM202へ格納する。
ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御する。具体的には、ディスプレイ制御部304は、プロジェクタ1011を光源として機能させ、RAM202等に格納された画像情報に基づいて光を照射させる。ここでいう画像情報とは、多値の二次元ラスタービットマップデータであり、画素毎の画素値(例えば、輝度値、濃度値など)から成るデータである。
補正パラメータ生成部305は、RAM202に格納された、距離画像センサ部103により取得した距離画像情報と、カメラ部102により取得した画像データとに基づき、プロジェクタ1011の照射光量を補正するための補正パラメータ(以下、プロジェクタ照射光量補正パラメータ)を生成する。この補正パラメータ生成処理の詳細は後述する。
画像処理制御部306は、画像処理プロセッサ205を制御して、RAM202等に格納された画像データに対して画像処理(例えば、回転、変倍、色変換等の処理)を実行する。
<カメラスキャナ100によって実行されるスキャン処理>
図4(a)は、カメラスキャナ100によって実行される本実施例に係るスキャン処理の流れを示すフローチャートである。本実施例に係るスキャン処理は、メイン制御部301による統括的な制御のもと、制御用プログラムのメイン制御部301以外のソフトウェアモジュールによる処理が順次実行されることで実現される。また、図5(a)は、RAM202に保存されるデータに着目して、本実施例に係るスキャン処理を説明するデータフロー図である。以下、図4(a)及び図5(a)を用いて、本実施例に係るスキャン処理を詳細に説明する。
ステップS401において、ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御し、プロジェクタ1011に、初期画像情報500に基づいて読取領域111上に光を照射させる。ここで、初期画像情報500とは、多値の二次元ラスタービットマップデータであり、次の3つの特徴を持つ。
(1)全画素が無彩色である。
(2)全画素の輝度値又は濃度値が最大値未満であり且つ最小値より大きい。
(3)全画素が、同一の輝度値又は濃度値を持つ。ただし、許容可能な誤差範囲(5%程度)であれば、全画素の輝度値又は濃度値は、同一ではなく概同一で良い。
加えて本実施例では、このラスタービットマップデータをRGB色空間、各色nビット深度で表現するものとする。このとき、ラスタービットマップデータにおける各画素の色成分値は、以下の値を持つものとする。
ステップS401でプロジェクタ1011が光を照射している間に実行されるステップS402において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することでカメラ画像データ501を取得する。取得したカメラ画像データ501は、RAM202に保存される。
ステップS403において、距離画像センサ制御部302は、カメラI/F206を介して距離画像センサ部103を制御することで距離画像情報502を取得する。取得した距離画像情報502は、RAM202に保存される。ここで、距離画像情報502は、距離画像センサ部103と、スキャン対象物の各部との間の距離に関する情報を含む。この距離に関する情報とは、画素毎の画素値(距離値)で構成されたラスタービットマップ形式のデータであって、スキャン対象物のうち距離画像センサ部103の近くにある部分に対して大きい値を持つ一方、遠くにある部分に対しては小さい値を持つような2次元配列のデータである。本ステップで実行される距離画像情報取得処理の詳細は後述する。
ステップS404において、補正パラメータ生成部305は、ステップS402で取得したカメラ画像データ501と、ステップS403で取得した距離画像情報502とに基づき、プロジェクタ照射光量補正パラメータ503を生成し、RAM202に保存する。本ステップで実行されるプロジェクタ照射光量補正パラメータ生成処理の詳細は後述する。
ステップS405において、ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御し、プロジェクタ1011に、ステップS404で生成したプロジェクタ照射光量補正パラメータ503に従って読取領域111上に光を照射させる。本ステップで実行されるプロジェクタ照射処理の詳細は後述する。
ステップS405でプロジェクタ1011が光を照射している間に実行されるステップS406において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することで補正後のカメラ画像データ504を取得する。取得した補正後のカメラ画像データ504は、RAM202に保存される。
ステップS407において、画像処理制御部306は、画像処理プロセッサ205を制御して、ステップS406で取得した補正後のカメラ画像データ504に対する画像処理を実行する。当該画像処理が施された画像データは、最終的なスキャン画像データ505としてRAM202やHDD204等に保存される。尚、ここでいう画像処理とは、例えば、読取領域111内に置かれた原稿120に対応する領域を切り出し、原稿内の文字・画像が正立したラスタービットマップデータを取得する処理である。これ以外の処理、例えば、公知の色ムラ補正や画像の鮮鋭化処理を、この画像処理に加えても良い。
<距離画像情報取得処理>
以下、上述の距離画像情報取得処理(図4(a)のステップS403)について、図6を用いて詳細に説明する。ここで、図6(a)は距離画像情報取得処理の流れを示すフローチャートであり、図6(b)、図6(c)、図6(d)はパターン投射方式を利用した距離の計測原理を説明するための図である。
距離画像情報取得処理が開始されるとまず、ステップS601において、図6(b)に示すように赤外線パターン投射部1031を用いて赤外線による3次元形状測定パターン622を対象物621に投射する。
ステップS602において、RGBカメラ部1033を用いて対象物621を撮像することでRGBカメラ画像625を取得する。また、赤外線カメラ部1032を用いてステップS601で投射した3次元形状測定パターン622を撮像することで赤外線カメラ画像624を取得する。尚、赤外線カメラ部1032と、RGBカメラ部1033とでは設置位置が異なるため、図6(d)に示すように、RGBカメラ画像625と、赤外線カメラ画像624とでは、撮像領域が異なってくる。このとき、RGBカメラ部1033の撮像領域が、赤外線カメラ部1032の撮像領域よりも広くなるようにする。これは、後続のステップS603で赤外線カメラ画像624をRGBカメラ画像625の座標系に合わせるためである。
ステップS603において、赤外線カメラ部1032の座標系からRGBカメラ部1033の座標系への座標系変換を行って赤外線カメラ画像624をRGBカメラ画像625の座標系に合わせる。尚、赤外線カメラ部1032と、RGBカメラ部1033との間の相対位置関係や、夫々のカメラ部の内部パラメータは、事前のキャリブレーション処理により既知であるとする。
ステップS604において、図6(c)に示すように、3次元形状測定パターン622と、ステップS603で座標変換が行われた赤外線カメラ画像624との間で対応点を抽出する。例えば、赤外線カメラ画像624上の1点を3次元形状測定パターン622から探索して、同一の点が検出された場合に、赤外線カメラ画像624上の1点と、3次元形状測定パターン622上の1点との対応付けを行う。或いは、赤外線カメラ画像624における注目画素および当該注目画素の周辺画素から成るパターンについて、このパターンと類似する部分を3次元形状測定パターン622から探索(パターンマッチング)し、3次元形状測定パターン622の中で最も類似度が高い部分を当該パターンと対応付けすることで、対応点を抽出しても良い。
ステップS605において、赤外線パターン投射部1031と、赤外線カメラ部1032とを結ぶ直線を基線623として三角測量の原理を用いて計算を行うことにより、赤外線カメラ部1032から対象物の各部までの距離を画素毎に算出する。ここでいう三角測量とは、ある基線の両端にある既知の点から測定したい点への角度をそれぞれ測定することによって、その点の位置を決定する三角法および幾何学を用いた測量方法である。尚、三角測量の原理は既知であるため、詳細な説明は省略する。本ステップでは、ステップS604で対応付けができた点の位置にある画素については、赤外線カメラ部1032から対象物の各部までの距離を算出し、当該算出した距離を画素値として保存する。一方、ステップS604で対応付けができなかった位置の画素については、距離の計測ができなかった部分であると判定して、無効値を画素値として保存する。この処理をステップS603で座標変換を行った赤外線カメラ画像624の全画素に対して行うことで、各画素に対する画素値(距離値)から成る距離画像を生成する。
ステップS606において、距離画像の各画素に対するRGBカメラ画像625のRGB値を保存することにより、1画素につきR、G、B、距離の4種類の画素値を持つ距離画像情報を生成する。ここで生成された距離画像情報は、距離画像センサ部103のRGBカメラ部1033に対して定義された距離画像センサ座標系(XsYsZs座標系)を基準としている。
そこで次のステップS607において、図1(b)を用いて上述したように、距離画像センサ座標系における距離画像情報を直交座標系における距離画像情報に変換する。
尚、本実施例では上述したように、赤外線パターン投射方式を採用する距離画像センサ部103を用いる場合について説明したが、他の方式を採用する距離画像センサ部を用いることも可能である。例えば、2つのRGBカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するTOF(Time of Flight)方式を採用する距離画像センサ部を用いても構わない。
以上が、距離画像情報取得処理の内容である。
<プロジェクタ照射光量補正パラメータ生成処理>
以下、上述のプロジェクタ照射光量補正パラメータ生成処理(図4(a)のステップS404)について、図7(a)を用いて詳細に説明する。図7(a)は、ステップS404におけるプロジェクタ照射光量補正パラメータ生成処理の流れを示すフローチャートである。
ステップS701において、補正パラメータ生成部305は、RAM202に保存されたカメラ画像データ501を読み取る。
ステップS702において、補正パラメータ生成部305は、ステップS701で読み取ったカメラ画像データ501から白色部の輝度値iMaxを求める。輝度値iMaxを求める処理ではまず、カメラ画像データ501の座標(x,y)=(i,j)における画素を注目画素とし、当該注目画素の色成分値(Rij,Gij,Bij)から輝度値Lijを以下の操作により求める。
ここで、Maxは与えられた要素のうちの最大値を求める操作である。
尚、上記の輝度値Lijを求める方法とは別の実施例として、以下のようにNTSCビデオ標準に従った式(6)を用いて輝度値Lijを計算しても本発明を実施できる。
本実施例では、幅がwidthピクセル、高さがheightピクセルのカメラ画像データ501の輝度値の配列LcamをLcam=(L11,L12,L13・・・L21,L22,L23・・・Lwidth height)と定義する。そして、以下の処理によって輝度値iMaxを求める。
つまりステップS702では、与えられたカメラ画像データ501の全画素を走査し、全画素の輝度値のうちの最大の輝度値を求めることによって、輝度値iMaxを求めている。また、以下の処理によって輝度値iMinを求める。
ここで、Minは、与えられた要素のうちの最小値を求める操作である。つまりステップS702では、与えられたカメラ画像データ501の全画素を走査し、全画素の輝度値のうちの最小の輝度値を求めることによって、輝度値iMinを求めている。
ステップS703において、補正パラメータ生成部305は、RAM202に保存された距離画像情報502を読み取る。
ステップS704において、補正パラメータ生成部305は、ステップS703で読み取った距離画像情報502に基づきスキャン対象物のサーフェス(表面)法線を導出する。ここで導出するサーフェス法線とは、三次元形状のメッシュデータにおける、各メッシュの法線ベクトル群である。各メッシュの法線ベクトルを求める方法として以下の2つの方法がある。
第一の方法は、距離画像情報502のメッシュデータを作成し、当該作成したメッシュデータから、各メッシュの法線ベクトルを計算する方法である。
第二の方法は、距離画像情報502から法線ベクトルを直接計算する方法である。具体的には、注目した点群(平面を推定するので、少なくとも3つの注目点が必要となる)に対して近似平面を推定し、さらにその推定した近似平面に対する垂直方向をメッシュの法線方向として推定する方法である。この平面の近似の計算は、最小二乗法(least-squares)を用いることで実現できる。より具体的には、この法線ベクトルを直接計算する方法は、以下のような数式で表すことができる。piを注目点、Cを距離画像情報502によって表される距離画像における注目点近傍の点(以下、近傍点)と前記注目した点群の中央点との間の距離を行列要素とする共分散行列、kを近傍点の数、
を近傍点群の平均、λjをj番目の共分散の固有値行列、
をj番目の固有値とする。このとき、以下の式を使うことでメッシュの法線ベクトルを算出することができる。
ただし、上記式からは法線ベクトルの向きが、紙面下方と、紙面上方とのいずれであるかが定まらない。本実施例では、このときの法線ベクトルの向きは、紙面上方、即ちカメラ部102を向いた方向とする。
また、この法線ベクトルから法線の正規化ベクトルNを求めておく。法線の正規化ベクトルNは、後続のステップS705において、光量Ipを計算する際に必要となる(詳細は後述する)。
尚、本実施例では、距離画像情報502から近似平面を求めるために最小二乗法を使っているが、他の近似手法を使ったとしても本発明を実施できる。
ステップS705において、補正パラメータ生成部305は、読取領域111上における物理的な位置に対応する画素毎の画素値から成るプロジェクタ照射光量補正パラメータ503を生成し、RAM202に保存する。
以上が、プロジェクタ照射光量補正パラメータ生成処理の内容である。
<補正パラメータIinの計算>
上述のステップS705における処理について詳細に説明する。ステップS705ではまず、補正パラメータ生成部305は、読取領域111に対応する2次元配列であるプロジェクタ照射光量補正パラメータ503の配列要素を全てゼロにすることで、プロジェクタ照射光量補正パラメータ503を初期化する。次いで、補正パラメータ生成部305は、2次元配列であるプロジェクタ照射光量補正パラメータ503における各画素に対する補正パラメータIinを計算する。
以下、図8(a)を用いて補正パラメータIinの計算方法について説明する。本実施例では、プロジェクタ照射光量補正パラメータ503における一画素(注目画素)に対する補正パラメータIinを求めるにあたって、次のようにベクトル及び係数を定義する。即ち、注目画素に対応する原稿800上の注目点801からプロジェクタ1011に伸びるベクトルの正規化ベクトルをL、注目点801に対するステップS704で求めた法線の正規化ベクトルをN、反射補正係数をILとする(図8(a)を参照)。本実施例では、ランバートの反射モデルを応用し、以下の式(12)を用いることでカメラ部102に入る光量Ipを求める。
即ち、カメラ部102に入る光量Ipは、ベクトルLと、ベクトルNとの内積、及び、当該内積結果と、反射補正係数ILとの乗算により求めることができる。
反射補正係数ILは、RGB各色の画素値がnビット深度で表現されるとき、白色部の輝度値iMaxを用いて以下の式(13)により計算することができる。
このとき、プロジェクタ照射光量補正パラメータ503における各画素の補正パラメータIinは、以下の式(14)を用いて計算することができる。
ここでdは、プロジェクタ照射用補正係数である。プロジェクタ照射用補正係数dとは、HDD204に保存されている定数であり、プロジェクタ1011から照射される光量と、カメラ部102の感度とを考慮して、カメラスキャナ100の生産時に生成された定数である(プロジェクタ照射用補正係数dの生成方法は後述する)。式(14)を見ると、補正パラメータIinは、読取領域111において対象物の形状に依存して光量Ipが少なくなる部分は大きな値をとる一方、対象物の形状に依存して光量Ipが多くなる部分は小さな値をとることが分かる。
補正パラメータ生成部305は、以上の計算を各画素に対して繰り返し行い、各画素に対する補正パラメータIinを求めることで、二次元配列であるプロジェクタ照射光量補正パラメータ503を生成し、生成したプロジェクタ照射光量補正パラメータ503をRAM202に保存する。
尚、本実施例は、反射モデルとしてランバートの反射モデルを例に挙げて説明したが、フォンの反射モデルなど他の反射モデルを用いたとしても本発明を実施できる。
以上が、補正パラメータIinの計算に関する内容である。
<プロジェクタ照射用補正係数dの生成処理>
以下、上述の式(14)におけるプロジェクタ照射光量補正係数dの生成方法について、図3(b)、図9(a)、図10(a)を用いて説明する。
プロジェクタ照射光量補正係数dの生成処理は、カメラスキャナ100の制御用プログラムが持つモジュールである係数算出部によって実行される。図3(b)は、生産ラインにおいてCPU201により実行される、カメラスキャナ100の制御用プログラムのソフトウェア構成を示すブロック図である。ここで、係数算出部307は、カメラスキャナ100の生産時のみ、制御用プログラムが有するモジュールである。従って、図3(a)及び図3(b)から分かるように、上述の本実施例に係るスキャン処理(図4(a)を参照)を実行する際には、制御用プログラムは係数算出部307を有さない。
コントローラ部101の設計時にこの係数dを算出しHDD204に予め保存しておくことで、上述のステップS705において、補正パラメータIinを計算できるようになる。
続いて、図9(a)を用いて、プロジェクタ照射光量補正係数d生成時の原稿900と、プロジェクタ1011と、カメラ部102との位置関係について説明する。プロジェクタ照射光量補正係数d生成時に、注目点901からプロジェクタ1011に伸びるベクトルの正規化ベクトルLと、法線の正規化ベクトルNとのなす角度が45度となるように、原稿900と、プロジェクタ1011との位置関係を定める。また、注目点901からカメラ部102に伸びるベクトルの正規化ベクトルVと、法線の正規化ベクトルNとのなす角度が45度となるように、原稿900と、カメラ部102との位置関係を定める。さらに、本実施例では光の反射モデルとしてランバートの反射モデルを想定しているので、光を反射する原稿900は、全面白色のマット(非光沢)素材のものを使用する。図9(a)に示す環境下で、プロジェクタ照射光量補正係数dは生成される。
続いて、図10(a)を用いて、プロジェクタ照射光量補正係数dの生成処理の流れについて説明する。
ステップS1001において、ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御し、プロジェクタ1011に、初期画像情報に基づいて読取領域111上に光を照射させる。本ステップで用いる初期画像情報は、ステップS401で用いる初期画像情報500と同一である。
ステップS1001でプロジェクタ1011が光を照射している間に実行されるステップS1002において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することでカメラ画像データを取得する。ここで取得したカメラ画像データは、RAM202に保存される。
ステップS1003において、係数算出部307は、ステップS1002で取得したカメラ画像データを用いてプロジェクタ照射光量補正係数dを算出する。以下、ステップS1003におけるプロジェクタ照射光量補正係数dの算出方法を、詳細に説明する。
プロジェクタ照射光量補正係数dを算出するためにまず、ステップS1002で取得したカメラ画像データを用いて輝度値iMaxを計算する。輝度値iMaxは、上述の式(7)を用いて求めることができる。即ち、カメラ画像データの全画素を走査し、全画素の輝度値のうちの最大の輝度値を求めることによって、輝度値iMaxを求める。
次いで、求めた輝度値iMaxから上述の式(13)を用いて反射補正係数ILを計算する。
次いで、計算した反射補正係数IL及び図9(a)の位置関係から上述の式(12)を用いて光量Ipを計算する。
次いで、初期画像情報から注目点901に対応する注目画素に対する輝度値を取得し、該取得した輝度値をIinとして、上述の式(14)を変形した次の式(15)を用いて、プロジェクタ照射光量補正係数dを求める。
ステップS1003で算出されたプロジェクタ照射光量補正係数dは、HDD204に保存されて、プロジェクタ照射光量補正係数dの生成処理は終了する。
以上が、プロジェクタ照射用補正係数dの生成処理の内容である。
<プロジェクタ照射処理>
以下、上述のプロジェクタ照射処理(図4(a)のステップS405)について、図11を用いて詳細に説明する。
ステップS1101において、ディスプレイ制御部304は、ステップS404でRAM202に保存されたプロジェクタ照射光量補正パラメータ503を読み込む。
ステップS1102において、ディスプレイ制御部304は、照射領域内の部分領域をどの程度の明るさの光で照射するかを示す画素毎の輝度値から成るプロジェクタ照射用のラスタービットマップデータを作成してRAM202に保存する。具体的にはまず、ディスプレイ制御部304は、グレースケールの色空間であるプロジェクタ照射用のラスタービットマップデータを、輝度値が0の色(即ち黒色)で初期化する。次いで、ディスプレイ制御部304は、ステップS1101で読み込んだプロジェクタ照射光量補正パラメータ503に基づき、次の式(16)を用いてプロジェクタ照射用のラスタービットマップデータを構成する各画素値を計算する。
上述の通り、本実施例では、プロジェクタ照射光量補正パラメータ503における各画素に対する補正パラメータをIinとしている。また、プロジェクタ照射光量補正パラメータ503を変換するために用いるプロジェクタの照射位置、画素数を考慮したアフィン変換関数をAとする。
ただし、プロジェクタ照射光量補正パラメータ503およびプロジェクタ照射用のラスタービットマップデータはともに離散空間であるから、本実施例では公知の線形補間法を用いてプロジェクタ照射用のラスタービットマップデータを求めるものとする。もちろん、線形補間法以外の方法、例えばバイキュービック法などの補間方法を用いても良い。
ステップS1103において、ディスプレイ制御部304は、ステップS1102でRAM202に保存されたプロジェクタ照射用のラスタービットマップデータに基づいて、プロジェクタ1011に、読取領域111上に光を照射させる。この照射は、カメラ画像データ取得処理(図4(a)のステップS406)が完了するまで継続して実行される。
<本実施例による効果>
上述したように、本実施例に係るカメラスキャナ100は、読取領域111に置かれたスキャン対象物の3次元形状を測定し、スキャン対象物の表面の法線ベクトルを導出する。そして、カメラスキャナ100は、当該導出した法線ベクトルに基づき、プロジェクタ1011から照射された光のうちカメラ部102に入る光の量を導出する。そして、カメラスキャナ100は、導出したカメラ部102に入る光の量に基づき、プロジェクタ1011がスキャン対象物を照射する光の量を補正する。そして、カメラスキャナ100は、当該補正した光量に基づく照射をプロジェクタ1011が実行している間に、スキャン対象物を撮像し、スキャン対象物の画像を取得する。
本実施例により、スキャン対象物が立体的な形状を有することによって引き起こされる取得画像の画質低下(例えば、スキャン対象物の凹凸が原因の明暗差によって引き起こされる取得画像の画質低下)を防ぐことができる。
図12は、本実施例による効果の一例を示す図であり、書籍をスキャンした場合の、本実施例に係る補正前のスキャン画像、及び、本実施例に係る補正後のスキャン画像を示している。補正前のスキャン画像では、書籍の厚みに起因して左ページが暗くなっている一方、補正後のスキャン画像では、左右のページで明度差が無くなっており、本実施例によりスキャン画像の画質が改善していることが分かる。
また、本実施例により、最終的な画像処理(図4(a)のステップS407)における追加の補正処理に頼ることなく、スキャン対象物の立体形状に起因する明暗差等を補正したスキャン画像を得ることができる。
[実施例2]
実施例1では、プロジェクタ1011から照射される照射光以外の光、即ち環境光の光量が、照射光の光量と比較して十分に小さいことを前提としている。しかしながら、環境光が照射光と比較して無視できない明るさである場合には、以下の問題が生じる。
このような場合に実施例1の手法を用いると、例えば読取領域111に置かれたスキャン対象物の凹凸に起因する明度差が存在するような取得画像を補正する際に、暗い部分(影部)の明るさが明るい部分(ハイライト部分)よりもさらに明るくなるように補正されてしまうという過補正の恐れがある。この過補正は、プロジェクタ1011から照射される照射光によるスキャン対象物の凹凸を起因とする明度差が、環境光の影響により小さくなり、プロジェクタ照射処理(図4(a)のステップS100−5)において暗い部分(影部)に照射される光の量が過剰となるために起こる。
本施例では、この過補正を防ぐことで、より高画質なスキャン画像を取得する。以下、本実施例について、実施例1との差異を中心に説明する。尚、以下の説明において、実施例1と共通する内容については、説明を簡易化又は省略する。
<カメラスキャナ100によって実行されるスキャン処理>
図4(b)は、カメラスキャナ100によって実行される本実施例に係るスキャン処理の流れを示すフローチャートである。本実施例に係るスキャン処理は、メイン制御部301による統括的な制御のもと、制御用プログラムのメイン制御部301以外のソフトウェアモジュールによる処理が順次実行されることで実現される。また、図5(b)は、RAM202に保存されるデータに着目して、本実施例に係るスキャン処理を説明するデータフロー図である。以下、図4(b)及び図5(b)を用いて、本実施例に係るスキャン処理を詳細に説明する。
ステップS410において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御し、環境光で照射されたスキャン対象物を撮像することで、環境光によるカメラ画像データ506を取得する。取得した環境光によるカメラ画像データ506は、RAM202に保存される。
ステップS411〜S413は、実施例1と同様である(実施例1におけるステップS401〜S403に相当する)。
ステップS414において、補正パラメータ生成部305は、ステップS410で取得した環境光によるカメラ画像データ506と、ステップS412で取得したカメラ画像データ501と、ステップS413で取得した距離画像情報502とに基づき、プロジェクタ照射光量補正パラメータ503を生成し、RAM202に保存する。本ステップの詳細は後述する。
ステップS415〜S417は、実施例1と同様である(実施例1におけるステップS405〜S407に相当する)。
<プロジェクタ照射光量補正パラメータ生成処理>
以下、上述のプロジェクタ照射光量補正パラメータ生成処理(図4(b)のステップS414)について、図7(b)を用いて詳細に説明する。図7(b)は、ステップS414におけるプロジェクタ照射光量補正パラメータ生成処理の流れを示すフローチャートである。
ステップS711において、補正パラメータ生成部305は、RAM202に保存された環境光によるカメラ画像データ506を読み取る。
ステップS712において、補正パラメータ生成部305は、ステップS711で読み取った環境光によるカメラ画像データ506からカメラ部102に入射する環境光の光量ienvを求める。本実施例では、幅がwidthピクセル、高さがheightピクセルの環境光によるカメラ画像データ506の輝度値の配列Lcam_envをLcam_env=(Lenv_11,Lenv_12,Lenv_13・・・・・・Lenv_width height)と定義する。そして、以下の処理によって光量ienvを求める。
ここで、Avgは与えられた輝度値の平均値を求める操作である。つまりステップS712では、与えられた環境光によるカメラ画像データ506の全画素を走査し、全画素の輝度値の平均を取ることによって、光量ienvを求める。
ステップS713〜S716は、実施例1と同様である(実施例1におけるステップS701〜S704に相当する)。
ステップS717において、補正パラメータ生成部305は、読取領域111上における物理的な位置と対応する画素毎の画素値から成るプロジェクタ照射光量補正パラメータ503を生成し、RAM202に保存する。
<補正パラメータIinの計算>
上述のステップS717における処理について詳細に説明する。ステップS717ではまず、補正パラメータ生成部305は、読取領域111に対応する2次元配列であるプロジェクタ照射光量補正パラメータ503の配列要素を全てゼロにすることで、プロジェクタ照射光量補正パラメータ503を初期化する。次いで、補正パラメータ生成部305は、2次元配列であるプロジェクタ照射光量補正パラメータ503における各画素に対する補正パラメータIinを計算する。
本実施例では実施例1と同様に、注目点801からプロジェクタ1011に伸びるベクトルの正規化ベクトルをL、注目点801に対してステップS716で求めた法線の正規化ベクトルをN、反射補正係数をILとし、ランバートの反射モデルを応用して以下の式(18)を用いることでカメラ部102に入る光の量Ipを求める(図8(a)を参照)。
式(18)から分かるように、カメラ部102に入る光量Ipは、上述の式(12)の右辺に対して環境光の光量ienvを加算することで求めることができる。
反射補正係数ILは、RGB各色の画素値がnビット深度で表現されるとき、白色部の輝度値iMaxを用いて以下の式(19)により計算することができる。
プロジェクタ照射光量補正パラメータ503における各画素の補正パラメータIinは、実施例1と同様、以下の式(20)を用いて計算することができる。
ここでdは、実施例1と同様にプロジェクタ照射用補正係数であり、HDD204に予め保存されている定数である。尚、プロジェクタ照射用補正係数dは、実施例1と同様、式(15)を用いて求めることができる。
補正パラメータ生成部305は、以上の計算を各画素に対して繰り返し行い、各画素に対する補正パラメータIinを求めることで、二次元配列であるプロジェクタ照射光量補正パラメータ503を生成し、RAM202に保存する。
<本実施例による効果>
本実施例により、環境光がプロジェクタから照射される光と比較して無視できない明るさである場合に起こり得る過補正を防ぐことで、高画質なスキャン画像データを得ることができる。
[実施例3]
実施例1及び実施例2では、スキャン対象物である原稿の表面において照射光が拡散反射することを前提とすることから、光の反射モデルとしてランバートの反射モデルを使用した。しかし、マット(非光沢)な紙でさえ照射光が完全に拡散反射をするわけではなく、スキャン対象物によっては補正に誤差が生じかねない。実際に、光沢感を持ち、強い鏡面反射特性を持つ紙種も知られている。
スキャン対象物の表面において照射光が完全に拡散反射しない場合(例えば、スキャン対象物が鏡面反射特性を持つ用紙である場合)、カメラ部102の位置に依存して、スキャン対象物の表面で反射されてカメラ部102に入射する光の強度が変化する。従って、鏡面反射特性に応じた反射光強度が強ければ強いほど、拡散反射を前提とした実施例1及び実施例2における補正の誤差が大きくなる。よって、スキャン対象物である原稿の紙種によっては、カメラ部102の位置を考慮した補正を行うことが望ましい。
上述の内容を鑑み、本実施例では、スキャン対象物の鏡面反射特性も考慮してカメラ部102に入る光量Ipを算出し、当該算出した光量Ipに基づいて補正パラメータIinを計算する。
以下、本実施例について、上述の実施例との差異を中心に説明する。尚、以下の説明において、上述の実施例と共通する内容については説明を簡易化又は省略する。
<補正パラメータIinの計算>
以下、図8(b)を用いて補正パラメータIinの計算方法について説明する。本実施例では、補正パラメータIinを求めるにあたって、次のようにベクトル及び係数を定義する。即ち、原稿800上の注目点801からプロジェクタ1011に伸びるベクトルの正規化ベクトルをL、注目点801からカメラ部102に伸びるベクトルの正規化ベクトルをV、注目点801に対する法線の正規化ベクトルをN、注目点801においてプロジェクタ1011から入射した光が正反射する方向の正規化ベクトルをRとする(図8(b)を参照)。このとき、ベクトルRは、以下の式(21)を用いて計算することができる。
本実施例では、フォンの反射モデルを応用し、以下の式(22)を用いることでカメラ部102に入る光量Ipを求める。
ここでkd,ksは反射補正係数であり、αは鏡面反射係数である。これらの係数は、カメラスキャナ100の生産時に係数算出部307により生成される(これらの係数の生成方法は後述する)。
プロジェクタ照射光量補正パラメータ503における各画素の補正パラメータIinは、上述の実施例と同様、以下の式(23)を用いて計算することができる。
ここでdは、上述の実施例と同様、プロジェクタ照射用補正係数である。
<反射補正係数kdの生成処理>
以下、上述の式(22)における反射補正係数kdの生成処理について説明する。
最初に、図9(b)を用いて、反射補正係数kd生成時の原稿900と、プロジェクタ1011と、カメラ部102との位置関係について説明する。反射補正係数kdを生成するにあたり、原稿900上の注目点901からプロジェクタ1011に伸びるベクトルの正規化ベクトルLと、法線の正規化ベクトルNとのなす角度が45度となるように、原稿900と、プロジェクタ1011との位置関係を定める。また、ベクトルLと、注目点901からカメラ部102に伸びるベクトルの正規化ベクトルVとが等しくなるように、原稿900と、カメラ部102との位置関係を定める。このように原稿900、プロジェクタ1011、カメラ部102の位置関係を定めると、ベクトルVと、鏡面反射方向の正規化ベクトルRとのなす角度は90度となる。さらに、本実施例では光の反射モデルとしてフォンの反射モデルを想定しているので、光を反射する原稿900は、全面白色の光沢素材のものを使用する。
図9(b)に示す環境下で反射補正係数kdは、生成される。続いて、図10(b)を用いて、反射補正係数kdの生成処理の流れについて説明する。
ステップS1011において、ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御し、プロジェクタ1011に、初期画像情報に基づいて読取領域111上に光を照射させる。本ステップで用いる初期画像情報は、ステップS401で用いる初期画像情報500と同一である。
ステップS1011でプロジェクタ1011が光を照射している間に実行されるステップS1012において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することでカメラ画像データを取得する。取得したカメラ画像データは、RAM202に保存される。
ステップS1013において、係数算出部307は、ステップS1012で取得したカメラ画像データを用いて反射補正係数kdを算出する。以下、ステップS1013における反射補正係数kdの算出方法を、詳細に説明する。
反射補正係数kdを算出するために、上述の式(22)を変形した式を用いる。図9(b)に示す環境では、ベクトルRと、ベクトルVとのなす角度は90度でありR・V=0となる。従って、式(22)は、以下の式(24)のように表すことができる。
また、図9(b)に示す環境では、ベクトルLと、ベクトルNとのなす角度は45度であるから、式(24)は、以下の式(25)のように表すことができる。
従って、反射補正係数kdは、以下の式(26)を用いて算出することができる。
このように反射補正係数kdは、カメラ部102に入る光量Ipから算出することができる。
以上が、反射補正係数kdの生成処理の内容である。
<反射補正係数ksの生成処理>
以下、上述の式(22)における反射補正係数ksの生成処理について説明する。
最初に、図9(a)を用いて、反射補正係数ks生成時の原稿900と、プロジェクタ1011と、カメラ部102との位置関係について説明する。反射補正係数ksを生成するにあたり、原稿900上の注目点901からプロジェクタ1011に伸びるベクトルの正規化ベクトルLと、法線の正規化ベクトルNとのなす角度が45度となるように、原稿900と、プロジェクタ1011との位置関係を定める。また、ベクトルNと、注目点901からカメラ部102に伸びるベクトルの正規化ベクトルVとのなす角度が45度となるように、原稿900と、カメラ部102との位置関係を定める。このとき、ベクトルLと、鏡面反射方向の正規化ベクトルRとのなす角度が90度となるようにする。さらに、本実施例では光の反射モデルとしてフォンの反射モデルを想定しているので、光を反射する原稿900は、全面白色の光沢素材のものを使用する。
図9(a)に示す環境下で反射補正係数ksは、生成される。続いて、図10(c)を用いて、反射補正係数ksの生成処理の流れについて説明する。
ステップS1021において、ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御し、プロジェクタ1011に、初期画像情報に基づいて読取領域111上に光を照射させる。本ステップで用いる初期画像情報は、ステップS401で用いる初期画像情報500と同一である。
ステップS1021でプロジェクタ1011が光を照射している間に実行されるステップS1022において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することでカメラ画像データを取得する。取得したカメラ画像データは、RAM202に保存される。
ステップS1023において、係数算出部307は、ステップS1022で取得したカメラ画像データを用いて反射補正係数kdを算出する。以下、ステップS1023における反射補正係数ksの算出方法を、詳細に説明する。
反射補正係数ksを算出するために、上述の式(22)を変形した式を用いる。図9(a)に示す環境では、ベクトルRと、ベクトルVとのなす角度は0度でありR・V=1となる。従って、式(22)は、以下の式(27)のように表すことができる。
また、図9(a)に示す環境では、ベクトルLと、ベクトルNとのなす角度は45度であるから、式(27)は、以下の式(28)のように表すことができる。
従って、反射補正係数ksは、以下の式(29)を用いて算出することができる。
このように反射補正係数ksは、カメラ部102に入る光量Ip及び反射補正係数kdから算出することができる。
以上が、反射補正係数ksの生成処理の内容である。
<鏡面反射係数αの生成処理>
以下、上述の式(22)における鏡面反射係数αの生成処理について説明する。
最初に、図9(c)を用いて、鏡面反射係数α生成時の原稿900と、プロジェクタ1011と、カメラ部102との位置関係について説明する。鏡面反射係数αを生成するにあたり、原稿900上の注目点901からプロジェクタ1011に伸びるベクトルの正規化ベクトルLと、法線の正規化ベクトルNとのなす角度が75度となるように、原稿900と、プロジェクタ1011との位置関係を定める。また、ベクトルNと、注目点901からカメラ部102に伸びるベクトルの正規化ベクトルVとのなす角度が45度となるように、原稿900と、カメラ部102との位置関係を定める。このとき、ベクトルVと、鏡面反射方向の正規化ベクトルRとのなす角度が30度となるように、原稿900と、プロジェクタ1011と、カメラ部102との位置関係を定める。さらに、本実施例では光の反射モデルとしてフォンの反射モデルを想定しているので、光を反射する原稿900は、全面白色の光沢素材のものを使用する。
図9(c)に示す環境下で鏡面反射係数αは、生成される。続いて、図10(d)を用いて、鏡面反射係数αの生成処理の流れについて説明する。
ステップS1031において、ディスプレイ制御部304は、ディスプレイコントローラ207を介してプロジェクタ1011を制御し、プロジェクタ1011に、初期画像情報に基づいて読取領域111上に光を照射させる。本ステップで用いる初期画像情報は、ステップS401で用いる初期画像情報500と同一である。
ステップS1031でプロジェクタ1011が光を照射している間に実行されるステップS1032において、カメラ制御部303は、カメラI/F206を介してカメラ部102を制御することでカメラ画像データを取得する。取得したカメラ画像データは、RAM202に保存される。
ステップS1033において、係数算出部307は、ステップS1032で取得したカメラ画像データを用いて鏡面反射係数αを算出する。以下、ステップS1033における鏡面反射係数αの算出方法を、詳細に説明する。
鏡面反射係数αを算出するために、上述の式(22)を変形した式を用いる。図9(c)に示す環境では、ベクトルRと、ベクトルVとのなす角度は30度であるから、式(22)は、以下の式(30)のように表すことができる。
また、図9(c)に示す環境では、ベクトルLと、ベクトルNとのなす角度は75度であるから、式(30)は、以下の式(31)のように表すことができる。
従って、鏡面反射係数αは、以下の式(32)を用いて算出することができる。
このように鏡面反射係数αは、カメラ部102に入る光量Ip及び反射補正係数kd,ksから算出することができる。
以上が、鏡面反射係数αの生成処理の内容である。
上記の処理により算出した係数kd,ks,αをHDD204に予め保存しておくことで、プロジェクタ照射光量補正パラメータ503における各画素に対する補正パラメータIinを計算できるようになる。
<本実施例の効果>
本実施例により、スキャン対象物が強い鏡面反射特性を持つ場合であっても、高画質なスキャン画像データを得ることができる。
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (12)

  1. 読取台に置かれた対象物に照射手段によって光を照射し、前記対象物を撮像手段によって撮像して前記対象物の画像を読み取る画像読取装置であって、
    前記対象物の形状を測定する測定手段と、
    前記照射手段が前記対象物に光を照射しているときに前記撮像により取得した前記対象物の画像データと、前記測定の結果とに基づいて、前記照射手段が前記対象物に照射する光量を補正する補正手段と
    を備えることを特徴とする画像読取装置。
  2. 前記照射手段は、前記補正手段により補正された光量に従って、前記対象物に光を照射し、
    前記撮像手段は、当該照射している間に前記対象物を撮像することを特徴とする請求項1に記載の画像読取装置。
  3. 前記測定手段は、
    前記対象物に赤外線パターンを投射する投射手段と、
    前記対象物に投射された赤外線パターンを読み取る読取手段と、
    RGBカメラと
    を備えることを特徴とする請求項1又は2に記載の画像読取装置。
  4. 前記測定手段は、1画素につきR、G、B、距離の4種類の画素値を持つラスタービットマップデータである距離画像情報を作成することを特徴とする請求項1乃至3の何れか一項に記載の画像読取装置。
  5. 前記補正手段は、前記距離画像情報に基づき前記対象物の表面の法線ベクトルを導出することを特徴とする請求項4に記載の画像読取装置。
  6. 前記補正手段は、前記導出した法線ベクトルに基づき、前記照射手段により照射され且つ前記対象物の表面で反射されて前記撮像手段に入る光量を導出することを特徴とする請求項5に記載の画像読取装置。
  7. 前記導出される光量は、以下の式
    により算出されることを特徴とする請求項6に記載の画像読取装置(ただし、Ipは光量であり、Lは前記対象物の注目点から前記照射手段に伸びるベクトルの正規化ベクトルであり、Nは前記注目点における前記対象物の表面の法線の正規化ベクトルであり、ILは反射補正係数である)。
  8. 前記導出される光量は、以下の式
    により算出されることを特徴とする請求項6に記載の画像読取装置(ただし、Ipは光量であり、Lは前記対象物の注目点から前記照射手段に伸びるベクトルの正規化ベクトルであり、Nは前記注目点における前記対象物の表面の法線の正規化ベクトルであり、Vは前記注目点から前記撮像手段に伸びるベクトルの正規化ベクトルであり、Rは前記注目点において前記照射手段から入射した光が正反射する方向の正規化ベクトルであり、kd,ksは反射補正係数であり、αは鏡面反射係数である)。
  9. 前記補正手段は、ラスタービットマップにおける画素毎に、前記導出した光量に基づき補正パラメータを導出することを特徴とする請求項6乃至8の何れか一項に記載の画像読取装置。
  10. 前記補正手段は、前記照射手段が光を照射していないときに前記撮像により取得した前記対象物の画像データに基づいて、前記光量を補正することを特徴とする請求項1乃至9の何れか一項に記載の画像読取装置。
  11. 読取台に置かれた対象物に照射手段によって光を照射し、前記対象物を撮像手段によって撮像して前記対象物の画像を読み取る画像読取装置で実行される画像読取方法であって、
    前記対象物の形状を測定する測定ステップと、
    前記照射手段が前記対象物に光を照射しているときに前記撮像により取得した前記対象物の画像データと、前記測定の結果とに基づいて、前記照射手段が前記対象物に照射する光量を補正する補正ステップと
    を備えることを特徴とする画像読取方法。
  12. コンピュータに、請求項11に記載の方法を実行させるための、プログラム。
JP2015026823A 2014-05-22 2015-02-13 画像読取装置、画像読取方法、及びプログラム Expired - Fee Related JP6422362B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015026823A JP6422362B2 (ja) 2014-05-22 2015-02-13 画像読取装置、画像読取方法、及びプログラム
US14/713,797 US9942442B2 (en) 2014-05-22 2015-05-15 Image reading apparatus, image reading method, and medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014106020 2014-05-22
JP2014106020 2014-05-22
JP2015026823A JP6422362B2 (ja) 2014-05-22 2015-02-13 画像読取装置、画像読取方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016001864A JP2016001864A (ja) 2016-01-07
JP6422362B2 true JP6422362B2 (ja) 2018-11-14

Family

ID=54556959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015026823A Expired - Fee Related JP6422362B2 (ja) 2014-05-22 2015-02-13 画像読取装置、画像読取方法、及びプログラム

Country Status (2)

Country Link
US (1) US9942442B2 (ja)
JP (1) JP6422362B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016111689A (ja) * 2014-12-01 2016-06-20 キヤノン株式会社 画像読取装置
JP6156447B2 (ja) * 2015-06-30 2017-07-05 カシオ計算機株式会社 画像処理装置、画像処理システム、画像処理方法およびプログラム
CN105827889B (zh) * 2016-03-31 2018-11-02 广州视睿电子科技有限公司 拍照式扫描仪的补光控制装置、方法以及拍照式扫描仪
JP2019097050A (ja) * 2017-11-24 2019-06-20 京セラドキュメントソリューションズ株式会社 画像読取装置及び画像読取プログラム
WO2019209694A1 (en) * 2018-04-23 2019-10-31 Wrapped Llc High-resolution animated raster artwork for display
CN109507685B (zh) * 2018-10-15 2023-06-27 天津大学 phong式光照模型的TOF传感器模型的测距方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3072236B2 (ja) * 1994-12-26 2000-07-31 シャープ株式会社 画像入力装置
JP2000078351A (ja) * 1998-08-28 2000-03-14 Minolta Co Ltd 画像読み取り装置
EP1067757A1 (en) * 1999-07-09 2001-01-10 Hewlett-Packard Company Curled surface imaging system
US7065242B2 (en) * 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
US20020015103A1 (en) * 2000-07-25 2002-02-07 Zhimin Shi System and method of capturing and processing digital images with depth channel
JP4012710B2 (ja) 2001-02-14 2007-11-21 株式会社リコー 画像入力装置
JP4133060B2 (ja) * 2002-03-14 2008-08-13 株式会社リコー 画像入力装置、画像入力方法、およびコンピュータ読み取り可能な記録媒体
US20080151194A1 (en) 2006-01-31 2008-06-26 Avner Segev Method and System for Illumination Adjustment
US8218003B2 (en) * 2007-10-05 2012-07-10 Seiko Epson Corporation Optimization strategies for GPU view projection matrix implementation
WO2009071106A1 (en) * 2007-12-05 2009-06-11 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Image analysis method, image analysis system and uses thereof
JP5473355B2 (ja) * 2008-03-18 2014-04-16 キヤノン株式会社 原稿読取装置
JP5504570B2 (ja) * 2008-03-27 2014-05-28 カシオ計算機株式会社 カメラ内蔵プロジェクタ及びカメラ内蔵プロジェクタの撮影方法
JP4568773B2 (ja) * 2008-05-22 2010-10-27 シャープ株式会社 原稿読取装置及び画像形成装置
JP5195741B2 (ja) * 2009-12-25 2013-05-15 株式会社デンソー 生体活動計測装置
US20120002248A1 (en) * 2010-07-02 2012-01-05 Toshiba Tec Kabushiki Kaisha Light emitting device and image scanning apparatus
JP5907596B2 (ja) 2010-10-12 2016-04-26 キヤノン株式会社 三次元計測装置、三次元計測方法及びプログラム
US8760731B2 (en) * 2011-03-30 2014-06-24 Xerox Corporation Document scanner, an associated method of operating a document scanner, and an associated program storage device
JP5906889B2 (ja) * 2012-03-29 2016-04-20 富士通株式会社 画像補正装置、画像補正方法、画像補正プログラム、及び画像読取装置
JP6091864B2 (ja) 2012-11-27 2017-03-08 株式会社キーエンス 形状測定装置、形状測定方法および形状測定プログラム

Also Published As

Publication number Publication date
US9942442B2 (en) 2018-04-10
US20150341520A1 (en) 2015-11-26
JP2016001864A (ja) 2016-01-07

Similar Documents

Publication Publication Date Title
JP6422362B2 (ja) 画像読取装置、画像読取方法、及びプログラム
KR102618542B1 (ko) ToF (time of flight) 촬영 장치 및 ToF 촬영 장치에서 깊이 이미지의 블러 감소를 위하여 이미지를 처리하는 방법
JP5580164B2 (ja) 光学情報処理装置、光学情報処理方法、光学情報処理システム、光学情報処理プログラム
JP5210203B2 (ja) 画像の差分による高精度ステレオカメラキャリブレーション
JP2013042411A (ja) 画像処理装置、その画像処理装置を有するプロジェクタ及びプロジェクタシステム、並びに、画像処理方法、そのプログラム、及び、そのプログラムを記録した記録媒体
JP2008529166A (ja) デジタルカメラ画像におけるシーン距離の判定
JP7442691B2 (ja) 物体測定のためのシステム及び方法
US11196876B2 (en) 3-D projection printing system and fabrication method therefor
JP2016100698A (ja) 校正装置、校正方法、プログラム
WO2016135856A1 (ja) 3次元形状計測システムおよびその計測方法
CN103546678A (zh) 用于校正后置摄像机的图像畸变的装置和方法
US9924066B2 (en) Image processing apparatus, information processing method, and program
JP5762015B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2006285763A (ja) 被写体についての陰影のない画像を生成する方法および装置、並びにそれに用いる白色板
JP6148999B2 (ja) 画像形成装置、キャリブレーションプログラムおよびキャリブレーションシステム
KR102538685B1 (ko) 다시점 정보를 이용하여 3d 정보를 복원하는 방법 및 이를 위한 장치
JP6420530B2 (ja) 情報処理装置、計測システム、制御システム、光量決定方法、プログラム及び記憶媒体
JP2019016843A (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム
JP6159017B2 (ja) オーバーヘッド型画像読取装置、画像処理方法、および、プログラム
JP7298687B2 (ja) 物体認識装置及び物体認識方法
JP6306494B2 (ja) 形状推定装置、形状推定方法および形状推定プログラム
KR102631472B1 (ko) 어안 왜곡 이미지의 무손실 보정 방법 및 장치
JP2005216191A (ja) ステレオ画像処理装置およびステレオ画像処理方法
WO2022209166A1 (ja) 情報処理装置、情報処理方法、及び較正用ターゲット
US20240095955A1 (en) Calibration method, calibration apparatus, calibration system, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180918

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181016

R151 Written notification of patent or utility model registration

Ref document number: 6422362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees