JP2015212897A - 画像処理装置、情報処理方法及びプログラム - Google Patents

画像処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2015212897A
JP2015212897A JP2014095535A JP2014095535A JP2015212897A JP 2015212897 A JP2015212897 A JP 2015212897A JP 2014095535 A JP2014095535 A JP 2014095535A JP 2014095535 A JP2014095535 A JP 2014095535A JP 2015212897 A JP2015212897 A JP 2015212897A
Authority
JP
Japan
Prior art keywords
unit
image
subject
reading
document table
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.)
Granted
Application number
JP2014095535A
Other languages
English (en)
Other versions
JP2015212897A5 (ja
JP6289254B2 (ja
Inventor
克幸 ▲高▼橋
克幸 ▲高▼橋
Katsuyuki Takahashi
亮 小坂
Ryo Kosaka
亮 小坂
宗士 大志万
Soshi Oshima
宗士 大志万
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 JP2014095535A priority Critical patent/JP6289254B2/ja
Priority to US15/122,650 priority patent/US9924066B2/en
Priority to PCT/JP2015/063537 priority patent/WO2015167020A1/en
Publication of JP2015212897A publication Critical patent/JP2015212897A/ja
Publication of JP2015212897A5 publication Critical patent/JP2015212897A5/ja
Application granted granted Critical
Publication of JP6289254B2 publication Critical patent/JP6289254B2/ja
Active 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/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
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B17/00Details of cameras or camera bodies; Accessories therefor
    • G03B17/48Details of cameras or camera bodies; Accessories therefor adapted for combination with other photographic or optical apparatus
    • G03B17/54Details of cameras or camera bodies; Accessories therefor adapted for combination with other photographic or optical apparatus with projector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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/0035User-machine interface; Control console
    • H04N1/00352Input means
    • H04N1/00381Input by recognition or interpretation of visible user gestures
    • 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/00795Reading arrangements
    • H04N1/00827Arrangements for reading an image from an unusual original, e.g. 3-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/04Scanning arrangements
    • H04N2201/0402Arrangements not specific to a particular one of the scanning methods covered by groups H04N1/04 - H04N1/207
    • H04N2201/0434Arrangements not specific to a particular one of the scanning methods covered by groups H04N1/04 - H04N1/207 specially adapted for scanning pages of a book
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/04Scanning arrangements
    • H04N2201/0402Arrangements not specific to a particular one of the scanning methods covered by groups H04N1/04 - H04N1/207
    • H04N2201/0436Scanning a picture-bearing surface lying face up on a support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/04Scanning arrangements
    • H04N2201/0402Arrangements not specific to a particular one of the scanning methods covered by groups H04N1/04 - H04N1/207
    • H04N2201/045Mounting the scanning elements in a collapsible or foldable structure, e.g. for ease of transportation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Image Input (AREA)
  • Accessories Of Cameras (AREA)
  • Position Input By Displaying (AREA)
  • Facsimiles In General (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

【課題】カメラスキャナ等の画像処理装置におけるユーザーの操作性を向上させる。【解決手段】書画台上の撮像画像を撮像部を介して取得する撮像画像取得手段と、書画台上の距離画像を立体測定部を介して取得する距離画像取得手段と、取得された撮像画像に基づいて、書画台上における被写体の載置を検知する検知手段と、前記被写体の載置が検知された場合、前記被写体の読み取りに関する操作表示を投射部を介して書画台上に投射する投射手段と、取得された距離画像に基づいて、書画台上におけるユーザーのジェスチャーを認識する認識手段と、投射された操作表示に対する前記ジェスチャーに応じて、前記被写体の読み取り画像を取得する読み取り手段と、を有することによって課題を解決する。【選択図】図2

Description

本発明は、画像処理装置、情報処理方法及びプログラムに関する。
従来、文書をスキャンして電子データとして保存する場合、撮像にラインセンサを用いるラインスキャナと、2次元の撮像センサを用いるカメラスキャナとがある。特に、書画台の上方にカメラを配置し、原稿を上向きに書画台に置いて撮像するカメラスキャナの場合には、1枚の原稿であれば置くだけで素早くスキャンすることができるとともに、本のように厚みのある原稿も容易に書画台に置いてスキャンすることができる。更に、紙や本のような文書だけでなく、立体物を書画台上に置いて立体形状をスキャンするカメラスキャナが特許文献1で開示されている。特許文献1で開示されているカメラスキャナは、撮像するためのカメラとともに投光部を備え、投光部から投光する計測パターンをカメラで撮像し、三角測量の原理により立体形状を測定する。そして、前記カメラスキャナは、書画台上に置かれた物体の立体形状を算出して平面原稿か書籍か立体物かを判別し、それぞれに応じて適切な撮影モードで撮影を行う。また、特許文献2で開示されているカメラスキャナは、同様の構成を備えるとともに、書画台に物体が置かれていないときから常時投光部により計測パターンを投光し、立体形状を測定し続けることにより、物体が書画台に置かれたことを検知する。
一方、特許文献3で開示されているユーザーインターフェイスシステムでは、プロジェクタでコンピュータ画面を机上に投射し、指先でそのコンピュータ画面を操作する。指先の検出には赤外線カメラを用いている。そして、前記ユーザーインターフェイスシステムでは、机上の紙書類や書籍等に印刷されたバーコードを読み取ることによって、電子情報とのリンクを作成することができるようにしている。
特許第4012710号公報 特許第3954436号公報 特許第3834766号公報
しかしながら、特許文献1、特許文献2のカメラスキャナにおいては、ユーザーインターフェイス手段が限られているため、ユーザーに対して操作性を向上させることが難しかった。一方、特許文献3のユーザーインターフェイスシステムにおいては、指先による直観的な操作を行うことを可能としているものの、机上に置く物の対象が紙書類や書籍のような文書のみであった。そのため、前記ユーザーインターフェイスシステムにおいては、机上に置いた文書以外の立体物のような物に対しての操作や、また、紙書類や書籍といった対象物の特徴に応じて操作性を変えるような動的な制御を行うことが困難だった。
本発明は、カメラスキャナ等の画像処理装置におけるユーザーの操作性を向上させることを目的とする。
そこで、本発明の画像処理装置は、書画台上の撮像画像を撮像部を介して取得する撮像画像取得手段と、前記書画台上の距離画像を立体測定部を介して取得する距離画像取得手段と、前記撮像画像取得手段により取得された撮像画像に基づいて、前記書画台上における被写体の載置を検知する検知手段と、前記検知手段により前記被写体の載置が検知された場合、前記被写体の読み取りに関する操作表示を投射部を介して前記書画台上に投射する投射手段と、前記距離画像取得手段により取得された距離画像に基づいて、前記書画台上におけるユーザーのジェスチャーを認識する認識手段と、前記投射手段により投射された前記操作表示に対する前記認識手段により認識された前記ジェスチャーに応じて、前記被写体の読み取り画像を取得する読み取り手段と、を有する。
本発明によれば、カメラスキャナ等の画像処理装置におけるユーザーの操作性を向上させることができる。
システム構成の一例を示す図である。 カメラスキャナの外観の一例を示す図である。 カメラスキャナのハードウェア構成の一例を示す図である。 カメラスキャナの機能構成等の一例を示す図である。 実施形態1の距離画像取得部の処理の一例を示すフローチャート等である。 実施形態1のジェスチャー認識部の処理の一例を示すフローチャートである。 指先検出処理を説明するための模式図である。 実施形態1の物体検知部の処理の一例を示すフローチャートである。 平面原稿画像撮影部の処理の一例を示すフローチャートである。 平面原稿画像撮影部の処理を説明するための模式図である。 書籍画像撮影部の処理の一例を示すフローチャートである。 書籍画像撮影部の処理を説明するための模式図である。 実施形態1の立体形状測定部の処理の一例を示すフローチャートである。 立体形状測定部の処理を説明するための模式図である。 実施形態1のメイン制御部の処理の一例を示すフローチャートである。 書画台上の投射画面の一例を示す図である。 実施形態2の処理の一例を示すフローチャート等である。 実施形態3の処理の一例を示すフローチャート等である。 実施形態4の物体検知部の処理の一例を示すフローチャートである。 実施形態4のメイン制御部の処理の一例を示すフローチャート等である。 実施形態5の処理の一例を示すフローチャートである。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<実施形態1>
図1は、一実施形態に係るカメラスキャナ101が含まれるシステム構成の一例を示す図である。
図1に示すように、カメラスキャナ101は、イーサネット(登録商標)等のネットワーク104にてホストコンピュータ102及びプリンタ103に接続されている。なお、カメラスキャナ101は、画像処理装置の一例である。図1のシステム構成において、ホストコンピュータ102からの指示により、カメラスキャナ101から画像を読み取るスキャン機能や、スキャンデータをプリンタ103により出力するプリント機能の実行が可能である。また、ホストコンピュータ102を介さず、カメラスキャナ101への直接の指示により、スキャン機能、プリント機能の実行も可能である。
(カメラスキャナの構成)
図2は、一実施形態に係るカメラスキャナ101の外観の一例を示す図である。
図2(a)に示すように、カメラスキャナ101は、コントローラ部201、カメラ部202、腕部203、短焦点プロジェクタ207(以下、プロジェクタ207という)、距離画像センサ部208を含む。カメラスキャナ101の本体であるコントローラ部201と、撮像を行うためのカメラ部202、プロジェクタ207及び距離画像センサ部208は、腕部203により連結されている。腕部203は関節を用いて曲げ伸ばしが可能である。ここで、カメラ部202は、撮像画像を取得する撮像部の一例である。プロジェクタ207は、後述するユーザーが操作を行うための操作画面(操作表示)を投射する投射部の一例である。距離画像センサ部208は、距離画像を取得する立体測定部の一例である。
図2(a)には、カメラスキャナ101が設置されている書画台204も示されている。カメラ部202及び距離画像センサ部208のレンズは、書画台204方向に向けられており、破線で囲まれた読み取り領域205内の画像を読み取り可能である。図2の例では、原稿206は読み取り領域205内に置かれているので、カメラスキャナ101で読み取り可能である。また、書画台204内にはターンテーブル209が設けられている。ターンテーブル209は、コントローラ部201からの指示によって回転することが可能であり、ターンテーブル209上に置かれた物体(被写体)とカメラ部202との角度を変えることができる。
カメラ部202は、単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像とが可能なものとすることが好ましい。
なお、図2に示されていないが、カメラスキャナ101は、LCDタッチパネル330及びスピーカ340を更に含むこともできる。
図2(b)は、カメラスキャナ101における座標系を表している。カメラスキャナ101では各ハードウェアデバイスに対して、カメラ座標系、距離画像座標系、プロジェクタ座標系という座標系が定義される。これらはカメラ部202及び距離画像センサ部208のRGBカメラが撮像する画像平面、又はプロジェクタ207が投射(投影)する画像平面をXY平面とし、画像平面に直交した方向をZ方向として定義したものである。更に、これらの独立した座標系の3次元データを統一的に扱えるようにするために、書画台204を含む平面をXY平面とし、このXY平面から上方に垂直な向きをZ軸とする直交座標系を定義する。
座標系を変換する場合の例として、図2(c)に直交座標系と、カメラ部202を中心としたカメラ座標系を用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。直交座標系における3次元点P[X,Y,Z]は、式(1)によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
ここで、Rc及びtcは、直交座標系に対するカメラの姿勢(回転)と位置(並進)とによって求まる外部パラメータによって構成され、Rcを3×3の回転行列、tcを並進ベクトルと呼ぶ。逆に、カメラ座標系で定義された3次元点は式(2)によって、直交座標系へ変換することができる
更に、カメラ部202で撮影される2次元のカメラ画像平面は、カメラ部202によって3次元空間中の3次元情報が2次元情報に変換されたものである。即ち、カメラ座標系上での3次元点Pc[Xc,Yc,Zc]を、式(3)によってカメラ画像平面での2次元座標pc[xp,yp]に透視投影変換することによって変換することができる。
ここで、Aは、カメラの内部パラメータと呼ばれ、焦点距離と画像中心等とで表現される3×3の行列である。
以上のように、式(1)と式(3)とを用いることで、直交座標系で表された3次元点群を、カメラ座標系での3次元点群座標やカメラ画像平面に変換することができる。なお、各ハードウェアデバイスの内部パラメータ及び直交座標系に対する位置姿勢(外部パラメータ)は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に断りがなく3次元点群と表記した場合は、直交座標系における3次元データ(立体データ)を表しているものとする。
(カメラスキャナのコントローラのハードウェア構成)
図3は、カメラスキャナ101の本体であるコントローラ部201等のハードウェア構成の一例を示す図である。
図3に示すように、コントローラ部201は、システムバス301に接続されたCPU302、RAM303、ROM304、HDD305、ネットワークI/F306、画像処理プロセッサ307、カメラI/F308、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311及びUSBコントローラ312を含む。
CPU302は、コントローラ部201全体の動作を制御する中央演算装置である。RAM303は、揮発性メモリである。ROM304は、不揮発性メモリであり、CPU302の起動用プログラムが格納されている。HDD305は、RAM303と比較して大容量なハードディスクドライブ(HDD)である。HDD305にはコントローラ部201の実行する、カメラスキャナ101の制御用プログラムが格納されている。CPU302が、ROM304やHDD305に格納されているプログラムを実行することにより、カメラスキャナ101の機能構成及び後述するフローチャートの処理(情報処理)が実現される。
CPU302は、電源ON等の起動時、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、CPU302がHDD305に格納されている制御用プログラムを読み出し、RAM303上に展開するためのものである。CPU302は、起動用プログラムを実行すると、続けてRAM303上に展開した制御用プログラムを実行し、制御を行う。また、CPU302は、制御用プログラムによる動作に用いるデータもRAM303上に格納して読み書きを行う。HDD305上には更に、制御用プログラムによる動作に必要な各種設定や、また、カメラ入力によって生成した画像データを格納することができ、CPU302によって読み書きされる。CPU302は、ネットワークI/F306を介してネットワーク104上の他の機器との通信を行う。
画像処理プロセッサ307は、RAM303に格納された画像データを読み出して処理し、またRAM303へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等である。
カメラI/F308は、カメラ部202及び距離画像センサ部208と接続され、CPU302からの指示に応じてカメラ部202から画像データを、距離画像センサ部208から距離画像データを取得してRAM303へ書き込む。また、カメラI/F308は、CPU302からの制御コマンドをカメラ部202及び距離画像センサ部208へ送信し、カメラ部202及び距離画像センサ部208の設定を行う。
また、コントローラ部201は、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311及びUSBコントローラ312のうち少なくとも1つを更に含むことができる。
ディスプレイコントローラ309は、CPU302の指示に応じてディスプレイへの画像データの表示を制御する。ここでは、ディスプレイコントローラ309は、プロジェクタ207及びLCDタッチパネル330に接続されている。
シリアルI/F310は、シリアル信号の入出力を行う。ここでは、シリアルI/F310は、ターンテーブル209に接続され、CPU302の回転開始・終了及び回転角度の指示をターンテーブル209へ送信する。また、シリアルI/F310は、LCDタッチパネル330に接続され、CPU302はLCDタッチパネル330が押下されたときに、シリアルI/F310を介して押下された座標を取得する。
オーディオコントローラ311は、スピーカ340に接続され、CPU302の指示に応じて音声データをアナログ音声信号に変換し、スピーカ340を通じて音声を出力する。
USBコントローラ312は、CPU302の指示に応じて外付けのUSBデバイスの制御を行う。ここでは、USBコントローラ312は、USBメモリやSDカード等の外部メモリ350に接続され、外部メモリ350へのデータの読み書きを行う。
(カメラスキャナの機能構成)
図4(a)は、CPU302が制御用プログラムを実行することにより実現されるカメラスキャナ101の機能構成401の一例を示す図である。また、図4(b)は、機能構成401の各モジュールの関係をシーケンス図として示したものである。
カメラスキャナ101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。
メイン制御部402は、制御の中心であり、機能構成401内の他の各モジュールを図4(b)に示すように制御する。
画像取得部416は、画像入力処理を行うモジュールであり、カメラ画像取得部407、距離画像取得部408から構成される。カメラ画像取得部407は、カメラI/F308を介してカメラ部202が出力する画像データを取得し、RAM303へ格納する(撮像画像取得処理)。距離画像取得部408は、カメラI/F308を介して距離画像センサ部208が出力する距離画像データを取得し、RAM303へ格納する(距離画像取得処理)。距離画像取得部408の処理の詳細は図5を用いて後述する。
認識処理部417は、カメラ画像取得部407、距離画像取得部408が取得する画像データから書画台204上の物体の動きを検知して認識するモジュールであり、ジェスチャー認識部409、物体検知部410から構成される。ジェスチャー認識部409は、画像取得部416から書画台204上の画像を取得し続け、タッチ等のジェスチャーを検知するとメイン制御部402へ通知する。物体検知部410は、メイン制御部402から物体載置待ち処理又は物体除去待ち処理の通知を受けると、画像取得部416から書画台204を撮像した画像を取得する。そして、物体検知部410は、書画台204上に物体が置かれて静止するタイミング又は物体が取り除かれるタイミングを検知する処理を行う。ジェスチャー認識部409、物体検知部410の処理の詳細は図6〜図8を用いてそれぞれ後述する。
スキャン処理部418は、実際に対象物のスキャンを行うモジュールであり、平面原稿画像撮影部411、書籍画像撮影部412、立体形状測定部413から構成される。平面原稿画像撮影部411は平面原稿、書籍画像撮影部412は書籍、立体形状測定部413は立体物に、それぞれ適した処理(読み取り処理)を実行し、それぞれに応じた形式のデータ(読み取り画像)を出力する。これらのモジュールの処理の詳細は図9〜図14を用いてそれぞれ後述する。
ユーザーインターフェイス部403は、GUI部品生成表示部414と、投射領域検出部415とから構成される。GUI部品生成表示部414は、メイン制御部402からの要求を受け、メッセージやボタン等のGUI部品を生成する。なお、ここでいうGUI部品は、操作表示を構成するオブジェクトの一例である。そして、GUI部品生成表示部414は、表示部406へ生成したGUI部品の表示を要求する。なお、書画台204上のGUI部品の表示場所は、投射領域検出部415により検出される。
表示部406は、ディスプレイコントローラ309を介して、プロジェクタ207又はLCDタッチパネル330へ要求されたGUI部品の表示を行う。プロジェクタ207は、書画台204に向けて設置されているため、書画台204上にGUI部品を投射することが可能となっている。また、ユーザーインターフェイス部403は、ジェスチャー認識部409が認識したタッチ等のジェスチャー操作、又はシリアルI/F310を介したLCDタッチパネル330からの入力操作、更にそれらの座標を受信する。そして、ユーザーインターフェイス部403は、描画中の操作画面の内容と操作座標とを対応させて操作内容(押下されたボタン等)を判定する。ユーザーインターフェイス部403がこの操作内容をメイン制御部402へ通知することにより、操作者の操作を受け付ける。
ネットワーク通信部404は、ネットワークI/F306を介して、ネットワーク104上の他の機器とTCP/IPによる通信を行う。
データ管理部405は、CPU302が制御用プログラムを実行することにより生成した作業データ等の様々なデータをHDD305上の所定の領域へ保存し、管理する。前記データは、例えば平面原稿画像撮影部411、書籍画像撮影部412、立体形状測定部413が生成したスキャンデータ等である。
(距離画像センサ及び距離画像取得部の説明)
図3に距離画像センサ部208の構成を示している。距離画像センサ部208は、赤外線によるパターン投射方式の距離画像センサである。赤外線パターン投射部361は、対象物に、人の目には不可視である赤外線によって3次元測定パターンを投射する。赤外線カメラ362は、対象物に投射した3次元測定パターンを読みとるカメラである。RGBカメラ363は、人の目に見える可視光をRGB信号で撮影するカメラである。
距離画像取得部408の処理を図5(a)のフローチャートを用いて説明する。また、図5(b)〜(d)は、パターン投射方式による距離画像の計測原理を説明するための図面である。
距離画像取得部408は、処理を開始すると、S501では図5(b)に示すように赤外線パターン投射部361を用いて赤外線による3次元形状測定パターン(立体形状測定パターン)522を対象物521に投射する。
S502で、距離画像取得部408は、RGBカメラ363を用いて対象物を撮影したRGBカメラ画像523、及び赤外線カメラ362を用いてS501で投射した3次元形状測定パターン522を撮影した赤外線カメラ画像524を取得する。なお、赤外線カメラ362とRGBカメラ363とでは設置位置が異なるため、図5(c)に示すようにそれぞれで撮影される2つのRGBカメラ画像523及び赤外線カメラ画像524の撮影領域が異なる。
S503で、距離画像取得部408は、赤外線カメラ362の座標系からRGBカメラ363の座標系への座標系変換を用いて赤外線カメラ画像524をRGBカメラ画像523の座標系に合わせる。なお、赤外線カメラ362とRGBカメラ363との相対位置や、それぞれの内部パラメータは事前のキャリブレーション処理により既知であるとする。
S504で、距離画像取得部408は、図5(d)に示すように、3次元形状測定パターン522とS503で座標変換を行った赤外線カメラ画像524との間での対応点を抽出する。例えば、距離画像取得部408は、赤外線カメラ画像524上の1点を3次元形状測定パターン522上から探索して、同一の点が検出された場合に対応付けを行う。また、距離画像取得部408は、赤外線カメラ画像524の画素の周辺のパターンを3次元形状測定パターン522上から探索し、一番類似度が高い部分と対応付けてもよい。
S505で、距離画像取得部408は、赤外線パターン投射部361と赤外線カメラ362とを結ぶ直線を基線525として三角測量の原理を用いて計算を行うことにより、赤外線カメラ362からの距離を算出する。距離画像取得部408は、S504で対応付けができた画素については、その画素に対応する位置における対象物521と赤外線カメラ362との距離を算出して画素値として保存する。一方、距離画像取得部408は、対応付けができなかった画素については、距離の計測ができなかった部分として無効値を保存する。距離画像取得部408は、これをS503で座標変換を行った赤外線カメラ画像524の全画素に対して行うことで、各画素に距離値(距離情報)が入った距離画像を生成する。
S506で、距離画像取得部408は、距離画像の各画素にRGBカメラ画像523のRGB値を保存することにより、1画素につきR、G、B、距離の4つの値を持つ距離画像を生成する。ここで取得した距離画像は、距離画像センサ部208のRGBカメラ363で定義された距離画像センサ座標系が基準となっている。
そこでS507で、距離画像取得部408は、図2(b)を用いて上述したように、距離画像センサ座標系として得られた距離情報を直交座標系における3次元点群に変換する。以後、特に指定がなく3次元点群と表記した場合は、直交座標系における3次元点群を示すものとする。
なお、本実施形態では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、2つのRGBカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するTOF(Time of Flight)方式を用いてもよい。
(ジェスチャー認識部の説明)
ジェスチャー認識部409の処理の詳細を、図6のフローチャートを用いて説明する。
図6において、ジェスチャー認識部409は、処理を開始すると、S601では初期化処理を行う。初期化処理で、ジェスチャー認識部409は、距離画像取得部408から距離画像を1フレーム取得する。ここで、ジェスチャー認識部409の処理の開始時は書画台204上に対象物が置かれていない状態であるため、初期状態として書画台204の平面の認識を行う。即ち、ジェスチャー認識部409は、取得した距離画像から最も広い平面を抽出し、その位置と法線ベクトル(以降、書画台204の平面パラメータと呼ぶ)とを算出し、RAM303に保存する。
S602で、ジェスチャー認識部409は、S621〜622に示す、書画台204上に存在する物体の3次元点群を取得する。
S621で、ジェスチャー認識部409は、距離画像取得部408から距離画像と3次元点群とを1フレーム取得する。
S622で、ジェスチャー認識部409は、書画台204の平面パラメータを用いて、取得した3次元点群から書画台204を含む平面にある点群を除去する。
S603で、ジェスチャー認識部409は、S631〜S634に示す、取得した3次元点群からユーザーの手の形状及び指先を検出する処理を行う。ここで、S603の処理について、図7に示す、指先検出処理の方法を模式的に表した図を用いて説明する。
S631で、ジェスチャー認識部409は、S602で取得した3次元点群から、書画台204を含む平面から所定の高さ以上にある、肌色の3次元点群を抽出することで、手の3次元点群を得る。図7(a)の701は、抽出した手の3次元点群を表している。
S632で、ジェスチャー認識部409は、抽出した手の3次元点群を、書画台204の平面に射影した2次元画像を生成して、その手の外形を検出する。図7(a)の702は、書画台204の平面に投射した3次元点群を表している。投射は、点群の各座標を、書画台204の平面パラメータを用いてされればよい。また、図7(b)に示すように、投射した3次元点群から、xy座標の値だけを取り出せば、z軸方向から見た2次元画像703として扱うことができる。このとき、ジェスチャー認識部409は、手の3次元点群の各点が、書画台204の平面に投射した2次元画像の各座標のどれに対応するかを、記憶しておくものとする。
S633で、ジェスチャー認識部409は、検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。図7(c)は、外形の曲率から指先を検出する方法を模式的に表したものである。704は、書画台204の平面に投射された2次元画像703の外形を表す点の一部を表している。ここで、704のような、外形を表す点のうち、隣り合う5個の点を含むように円を描くことを考える。円705、707が、その例である。この円を、全ての外形の点に対して順に描き、その直径(例えば706、708)が所定の値より小さい(曲率が小さい)ことを以て、指先とする。この例では隣り合う5個の点としたが、その数は限定されるものではない。また、ここでは曲率を用いたが、外形に対して楕円フィッティングを行うことで、指先を検出してもよい。
S634で、ジェスチャー認識部409は、検出した指先の個数及び各指先の座標を算出する。このとき、前述したように、書画台204に投射した2次元画像の各点と、手の3次元点群の各点との対応関係を記憶しているため、ジェスチャー認識部409は、各指先の3次元座標を得ることができる。今回は、3次元点群から2次元画像に投射した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、RGB画像の肌色領域から手の領域を抽出し、上述と同様の方法(外形の曲率計算等)で、手領域のうちの指先を検出してもよい。この場合、検出した指先の座標はRGB画像や距離画像といった、2次元画像上の座標であるため、ジェスチャー認識部409は、その座標における距離画像の距離情報を用いて、直交座標系の3次元座標に変換する必要がある。このとき、指先点となる外形上の点ではなく、指先を検出するときに用いた、曲率円の中心を指先点としてもよい。
S604で、ジェスチャー認識部409は、S641〜S646に示す、検出した手の形状及び指先からのジェスチャー判定処理を行う。
S641で、ジェスチャー認識部409は、S603で検出した指先が1つかどうか判定する。ジェスチャー認識部409は、指先が1つでなければS646へ進み、ジェスチャーなしと判定する。ジェスチャー認識部409は、S641において検出した指先が1つであればS642へ進み、検出した指先と書画台204を含む平面との距離を算出する。
S643で、ジェスチャー認識部409は、S642で算出した距離が所定値以下であるかどうかを判定し、所定値以下であればS644へ進んで指先が書画台204へタッチした、タッチジェスチャーありと判定する。ジェスチャー認識部409は、S643においてS642で算出した距離が所定値以下でなければS645へ進み、指先が移動したジェスチャー(タッチはしていないが指先が書画台204上に存在するジェスチャー)と判定する。
S605で、ジェスチャー認識部409は、判定したジェスチャーをメイン制御部402へ通知し、S602へ戻ってジェスチャー認識処理を繰り返す。
以上の処理により、ジェスチャー認識部409は、距離画像に基づいてユーザーのジェスチャーを認識することができる。
(物体検知部の処理)
図8のフローチャートを用いて、物体検知部410の処理の説明を行う。
物体検知部410は、処理を開始すると、図8(a)のS801ではS811〜S813に示す初期化処理を行う。S811で、物体検知部410は、カメラ画像取得部407からカメラ画像を、距離画像取得部408から距離画像をそれぞれ1フレーム取得する。S812で、物体検知部410は、取得したカメラ画像を前フレームカメラ画像として保存する。S813で、物体検知部410は、取得したカメラ画像及び距離画像を書画台背景カメラ画像及び書画台背景距離画像としてそれぞれ保存する。以降、「書画台背景カメラ画像」及び「書画台背景距離画像」と記載した場合は、ここで取得したカメラ画像及び距離画像のことを指す。
S802で、物体検知部410は、物体が書画台204上に置かれたことの検知(物体載置検知処理)を行う。本処理の詳細は図8(b)を用いて後述する。
S803で、物体検知部410は、S802で載置を検知した書画台204上の物体が除去されることの検知(物体除去検知処理)を行う。本処理の詳細は図8(c)を用いて後述する。
図8(b)は、S802の物体載置検知処理の詳細である。
物体検知部410は、物体載置検知処理を開始すると、S821でカメラ画像取得部407からカメラ画像を1フレーム取得する。
S822で、物体検知部410は、取得したカメラ画像と前フレームカメラ画像との差分を計算してその絶対値を合計した差分値を算出する。
S823で、物体検知部410は、算出した差分値が予め決めておいた所定値以上(閾値以上)かどうかを判定する。物体検知部410は、算出した差分値が所定値未満(閾値未満)であれば書画台204上には物体がないと判定し、S828へ進んで現フレームのカメラ画像を前フレームカメラ画像として保存してからS821へ戻って処理を続ける。物体検知部410は、S823において差分値が所定値以上であればS824へ進み、S821で取得したカメラ画像と前フレームカメラ画像との差分値を、S822と同様に算出する。
S825で、物体検知部410は、算出した差分値が予め決めておいた所定値以下であるかどうかを判定する。物体検知部410は、S825において算出した差分値が所定値よりも大きければ書画台204上の物体が動いていると判定し、S828へ進んで現フレームのカメラ画像を前フレームカメラ画像として保存してから、S821へ戻り処理を続ける。物体検知部410は、S825において算出した差分値が所定値以下であればS826へ進む。
S826で、物体検知部410は、S825が連続してYESとなった回数から、差分値が所定値以下、即ち書画台204上の物体が静止した状態が予め決めておいたフレーム数続いたかどうかを判定する。物体検知部410は、S826において書画台204上の物体が静止した状態が予め決めておいたフレーム数続いていないと判定したら、S828へ進んで現フレームのカメラ画像を前フレームカメラ画像として保存し、S821へ戻って処理を続ける。物体検知部410は、S826において書画台204上の物体が静止した状態が予め決めておいたフレーム数続いたと判定したら、S827へ進んで物体が置かれたことをメイン制御部402へ通知し、物体載置検知処理を終了する。
図8(c)は、S803の物体除去検知処理の詳細である。
物体検知部410は、物体除去検知処理を開始すると、S831ではカメラ画像取得部407からカメラ画像を1フレーム取得する。
S832で、物体検知部410は、取得したカメラ画像と書画台背景カメラ画像との差分値を算出する。
S833で、物体検知部410は、算出した差分値が予め決めておいた所定値以下かどうかを判定する。物体検知部410は、S833において算出した差分値が予め決めておいた所定値よりも大きければ書画台204上にまだ物体が存在するため、S831へ戻って処理を続ける。物体検知部410は、S833において算出した差分値が予め決めておいた所定値以下であれば書画台204上の物体がなくなったため、物体除去をメイン制御部402へ通知し、物体除去検知処理を終了する。
以上の処理により、物体検知部410は、カメラ画像に基づいて書画台204上の物体の載置及び除去を検知することができる。付言すると、物体検知部410は、前記物体が紙等の平面物の場合、距離画像からだけでは書画台204上の物体の載置及び除去を検知することができないが、上述したようにカメラ画像を用いることによって検知することができるようになる。
(平面原稿画像撮影部の説明)
図9のフローチャートを用いて、平面原稿画像撮影部411が実行する処理について説明する。図10は、平面原稿画像撮影部411の処理を説明するための模式図である。
平面原稿画像撮影部411は、処理を開始すると、S901ではカメラ画像取得部407を介してカメラ部202からの画像を1フレーム取得する。ここで、カメラ部202の座標系は図2(b)で示したように書画台204に正対していないため、このときの撮影画像は図10(a)に示すように対象物1001、書画台204ともに歪んでいる。
S902で、平面原稿画像撮影部411は、書画台背景カメラ画像とS901で取得したカメラ画像との画素毎の差分を算出し、差分画像を生成した上で、差分のある画素が黒、差分のない画素が白となるように二値化する。したがって、ここで平面原稿画像撮影部411が生成した差分画像は、図10(b)の領域1002のように、対象物1001の領域が黒色である(差分がある)画像となる。
S903で、平面原稿画像撮影部411は、領域1002を用いて、図10(c)のように対象物1001のみの画像を抽出する。
S904で、平面原稿画像撮影部411は、抽出した原稿領域画像に対して階調補正を行う。
S905で、平面原稿画像撮影部411は、抽出した原稿領域画像に対してカメラ座標系から書画台204への射影変換を行い、図10(d)のように書画台204の真上から見た画像1003に変換する。ここで用いる射影変換パラメータは、ジェスチャー認識部409の処理において、前述した図6のS601で算出した平面パラメータとカメラ座標系とから求めることができる。なお、図10(d)に示したように、書画台204上への原稿の置き方により、ここで得られる画像1003は傾いていることがある。
そこで、S906で、平面原稿画像撮影部411は、画像1003を矩形近似してからその矩形が水平になるように回転し、図10(e)で示した画像1004のように傾きのない画像を得る。平面原稿画像撮影部411は、図10(f)に示すように、基準ラインに対しての矩形の傾きθ1及びθ2を算出し、傾きが小さい方(ここではθ1)を画像1003の回転角度として決定する。また、平面原稿画像撮影部411は、図10(g)及び図10(h)に示すように、画像1003中に含まれる文字列に対してOCR処理を行い、文字列の傾きから画像1003の回転角度の算出及び天地判定処理をしてもよい。
S907で、平面原稿画像撮影部411は、抽出した画像1004に対して、予め決めておいた画像フォーマット(例えばJPEG、TIFF、PDF等)に合わせて圧縮及びファイルフォーマット変換を行う。そして、平面原稿画像撮影部411は、データ管理部405を介してHDD305の所定の領域へファイルとして保存し、処理を終了する。
(書籍画像撮影部の処理)
図11のフローチャートを用いて、書籍画像撮影部412が実行する処理について説明する。図12は、書籍画像撮影部412の処理を説明するための模式図である。
図11(a)で、書籍画像撮影部412は、処理を開始すると、S1101ではカメラ画像取得部407、距離画像取得部408を用いて、カメラ部202からカメラ画像を、距離画像センサ部208から距離画像を、それぞれ1フレームずつ取得する。ここで得られるカメラ画像の例を図12(a)に示す。図12(a)では、書画台204と対象物体1211である撮影対象書籍とを含むカメラ画像1201が得られている。図12(b)は、ここで得られた距離画像の例である。図12(b)では、距離画像センサ部208に近いほど濃い色で表されており、対象物体1212上の各画素において距離画像センサ部208からの距離情報が含まれる距離画像1202が得られている。また、図12(b)において、距離画像センサ部208からの距離が書画台204よりも遠い画素については白で表されており、対象物体1212の書画台204に接している部分(対象物体1212では右側のページ)も同じく白色となる。
S1102で、書籍画像撮影部412は、S1111〜S1116に示す、取得したカメラ画像と距離画像とから書画台204上に載置された書籍物体の3次元点群を算出する処理を行う。
S1111で、書籍画像撮影部412は、カメラ画像と書画台背景カメラ画像との画素毎の差分を算出して二値化を行い、図12(c)のように物体領域1213が黒で示されるカメラ差分画像1203を生成する。
S1112で、書籍画像撮影部412は、カメラ差分画像1203を、カメラ座標系から距離画像センサ座標系への変換を行い、図12(d)のように距離画像センサ部208から見た物体領域1214を含むカメラ差分画像1204を生成する。
S1113で、書籍画像撮影部412は、距離画像と書画台背景距離画像との画素毎の差分を算出して二値化を行い、図12(e)のように物体領域1215が黒で示される距離差分画像1205を生成する。ここで、対象物体1211の書画台204と同じ色である部分については、画素値の差が小さくなるためカメラ差分画像1203中の物体領域1213に含まれなくなる場合がある。また、対象物体1212の書画台204と高さが変わらない部分については、距離画像センサ部208からの距離値が書画台204までの距離値と比べて差が小さいため、距離差分画像1205中の物体領域1215には含まれない場合がある。
そこで、S1114で、書籍画像撮影部412は、カメラ差分画像1203と距離差分画像1205との和をとって図12(f)に示す物体領域画像1206を生成し、物体領域1216を得る。ここで物体領域1216は書画台204と比べて色が異なるか又は高さが異なる領域となり、カメラ差分画像1203中の物体領域1213か距離差分画像1205中の物体領域1215の何れか片方のみを使った場合よりも、より正確に物体領域を表している。物体領域画像1206は距離画像センサ座標系であるため、S1115で、書籍画像撮影部412は、距離画像1202から物体領域画像1206中の物体領域1216のみを抽出することが可能である。
S1116で、書籍画像撮影部412は、S1115で抽出した距離画像を直交座標系に変換することにより図12(g)に示した3次元点群1217を生成する。この3次元点群1217が書籍物体の3次元点群である。
S1103で、書籍画像撮影部412は、取得したカメラ画像と、算出した3次元点群とから、書籍画像のゆがみ補正処理を行い、2次元の書籍画像を生成する。S1103の処理は、図11(b)で詳しく説明する。
図11(b)のフローチャートを用いて、S1103の書籍画像ゆがみ補正処理について説明する。
書籍画像撮影部412は、書籍画像ゆがみ補正処理を開始すると、S1121では物体領域画像1206を距離センサ画像座標系からカメラ座標系に変換する。
S1122で、書籍画像撮影部412は、カメラ画像1201から物体領域画像1206中の物体領域1216をカメラ座標系に変換したものを用いて物体領域を抽出する。
S1123で、書籍画像撮影部412は、抽出した物体領域画像を書画台平面へ射影変換する。
S1124で、書籍画像撮影部412は、射影変換した物体領域画像を矩形近似し、その矩形が水平になるように回転することによって、図12(h)の書籍画像1208を生成する。書籍画像1208は近似矩形の片方の編がX軸に平行となっているため、書籍画像撮影部412は、以降で書籍画像1208に対してX軸方向へのゆがみ補正処理を行う。
S1125で、書籍画像撮影部412は、書籍画像1208の最も左端の点をPとする(図12(h)の点P)。
S1126で、書籍画像撮影部412は、書籍物体の3次元点群1217から点Pの高さ(図12(h)のh1)を取得する。
S1127で、書籍画像撮影部412は、書籍画像1208の点Pに対してX軸方向に所定の距離(図12(h)のx1)離れた点をQとする(図12(h)の点Q)。
S1128で、書籍画像撮影部412は、3次元点群1217から点Qの高さ(図12(h)のh2)を取得する。
S1129で、書籍画像撮影部412は、点Pと点Qとの書籍物体上での距離(図12(h)のl1)を式(4)によって、直線近似で算出する。
S1130で、書籍画像撮影部412は、算出した距離l1でPQ間の距離を補正し、図12(h)における画像1219上の点P'と点Q'との位置に画素をコピーする。
S1131で、書籍画像撮影部412は、処理を行った点Qを点Pとし、S1128に戻って同じ処理を行うことによって図12(h)の点Qと点Rとの間の補正を実行することができ、画像1219上の点Q'と点R'との画素とする。書籍画像撮影部412は、この処理を全画素について繰り返すことにより、画像1219はゆがみ補正後の画像となる。
S1132で、書籍画像撮影部412は、ゆがみ補正処理を全ての点について終えたかどうかを判定し、終えていれば書籍物体のゆがみ補正処理を終了する。以上のようにして、書籍画像撮影部412は、S1102、S1103の処理を行ってゆがみ補正を行った書籍画像を生成することができる。
書籍画像撮影部412は、ゆがみ補正を行った書籍画像の生成後、S1104では生成した書籍画像に階調補正を行う。
S1105で、書籍画像撮影部412は、生成した書籍画像に対して、予め決めておいた画像フォーマット(例えばJPEG、TIFF、PDF等)に合わせて圧縮及びファイルフォーマット変換を行う。
S1106で、書籍画像撮影部412は、生成した画像データを、データ管理部405を介してHDD305の所定の領域へファイルとして保存し、処理を終了する。
(立体形状測定部の説明)
図13のフローチャートを用いて、立体形状測定部413が実行する処理について説明する。図14は、立体形状測定部413の処理を説明するための模式図である。
立体形状測定部413は、処理を開始すると、S1301ではシリアルI/F310を介してターンテーブル209へ回転指示を行い、ターンテーブル209を所定の角度ずつ回転させる。ここでの回転角度は小さければ小さいほど最終的な測定精度は高くなるが、その分測定回数が多くなり時間がかかるため、装置として適切な回転角度を予め決めておけばよい。
S1302で、立体形状測定部413は、書画台204内に設けられたターンテーブル209上の対象物に対して、カメラ部202とプロジェクタ207とを用いて3次元点群測定処理を行う。図13(b)のフローチャートは、S1302で立体形状測定部413が実行する3次元点群測定処理のフローチャートである。
立体形状測定部413は、3次元点群測定処理を開始すると、S1311では図14(a)に示したターンテーブル209上の対象物1401に対して、プロジェクタ207から3次元形状測定パターン1402を投射する。
S1312で、立体形状測定部413は、カメラ画像取得部407を介してカメラ部202からカメラ画像を1フレーム取得する。
S1313で、立体形状測定部413は、3次元形状測定パターン1402と取得したカメラ画像との間での対応点を図5のS504と同様にして抽出する。
S1314で、立体形状測定部413は、カメラ部202及びプロジェクタ207の位置関係から、カメラ画像上の各画素における距離を算出し、距離画像を生成する。ここでの測定方法は、距離画像取得部408の処理において、図5のS505で説明した測定方法と同じである。
S1315で、立体形状測定部413は、距離画像の各画素について直交座標系への座標変換を行い、3次元点群を算出する。
S1316で、立体形状測定部413は、算出した3次元点群から書画台204の平面パラメータを用いて書画台平面に含まれる3次元点群を除去する。
S1317で、立体形状測定部413は、残った3次元点群の中から位置が大きく外れている点をノイズとして除去し、対象物1401の3次元点群1403を生成する。ここで、位置が大きく外れている点とは、例えば予め定められた位置よりも外れている点である。
1318で、立体形状測定部413は、プロジェクタ207から投射している3次元形状測定パターン1402を消灯する。
S1319で、立体形状測定部413は、カメラ画像取得部407を介してカメラ部202からカメラ画像を取得し、その角度から見たときのテクスチャ画像として保存し、3次元点群測定処理を終了する。
立体形状測定部413が2回目以降にS1302の3次元点群測定処理を実行した際は、S1301でターンテーブル209を回転させて計測を行っている。そのため、図14(c)に示すようにターンテーブル209上の対象物1401、プロジェクタ207及びカメラ部202の角度が変わっている。そのため、立体形状測定部413は、図14(d)に示すように、S1302で得られた3次元点群1403とは異なる視点から見た3次元点群1404が得られる。つまり、3次元点群1403ではカメラ部202及びプロジェクタ207から死角となって算出できなかった部分の3次元点群が、3次元点群1404では含まれることになる。逆に、3次元点群1404には含まれない3次元点群が、3次元点群1403に含まれている。そこで、立体形状測定部413は、異なる視点から見た2つの3次元点群1403と3次元点群1404とを重ね合わせる処理を行う。
S1303で、立体形状測定部413は、S1302で測定した3次元点群1404を、ターンテーブルが初期位置から回転した角度分逆回転することにより、3次元点群1403との位置を合わせた3次元点群1405を算出する。
S1304で、立体形状測定部413は、S1303で算出された3次元点群と、既に合成された3次元点群との合成処理を行う。3次元点群の合成処理には、特徴点を用いたICP(IterativeClosestPoint)アルゴリズムを用いる。ICPアルゴリズムで、立体形状測定部413は、合成対象の2つの3次元点群1403と3次元点群1404とから、それぞれコーナーとなる3次元特徴点を抽出する。そして、立体形状測定部413は、3次元点群1403の特徴点と3次元点群1404の特徴点との対応をとって、全ての対応点同士の距離を算出して加算する。立体形状測定部413は、3次元点群1404の位置を動かしながら対応点同士の距離の和が最小となる位置を繰り返し算出する。立体形状測定部413は、繰り返し回数が上限に達した場合や、対応点同士の距離の和が最小となる位置を算出すると、3次元点群1404を移動してから3次元点群1403と重ね合わせることにより、2つの3次元点群1403と3次元点群1404とを合成する。立体形状測定部413は、このようにして合成後の3次元点群1406を生成し、3次元点群合成処理を終了する。
立体形状測定部413は、S1304の3次元点群合成処理を終了するとS1305ではターンテーブル209が1周回転したかを判定する。立体形状測定部413は、まだターンテーブル209が1周回転していなければ、S1301へ戻ってターンテーブル209を更に回転してからS1302の処理を実行して別の角度の3次元点群を測定する。そして、立体形状測定部413は、S1303〜S1304において既に合成した3次元点群1406と新たに測定した3次元点群との合成処理を行う。立体形状測定部413は、このようにS1301からS1305までの処理をターンテーブル209が1周するまで繰り返すことにより、対象物1401の全周3次元点群を生成することができる。
S1305で、立体形状測定部413は、ターンテーブル209が1周したと判定するとS1306へ進み、生成した3次元点群から3次元モデルを生成する処理を行う。立体形状測定部413は、3次元モデル生成処理を開始すると、S1331では3次元点群からノイズ除去及び平滑化を行う。
S1332で、立体形状測定部413は、3次元点群から三角パッチを生成することで、メッシュ化を行う。
S1333で、立体形状測定部413は、メッシュ化によって得られた平面へS1319で保存したテクスチャをマッピングする。立体形状測定部413は、以上によりテクスチャマッピングされた3次元モデルを生成することができる。
S1307で、立体形状測定部413は、テクスチャマッピング後のデータをVRMLやSTL等の標準的な3次元モデルデータフォーマットへ変換し、データ管理部405を介してHDD305上の所定の領域に格納し、処理を終了する。
(メイン制御部の説明)
図15のフローチャートを用いて、メイン制御部402が実行するスキャンアプリケーションの処理について説明する。
図15において、メイン制御部402が処理を開始すると、S1501では書画台204にスキャンの対象物が載置されるのを待つ、物体載置待ち処理を行う。
S1501で、メイン制御部402は、対象物載置待ち処理を開始すると、S1511ではユーザーインターフェイス部403を介して、書画台204にプロジェクタ207によって図16(a)の画面を投射する。図16(a)の画面では、書画台204上に対象物を置くことをユーザーに促すメッセージ1601が投射されている。
S1512で、メイン制御部402は、物体検知部410の処理を起動する。物体検知部410は、図8のフローチャートで説明した処理の実行を開始する。
S1513で、メイン制御部402は、物体検知部410からの物体載置通知を待つ。物体検知部410が図8のS827の処理を実行して物体載置をメイン制御部402へ通知すると、メイン制御部402は、S1513において物体載置通知ありと判定し、物体載置待ち処理を終了する。
S1501の物体載置待ち処理を終了すると、メイン制御部402は、続いてS1502のスキャン実行処理を行う。メイン制御部402は、S1502のスキャン実行処理を開始すると、S1531では、図16(b)に示したスキャン開始画面を、ユーザーインターフェイス部403を介して書画台204に投射する。図16(b)において、対象物1611がユーザーによって載置されたスキャン対象物体である。2Dスキャンボタン1612は、平面原稿の撮影指示を受け付けるボタンである。ブックスキャンボタン1613は、書籍原稿の撮影指示を受け付けるボタンである。3Dスキャンボタン1614は、立体形状の測定指示を受け付けるボタンである。スキャン開始ボタン1615は、選択したスキャンの実行開始指示を受け付けるボタンである。ユーザーインターフェイス部403は、前述したようにジェスチャー認識部409から通知されるタッチジェスチャーの座標とこれらのボタンを表示している座標とから、何れかのボタンがユーザーによって押下されたことを検知する。以降、ユーザーインターフェイス部403による検知の説明を省略して「ボタンへのタッチを検知する」と記載する。また、ユーザーインターフェイス部403は、2Dスキャンボタン1612、ブックスキャンボタン1613、3Dスキャンボタン1614のそれぞれを排他的に選択できるようにしている。メイン制御部402は、ユーザーの何れかのボタンへのタッチを検知すると、タッチされたボタンを選択状態とし、他のボタンの選択を解除する。
S1532で、メイン制御部402は、スキャン開始ボタン1615へのタッチを検知するまで待つ。メイン制御部402は、S1532でスキャン開始ボタン1615へのタッチを検知したらS1533へ進み、2Dスキャンボタン1612が選択状態かどうかを判定する。
S1533で、メイン制御部402は、2Dスキャンボタン1612が選択状態であればS1534へ進んで平面原稿画像撮影部411の処理を実行して、スキャン実行処理を終了する。
メイン制御部402は、S1533で2Dスキャンボタン1612が選択状態でなければS1535へ進んでブックスキャンボタン1613が選択状態かどうかを判定する。メイン制御部402は、S1535でブックスキャンボタン1613が選択状態であればS1536へ進んで書籍画像撮影部412の処理を実行して、スキャン実行処理を終了する。
メイン制御部402は、S1535でブックスキャンボタン1613が選択状態でなければS1537へ進んで3Dスキャンボタン1614が選択状態かどうかを判定する。メイン制御部402は、S1537で3Dスキャンボタン1614が選択状態であればS1538へ進んで立体形状測定部413の処理を実行して、スキャン実行処理を終了する。
メイン制御部402は、S1537で3Dスキャンボタン1614が選択状態でなければ2Dスキャンボタン1612、ブックスキャンボタン1613、3Dスキャンボタン1614の何れも選択状態でないということである。そこで、メイン制御部402は、S1532へ戻り、何れかのボタンが選択状態になってからスキャン開始ボタン1615へのタッチを検知するのを待つ。
S1502のスキャン実行処理を終了すると、メイン制御部402は、続いてS1503の物体除去待ち処理を行う。
メイン制御部402は、S1503の物体除去待ち処理を開始すると、S1521ではユーザーインターフェイス部403を介して図16(c)に示したスキャン終了画面を表示する。図16(c)のスキャン終了画面では、スキャンした原稿を除去する旨をユーザーに通知するメッセージ1621と、メイン制御部402の処理終了指示を受け付ける終了ボタン1622とが投射される。
S1522で、メイン制御部402は、物体検知部410からの物体除去通知を受信するのを待つ。ここで、物体除去通知は、物体検知部410が図8のS834で通知するものである。メイン制御部402は、S1522で物体除去通知があると、物体除去待ち処理を終了する。
S1503の物体除去待ち処理を終了すると、S1504で、メイン制御部402は、S1503の物体除去待ち処理の実行中に、終了ボタン1622がタッチされていたかどうかを判定する。メイン制御部402は、S1504で終了ボタン1622がタッチされていたと判定したら処理を終了する。メイン制御部402は、S1504で終了ボタン1622がタッチされていないと判定すればS1501へ戻り、ユーザーインターフェイス部403を介して図16(a)の初期画面を表示して書画台204への物体載置を待つ。このようにすることで、メイン制御部402は、ユーザーが複数の原稿をスキャンしたい場合に、書画台204上の原稿を取り換えたことを検知することができ、複数の原稿のスキャンを実行できる。
以上、実施形態1によれば、ユーザーが平面原稿のスキャンを行うか、厚みのある書籍のスキャンを行うか、立体形状測定をおこなうかを選択することができる。なお、スキャンのモードが3種類全て必要ない場合、例えば、ユーザーの設定等により平面原稿のスキャンと厚みのある書籍のスキャンとの2種類を実行すればよい場合も考えられる。その場合、メイン制御部402は、ユーザーインターフェイス部403を介して実行する2つのスキャンを選択できるように表示すればよい。より具体的には、メイン制御部402は、ユーザーインターフェイス部403を介して図16(b)において2Dスキャンボタン1612、ブックスキャンボタン1613、スキャン開始ボタン1615のみを投射する。これにより、2種類のスキャンのモードのうち何れかを選択するユーザー入力を受け付けることができる。また、スキャンのモードが1種類のみであればよい場合、例えば、ユーザーの設定等により平面原稿のスキャンのみ、又は、書籍のスキャンのみを実行すればよい場合も考えられる。その場合、メイン制御部402は、ユーザーインターフェイス部403を介して図16(b)においてスキャン開始ボタン1615のみを投射する。そして、メイン制御部402は、ユーザーのスキャン種類の選択を受け付けることなく、スキャン開始ボタン1615へのタッチを検知したときにスキャンを実行すればよい。また、このようにスキャンのモードが1種類のみである場合、メイン制御部402は、書画台204への物体の載置を検知したとき、図16(b)のようなスキャン操作画面を投射せず、すぐにスキャン処理部418を介してスキャンを実行してもよい。
<実施形態2>
実施形態1の構成のカメラスキャナ101において、距離画像センサ部208は、書画台204上に載置された物体の形状を測定することが可能である。そこで、実施形態2においては、物体が書画台204上に載置されたときに平面物か立体物かどうかを、距離画像センサ部208を用いて判別し、それぞれで適切な処理を行うことによって、操作性を向上させる。実施形態2では、実施形態1で説明した機能構成401の処理において、物体検知部410が実行する図8のフローチャートの処理と、メイン制御部402が図15のS1502で実行するスキャン実行処理とが異なる。異なっている処理について、図17を用いて説明する。
図17(a)は、実施形態2の物体検知部410が実行する処理の一例を示すフローチャートである。このフローチャートでは、図8(a)のフローチャートに対して、S801の物体検知部初期化処理、S802の物体載置検知処理の次に、S1701の物体種類判別処理が追加されている。そして、物体検知部410は、S803の物体除去検知処理を行って処理を終了する。S801、S802、S803の処理は図8で説明した物体検知部410の処理と同じである。
物体検知部410は、S1701の物体種類判別処理を開始すると、S1711では距離画像取得部408を介して距離画像を1フレーム取得し、3次元点群に変換する。
S1712で、物体検知部410は、書画台204上の物体に含まれる3次元点群の中で、書画台平面からの高さが最大の点の高さを物体の高さとして取得し、その高さが予め決めておいた所定値以下であるかどうかを判定する。物体検知部410は、S1712において、物体の高さが所定値以下であればS1713へ進み、書画台204上に平面原稿が置かれたことをメイン制御部402へ通知する。物体検知部410は、S1712において、物体の高さが所定値よりも高ければS1714へ進み、書画台204上に立体物が置かれたことをメイン制御部402へ通知する。
物体検知部410は、S1713、S1714の何れかを実行した後、物体種類判別処理を終了する。
前述したように、実施形態2のメイン制御部402が実行する処理は、実施形態1の図15のフローチャートにおいて、S1502のスキャン実行処理の詳細が異なっているのみである。そこで、図17(b)のフローチャートを用いて、実施形態2のメイン制御部402が実行するスキャン実行処理の詳細を説明する。
メイン制御部402は、S1502のスキャン実行処理を開始すると、S1721では、物体検知部410から平面原稿が置かれたことを通知されたかどうかを判定する。S1721において、メイン制御部402は、平面原稿が置かれたことを通知されていなければS1723へ進み、物体検知部410から立体物が置かれたことを通知されたかどうかを判定する。
S1723で、メイン制御部402は、立体物が置かれたことを通知されていなければS1721へ戻り、平面原稿の載置通知又は立体物の載置通通知を受け取るまで待つ。物体検知部410が図17(a)のS1713を実行して平面原稿が置かれたことを通知すると、メイン制御部402は、S1721で平面原稿が置かれたことの通知ありと判定し、S1722へ進む。
S1722で、メイン制御部402は、平面原稿画像撮影部411の処理を実行する。また、物体検知部410が図17(a)のS1714を実行して立体物が置かれたことを通知すると、メイン制御部402は、S1723で立体物が置かれたことの通知ありと判定し、S1724へ進む。そして、メイン制御部402は、ユーザーインターフェイス部403を介して図17(c)に示すスキャン開始画面を書画台204に投射する。
図17(c)のスキャン開始画面では、ブックスキャンボタン1731、3Dスキャンボタン1732、スキャン開始ボタン1733が投射されている。ブックスキャンボタン1731、3Dスキャンボタン1732は、スキャンのモード選択を受け付けるボタンである。ユーザーインターフェイス部403は、何れかのボタンのタッチを検知したときにはそのボタンを選択状態にし、もう一方のボタンは非選択状態にする。スキャン開始ボタン1733は、スキャン開始指示を受け付けるボタンである。
S1725で、メイン制御部402は、スキャン開始ボタン1733へのタッチを検知するまで待つ。メイン制御部402は、S1725でスキャン開始ボタン1733のタッチを検知するとS1726へ進み、ブックスキャンボタン1731が選択状態かどうかを判定する。
S1726で、メイン制御部402は、ブックスキャンボタン1731が非選択状態であればS1728へ進み、3Dスキャンボタン1732が選択状態かどうかを判定する。
S1728で、メイン制御部402は、3Dスキャンボタン1732が非選択状態であれば、ブックスキャンボタン1731、3Dスキャンボタン1732の何れのボタンのタッチも検知していないということになる。そのため、メイン制御部402は、S1725へ戻ってスキャン開始ボタン1733のタッチを検知するのを待つ。
S1726で、メイン制御部402は、ブックスキャンボタン1731が選択状態であればS1727へ進んで書籍画像撮影部412の処理を実行する。
S1728で、メイン制御部402は、3Dスキャンボタン1732が選択状態であればS1729へ進んで立体形状測定部413の処理を実行する。
メイン制御部402は、S1722の平面原稿撮影部処理、S1727の書籍画像撮影部処理、S1729の立体形状測定部処理、の3つの処理の何れかを実行するとスキャン実行処理を終了する。
以上のように、物体検知部410で平面原稿が置かれたか立体物が置かれたかを判別することにより、スキャン実行処理の際に平面原稿が置かれた場合、ユーザーはスキャンのモードを選択することなく平面原稿をスキャンすることができ、操作性が向上する。また、立体物が置かれた場合にもブックスキャンと3Dスキャンとを選択するボタンをユーザーに提示することにより、ユーザーは適切なスキャンのモードを選択することができる。
なお、ユーザーがブックスキャン又は3Dスキャンの何れかの実行を必要としない場合、ユーザーインターフェイス部403は、図17(c)の画面でスキャン開始ボタン1733のみ投射すればよい。また、スキャン操作画面を表示しないでスキャンを実行することも可能である。例えば、平面原稿スキャンとブックスキャンとの2種類のスキャンのみの実行を必要とする場合、メイン制御部402は、図17(b)のS1723で立体物通知があったと判定したら書籍画像撮影部の処理を実行すればよい。このようにすることで、ユーザーはスキャン操作画面を操作することなく、平面原稿と書籍原稿とのスキャンを行うことができる。
<実施形態3>
実施形態2では、書画台204に立体物が置かれたときに、ユーザーインターフェイス部403は、図17(c)に示したようにブックスキャンを実行するか3Dスキャンを実行するかの選択肢をユーザーに提示した。ここで、平面原稿も書籍も主なスキャン対象は文書であるが、立体形状を測定するのは文書以外のものである場合が多いことを考慮すると、ユーザーに文書スキャンか3Dスキャンかの選択肢を提示することにより操作性が向上すると考えられる。実施形態3では、実施形態2で説明した機能構成401の処理において、メイン制御部402が図15のS1502で実行するスキャン実行処理が異なっている。異なっている処理について、図18を用いて説明する。
図18(a)は、実施形態3のメイン制御部402が実行するスキャン実行処理の一例を示すフローチャートである。
メイン制御部402は、スキャン実行処理を開始すると、S1801ではユーザーインターフェイス部403を介して図18(b)に示すスキャン開始画面を書画台204に投射する。図18(b)のスキャン開始画面では、文書スキャンボタン1821、3Dスキャンボタン1822、スキャン開始ボタン1823が投射されている。文書スキャンボタン1821、3Dスキャンボタン1822は、スキャンのモード選択を受け付けるボタンである。ユーザーインターフェイス部403は、何れかのボタンのタッチを検知したときにはそのボタンを選択状態にし、もう一方のボタンは非選択状態にする。スキャン開始ボタン1823は、スキャン開始指示を受け付けるボタンである。
S1802で、メイン制御部402は、スキャン開始ボタン1823へのタッチを検知するまで待つ。メイン制御部402は、S1802でスキャン開始ボタン1823のタッチを検知すると、S1803へ進み、文書スキャンボタン1821が選択状態かどうかを判定する。
S1803で、メイン制御部402は、文書スキャンボタン1821が選択状態でなければS1808へ進み、3Dスキャンボタン1822が選択状態かどうかを判定する。
S1808で、メイン制御部402は、3Dスキャンボタン1822が選択状態でなければ、文書スキャンボタン1821及び3Dスキャンボタン1822の何れのタッチも検知せず、選択状態にしていないということである。そのため、メイン制御部402は、S1802へ戻って文書スキャンボタン1821と3Dスキャンボタン1822との何れかの選択を受け付けてからスキャン開始ボタン1823のタッチを検知するのを待つ。
S1803で、メイン制御部402は、文書スキャンボタン1821が選択状態であればS1804へ進み、物体検知部410からの平面原稿載置通知があったかどうかを判定する。
S1804で、メイン制御部402は、平面原稿載置通知がなければS1806へ進み、立体物載置通知があったかどうかを判定する。
S1806で、メイン制御部402は、立体物載置通知がなければS1804へ戻り、平面原稿載置通知か立体物載置通知の何れかを待つ。
S1804で、メイン制御部402は、平面原稿載置通知があったと判定したらS1805へ進み、平面原稿画像撮影部411の処理を実行する。
S1806で、メイン制御部402は、立体物載置通知があったと判定したらS1807へ進み、立体物を文書としてスキャンすることをユーザーから指示されたと解釈し、書籍画像撮影部412の処理を実行する。
S1808で、メイン制御部402は、3Dスキャンボタン1822が選択状態であればS1809へ進み、立体形状測定部413の処理を実行する。
メイン制御部402は、S1805、S1807、S1809の何れかの処理の実行が終了したら、スキャン実行処理を終了する。
以上のように、スキャンのモードの選択肢として文書スキャンか3Dスキャンかをユーザーに提示することにより、ユーザーは文書をスキャンするか立体物の測定を行うかという目的に合わせた操作を実行することができ、操作性が向上する。また、メイン制御部402が文書スキャンの選択を検知したときに、書画台204上に立体物が置かれていた場合には書籍画像撮影部412の処理を実行することにより、適切なゆがみ補正を施した文書画像を得ることができる。
<実施形態4>
実施形態2及び実施形態3では、メイン制御部402が、書画台204に置かれた対象物が平面原稿であるか立体物であるかの判別をしてから処理をおこなった。実施形態4では、メイン制御部402が、書画台204に置かれた対象物を立体物と判定した際に、その対象物が書籍であるか書籍でないかを判別し、処理を行う。実施形態4では、実施形態2及び実施形態3に対して、図17のS1701の物体種類判別処理と、図15のS1502のスキャン実行処理との詳細が異なるので、その点について説明する。
図19は、実施形態4の物体検知部410が実行する物体種類判別処理の一例を示すフローチャートである。
物体検知部410は、物体種類判別処理を開始すると、S1901では距離画像取得部408を介して距離画像を1フレーム取得し、3次元点群に変換する。
S1902で、物体検知部410は、書画台204上の物体に含まれる3次元点群の中で、書画台平面からの高さが最大の点の高さを物体の高さとして取得し、その高さが予め決めておいた所定値以下であるかどうかを判定する。S1902において、物体検知部410は、物体の高さが所定値以下であればS1903へ進み、書画台204上への平面原稿載置をメイン制御部402へ通知する。S1902で、物体検知部410は、物体の高さが所定値よりも高ければS1904へ進み、書画台204上に置かれた立体物が書籍であるかどうかを判定する。S1904の処理については後述する。
S1905で、物体検知部410は、S1904で書籍と判定されたかどうかを判定する。物体検知部410は、S1905で書籍と判定されていれば、S1906へ進み書籍載置をメイン制御部402へ通知する。物体検知部410は、S1905で書籍と判定されていなければ、S1907へ進み立体物載置をメイン制御部402へ通知する。
物体検知部410は、S1903、S1906、S1907の何れかを実行した後、物体種類判別処理を終了する。
続いて、S1904の書籍判定処理の詳細について説明する。
物体検知部410は、S1904において書籍判定処理を開始すると、S1911へ進んで、対象物を書画台平面へ射影変換し、書画台平面の真上から見たときに矩形に近いかどうかを判定する。ここでの判定は、射影変換後の対象物画像の外接矩形を算出し、外接矩形の面積と対象物画像の面積との差が予め決めておいた所定値以下であれば矩形に近く、所定値より大きければ矩形に近くない、という方法で行う。
S1911で、物体検知部410は、矩形に近くないと判定した場合にはS1915へ進んで書籍以外と判定する。S1911で、物体検知部410は、矩形に近いと判定した場合には、S1912へ進み、書画台平面の真上から見たときの対象物の面積と、書画台平面からの対象物の高さとの比が予め決めておいた所定値以下か、即ち平たい形状に近いかどうかを判定する。
S1912で、物体検知部410は、平たい形状に近くないと判定した場合にはS1915へ進んで書籍以外と判定する。S1912で、物体検知部410は、平たい形状に近いと判定した場合にはS1913に進み、OCRの技術を用いて対象物の表面に文字が含まれているかどうかを判定する。
S1913で、物体検知部410は、文字が含まれていないと判定した場合にはS1915へ進み、書籍以外と判定する。S1913で、物体検知部410は、文字が含まれていると判定した場合にはS1914へ進み、書籍と判定し、書籍判定処理を終了する。
なお、物体検知部410は、S1904の書籍判定処理において、S1911からS1913までの判定処理を必ずしも全て実行しなければいけないわけではない。例えば、物体検知部410は、S1911からS1913までの判定処理のうち、1つ又は任意の複数の組み合わせの判定処理を実行するようにしてもよい。また、S1911からS1913まで判定処理における条件は書籍判定条件の一例であり、ここで例示した条件以外の他の条件であってもよい。
図20(a)は、実施形態4のメイン制御部402が、図15で説明したS1502のスキャン実行処理を実行する際の処理の一例を示すフローチャートである。
メイン制御部402は、スキャン実行処理を開始すると、S2001では物体検知部410からの平面原稿載置通知があったかどうかを判定する。S2001で、メイン制御部402は、平面原稿載置通知がなかったと判定したら、S2003へ進んで物体検知部410からの書籍載置通知があったかどうかを判定する。S2003で、メイン制御部402は、書籍載置通知がなかったと判定したら、S2005へ進んで立体物載置通知があったかどうかを判定する。S2005で、メイン制御部402は、立体物載置通知がなかったと判定したら、S2001へ戻って物体検知部410からの平面原稿載置通知、書籍載置通知、立体物載置通知の何れかを待つ。
S2001で、メイン制御部402は、平面原稿載置通知があったと判定したら、S2002へ進んで平面原稿画像撮影部411の処理を実行する。
S2003で、メイン制御部402は、書籍載置通知があったと判定したら、S2004へ進んで書籍画像撮影部412の処理を実行する。
S2005で、メイン制御部402は、立体物載置通知があったと判定したら、立体形状測定部413の処理の実行を行う。しかし、立体形状測定部413の処理はターンテーブル209を一周回転させながら形状測定を複数回行うため、時間がかかる。そのため、ユーザーが立体形状測定部413の処理開始を明示的に指示できる方が操作性の面から望ましい。そこで、S2006で、メイン制御部402は、ユーザーインターフェイス部403を介して図20(b)に示した画面の投射を行う。図20(b)において、3Dスキャン開始ボタン2021は3Dスキャンの開始指示を受け付けるボタンである
S2007で、メイン制御部402は、3Dスキャン開始ボタン2021のタッチを検知するまで待つ。S2007で、メイン制御部402は、3Dスキャン開始ボタン2021へのタッチを検知したら、S2008へ進んで立体形状測定部413の処理を実行する。
メイン制御部402は、S2002、S2004、S2008の何れかの処理の実行が終了したら、スキャン実行処理を終了する。
以上のように、物体検知部410によって書画台204上に置かれた物体が平面原稿であるか、書籍であるか、立体物であるかを判別することにより、スキャン実行時に適切なスキャン処理を実行できる。また、比較的時間のかからない平面原稿画像撮影部411と書籍画像撮影部412との処理は、物体を置いてからユーザーのスキャン開始指示を待たずに実行することで、素早いスキャン実行を行うことができる。一方、比較的時間のかかる立体形状測定部413の処理については、ユーザーの開始指示を待ってから処理実行を開始することで、ユーザーに対する操作性を向上させることができる。
<実施形態5>
実施形態1において、立体形状測定部413では、ターンテーブル209上の対象物をカメラ部202とプロジェクタ207とによって立体形状の測定を実行する。立体形状測定部413の処理では、カメラ部202とプロジェクタ207との位置は固定されており、ターンテーブル209を回転させながら複数回立体形状測定を行うことで、対象物の側面については測定精度を高めている。しかしながら、対象物の高さがカメラ部202の高さと同程度以上の場合、上面の測定精度が低下する可能性がある。ここで、図2(a)に示したように、距離画像センサ部208は、カメラ部202よりも上方に配置されているため、対象物の上面を精度良く測定することが可能である。そこで、実施形態5では、カメラ部202とプロジェクタ207とによる立体形状測定に加えて、距離画像センサ部208による立体形状測定も加えることで測定精度を向上させる。
実施形態5における立体形状測定部413の処理の一例を図21のフローチャートに示す。図21のフローチャートは、図13(a)のフローチャートにS2101、S2102が追加されたフローチャートになっており、図13(a)と同じ処理については同じ番号を付している。図13(a)と同じ処理については、説明を簡略に留める。
S1301で、立体形状測定部413は、ターンテーブルを予め決めておいた所定角度回転する。
S1302で、立体形状測定部413は、カメラ部202とプロジェクタ207とによる3次元点群測定を行う。
S2101で、立体形状測定部413は、図5で説明した距離画像取得部408の処理を実行して距離画像センサ部208の座標系の距離画像を取得し、それを直交座標系の3次元点群に変換して、距離画像センサ部208による3次元点群測定を行う。
S2102で、立体形状測定部413は、S1301で測定した3次元点群と、S2101で測定した3次元点群とを、実施形態1で説明したICPアルゴリズムを用いて、1つの3次元点群に合成する。このようにすることで、対象物の側面及び上面の両方の測定精度の高い3次元点群を得ることができる。
S1303で、立体形状測定部413は、S2102で合成した3次元点群をターンテーブルの初期位置からの回転角度分逆回転し、S1304でこれまでに合成した3次元点群と更に合成処理を行う。
S1305で、立体形状測定部413は、ターンテーブルが1周したかどうかを判定し、1周するまでS1301からS1304までの処理を繰り返す。S1305で、立体形状測定部413は、ターンテーブルが1周したと判定したら、S1306へ進んで3次元モデル生成処理を行い、S1307で算出した3次元モデルデータをフォーマット変換して保存して処理を終了する。
以上のように、カメラ部202とプロジェクタ207とによる立体形状測定処理に加えて、距離画像センサ部208による立体形状測定処理を行ったうえで、それぞれの計測結果を合成することにより、より精度の高い立体形状測定を行うことが可能となる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、カメラスキャナ等の画像処理装置におけるユーザーの操作性を向上させることができる。より具体的には、プロジェクタによるユーザーインターフェイスの投射、距離画像センサによるジェスチャー認識、及び書画台上の物体の検知が行えるとともに、以下の3種類の読取動作が可能となる。
(1)カメラによる平面原稿の読取。
(2)カメラによる厚みのある書籍の読取と、距離画像センサによるゆがみ補正。
(3)プロジェクタによる3次元測定パターンの投射とカメラによる立体形状測定。
そのため、ユーザーは書画台上に対象物を置くとともに、書画台上に投射されるユーザーインターフェイスを操作すればよく、ユーザーにとっては書画台上で作業を完結して行うことができ、操作性を大きく向上させることが可能となる。
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
101 カメラスキャナ、201 コントローラ部、202 カメラ部、204 書画台、207 プロジェクタ、208 距離画像センサ部

Claims (18)

  1. 書画台上の撮像画像を撮像部を介して取得する撮像画像取得手段と、
    前記書画台上の距離画像を立体測定部を介して取得する距離画像取得手段と、
    前記撮像画像取得手段により取得された撮像画像に基づいて、前記書画台上における被写体の載置を検知する検知手段と、
    前記検知手段により前記被写体の載置が検知された場合、前記被写体の読み取りに関する操作表示を投射部を介して前記書画台上に投射する投射手段と、
    前記距離画像取得手段により取得された距離画像に基づいて、前記書画台上におけるユーザーのジェスチャーを認識する認識手段と、
    前記投射手段により投射された前記操作表示に対する前記認識手段により認識された前記ジェスチャーに応じて、前記被写体の読み取り画像を取得する読み取り手段と、
    を有する画像処理装置。
  2. 前記投射手段は、前記被写体の形状に応じた読み取りモードを選択させる前記操作表示を投射し、
    前記読み取り手段は、前記ジェスチャーにより選択された前記操作表示が示す読み取りモードで前記被写体の読み取り画像を取得する請求項1に記載の画像処理装置。
  3. 前記読み取り手段は、平面原稿を読み取る読み取りモード、書籍を読み取る読み取りモード又は立体物を読み取る読み取りモードの何れかの読み取りモードで前記被写体を読み取ることにより、前記読み取り画像を取得する請求項1又は2に記載の画像処理装置。
  4. 前記読み取り手段は、平面原稿を読み取る読み取りモードの場合、前記読み取り画像を前記被写体を含む撮像画像から抽出して取得する請求項3に記載の画像処理装置。
  5. 前記読み取り手段は、書籍を読み取る読み取りモードの場合、前記読み取り画像を前記被写体を含む撮像画像から抽出し、前記被写体を含む距離画像に基づいてゆがみ補正することにより取得する請求項3に記載の画像処理装置。
  6. 前記読み取り手段は、立体物を読み取る読み取りモードの場合、前記書画台を構成するターンテーブルにより前記被写体を回転させながら前記投射部を介して前記被写体に立体形状測定パターンを投射し、前記投射した立体形状測定パターンを前記撮像部を介して読み取った複数の立体データを合成することにより、前記読み取り画像を取得する請求項3に記載の画像処理装置。
  7. 前記読み取り手段は、前記投射した立体形状測定パターンを前記撮像部を介して読み取った立体データと、前記撮像部とは異なる位置に配置された前記立体測定部を介して取得した前記被写体の立体データとを合成することにより前記読み取り画像を取得する請求項6に記載の画像処理装置。
  8. 前記距離画像取得手段により取得された前記被写体の距離画像に基づいて、前記被写体の形状を判別する判別手段を更に有し、
    前記投射手段は、前記判別手段による判別の結果に基づいて、前記被写体の形状に応じた読み取りモードを選択させる前記操作表示を投射する請求項1乃至7の何れか1項に記載の画像処理装置。
  9. 前記投射手段は、前記被写体が立体物であると判別された場合、前記被写体の読み取りモードとして、書籍の読み取りモード又は立体物の読み取りモードを選択させる前記操作表示を投射する請求項8に記載の画像処理装置。
  10. 前記投射手段は、前記被写体の読み取りモードとして、立体物の読み取りモード又は文書の読み取りモードを選択させる前記操作表示を投射し、
    前記読み取り手段は、前記文書の読み取りモードが選択された場合であって、かつ、前記被写体が平面原稿であると判別された場合、平面原稿を読み取る読み取りモードで前記被写体を読み取り、前記文書の読み取りモードが選択された場合であって、かつ、前記被写体が立体物であると判別された場合、書籍を読み取る読み取りモードで前記被写体を読み取り、前記読み取り画像を取得する請求項8に記載の画像処理装置。
  11. 前記投射手段は、前記被写体が立体物であって、かつ、書籍でないと判別された場合、立体物を読み取る読み取りモードでの読み取りを実行させる前記操作表示を投射する請求項8に記載の画像処理装置。
  12. 前記読み取り手段は、前記被写体が平面原稿又は書籍であると判別された場合、前記ジェスチャーの認識を待たずに前記被写体の読み取り画像を取得する請求項8乃至11の何れか1項に記載の画像処理装置。
  13. 前記判別手段は、前記被写体の距離画像が示す前記被写体の高さが予め定められた高さ以下の場合、前記被写体を平面原稿と判別し、前記被写体の高さが予め定められた高さより高い場合、前記被写体を立体物と判別し、更に、前記被写体を立体物であると判別した場合であって、かつ、予め定められた書籍判定条件を満たす場合、前記被写体を書籍と判別する請求項8乃至12の何れか1項に記載の画像処理装置。
  14. 前記検知手段は、前記撮像画像取得手段により取得された前記被写体を含む撮像画像と、前記書画台の背景の撮像画像との差分値が予め定められた閾値以上である場合、前記書画台上における被写体の載置を検知する請求項1乃至13の何れか1項に記載の画像処理装置。
  15. 前記認識手段は、前記距離画像取得手段により取得された距離画像から検出した前記ユーザーの手の形状と位置とに基づいて、前記ユーザーのジェスチャーを認識する請求項1乃至14の何れか1項に記載の画像処理装置。
  16. 前記画像処理装置は、カメラスキャナである請求項1乃至15の何れか1項に記載の画像処理装置。
  17. 画像処理装置が実行する情報処理方法であって、
    書画台上の撮像画像を撮像部を介して取得する撮像画像取得ステップと、
    前記書画台上の距離画像を立体測定部を介して取得する距離画像取得ステップと、
    前記撮像画像取得ステップにより取得された撮像画像に基づいて、前記書画台上における被写体の載置を検知する検知ステップと、
    前記検知ステップにより前記被写体の載置が検知された場合、前記被写体の読み取りに関する操作表示を投射部を介して前記書画台上に投射する投射ステップと、
    前記距離画像取得ステップにより取得された距離画像に基づいて、前記書画台上におけるユーザーのジェスチャーを認識する認識ステップと、
    前記投射ステップにより投射された前記操作表示に対する前記認識ステップにより認識された前記ジェスチャーに応じて、前記被写体の読み取り画像を取得する読み取りステップと、
    を含む情報処理方法。
  18. コンピュータに、
    書画台上の撮像画像を撮像部を介して取得する撮像画像取得ステップと、
    前記書画台上の距離画像を立体測定部を介して取得する距離画像取得ステップと、
    前記撮像画像取得ステップにより取得された撮像画像に基づいて、前記書画台上における被写体の載置を検知する検知ステップと、
    前記検知ステップにより前記被写体の載置が検知された場合、前記被写体の読み取りに関する操作表示を投射部を介して前記書画台上に投射する投射ステップと、
    前記距離画像取得ステップにより取得された距離画像に基づいて、前記書画台上におけるユーザーのジェスチャーを認識する認識ステップと、
    前記投射ステップにより投射された前記操作表示に対する前記認識ステップにより認識された前記ジェスチャーに応じて、前記被写体の読み取り画像を取得する読み取りステップと、
    を実行させるためのプログラム。
JP2014095535A 2014-05-02 2014-05-02 画像処理装置、情報処理方法及びプログラム Active JP6289254B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014095535A JP6289254B2 (ja) 2014-05-02 2014-05-02 画像処理装置、情報処理方法及びプログラム
US15/122,650 US9924066B2 (en) 2014-05-02 2015-04-30 Image processing apparatus, information processing method, and program
PCT/JP2015/063537 WO2015167020A1 (en) 2014-05-02 2015-04-30 Image processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014095535A JP6289254B2 (ja) 2014-05-02 2014-05-02 画像処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2015212897A true JP2015212897A (ja) 2015-11-26
JP2015212897A5 JP2015212897A5 (ja) 2017-06-08
JP6289254B2 JP6289254B2 (ja) 2018-03-07

Family

ID=54358740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014095535A Active JP6289254B2 (ja) 2014-05-02 2014-05-02 画像処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9924066B2 (ja)
JP (1) JP6289254B2 (ja)
WO (1) WO2015167020A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6376887B2 (ja) * 2014-08-08 2018-08-22 キヤノン株式会社 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体
JP6244061B2 (ja) * 2015-03-30 2017-12-06 富士フイルム株式会社 距離画像取得装置及び距離画像取得方法
JP6671977B2 (ja) 2016-01-22 2020-03-25 キヤノン株式会社 計測装置及びその制御方法、並びにプログラム
JP2020039082A (ja) * 2018-09-05 2020-03-12 セイコーエプソン株式会社 表示装置、表示システムおよび表示装置の制御方法
US11165926B1 (en) 2020-09-30 2021-11-02 Kyocera Document Solutions Inc. Image forming apparatus, information processing method, and non-transitory computer readable recording medium that stores information processing program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003078725A (ja) * 2001-02-14 2003-03-14 Ricoh Co Ltd 画像入力装置
JP2012053545A (ja) * 2010-08-31 2012-03-15 Canon Inc 画像処理システムおよびその制御方法
JP2013254377A (ja) * 2012-06-07 2013-12-19 Canon Inc 情報処理装置、およびその制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3834766B2 (ja) 2000-04-03 2006-10-18 独立行政法人科学技術振興機構 マンマシーン・インターフェース・システム
JP3954436B2 (ja) 2001-12-11 2007-08-08 株式会社リコー 画像入力装置
US20130250379A1 (en) * 2012-03-20 2013-09-26 Panasonic Corporation System and method for scanning printed material

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003078725A (ja) * 2001-02-14 2003-03-14 Ricoh Co Ltd 画像入力装置
JP2012053545A (ja) * 2010-08-31 2012-03-15 Canon Inc 画像処理システムおよびその制御方法
JP2013254377A (ja) * 2012-06-07 2013-12-19 Canon Inc 情報処理装置、およびその制御方法

Also Published As

Publication number Publication date
US20170070635A1 (en) 2017-03-09
WO2015167020A1 (en) 2015-11-05
US9924066B2 (en) 2018-03-20
JP6289254B2 (ja) 2018-03-07

Similar Documents

Publication Publication Date Title
JP6327931B2 (ja) 画像処理装置、情報処理方法及びプログラム
JP6289254B2 (ja) 画像処理装置、情報処理方法及びプログラム
CN106934777B (zh) 扫描图像获取方法及装置
WO2015180659A1 (zh) 图像处理方法和图像处理装置
JP2016038820A (ja) 画像処理装置および制御プログラム
US9888209B1 (en) Remote communication system, method for controlling remote communication system, and storage medium
JP6381361B2 (ja) データ処理装置、データ処理システム、データ処理装置の制御方法、並びにプログラム
JP2015198406A (ja) 画像読取装置、方法およびプログラム
JP2015170907A (ja) スキャナシステム、スキャナシステムのデータ処理方法、及びプログラム
JP2015212892A (ja) 画像処理装置、情報処理方法及びプログラム
JP2016103137A (ja) ユーザインタフェース装置、画像処理装置及び制御用プログラム
JP6399840B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2017117373A (ja) 操作装置とその制御方法、及びプログラム
JP2018112894A (ja) システムおよび制御方法
JP2018107642A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
WO2015072091A1 (ja) 画像処理装置、画像処理方法及びプログラム記憶媒体
JP6478641B2 (ja) 画像処理装置、情報処理方法及びプログラム
JP2017041668A (ja) 画像入力装置、画像入力システム、画像入力装置の制御方法、及びプログラム
JP6643825B2 (ja) 装置及び方法
JP2019016843A (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム
JP6624861B2 (ja) 画像処理装置、制御方法およびプログラム
JP6614500B2 (ja) 画像読取装置、携帯端末、画像読取方法及び画像読取プログラム
JP6203070B2 (ja) スキャンシステムおよびその制御方法、並びにプログラム
JP2015228187A (ja) 画像処理装置及び回路を再構成するための方法
JP2018191258A (ja) 画像読取装置、画像読取方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170414

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180206

R151 Written notification of patent or utility model registration

Ref document number: 6289254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151