JP2019016843A - 原稿読取装置、原稿読取装置の制御方法、及びプログラム - Google Patents
原稿読取装置、原稿読取装置の制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2019016843A JP2019016843A JP2017130812A JP2017130812A JP2019016843A JP 2019016843 A JP2019016843 A JP 2019016843A JP 2017130812 A JP2017130812 A JP 2017130812A JP 2017130812 A JP2017130812 A JP 2017130812A JP 2019016843 A JP2019016843 A JP 2019016843A
- Authority
- JP
- Japan
- Prior art keywords
- content
- image
- document
- unit
- floating area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000012937 correction Methods 0.000 claims abstract description 43
- 238000001514 detection method Methods 0.000 claims abstract description 22
- 238000003384 imaging method Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 43
- 230000008569 process Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】原稿コンテンツの歪みを補正する機能を備え、ユーザがスキャン画像を得るまでの時間を短縮する原稿読取装置を提供する。【解決手段】カメラスキャナのCPUが、距離画像取得部により、原稿が載置されている領域の距離画像を取得しS505、浮き領域検出部により、距離画像に基づいて原稿画像における浮き領域を検出しS506,S507、コンテンツ有無判定部により、浮き領域にコンテンツが含まれるか判定しS508、浮き領域にコンテンツが含まれる場合には三次元補正処理を行いS509、浮き領域にコンテンツが含まれない場合には三次元補正処理を行わない。【選択図】図5
Description
本発明は、スタンド型スキャナで浮きのある原稿を読み取る技術に関する。
原稿に記された内容をデータとして記録するためにドキュメントスキャナが装置として知られている。ドキュメントスキャナの中ではフラッドベッド型、シートフィード型、スタンド型スキャナ(カメラスキャナ)などが知られている。
カメラスキャナでは、原稿の上方からのカメラスキャンによって、原稿を置くだけで原稿内のコンテンツの読み取りが可能となる。しかし、カメラスキャナでは圧板などで紙面を抑えるわけではないため、例えば紙面形状に折れや曲がりが生じている場合には、折れや曲がりが撮影画像上の原稿コンテンツの歪みとして表れてしまう。このため、視認性が下がる他、後段でOCRをかける場合には精度が下がってしまう。
特許文献1には、このような原稿コンテンツの歪みを補正するために、原稿の形状を計測して、原稿が平面に展開されたような画像を生成する技術が提案されている。
しかし、原稿コンテンツの歪みを補正する技術は一般的に処理に時間がかかる。このため、原稿コンテンツの歪み補正処理を行う場合には、スキャン画像をユーザに提供するまでの時間が長くなってしまうといった課題があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、原稿コンテンツの歪みを補正する機能を備える原稿読取装置でユーザがスキャン画像を得るまでの時間を短縮することができる仕組みを提供することである。
本発明は、原稿画像を撮像する撮像手段と、前記原稿画像の各画素に対応する距離情報を取得する取得手段と、前記原稿画像の三次元的な歪みを補正するための補正手段と、前記距離情報に基づいて前記原稿画像における三次元的な歪みの存在する浮き領域を検出する検出手段と、前記検出手段で検出された浮き領域にコンテンツが含まれるか否かを判定する判定手段と、前記判定手段により前記浮き領域にコンテンツが含まれると判定された場合には前記補正手段による前記原稿画像の補正を行い、前記浮き領域にコンテンツが含まれていないと判定された場合には前記補正手段による補正を行わないように制御する制御手段と、を有することを特徴とする。
本発明によれば、原稿コンテンツの歪みを補正する機能を備える原稿読取装置でユーザがスキャン画像を得るまでの時間を短縮することができる。
以下、本発明を実施するための形態について図面を参照して説明する。
図1は、本発明の原稿読取装置の一実施形態を示すスタンド型スキャナを含むネットワーク構成の一例を示す図である。
カメラスキャナ101は、本実施形態のスタンド型スキャナである。カメラスキャナ101は、イーサネット(登録商標)等のネットワーク104を介して、ホストコンピュータ102およびプリンタ103と通信可能に接続されている。
図1は、本発明の原稿読取装置の一実施形態を示すスタンド型スキャナを含むネットワーク構成の一例を示す図である。
カメラスキャナ101は、本実施形態のスタンド型スキャナである。カメラスキャナ101は、イーサネット(登録商標)等のネットワーク104を介して、ホストコンピュータ102およびプリンタ103と通信可能に接続されている。
カメラスキャナ101は、ホストコンピュータ102からの指示により、カメラスキャナ101から画像を読み取るスキャン機能や、スキャンデータをプリンタ103により出力するプリント機能の実行が可能である。また、カメラスキャナ101は、ホストコンピュータ102を介さず、カメラスキャナ101への直接の指示により、スキャン機能、プリント機能の実行も可能である。
<カメラスキャナ101の構成>
図2は、カメラスキャナ101の構成の一例を説明する図である。
図2(a)に示すように、カメラスキャナ101は、コントローラ部201、カメラ部202、腕部203、短焦点プロジェクタ207、距離画像センサ部208を含む。
図2は、カメラスキャナ101の構成の一例を説明する図である。
図2(a)に示すように、カメラスキャナ101は、コントローラ部201、カメラ部202、腕部203、短焦点プロジェクタ207、距離画像センサ部208を含む。
カメラスキャナの本体であるコントローラ部201と、撮像を行うためのカメラ部202、短焦点プロジェクタ207および距離画像センサ部208は、腕部203により連結されている。腕部203は、関節を用いて曲げ伸ばしが可能である。
また、図2(a)には、カメラスキャナ101が設置されている書画台204も示している。カメラスキャナ101のカメラ部202および距離画像センサ部208のレンズは、書画台204方向に向けられている。カメラスキャナ101は、破線で囲まれた読み取り領域205内の画像を読み取り可能である。図2(a)の例では、読み取り領域205内に原稿206が置かれており、カメラスキャナ101により、この原稿206を読み取り可能である。
また、書画台204内にはターンテーブル209が設けられている。ターンテーブル209は、コントローラ部201からの指示によって回転することが可能である。ターンテーブル209を回転することにより、ターンテーブル209上に置かれた物体とカメラ部202との角度を変えることができる。
なお、カメラ部202は、単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。
また、図2には示していないが、カメラスキャナ101は、図3に示すように、LCDタッチパネル330およびスピーカ340をさらに備えることもできる。
また、図2には示していないが、カメラスキャナ101は、図3に示すように、LCDタッチパネル330およびスピーカ340をさらに備えることもできる。
図2(b)は、カメラスキャナ101における座標系について表している。
カメラスキャナ101では、各ハードウェアデバイスに対して、「カメラ座標系」、「距離画像センサ座標系」、「プロジェクタ座標系」という座標系が定義されている。これらの座標系は、カメラ部202および距離画像センサ部208のRGBカメラ363が撮像する画像平面、あるいはプロジェクタ207が投影する画像平面をXY平面とし、画像平面に直交する方向をZ方向として定義したものである。
カメラスキャナ101では、各ハードウェアデバイスに対して、「カメラ座標系」、「距離画像センサ座標系」、「プロジェクタ座標系」という座標系が定義されている。これらの座標系は、カメラ部202および距離画像センサ部208のRGBカメラ363が撮像する画像平面、あるいはプロジェクタ207が投影する画像平面をXY平面とし、画像平面に直交する方向をZ方向として定義したものである。
さらに、本実施形態では、これらの独立した座標系の3次元データを統一的に扱えるようにするために「直交座標系」が定義されている。直交座標系では、書画台204を含む平面をXY平面とし、このXY平面から上方に垂直な向きをZ軸とする。
以下、座標系を変換する場合の例を、図2(c)を用いて説明する。
図2(c)は、直交座標系とカメラ座標系とを用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。
直交座標系における3次元点P[X,Y,Z]は、(1)式によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
図2(c)は、直交座標系とカメラ座標系とを用いて表現された空間と、カメラ部202が撮像する画像平面との関係を示す。
直交座標系における3次元点P[X,Y,Z]は、(1)式によって、カメラ座標系における3次元点Pc[Xc,Yc,Zc]へ変換できる。
ここで、Rcおよびtcは、直交座標系に対するカメラの姿勢(回転)と位置(並進)によって求まる外部パラメータによって構成され、Rcを3×3の回転行列、tcを並進ベクトルと呼ぶ。
逆に、カメラ座標系で定義された3次元点Pc[Xc,Yc,Zc]は(2)式によって、直交座標系における3次元点P[X,Y,Z]への変換することができる
さらに、カメラ部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次元データを表しているものとする。
<カメラスキャナ101のコントローラ部201のハードウェア構成>
図3は、カメラスキャナ101の本体であるコントローラ部201のハードウェア構成の一例を示す図である。
図3は、カメラスキャナ101の本体であるコントローラ部201のハードウェア構成の一例を示す図である。
図3に示すように、コントローラ部201は、システムバス301に接続されたCPU302、RAM303、ROM304、HDD305及びネットワークI/F306を有する。さらに、コントローラ部201は、画像処理プロセッサ307、カメラI/F308、ディスプレイコントローラ309、シリアルI/F310、オーディオコントローラ311及びUSBコントローラ312を有する。
CPU302は、コントローラ部201全体の動作を制御する中央演算装置である。RAM303は揮発性メモリである。ROM304は不揮発性メモリであり、CPU302の起動用プログラム等が格納されている。HDD305は、RAM303と比較して大容量なハードディスクドライブ(HDD)である。HDD305には、コントローラ部201の実行する、カメラスキャナ101の制御用プログラム等が格納されている。
CPU302は、電源ON等の起動時、ROM304に格納されている起動用プログラムを実行する。この起動用プログラムは、HDD305に格納されている制御用プログラムを読み出し、RAM303上に展開するためのものである。CPU302は、起動用プログラムを実行すると、続けてRAM303上に展開した制御用プログラムを実行し、制御を行う。また、CPU302は、制御用プログラムによる動作に用いるデータもRAM303上に格納して読み書きを行う。HDD305には、さらに制御用プログラムによる動作に必要な各種設定や、カメラ入力によって生成された画像データ等を格納することができる。HDD305は、CPU302によって読み書き可能である。CPU302は、ネットワークI/F306を介してネットワーク104上の他の機器との通信を行う。
画像処理プロセッサ307は、RAM303に格納された画像データを読み出して処理し、またRAM303へ書き戻す。なお、画像処理プロセッサ307が実行する画像処理は、回転、変倍、色変換等を含む。
カメラI/F308は、カメラ部202および距離画像センサ部208と接続される。カメラI/F308は、CPU302からの指示に応じて、カメラ部202から画像データを、距離画像センサ部208から距離画像データ(距離情報)を取得して、RAM303へ書き込む。また、カメラI/F308は、CPU302からの制御コマンドを、カメラ部202及び距離画像センサ部208へ送信し、カメラ部202及び距離画像センサ部208の設定を行う。
距離画像センサ部208は、赤外線によるパターン投射方式の距離画像センサである。図3に示すように、距離画像センサ部208は、赤外線パターン投射部361、赤外線カメラ362、RGBカメラ363を有する。
赤外線パターン投射部361は、対象物に対して、人の目には不可視である赤外線によって3次元測定パターンを投射する。赤外線カメラ362は、対象物に投射した3次元測定パターンを読みとるカメラである。RGBカメラ363は、人の目に見える可視光をRGB信号で撮影するカメラである。
なお、本実施形態では上述したように、距離画像センサ部208として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、距離画像センサ部208として、2つのRGBカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するTOF(Time of Flight)方式を用いてもよい。
なお、コントローラ部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へのデータの読み書きを行う。
USBコントローラ312は、CPU302の指示に応じて外付けのUSBデバイスの制御を行う。ここでは、USBコントローラ312は、USBメモリやSDカードなどの外部メモリ350と接続され、外部メモリ350へのデータの読み書きを行う。
<カメラスキャナ101の制御用プログラムの機能構成>
図4は、CPU302が実行するカメラスキャナ101の制御用プログラムの機能構成401の一例を示す図である。カメラスキャナ101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。すなわち、図4に示す機能構成401は、CPU302がHDD305に格納されるカメラスキャナ101の制御用プログラムをRAM303にロードして実行することにより実現される。
図4は、CPU302が実行するカメラスキャナ101の制御用プログラムの機能構成401の一例を示す図である。カメラスキャナ101の制御用プログラムは前述のようにHDD305に格納され、CPU302が起動時にRAM303上に展開して実行する。すなわち、図4に示す機能構成401は、CPU302がHDD305に格納されるカメラスキャナ101の制御用プログラムをRAM303にロードして実行することにより実現される。
機能構成401において、メイン制御部402は制御の中心であり、機能構成401内の他の各モジュールを制御する。
画像取得部416は、画像入力処理を行うモジュールである。画像取得部416は、カメラ画像取得部407、距離画像取得部408を有する。
画像取得部416は、画像入力処理を行うモジュールである。画像取得部416は、カメラ画像取得部407、距離画像取得部408を有する。
カメラ画像取得部407は、カメラI/F308を介してカメラ部202が出力する画像データを取得し、RAM303へ格納する。
距離画像取得部408は、カメラI/F308を介して距離画像センサ部208が出力する距離画像データを取得し、RAM303へ格納する。なお、距離画像センサ部208が出力する距離画像データは、原稿画像の各画素に対応する距離情報を含むデータである。
距離画像取得部408は、カメラI/F308を介して距離画像センサ部208が出力する距離画像データを取得し、RAM303へ格納する。なお、距離画像センサ部208が出力する距離画像データは、原稿画像の各画素に対応する距離情報を含むデータである。
認識処理部417は、カメラ画像取得部407、距離画像取得部408が取得する画像データから書画台204上の物体の動きを検知して認識するモジュールである。認識処理部417は、ジェスチャ認識部409、物体検知部410を有する。
ジェスチャ認識部409は、画像取得部416から書画台204上の画像を取得し続け、タッチなどのジェスチャを検知するとメイン制御部402へ通知する。ジェスチャ認識部409の処理の詳細は後述する。
物体検知部410は、メイン制御部402から物体載置待ち処理あるいは物体除去待ち処理の通知を受けると、画像取得部416から書画台204を撮像した画像を取得する。また、物体検知部410は、書画台204上に物体が置かれて静止するタイミングあるいは物体が取り除かれるタイミングを検知する処理を行う。
スキャン処理部418は、実際に対象物のスキャンを行うモジュールである。スキャン処理部418は、サムネイル画像生成部411、画像処理部412、三次元幾何補正処理部452、浮き領域検出部450、コンテンツ有無判定部451を有する。
サムネイル画像生成部411は、カメラ画像取得部407から取得される画像データを縮小することで低解像度の画像であるサムネイル画像を生成する。
画像処理部412は、カメラ画像取得部407から取得される画像データに対して色味など見栄えが良くなるよう調整した色調整済み画像を生成する。
画像処理部412は、カメラ画像取得部407から取得される画像データに対して色味など見栄えが良くなるよう調整した色調整済み画像を生成する。
三次元幾何補正処理部452は、例えば原稿の三次元的な歪みに起因する、三次元的に歪んだ画像を歪んでいない状態に補正した画像を生成する(三次元幾何補正)。具体的には、三次元幾何補正処理部452は、まず原稿の立体形状を取得する。立体形状の取得は、プロジェクタ107によって投影線を投影し、その様子をカメラ103で撮影した画像を用い、光切断法により行う。そして、三次元幾何補正処理部452は、上述のように取得した立体形状を基にカメラ画像を平面展開した画像を生成する。この三次元幾何補正は公知の技術であるため(例えば特開2002−165083号公報)、より詳細な説明は省略する。
浮き領域検出部450は、距離画像取得部408が取得する距離画像から原稿画像における三次元的な歪みの存在する浮き領域を検出して取得する。浮き領域検出部450の処理の詳細は後述する図5のフローチャート内で説明する。
コンテンツ有無判定部451は、指定された画像の指定された領域にコンテンツが存在するか否かの判定を行う(コンテンツ有無判定)。このコンテンツ有無判定は、以下のように行う。まず、コンテンツ有無判定部451は、指定された画像から、指定された領域以外をマスクする。続いて、コンテンツ有無判定部451は、キャニー法によるエッジ検出を行う。続いて、コンテンツ有無判定部451は、エッジとして検出された画素数の、指定された領域の画素数に対する割合を調べる。さらに、コンテンツ有無判定部451は、該割合が所定値より大きい場合にはコンテンツが存在すると判定し、該割合が所定値より小さい場合にはコンテンツが存在しないと判定する。なお、コンテンツの対象を文字のみと限定してもよい。その場合、コンテンツ有無判定部451は、公知の属性判定技術(例えば特開2007−104486号公報)を適用し、文字が含まれればコンテンツが存在すると判定する。もし、画像のみである場合は、コンテンツ有無判定部451は、コンテンツが存在しはいと判定する。コンテンツの対象を文字のみに限定することは、視認性の低下を容認できてもOCRの精度低下を防ぐ必要がある場合に有用である。
ユーザインターフェイス部403は、GUI部品生成表示部414、投射領域検出部415を有する。
GUI部品生成表示部414は、メイン制御部402からの要求を受け、メッセージやボタン等のGUI部品を生成し、生成したGUI部品の表示を表示部406へ要求する。なお、書画台204上のGUI部品の表示場所は、投射領域検出部415により検出される。
GUI部品生成表示部414は、メイン制御部402からの要求を受け、メッセージやボタン等のGUI部品を生成し、生成したGUI部品の表示を表示部406へ要求する。なお、書画台204上のGUI部品の表示場所は、投射領域検出部415により検出される。
表示部406は、ディスプレイコントローラ309を介して、短焦点プロジェクタ207もしくはLCDタッチパネル330へ要求されたGUI部品の表示を行う。プロジェクタ207は、書画台204に向けて設置されているため、書画台204上にGUI部品を投射することが可能となっている。
また、ユーザインターフェイス部403は、ジェスチャ認識部409が認識したタッチ等のジェスチャ操作、あるいはシリアルI/F310を介したLCDタッチパネル330からの入力操作、そしてさらにそれらの座標を受信する。そして、ユーザインターフェイス部403は、描画中の操作画面の内容と操作座標を対応させて操作内容(押下されたボタン等)を判定する。ユーザインターフェイス部403は、この操作内容をメイン制御部402へ通知することにより、操作者の操作を受け付ける。例えば、ユーザインターフェイス部403は、三次元スキャンモードの設定を受け付ける。三次元スキャンモードとして、ON/OFF/AUTOから選択指定可能とする。なお、三次元スキャンモード=ONは、三次元補正処理を実行するモードに対応する。また、三次元スキャンモード=OFFは、三次元補正処理を実行しないモードに対応する。また、三次元スキャンモード=AUTOは、原稿画像の浮き領域にコンテンツが存在する場合にのみ三次元補正処理が実行されるモードに対応する。なお、設定された三次元スキャンモードは、例えばHDD305に保存される。
ネットワーク通信部404は、ネットワークI/F306を介して、ネットワーク104上の他の機器とTCP/IP等による通信を行う。
データ管理部405は、制御用プログラム401の実行において生成した作業データなど様々なデータをHDD305上の所定の領域へ保存し、管理する。
データ管理部405は、制御用プログラム401の実行において生成した作業データなど様々なデータをHDD305上の所定の領域へ保存し、管理する。
<ジェスチャ認識部409の説明>
ジェスチャ認識部409の処理の詳細を説明する。
ジェスチャ認識部409は、距離画像取得部408から距離画像と3次元点群を取得する。続いて、ジェスチャ認識部409は、書画台204を含む平面から所定の高さ以上にある、肌色の3次元点群を抽出することで、手の3次元点群を得る。続いて、ジェスチャ認識部409は、抽出した手の3次元点群を、書画台204の平面に射影した2次元画像を生成して、その手の外形を検出する。この時、手の3次元点群の各点が、書画台204の平面に投影した2次元画像の各座標のどれに対応するかの対応関係を記憶しておくものとする。続いて、ジェスチャ認識部409は、検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。続いて、ジェスチャ認識部409は、それぞれの指先検出した指先の書画台204を含む平面との距離を、先の対応関係を用いて3次元点群から算出する。ジェスチャ認識部409は、算出した距離が微小な所定値以下である場合、タッチジェスチャありと判定し、メイン制御部402へ通知する。
ジェスチャ認識部409の処理の詳細を説明する。
ジェスチャ認識部409は、距離画像取得部408から距離画像と3次元点群を取得する。続いて、ジェスチャ認識部409は、書画台204を含む平面から所定の高さ以上にある、肌色の3次元点群を抽出することで、手の3次元点群を得る。続いて、ジェスチャ認識部409は、抽出した手の3次元点群を、書画台204の平面に射影した2次元画像を生成して、その手の外形を検出する。この時、手の3次元点群の各点が、書画台204の平面に投影した2次元画像の各座標のどれに対応するかの対応関係を記憶しておくものとする。続いて、ジェスチャ認識部409は、検出した手の外形上の各点について、その点での外形の曲率を算出し、算出した曲率が所定値より小さい点を指先として検出する。続いて、ジェスチャ認識部409は、それぞれの指先検出した指先の書画台204を含む平面との距離を、先の対応関係を用いて3次元点群から算出する。ジェスチャ認識部409は、算出した距離が微小な所定値以下である場合、タッチジェスチャありと判定し、メイン制御部402へ通知する。
なお、指先検出について、ここでは3次元点群から2次元画像に投影した画像から指先を検出する方法を説明したが、指先検出の対象とする画像は、これに限定されるものではない。例えば、距離画像の背景差分や、RGB画像の肌色領域から手の領域を抽出し、上に述べたのと同様の方法(外形の曲率計算等)で、手領域のうちの指先を検出してもよい。
<スキャン処理>
図5は、本実施形態におけるスキャン処理の一例を説明するフローチャートである。図5のフローチャートに示す処理は、ユーザによってスキャンが指示されたとき、カメラスキャナ101のCPU302により実行される。すなわち、図5に示す処理は、CPU302がHDD305に格納されるカメラスキャナ101の制御用プログラムをRAM303にロードして実行することにより実現される。
図5は、本実施形態におけるスキャン処理の一例を説明するフローチャートである。図5のフローチャートに示す処理は、ユーザによってスキャンが指示されたとき、カメラスキャナ101のCPU302により実行される。すなわち、図5に示す処理は、CPU302がHDD305に格納されるカメラスキャナ101の制御用プログラムをRAM303にロードして実行することにより実現される。
S501において、CPU302は、カメラ画像取得部407により、カメラ部202で撮影された画像データを取得する。
次に、S502において、CPU302は、サムネイル画像生成部411により、上記S501で取得された画像データをもとにサムネイル画像を生成する。なお、ここでサムネイル画像を生成するのは、これを表示することで、少しでも早くユーザに撮影した画像の概要を伝えることができるためであり、この段階でサムネイル画像を表示部406に表示してもよい。また、このサムネイル画像は、後述するS508においても利用される。
次に、S502において、CPU302は、サムネイル画像生成部411により、上記S501で取得された画像データをもとにサムネイル画像を生成する。なお、ここでサムネイル画像を生成するのは、これを表示することで、少しでも早くユーザに撮影した画像の概要を伝えることができるためであり、この段階でサムネイル画像を表示部406に表示してもよい。また、このサムネイル画像は、後述するS508においても利用される。
次に、S503において、CPU302は、画像処理部412により、上記S501で取得した画像データに対して画像処理を施す。
次に、S504において、CPU302は、三次元スキャンモードとしてユーザから何が指定されているかを判定する。三次元スキャンモードはユーザが指定可能なモードで、ON/OFF/AUTOから選択指定可能である。
次に、S504において、CPU302は、三次元スキャンモードとしてユーザから何が指定されているかを判定する。三次元スキャンモードはユーザが指定可能なモードで、ON/OFF/AUTOから選択指定可能である。
上記S504において、CPU302は、OFFが指定されていると判定した場合、上記S503で画像処理を施した画像データをスキャン画像としてHDD305に保存し、本フローチャートの処理を終了する。
また、上記S504において、CPU302は、ONが指定されていると判定した場合、S509に処理を進める。S509の三次元補正処理については後述する。
また、上記S504において、CPU302は、AUTOが指定されていると判定した場合、S505に処理を進める。
S505において、CPU302は、距離画像取得部408により、距離画像を取得する。
S505において、CPU302は、距離画像取得部408により、距離画像を取得する。
次に、S506において、CPU302は、浮き領域検出部450により、上記S505で取得した距離画像を用いて浮き領域を検出して取得する。浮き領域の検出は以下のようにして行う。浮き領域検出部450は、まず上記S505で得た距離画像と、事前に取得されている書画台204に何も置かれていない状態の距離画像(例えばHDD305に保存されている)との差分画像を取得する。続いて浮き領域検出部450は、差分画像を事前に決定した所定値を閾値として2値化する。結果として、原稿台から所定距離離れた領域が白画素となる。距離センサの多くは距離画像の画素値が時間的に変動するため、上記閾値としては、距離画像の変動幅より少し大きい程度が好ましい。続いて浮き領域検出部450は、2値化画像に膨張処理をかける。これは、少し浮いているにも関わらず上記閾値以下になってしまう領域が浮いていると判定された領域の付近に残存する可能性が高く、それらが除外されてしまう悪影響を緩和させるための施策である。続いて浮き領域検出部450は、上記S505で得た距離画像において、隣接画素の差分が所定値より大きい画素及びその周辺所定数の画素を、膨張処理後の画像から除外する。これは、距離画像において急峻な変動がある領域を除外することを意味する。すなわち紙の端や影といった本来コンテンツでない内容のものが、のちに判定するコンテンツ有無判定に悪影響を及ぼすことを防ぐ目的の施策である。上記のような処理によって得られた画像のうち、白画素部分が浮き領域として検出され、取得される。この浮き領域は、上述したように急峻な変動がある領域が除外されてたものであり、後述するS508でコンテンツの有無を判定する際に対象となる領域である。
次に、S507において、CPU302は、上記S506で浮き領域が得られたか否かを判定する。CPU302は、浮き領域が得られなかったと判定した場合(S507でNoの場合)、例えば後述する図6(a),(c)の場合、上記S503で画像処理を施した画像をスキャン画像としてHDD305に保存し、本フローチャートの処理を終了する。
一方、上記S507において、CPU302は、浮き領域が得られたと判定した場合(S507でYesの場合)、例えば後述する図6(b),(d)の場合、S508に処理を進める。
S508において、CPU302は、コンテンツ有無判定部451によって、上記S502で生成したサムネイル画像における浮き領域に、コンテンツが存在するか否か判定する。例えば、コンテンツ有無判定部451は、上記浮き領域に対してエッジ抽出を行ってエッジとして検出された素数の割合が閾値より大きいか否かを判定する。エッジとして検出された画素数の割合が閾値より大きい場合には、コンテンツ有無判定部451はコンテンツが存在すると判定する。一方、エッジとして検出された画素数の割合が閾値より小さい場合には、コンテンツ有無判定部451はコンテンツが存在しないと判定する。また、上述したように、コンテンツの対象を文字のみと限定してもよい。その場合、コンテンツ有無判定部451は、公知の属性判定技術を適用し、文字が含まれればコンテンツが存在すると判定する。もし、画像のみである場合は、コンテンツ有無判定部451はコンテンツが存在しないと判定する。なお、サムネイル画像を用いることにより、コンテンツ有無の判定処理速度を向上することが可能となる。このように、三次元幾何補正の対象となるコンテンツを文字のみに限定するか、画像も含めるかをユーザ設定可能にしてもよい。そして、この設定に応じて、コンテンツ有無判定部451がコンテンツの有無を判定するようにしてもよい。
上記S508において、CPU302は、浮き領域にコンテンツが存在しないと判定した場合(S508でNoの場合)、例えば図6(b)の場合、上記S503で画像処理を施した画像をデータスキャン画像としてHDD305に保存する。そして、本フローチャートの処理を終了する。
一方、上記S508において、CPU302は、浮き領域にコンテンツが存在すると判定した場合(S508でYesの場合)、例えば図6(d)の場合、S509に処理を進める。
S509において、CPU302は、三次元幾何補正処理部452よって、上記S503で画像処理を施した画像データに対して三次元的な歪み補正を行い、該補正の結果として得られた画像データをスキャン画像としてHDD305に保存する。そして、本フローチャートの処理を終了する。
図6は、書画台204に置かれる原稿の一例を示す図である。なお、原稿上に図示される線分はコンテンツ(例えば文字)を表すものとする。
図6(a)は、コンテンツが下部までなく、浮きもない原稿を表す。
図6(b)は、コンテンツが下部までないが、原稿右手前(右下)に浮きのある原稿を表す。
図6(c)は、コンテンツが下部まであり、浮きのない原稿を表す。
図6(d)は、コンテンツが下部まであり、原稿右手前(右下)に浮きのある原稿を表す。
図6(a)は、コンテンツが下部までなく、浮きもない原稿を表す。
図6(b)は、コンテンツが下部までないが、原稿右手前(右下)に浮きのある原稿を表す。
図6(c)は、コンテンツが下部まであり、浮きのない原稿を表す。
図6(d)は、コンテンツが下部まであり、原稿右手前(右下)に浮きのある原稿を表す。
これらの原稿に対してスキャン処理を、三次元スキャンモードにAUTOを指定した状態で行った場合、次のような結果となる。
まず、図6(a)及び図6(c)は浮き領域がないため、図5のS507でNoと判定され、三次元補正処理が行われることなくスキャン処理は終了される。
まず、図6(a)及び図6(c)は浮き領域がないため、図5のS507でNoと判定され、三次元補正処理が行われることなくスキャン処理は終了される。
図6(b)は浮き領域があるが、浮き領域にコンテンツが存在しないため、図5のS508でNoと判定され、三次元補正処理が行われることなくスキャン処理は終了される。
図6(d)は浮き領域が存在し、さらに浮き領域にコンテンツが存在するため、図5のS507でYes且つS508でYesと判定され、三次元補正処理(図5のS509)が行われた後にスキャン処理は終了される。
以上のように、ユーザが三次元スキャンモードAUTOでスキャン処理を行った場合、浮き領域にコンテンツが含まれる場合にのみ三次元幾何補正処理が実施される。逆に浮きが無い場合や浮き部分にコンテンツが存在しない場合には三次元幾何補正処理が実施されない。浮きが存在しない場合、そもそも三次元的な歪みは発生しないため、三次元幾何補正処理は必要ない。また、浮きがあってもそこにコンテンツが含まれない場合、結果には影響はない(コンテンツがなければ、歪んでも見た目にはわからず影響がない)。
なお、コンテンツの有無を判定するのにかかるオーバーヘッドであるが、これも無視できる程度である。なぜなら三次元幾何補正処理が最終出力画像である高解像度の画像を使用する必要があるため時間がかかるのに対し、浮き領域の判定やコンテンツの有無判定は低解像度の画像(距離画像やサムネイル画像)を用いて判定される。これにより非常に短い時間で実施できる。上記を鑑みると、本実施形態の構成により、必要な場合にのみ三次元幾何補正処理を実行して、総合的にスキャン処理時間を短縮化できる。すなわち原稿読取画像の品質の維持と、読取時間の短縮の双方を両立することができる。
上述したように、カメラスキャナで浮きのある原稿コンテンツを補正する三次元幾何補正(原稿コンテンツの歪み補正処理)を行うと時間がかかってしまう。このため、三次元幾何補正を常に実施するような構成では、ユーザがスキャン画像を得るまでの時間が長くなってしまう。本実施例では、距離画像センサから取得した距離画像を用いて原稿中の浮きの存在する部分を判定し、さらに浮き領域にコンテンツが含まれるか否かを調べる。そして、コンテンツがある場合に三次元幾何補正を実行し、コンテンツが存在しない場合には三次元幾何補正を実行しないように構成する。このような構成により、原稿コンテンツの歪み補正処理を行うべきか否かを自動で判断でき、原稿コンテンツの歪みを補正する機能を備える原稿読取装置でユーザがスキャン画像を得るまでの時間を短縮することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
101 カメラスキャナ
201 コントローラ部
202 カメラ部
204 書画台
207 プロジェクタ
208 距離画像センサ部
201 コントローラ部
202 カメラ部
204 書画台
207 プロジェクタ
208 距離画像センサ部
Claims (7)
- 原稿画像を撮像する撮像手段と、
前記原稿画像の各画素に対応する距離情報を取得する取得手段と、
前記原稿画像の三次元的な歪みを補正するための補正手段と、
前記距離情報に基づいて前記原稿画像における三次元的な歪みの存在する浮き領域を検出する検出手段と、
前記検出手段で検出された浮き領域にコンテンツが含まれるか否かを判定する判定手段と、
前記判定手段により前記浮き領域にコンテンツが含まれると判定された場合には前記補正手段による前記原稿画像の補正を行い、前記浮き領域にコンテンツが含まれていないと判定された場合には前記補正手段による補正を行わないように制御する制御手段と、
を有することを特徴とする原稿読取装置。 - 前記コンテンツは、文字が含まれるコンテンツであることを特徴とする請求項1に記載の原稿読取装置。
- 前記補正の対象となるコンテンツを文字に限定する設定が可能な設定手段を有し、
前記設定手段により前記設定がなされている場合、前記判定手段は、前記コンテンツを文字が含まれるコンテンツに限定して前記判定を行うことを特徴とする請求項1に記載の原稿読取装置。 - 前記検出手段は、隣接画素との前記距離情報の差分が所定値より大きい画素に対応する領域は前記浮き領域に含めないことを特徴とする請求項1〜3のいずれか1項に記載の原稿読取装置。
- 前記原稿画像からサムネイル画像を生成する生成手段を有し、
前記判定手段は、前記サムネイル画像を用い、前記浮き領域にコンテンツが含まれるか否かを判定することを特徴とする請求項1〜4のいずれか1項に記載の原稿読取装置。 - 原稿画像を撮像する撮像手段と、前記原稿画像の各画素に対応する距離情報を取得する取得手段と、前記原稿画像の三次元的な歪みを補正するための補正手段と、を有する原稿読取装置の制御方法であって、
前記距離情報に基づいて前記原稿画像における三次元的な歪みの存在する浮き領域を検出する検出ステップと、
前記検出ステップで検出された浮き領域にコンテンツが含まれるか否かを判定する判定ステップと、
前記判定ステップで前記浮き領域にコンテンツが含まれると判定された場合には前記補正手段による前記原稿画像の補正を行い、前記浮き領域にコンテンツが含まれていないと判定された場合には前記補正手段による補正を行わないように制御する制御ステップと、
を有することを特徴とする原稿読取装置の制御方法。 - コンピュータに、請求項6に記載の制御方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017130812A JP2019016843A (ja) | 2017-07-04 | 2017-07-04 | 原稿読取装置、原稿読取装置の制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017130812A JP2019016843A (ja) | 2017-07-04 | 2017-07-04 | 原稿読取装置、原稿読取装置の制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019016843A true JP2019016843A (ja) | 2019-01-31 |
Family
ID=65356952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017130812A Pending JP2019016843A (ja) | 2017-07-04 | 2017-07-04 | 原稿読取装置、原稿読取装置の制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019016843A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059691A (zh) * | 2019-03-29 | 2019-07-26 | 南京邮电大学 | 基于移动终端的多视角扭曲文档图像几何校正方法 |
JP2021009546A (ja) * | 2019-07-01 | 2021-01-28 | セイコーエプソン株式会社 | 印刷制御装置、印刷制御プログラム、及び、印刷物生産方法 |
-
2017
- 2017-07-04 JP JP2017130812A patent/JP2019016843A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059691A (zh) * | 2019-03-29 | 2019-07-26 | 南京邮电大学 | 基于移动终端的多视角扭曲文档图像几何校正方法 |
CN110059691B (zh) * | 2019-03-29 | 2022-10-14 | 南京邮电大学 | 基于移动终端的多视角扭曲文档图像几何校正方法 |
JP2021009546A (ja) * | 2019-07-01 | 2021-01-28 | セイコーエプソン株式会社 | 印刷制御装置、印刷制御プログラム、及び、印刷物生産方法 |
JP7283272B2 (ja) | 2019-07-01 | 2023-05-30 | セイコーエプソン株式会社 | 印刷制御装置、印刷制御プログラム、及び、印刷物生産方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5680976B2 (ja) | 電子黒板システム及びプログラム | |
US10310675B2 (en) | User interface apparatus and control method | |
US10254893B2 (en) | Operating apparatus, control method therefor, and storage medium storing program | |
US9979858B2 (en) | Image processing apparatus, image processing method and program | |
US9924066B2 (en) | Image processing apparatus, information processing method, and program | |
US20160054806A1 (en) | Data processing apparatus, data processing system, control method for data processing apparatus, and storage medium | |
JP2016103137A (ja) | ユーザインタフェース装置、画像処理装置及び制御用プログラム | |
US9392263B2 (en) | 3D scanner, 3D scan method, computer program, and storage medium | |
JP2019016843A (ja) | 原稿読取装置、原稿読取装置の制御方法、及びプログラム | |
US10999513B2 (en) | Information processing apparatus having camera function, display control method thereof, and storage medium | |
US10116809B2 (en) | Image processing apparatus, control method, and computer-readable storage medium, which obtains calibration image information with which to correct image data | |
WO2020106277A1 (en) | Document detections from video images | |
JP2018191094A (ja) | 原稿読取装置、原稿読取装置の制御方法、及びプログラム | |
US10270929B2 (en) | Image processing apparatus, control method, and recording medium | |
US10373324B2 (en) | Measurement apparatus that scans original, method of controlling the same, and storage medium | |
JP6614500B2 (ja) | 画像読取装置、携帯端末、画像読取方法及び画像読取プログラム | |
JP2018191258A (ja) | 画像読取装置、画像読取方法及びプログラム | |
JP6203070B2 (ja) | スキャンシステムおよびその制御方法、並びにプログラム | |
JP2017123561A (ja) | 画像処理装置、画像処理装置の画像処理方法、画像処理装置の制御方法、及びプログラム | |
JP6364944B2 (ja) | 画像処理装置、投影および撮影の方法、ならびにコンピュータプログラム | |
JP2016025383A (ja) | 画像処理装置、制御方法およびプログラム | |
JP2019146126A (ja) | 画像読取装置、その制御方法、及びプログラム | |
JP2018201075A (ja) | 画像読取装置、距離計測装置、距離計測方法及びプログラム | |
JP2018191195A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2019146127A (ja) | 画像読取装置、その制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |