JP6354619B2 - 画像処理装置、および、コンピュータプログラム - Google Patents

画像処理装置、および、コンピュータプログラム Download PDF

Info

Publication number
JP6354619B2
JP6354619B2 JP2015037813A JP2015037813A JP6354619B2 JP 6354619 B2 JP6354619 B2 JP 6354619B2 JP 2015037813 A JP2015037813 A JP 2015037813A JP 2015037813 A JP2015037813 A JP 2015037813A JP 6354619 B2 JP6354619 B2 JP 6354619B2
Authority
JP
Japan
Prior art keywords
image
pixels
pixel
processing apparatus
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.)
Active
Application number
JP2015037813A
Other languages
English (en)
Other versions
JP2016163097A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015037813A priority Critical patent/JP6354619B2/ja
Priority to US15/050,603 priority patent/US9886648B2/en
Publication of JP2016163097A publication Critical patent/JP2016163097A/ja
Application granted granted Critical
Publication of JP6354619B2 publication Critical patent/JP6354619B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • 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/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Description

本発明は、第1の画像と第2の画像とが配置され、第1の画像と第2の画像とで1個の対象物を示す配置済画像を表す配置済画像ファイルを生成する技術に関する。
第1の画像と第2の画像とが配置された配置済画像を表す配置済画像ファイルを生成する技術が知られている。例えば、特許文献1に開示された技術では、一度には読み取れない大きさの1個の原稿を、スキャナを用いて2回に分けて読み取ることによって、第1の画像を表すスキャンデータと、第2の画像を表すスキャンデータと、が取得される。そして、2個のスキャンデータを用いて、第1の画像と第2の画像とが配置され、第1の画像と第2の画像との全体で原稿を示す配置済画像を表す画像ファイルが生成される。この画像において、第1の画像と第2の画像とが配置される位置は、2個の画像のそれぞれについて、画像の一辺に沿った領域の特徴を抽出し、2個の画像の間で、抽出された特徴を比較することによって決定される。
特開平6−164893号公報
しかしながら、1個の原稿を複数回に分けて読み取る場合には、1個の原稿内の一部が、複数個のスキャンデータによって表される複数個のスキャン画像のいずれにも現れない場合があった。例えば、読み取り時に原稿が折り曲げられる場合には、原稿の折り目に位置する部分が複数個のスキャン画像のいずれにも現れない場合があった。このために、第1の画像と第2の画像とが配置される画像において、これらの画像が配置される位置を精度良く決定することができない可能性があった。
本明細書は、第1の画像と第2の画像とが配置され、第1の画像と第2の画像とで1個の対象物(例えば、1枚の原稿)を示す配置済画像を表す配置済画像ファイルを生成する際に、第1の画像と第2の画像との配置位置を精度良く決定する技術を開示する。
本明細書に開示された技術は、以下の適用例として実現することが可能である。
[適用例1]1個の対象物の一部を示す第1の画像を表す第1の画像ファイルと、1個の対象物の他の一部を示す第2の画像を表す第2の画像ファイルと、を取得する画像取得部と、
前記第1の画像に含まれる複数個の画素であって前記第1の画像の第1の端に沿って前記第1の画像の内側に並ぶ複数個の画素の値を用いて、前記第1の画像に含まれない複数個の第1の画素であって前記第1の端に沿って前記第1の画像の外側に並ぶ前記複数個の第1の画素を生成する第1の画素生成部と、
前記複数個の第1の画素を用いて、前記第1の画像と前記第2の画像との相対的な位置を決定する決定部と、
決定済の前記相対的な位置に前記第1の画像と前記第2の画像とが配置され、第1の画像と第2の画像とで前記対象物を示す配置済画像を表す一の配置済画像ファイルを生成する画像生成部と、
を備える、画像処理装置。
上記構成によれば、第1の端に沿って第1の画像の外側に並ぶ複数個の第1の画素を生成し、複数個の第1画素を用いて、第1の画像と第2の画像との相対的な位置が決定される。この結果、配置済画像ファイルを生成する際に、第1の画像と第2の画像との配置位置を精度良く決定することができる。
なお、本明細書に開示された技術は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
実施例における画像処理システムの構成を示すブロック図である。 画像処理システム1000の動作を示すシーケンス図である。 スキャン処理の説明図である。 スキャン画像の一例を示す図である。 複合機200の画像処理で用いられる画像の一例を示す図である。 画素復元処理のフローチャートである。 配置位置決定処理のフローチャートである。 図5(A)の探索領域SA近傍の拡大図である。 第1実施例の配置済画像生成処理のフローチャートである。 第2実施例の配置済画像生成処理のフローチャートである。
A.実施例:
A−1:画像処理システム1000の構成
図1は、実施例における画像処理システムの構成を示すブロック図である。画像処理システム1000は、画像処理装置としてのサーバ400と、複合機200と、を備えている。サーバ400は、インターネット70に接続されており、複合機200は、LAN(Local Area Networkの略称)80を介して、インターネット70に接続されている。この結果、サーバ400と複合機200は、LAN80とインターネット70とを介して、通信可能である。また、LAN80には、複合機200のユーザのパーソナルコンピュータ500が接続されていても良い。
サーバ400は、サーバ400のコントローラの一例としてのCPU410と、DRAMなどの揮発性記憶装置420と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置430と、インターネット70などのネットワークに接続するためのインタフェースを含む通信部480と、を備えている。揮発性記憶装置420には、CPU410が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域421が設けられている。不揮発性記憶装置430には、コンピュータプログラム431と、UIデータ群433と、が格納されている。
コンピュータプログラム431、および、UIデータ群433は、例えば、サーバ400の管理者によって、インターネット70を介してサーバ400にアップロードされることにより、サーバ400にインストールされる。または、コンピュータプログラム431、および、UIデータ群433は、例えば、DVD−ROMなどに格納された形態で提供され、サーバ400の管理者によって、サーバ400にインストールされても良い。CPU410は、コンピュータプログラム431を実行することにより、後述する画像処理を実現する。
複合機200は、複合機200のコントローラの一例としてのCPU210と、DRAMなどの揮発性記憶装置220と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置230と、プリンタ部240と、スキャナ部250と、タッチパネルやボタンなどの操作部260と、液晶ディスプレイなどの表示部270と、外部機器と通信を行う通信部280と、を備えている。例えば、通信部280は、LAN80などのネットワークに接続するためのインタフェースや、USBメモリなどの外部記憶装置と接続するためのインタフェースを含んでいる。
揮発性記憶装置220には、CPU210が処理を行う際に生成される種々のデータを一時的に格納するバッファ領域221が設けられている。不揮発性記憶装置230には、制御プログラム231が格納されている。制御プログラム231は、プリンタ100の製造時に不揮発性記憶装置230に予め格納されて提供され得る。これに代えて、制御プログラム231は、例えば、インターネットを介して接続されたサーバからダウンロードされる形態、あるいは、CD−ROMなどに記録された形態で提供され得る。
プリンタ部240は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。スキャナ部250は、CCDやCMOSなどの光電変換素子を用いて光学的に原稿を読み取ることによってカラー画像やグレー画像を表すスキャンデータを生成する。スキャナ部250は、いわゆるフラットベッド式の後述する原稿台255を備えている。
CPU210は、制御プログラム231を実行することにより、複合機200の制御を実行する。例えば、CPU210は、プリンタ部240やスキャナ部250を制御して、コピー処理、印刷処理、スキャン処理などを実行する。さらに、CPU210は、サーバ400にアクセスして、サーバ400が提供するサービスを利用するサービス利用処理を、実行することができる。
A−2:画像処理システム1000の動作
図2は、画像処理システム1000の動作を示すシーケンス図である。このシーケンス図の処理は、複合機200が、サーバ400が提供する画像生成サービスの利用指示を、ユーザから受け付けた場合に開始される。この画像生成サービスは、詳細は後述するが、複数個のスキャンデータによって表される複数個の画像が配置され、複数個の画像で1個の対象物(具体的には、後述する原稿10)を示す配置済画像を表す配置済画像データを生成するサービスである。複数個のスキャンデータは、詳細は後述するが、例えば、1回で読み取り可能なサイズより大きなサイズの原稿を、複数回に分けて読み取ることによって生成される。
処理が開始されると、S5では、複合機200のCPU210は、サービス開始要求を、サーバ400に対して送信する。サーバ400のCPU410は、サービス開始要求を受信すると、図1に示されるUIデータ群433から画像生成サービスの提供に必要なUIデータを選択し、S10にて、該UIデータを複合機200に対して送信する。UIデータは、具体的には、ユーザインタフェース画面(以下、UI画面とも呼ぶ)を表す画面データと、制御データと、を含む。この制御データは、例えば、UI画面を利用して複合機200が後述するS15のスキャン処理などの所定の処理を行うために必要な各種のデータを含む。例えば、制御データは、複合機200が実行すべき処理を行うために必要な情報、例えば、画像ファイルの送信先アドレスなどを含む。複合機200が実行すべき処理は、例えば、後述するS20にて画像ファイルやキャンパスサイズ情報をサーバ400へ送信する処理を含む。
S15では、CPU210は、受信したUIデータに基づいて、複数個のスキャンデータを生成するスキャン処理を実行する。スキャン処理では、CPU210は、ユーザが用意した原稿を2回に分けて読み取ることによって、2個のスキャンデータを生成する。本実施例のスキャンデータは、例えば、縦方向および横方向の解像度が300dpiであり、0〜255の256階調の値で表されるRGBの各成分の成分値を画素ごとに含むRGB画像データである。
図3は、スキャン処理の説明図である。図3(A)には、本実施例で用いられる原稿の一例が示されている。この原稿10のサイズは、本実施例では、A3サイズである。左領域10Lは、原稿10の左側の約半分の領域であり、右領域10Rは、原稿10の右側の約半分の領域である。左領域10Lのサイズ、および、右領域10Rのサイズは、A4サイズである。なお、A3サイズ、および、A4サイズは、ISO(International Organization for Standardizationの略)216で定められている紙の寸法である。
図中の符号10L、10Rが付された矢印は、領域10L、10Rの位置と向きを示す。すなわち、これらの矢印が配置された位置、および、これらの矢印が示す向きに、これらの領域10L、10Rが配置されていることを意味している。図3(C)、(D)では、領域10L、10R内の画像の図示を省略して、符号付きの矢印のみで、これらの領域10L、10Rの位置および向きを図示している。
スキャナ部250の原稿台255(図3(C)、図3(D))の長手方向の長さは、A4サイズの長手方向の長さである297mmより少しだけ(例えば、数センチ)長い。そして、原稿台の短手方向の長さは、ANSI/ASME(American National Standards Institute/American Society of Mechanical Engineersの略)Y14.1で定められている紙の寸法であるレターサイズの短手方向の長さである215.9mmより少しだけ(例えば、数センチ)長い。すなわち、本実施例では、1回で読み取ることができる原稿の最大サイズは、A4サイズより大きくA3サイズより小さいサイズである。このために、本実施例では、上述したように、2回に分けてA3サイズの原稿10を読み取る。
具体的には、本実施例では、図3(B)に示すように、原稿10は、折れ線VLで二つ折りにされた状態で、スキャナ部250によって読み取られる。本実施例では、図3(A)に示すように、折れ線VLは、A3サイズの原稿10の長手方向の中央部に位置し、原稿10の短辺と平行な線である。従って、二つ折りにされた状態の原稿10のサイズは、A4サイズである。二つ折りにされた状態の原稿10の一方の面には右領域10Rが位置し、他方の面には、左領域10Lが位置する。
1回目の読み取りでは、左領域10L内の画像を示す左側スキャンデータが生成される。具体的には、CPU210は、図示しないUI画面を表示部270に表示することによって、図3(C)に示す状態で、原稿10を原稿台255に対して配置するように、ユーザを促す。ユーザは、図3(C)に示すように、左領域10Lが原稿台255側を向き、右領域10Rが原稿台255の反対側を向くように、二つ折りにされた原稿10を原稿台255上に配置する。このとき、二つ折りにされた原稿10は、線VLが手前に位置し、かつ、当該原稿の左上の頂点と原稿台255の左上の頂点とが概ね一致するように、原稿台255上に配置される。ユーザが、読み取り指示を複合機200に入力すると、CPU210は、スキャナ部250を制御して左領域10Lを読み取ることによって、左側スキャンデータを生成する。
2回目の読み取りでは、右領域10R内の画像を示す右側スキャンデータが生成される。具体的には、CPU210は、左側スキャンデータを生成した後に、図示しないUI画面を表示部270に表示することによって、図3(D)に示す状態で、原稿10を原稿台255に対して配置するように、ユーザを促す。ユーザは、図3(D)に示すように、右領域10Rが原稿台255側を向き、左領域10Lが原稿台255の反対側を向くように、二つ折りにされた原稿10を原稿台255上に配置する。このとき、二つ折りにされた原稿10は、線VLが手前に位置し、かつ、当該原稿の左上の頂点と原稿台255の左上の頂点とが概ね一致するように、原稿台255上に配置される。ユーザが、読み取り指示を複合機200に入力すると、CPU210は、スキャナ部250を制御して右領域10Rを読み取ることによって、右側スキャンデータを生成する。
図4は、スキャン画像の一例を示す図である。図4(A)には、左側スキャンデータによって表される左側スキャン画像IL1と、右側スキャンデータによって表される右側スキャン画像IR1と、が示されている。左側スキャン画像IL1は、原稿10の左領域10Lを示す左側原稿画像HILと、余白WBLと、を含んでいる。また、右側スキャン画像IR1は、原稿10の右領域10Rを示す右側原稿画像HIRと、余白WBRと、を含んでいる。
ここで、左側スキャン画像IL1において、左側原稿画像HILが傾いているのは、左側スキャンデータの生成時に、原稿台255に配置された原稿10が傾いていたためである。右側スキャン画像IR1において、右側原稿画像HIRが傾いているのも同様である。
これらのスキャン画像IL1、IR1は、図3(C)、(D)の原稿台255の形状に対応する矩形を有している。スキャン画像IL1、IR1は、原稿台255の長辺に沿った方向を縦方向とし、原稿台255の図3(C)、(D)における左方向を上方向として、原稿台255上に配置された画像を表す。左領域10Lを読み取る際の原稿台255に対する原稿10の上方向(図3(C)の矢印の方向)と、右領域10Rを読み取る際の原稿台255に対する原稿10の上方向(図3(D)の矢印の方向)とは、逆向きになる。このために、左側スキャン画像IL1の左側原稿画像HILと、右側スキャン画像IR1の右側原稿画像HIRとは、上下方向が逆になっている。
S15のスキャン処理において、左側スキャンデータ、および、右側スキャンデータは、それぞれ、所定のフォーマットのファイル、例えば、JPEG(Joint Photographic Experts Groupの略)フォーマットの画像ファイルに変換される。
図2のS18では、CPU210は、ユーザの指示に基づいて、キャンパスサイズ情報を生成する。キャンパスサイズ情報は、後述する配置済画像ファイルによって表される配置済画像のサイズを指定する情報である。具体的には、CPU210は、図示しないUI画面を介してユーザから入力される配置済画像のサイズの指示に基づいて、当該配置済画像のサイズを示すキャンパスサイズ情報を生成する。配置済画像のサイズは、例えば、A3サイズやレターサイズであり、一般的には、原稿10と同じサイズが指定される。
図2のS20では、CPU210は、左側スキャンデータの画像ファイル(左側画像ファイルとも呼ぶ)と、右側スキャンデータの画像ファイル(右側画像ファイルとも呼ぶ)と、キャンパスサイズ情報と、をサーバ400に対して送信する。この結果、S25にて、サーバ400のCPU410は、これらの2個の画像ファイルとキャンパスサイズ情報とを取得する。CPU410は、これらの画像ファイルから左側スキャンデータおよび右側スキャンデータ取得して、バッファ領域421に格納する。例えば、JPEG形式の画像ファイルが用いられる場合には、画像ファイルから、所定の変換処理によって、RGB画像データに変換されたスキャンデータが取得されて、バッファ領域421に格納される。
S30では、CPU410は、左側スキャンデータと右側スキャンデータとに対して、それぞれ、回転処理を実行する。具体的には、CPU410は、左側スキャンデータに対してハフ変換やエッジ検出処理などの公知の処理を実行して、スキャン画像IL1内の左側原稿画像HILの左側の辺を検出する。CPU410は、左側原稿画像HILの左側の辺と、画像の縦方向とが平行になるように、左側スキャン画像IL1を回転して、回転済の左側スキャン画像(図示省略)を表す回転済の左側スキャンデータを生成する。また、CPU410は、右側スキャンデータに対して、左側スキャンデータと同様の処理を実行して、右側原稿画像HIRの左側の辺と、画像の縦方向とが平行になるように、右側スキャン画像IR1を回転する。CPU410は、さらに、右側原稿画像HIRの上下方向を左側原稿画像HILの上下方向と一致させるために、右側スキャン画像IR1を180度回転させて、回転済の右側スキャン画像(図示省略)を示す回転済の右側スキャンデータを生成する。
S35では、CPU410は、回転済の左側スキャンデータと回転済の右側スキャンデータとに対して、それぞれ、余白削除処理を実行する。具体的には、CPU410は、回転済の左側スキャン画像内の左側原稿画像HILの4辺を検出して、回転済の左側スキャン画像内の左側原稿画像HILを特定する。CPU410は、回転済の左側スキャン画像から左側原稿画像HILより外側の部分を余白として削除する。同様の処理を用いて、CPU410は、回転済の右側スキャン画像から右側原稿画像HIRより外側の部分を余白として削除する。図4(B)には、回転処理と余白削除処理とが実行された後の左側スキャンデータ、および、右側スキャンデータによって、それぞれ表される補正済の左側スキャン画像IL2、および、補正済の右側スキャン画像IR2が示されている。補正済の左側スキャン画像IL2を表す画像データは、左側原稿画像HILを含み、余白を含まないスキャン画像である。補正済の右側スキャン画像IR2は、右側原稿画像HIRを含み、余白を含まないスキャン画像である。なお、以降の処理では、余白が必要なく、左側原稿画像HILおよび右側原稿画像HIRのみが必要である。このために、本実施例では、CPU410は、余白を削除しているが、余白を削除することなく、回転済の左側スキャン画像、および、回転済の右側スキャン画像において、左側原稿画像HIL、および、右側原稿画像HIRをそれぞれ特定するだけでもよい。
S40では、CPU410は、これらのスキャン画像IL2、IR2、すなわち、原稿画像HIL、HIRにおいて欠損している画素を復元する画素復元処理を実行する。図5は、複合機200の画像処理で用いられる画像の一例を示す図である。図5(A)には、スキャン画像IL2、IR2と、画素復元処理によって復元される複数個の画素が位置する復元領域AL、ARが図示されている。図4(A)に示すように、スキャン画像IL2、IR2は、二つ折りにされた原稿10を読み取ることによって生成された画像である。このために、原稿10の折れ線VL上に位置するごく細い領域の画像は、スキャン画像IL2、IR2のいずれにも表れておらず、欠損している。図5(A)の復元領域AL、ARは、原稿10の折れ線VL上に位置するごく細い領域に対応している。
左側復元領域ALは、左側原稿画像HILの折れ線VLに対応する端、図5(A)の例では、左側原稿画像HILの右端に沿って左側原稿画像HILの外側に位置する領域である。左側復元領域ALは、原稿画像HILの右端の全長に亘って上端から下端まで延びるごく細い線状の領域である。右側復元領域ARは、右側原稿画像HIRの折れ線VLに対応する端、図5(A)の例では、右側原稿画像HIRの左端に沿って右側原稿画像HIRの外側に位置する領域である。右側復元領域ARは、右側原稿画像HIRの左端の全長に亘って上端から下端まで延びるごく細い線状の領域である。復元領域AL、ARの折れ線VLに対応する端と垂直な方向の幅、すなわち、図5(A)の横方向の幅ΔWは、実験的に予め決められた値である。本実施例では、幅ΔWは、原稿画像HIL、HIRの横方向の解像度が、300dpiである場合に、3画素である。左側原稿画像HILの右端と、右側原稿画像HIRの左端とは、いずれも原稿10の折れ線VL部分を表す端であるので、左側原稿画像HILの右端と、右側原稿画像HIRの左端とは、互いに対応する端であると言うことができる。
図6は、画素復元処理のフローチャートである。S100では、CPU410は、左側原稿画像HILおよび右側原稿画像HIRから、注目画像を選択する。S105では、CPU410は、注目画像に対して、上述した復元領域を設定する。例えば、左側原稿画像HILが注目画像である場合には、左側原稿画像HILの右端に沿って左側復元領域ALが設定される。
S110では、CPU410は、復元領域内の注目ラインを選択する。例えば、本実施例では、復元領域の横方向の幅ΔWは3画素であるので、上下方向に延びる3本の画素のラインを含んでいる。CPU410は、3本の画素のラインの中から、1本の注目ラインを、注目画像に近い側から順に選択する。例えば、図6の右側に示すように、左側復元領域ALは、3本のラインL1〜L3を含んでいる。したがって、左側原稿画像HILが注目画像である場合には、最初にラインL1が、注目ラインとして選択され、次にラインL2が注目ラインとして選択される。
S115では、CPU410は、注目ラインに含まれる複数個の画素から1個の注目画素を選択する。例えば、注目ラインに含まれる複数個の画素から、上側から下側に向かって順次に注目画素が選択される。
S120では、CPU410は、注目画素の複数個の近傍画素の値を用いて、注目画素の値(本実施例では、RGB値)を決定する。左側原稿画像HILが注目画像である場合には、注目画素の値は、注目画素より左側に位置する4個の近傍画素の値を用いて決定される。例えば、図6の右側に示すラインL1の画素Xが注目画素である場合には、4個の近傍画素は、ラインL1の左側に隣接するラインLaの3個の画素A、B、Cと、ラインLaの左側に隣接するラインLbの1個の画素Dである。画素Aは、注目画素より左側に位置する画素のうち、注目画素に最も近い第1近傍画素であり、画素B、Cは、注目画素に2番目に近い第2近傍画素であり、画素Dは、注目画素に3番目に近い第3近傍画素である。画素Xの特定の成分値(例えば、R成分の値)Vxは、画素A〜Dの特定の成分値Va〜Vdを用いて、以下の式(1)によって算出される。
Vx=Ka×Va+Kb×Vb+Kc×Vc+Kd×Vd ...(1)
ここで、Ka〜Kdは、画素A〜Dとのそれぞれと画素Xとの距離に応じて予め決定された係数である。係数Ka〜Kdは、Ka〜Kdの合計値が1であり、かつ、画素Xとの距離が短いほど大きな値となるように、決定されている。本実施例では、Ka=0.5、Kb=Kc=0.2、Kd=0.1である。
CPU410は、式(1)を用いて、注目画素のRGBの3個の成分の値をそれぞれ算出することによって、注目画素のRGB値を決定する。
なお、図示は省略するが、右側原稿画像HIRが注目画像である場合には、注目画素の値は、注目画素より右側に位置する4個の近傍画素の値を用いて決定される。
S125では、CPU410は、注目ラインの全ての画素を注目画素として処理したか否かを判断する。未処理の画素がある場合には(S125:NO)、CPU410は、S115に戻って、未処理の画素を注目画素として選択する。全ての画素が処理された場合には(S125:YES)、CPU410は、S130にて、注目画像について設定された復元領域の全てのラインを注目ラインとして処理したか否かを判断する。未処理のラインがある場合には(S130:NO)、CPU410は、S110に戻って、未処理のラインを注目ラインとして選択する。全てのラインが処理された場合には(S130:YES)、CPU410は、S135に処理を進める。
S135では、CPU410は、左側原稿画像HILと右側原稿画像HIRの両方を処理したか否かを判断する。CPU410は、両方の原稿画像を処理していない場合には(S135:NO)、S100に戻って未処理の原稿画像を注目画像として選択する。CPU410は、両方の原稿画像を処理済である場合には(S135:YES)、画素復元処理を終了する。
以上の説明から解るように、左側復元領域ALの画素のうち、左側原稿画像HILの右端の右側に隣接するラインL1内の画素の値は、左側原稿画像HILの右端に沿うラインLa、Lbの複数個の画素の値を用いて決定される。ラインLa、Lbの複数個の画素は、左側原稿画像HILに含まれる複数個の画素であって、左側原稿画像HILの右端にそって左側原稿画像HILの内側に並ぶ複数個の画素と、言うことができる。
同様に、左側復元領域ALのうち、ラインL1の右側に隣接するラインL2内の画素の値は、ラインL1の複数個の画素と、ラインLaの複数個の画素の値と、を用いて決定される。また、左側復元領域ALのうち、ラインL2の右側に隣接するラインL3内の画素の値は、ラインL1、L2の複数個の画素の値を用いて決定される。このように、画素復元処理によって、左側復元領域AL内の複数個の画素が、左側原稿画像HILの右端に沿うラインLa、Lbの複数個の画素の値を直接または間接的に用いて、生成される。左側復元領域AL内の複数個の画素は、左側原稿画像HILに含まれない複数個の画素であって左側原稿画像HILの右端に沿って左側原稿画像HILの外側に並ぶ複数個の画素(左側復元画素とも呼ぶ)と言うことができる。
同様に、画素復元処理によって、右側復元領域AR内の複数個の画素が、右側原稿画像HIRの右端に沿うラインの複数個の画素の値を直接または間接的に用いて、生成される。右側復元領域AR内の複数個の画素は、右側原稿画像HIRに含まれない複数個の画素であって右側原稿画像HIRの左端に沿って右側原稿画像HIRの外側に並ぶ複数個の画素(右側復元画素とも呼ぶ)と言うことができる。
左側復元領域AL内の複数個の左側復元画素によって構成される線状の画像と、右側復元領域AR内の複数個の右側復元画素によって構成される線状の画像は、ともに、原稿10の折れ線VL上に位置する線状の画像を表す画像になる。したがって、左側復元領域AL内の画像と、右側復元領域AR内の線状の画像とは、互いに類似する部分を含むと考えられる。
なお、復元領域AL、ARは、それぞれ、原稿画像HIL、HIRに隣接する領域であるが、バッファ領域421内では、復元領域AL、AR内の復元画素を含む画像データは、必ずしも原稿画像HIL、HIRを表す画像データと一体とされている必要はなく、原稿画像HIL、HIRを表す画像データとは、別の画像データであって良い。
画素復元処理が終了すると、CPU410は、図2のS45にて、配置位置決定処理を実行する。配置位置決定処理は、左側原稿画像HILと右側原稿画像HIRとの相対的な位置を、左側原稿画像HILと右側原稿画像HIRとを用いて原稿10を適切に表現できるように、決定する処理である。図7は、配置位置決定処理のフローチャートである。
S200では、CPU410は、基準領域CAを決定する。基準領域CAは、右側復元領域ARの少なくとも一部を含む領域に決定される。本実施例では、右側復元領域ARの全体、すなわち、画素復元処理によって生成された複数個の右側復元画素によって構成される画像の全体が、基準領域CAとして決定される。これに代えて、右側復元領域ARの一部分が基準領域CAとして決定されても良い。あるいは、右側復元領域ARと右側原稿画像HIRとによって構成される画像から、右側復元領域ARの全体と右側復元領域ARの左端の一部を含む領域が、基準領域CAとして決定されても良い。
S205では、CPU410は、所定の探索領域SAに基づいて決定される複数個の候補領域の中から、1個の注目候補領域を決定する。探索領域SAは、例えば、図5(A)に示すように、左側原稿画像HILの右上部分に破線で示す範囲である。図8は、図5(A)の探索領域SA近傍の拡大図である。探索領域SAは、縦M画素×横N画素分の矩形の範囲である(M、Nは、2以上の整数)。Nは、例えば、約10であり、Mは、例えば、数十から数百である。探索領域SAの右端は、左側原稿画像HILの右側の左側復元領域ALの右端と一致している。探索領域SAの縦方向の中心は、左側原稿画像HILの上端に位置している。
CPU410は、探索領域SA内の(M×N)個の画素位置から、1個の注目画素位置を選択する。CPU410は、当該注目画素位置に、基準領域CAの左上の画素Pc(図5(A))が位置するように、基準領域CAを配置した場合に、基準領域CAと重なる左側原稿画像HILまたは復元領域AL内の領域を注目候補領域として特定する。このように、探索領域SA内の(M×N)個の画素位置が、(M×N)個の候補領域と1対1で対応している。例えば、図8のハッチングで示す候補領域NT1は、探索領域SA内の右上の画素位置Pt1が注目画素位置である場合に特定される。図8のハッチングで示す候補領域NT2は、探索領域SA内の左下の画素位置Pt2が注目画素位置である場合に特定される。候補領域が設定され得る候補領域設定範囲NTAは、図8に示すように、探索領域SAの左端の位置LPより右側に位置する領域である。本実施例では、候補領域設定範囲NTAは、左側復元領域ALと、左側原稿画像HILの右端の近傍の一部分の領域と、を含む。
例えば、最初の注目候補領域は、図8の候補領域NT1である。そして、注目候補領域NT1を特定するための探索領域SA内の画素位置を、候補領域NT1を特定する際の位置から縦方向や横方向に1画素刻みで移動させることで、(M×N)個の候補領域から1個の注目候補領域が順次に特定される。
1個の注目候補領域が特定されると、S210では、CPU410は、注目候補領域の類似率(SC/Nt)を算出する。注目候補領域の類似率(SC/Nt)は、注目候補領域と、基準領域CAとが類似している程度を示す指標値である。
類似率(SC/Nt)の算出方法は、以下のとおりである。先ず、CPU410は、注目候補領域内の複数個の画素を1個ずつ注目画素として選択して、注目画素が、類似画素であるか非類似画素であるかを判断する。具体的には、CPU410は、注目候補領域内の注目画素の成分値と、当該注目画素に対応する基準領域CA内の画素の成分値と、の差ΔVPを算出する。注目画素に対応する基準領域CA内の画素は、注目候補領域と基準領域CAとを重ねた場合に、注目画素と重なる基準領域CA内の画素である。差ΔVPを算出すべき2個の画素の成分値を、(R1、G1、B1)と(R2、G2、B2)とする。差ΔVPは、例えば、3種類の成分値間の差分の絶対値の和で表される。すなわち、差ΔVPは、(R1−R2)の絶対値と、(G1−G2)の絶対値と、(B1−B2)の絶対値と、の合計値で表される。
CPU410は、算出された差ΔVPが、所定の基準値TH1以下である場合には、注目画素が類似画素であると判断し、算出された差ΔVPが、所定の基準値TH1より大きい場合には、注目画素が非類似画素であると判断する。差ΔVPが、所定の基準値TH1以下である場合には、注目候補領域内の注目画素の色と、当該注目画素に対応する基準領域CA内の画素の色とは、類似すると判断できるからである。
CPU410は、注目候補領域内の類似画素の個数SCを、注目候補領域内の画素の総数Ntで除することによって、注目候補領域の類似率(SC/Nt)を算出する。類似率(SC/Nt)は、注目候補領域内の画素の総数Ntに対する類似画素の個数SCの割合である。類似率(SC/Nt)が大きいほど、基準領域CAと、注目候補領域とは、類似している。
S215は、CPU410は、類似率(SC/Nt)が、閾値TH2以上であるか否かを判断する。即ち、CPU410は、現在の注目候補領域が基準領域CAに類似しているか否かを判断する。
類似率(SC/Nt)が、閾値TH2以上である場合、即ち、現在の注目候補領域が基準領域CAに類似していると判断する場合には(S215:YES)、CPU410は、S220にて、現在の注目候補領域を、基準領域CAに類似する類似領域として記憶して、S225に処理を進める。
類似率(SC/Nt)が、閾値TH2未満である場合には(S215:NO)、CPU410は、S220をスキップして、S225に処理を進める。
S225では、CPU410は、(M×N)個の全ての候補領域を注目候補領域として処理したか否かを判断する。未処理の候補領域がある場合には(S225:NO)、CPU410は、S205に戻って、未処理の候補領域を注目候補領域として特定する。全ての候補領域が処理された場合には(S225:YES)、CPU410は、S230に処理を進める。
S230では、CPU410は、(M×N)個の候補領域の中に1個以上の類似領域があるか否かを判断する。すなわち、S220にて類似領域として記憶された候補領域が1個以上あるか否かが判断される。CPU410は、1個以上の類似領域がある場合には(S230:YES)、S235にて、1個以上の類似領域の中から、S210にて算出された類似率(SC/Nt)が最も高い1個の類似領域を選択する。
S240では、CPU410は、選択した1個の類似領域の位置に基づいて、左側原稿画像HILと、右側原稿画像HIRと、の相対的は配置位置を決定する。本実施例では、原稿画像HIL、HIRの折れ線VLに対応する端に沿った方向、すなわち、図8の縦方向の相対的な位置が決定される。具体的には、S235で選択された類似領域に対応する探索領域SA内の画素位置Psが特定される。例えば、S235で選択された類似領域が、図8の候補領域NT1である場合には、探索領域SAの画素位置Pt1が、類似領域に対応する探索領域SA内の画素位置Psとして特定される。そして、特定された探索領域SA内の画素位置の縦方向の位置が、右側原稿画像HIRの上端の画素の縦方向の位置として決定される。探索領域SAは、左側原稿画像HILに対して設定されているので、これによって、左側原稿画像HILと右側原稿画像HIRとの相対的な縦方向の位置が決定される。なお、本実施例の配置位置決定処理では、左側原稿画像HILと右側原稿画像HIRとの相対的な横方向の位置は、決定されない。左側原稿画像HILと右側原稿画像HIRとの相対的な横方向の位置は、後述するように予め決定された位置に決定されるからである。
1個以上の類似領域がない場合には(S230:NO)、CPU410は、S245にて、左側原稿画像HILと右側原稿画像HIRとの相対的な縦方向の位置をデフォルトの位置に決定する。本実施例の縦方向のデフォルトの位置は、左側原稿画像HILの上端の縦方向の位置と、右側原稿画像HIRの上端の縦方向の位置と、が一致する位置である。
S240およびS245のいずれかにて、左側原稿画像HILと右側原稿画像HIRとの相対的な縦方向の位置が決定されると、配置位置決定処理は終了される。
配置位置決定処理が終了すると、図2のS50では、CPU410は、配置済画像生成処理を決定する。配置済画像生成処理は、配置位置決定処理にて決定済の相対的な縦方向の位置に左側原稿画像HILと右側原稿画像HIRとが配置された配置済画像を表す一の配置済画像ファイルを生成する処理である。
図9は、配置済画像生成処理のフローチャートである。S305にて、CPU410は、2個の原稿画像HIL、HIRを決定済の配置位置に配置した一の配置済画像を表す配置済画像データを生成する。図5(B)には、配置済画像BI1の一例が図示されている。図5(B)に示すように、配置済画像BI1は、2個の原稿画像HIL、HIRが配置され、これらの2個の原稿画像HIL、HIRで1個の原稿10を示す画像である。配置済画像BI1において、左側原稿画像HILと右側原稿画像HIRとの相対的な縦方向の位置は、配置位置決定処理にて決定済の相対的な縦方向の位置である。例えば、図5(B)は、S240にてデフォルトとは異なる相対的な縦方向の位置が決定された場合の例を示している。図5(B)の配置済画像BI1において、左側原稿画像HIL上の探索領域SA内の上述した画素位置Psの縦方向の位置と、右側原稿画像HIRの上端と、が一致している。この結果、左側原稿画像HILの上端と右側原稿画像HIRの上端とは、ΔHだけ縦方向にずれている。S245にてデフォルトの相対的な縦方向の位置が決定された場合には、図示を省略するが、配置済画像において、左側原稿画像HILの上端と右側原稿画像HIRの上端とが一致するように、2個の原稿画像HIL、HIRが配置される。
また、配置済画像BI1において、左側原稿画像HILと右側原稿画像HIRとの相対的な横方向の位置は、配置位置決定処理とは無関係に予め決定された位置である。具体的には、配置済画像BI1において、左側原稿画像HILの右端と、右側原稿画像HIRの左端と、の間が特定の隙間ΔITだけ離れるように、2個の原稿画像HIL、HIRが配置される。本実施例では、特定の隙間ΔITは、上述した復元領域AL、ARの幅ΔWと等しく、例えば、3画素である。なお、配置済画像BI1に、左側復元領域AL内の複数個の左側復元画素、および、右側復元領域AR内の複数個の右側復元画素は、配置されない。特定の隙間ΔITを構成する画素の値は、例えば、白を表す値とされる。
S310では、図5(C)に示すように、CPU410は、配置済画像BI1に対してキャンパスサイズの矩形CSが設定される。矩形CSのサイズは、S25によって取得されたキャンパスサイズ情報に基づいて決定される。具体的には、矩形CSの縦方向および横方向の中心と、配置済画像BI1の縦方向および横方向の中心と、が一致するように、配置済画像BI1に対して矩形CSが設定される。
S315では、CPU410は、矩形CSに基づいて、配置済画像BI1への画素の追加および配置済画像BI1からの画素の削除を実行して、サイズが修正された配置済画像BI2を表す配置済画像データを生成する(図5(C))。具体的には、矩形CSの内側であって、かつ、配置済画像BI1の外側の領域APには、所定の色(例えば、白)を有する画素が追加される。また、配置済画像BI1の複数個の画素のうち、矩形CSの外側に位置する領域DP内の画素は、削除される。この結果、ユーザによって指定されたサイズの配置済画像BI2を表す配置済画像データが生成される。
S320では、CPU410は、配置済画像データを所定の形式の画像ファイルに変換することによって、配置済画像BI2を表す配置済画像ファイルを生成する。例えば、RGB画像データである配置済画像データは、JPEG圧縮されて、JPEG形式の配置済画像ファイルが生成される。
図2のS55では、CPU410は、生成された配置済画像ファイルを複合機200に対して送信する。複合機200のCPU210は、配置済画像ファイルを受信すると、受信した配置済画像ファイルを不揮発性記憶装置230に格納するとともに、ユーザに配置済画像ファイルの受信を通知する。配置済画像ファイルは、ユーザの利用に供される。例えば、複合機200は、ユーザの指示に基づいて、配置済画像ファイルを用いて、配置済画像BI2を印刷することができる。
以上説明した本実施例によれば、右側原稿画像HIRに沿って右側原稿画像HIRの内側に並ぶ複数個の画素の値を用いて、右側原稿画像HIRの左端に沿う復元領域AR内の複数個の右側復元画素が生成される(図6)。そして、これらの複数個の右側復元画素を用いて、左側原稿画像HILと右側原稿画像HIRとの相対的な位置が決定される(図7)。この結果、図9の配置済画像生成処理にて、配置済画像ファイルを生成する際に、原稿画像HILと右側原稿画像HIRとの配置位置を精度良く決定することができる。
上述したように原稿10の折れ線VL上に位置する線状の画像は、原稿画像HIL、HIRのいずれにも表れない。このために、仮に、これらの原稿画像HIL、HIRの縦方向の相対的な位置を、複数個の右側復元画素を生成することなく、決定すると、縦方向の相対的な位置を精度良く決定できない可能性がある。本実施例では、右側復元画素を生成し、右側復元画素を用いて、これらの原稿画像HIL、HIRの縦方向の相対的な位置を精度良く決定することができる。
さらに、本実施例では、左側原稿画像HILに沿って左側原稿画像HILの内側に並ぶ複数個の画素の値を用いて、左側原稿画像HILの右端に沿う復元領域AL内の複数個の左側復元画素が生成される(図6)。そして、これらの複数個の左側復元画素を用いて、左側原稿画像HILと右側原稿画像HIRとの相対的な位置が決定される(図7)。この結果、配置済画像ファイルを生成する際に、原稿画像HILと右側原稿画像HIRとの配置位置をさらに精度良く決定することができる。例えば、複数個の左側復元画素によって構成される画像と、右側復元画素によって構成される画像と、が類似する場合には、これらの2個の画像の類似性に基づいて、原稿画像HILと右側原稿画像HIRとの配置位置を適切に決定し得る。
より具体的には、CPU410は、複数個の右側復元画素を含む基準領域CA(図5(A)、図8)内の画像と、複数個の左側復元画素を含む候補領域設定範囲NTA(図8)内の画像と、を用いて、候補領域設定範囲NTA内において、基準領域CA内の画像と類似する画像の位置を決定する(図7のS200〜S235)。そして、CPU410は、基準領域CA内の画像と類似する画像の位置に基づいて、2個の原稿画像HIL、HIRの相対的な位置を決定する(図7のS240)。この結果、複数個の右側復元画素を含む画像と、複数個の左側復元画素を含む画像と、の比較に基づいて、2個の原稿画像HIL、HIRの相対的な位置をさらに精度良く決定することができる。
さらに本実施例の基準領域CAは、右側復元領域ARの全体である(図5(A))。すなわち、基準領域CAは、複数個の右側復元画素によって構成される所定個数(本実際例では3本)のラインを含む。そして、基準領域CAのラインのそれぞれは、右側原稿画像HIRの左端に沿って、左端に沿う方向の一端から他端まで連続する複数個の右側復元画素を含む。換言すれば、基準領域CAを構成するラインのそれぞれは、右側原稿画像HIRの縦方向の全長に亘る長さを有している。
こうすれば、例えば、右側原稿画像HIRの左端に沿う領域の一部分だけについて右側復元画素を生成する場合と比較して、2個の原稿画像HIL、HIRの相対的な位置を適切に決定することができる。
さらに、基準領域CAは、右側復元領域AR内の複数個の右側復元画素を含み、右側原稿画像HIR内の画素を含まない(図5(A))。原稿画像HIL、HIRは、二つ折りにされた原稿10の両面をそれぞれ読み取って得られる画像であることから、2個の原稿画像HIL、HIRの両方に表れる原稿10上の領域は存在しない。このために、基準領域CAには、複数個の右側復元画素を含めば十分であり、右側原稿画像HIR内の画素を含める必要はないからである。これによって、2個の原稿画像HIL、HIRの相対的な位置をさらに適切に決定することができる。
さらに、候補領域設定範囲NTAは、左側復元領域AL内の複数個の左側復元画素と、左側原稿画像HIL内の画素を含む(図8)。基準領域CA内の画像、すなわち、右側原稿画像HIRに基づいて復元された復元領域AR内の画像に類似する画像は、左側復元領域ALに存在する可能性が高いが、例えば、右側復元領域ARの幅ΔWによっては、左側原稿画像HILに存在する可能性もある。このために、候補領域設定範囲NTAには、左側復元領域AL内の複数個の左側復元画素と、左側原稿画像HIL内の画素と、を含めている。これによって、2個の原稿画像HIL、HIRの相対的な位置をさらに適切に決定することができる。
さらに、配置位置決定処理によって決定される相対的な位置は、縦方向の位置、すなわち、右側原稿画像HIRの左端に沿う方向の位置である。そして、配置済画像生成処理(図9)では、配置済画像BI2において、2個の原稿画像HIL、HIRは、右側原稿画像HIRの左端と垂直な方向、すなわち、横方向に、特定の隙間ΔITを挟んで配置される(図5(B)、(C))。そして、配置済画像BI2において、2個の原稿画像HIL、HIRは、縦方向の位置が、配置位置決定処理によって決定される相対的な位置に配置される(図5(B)、(C))。上述したように、原稿画像HIL、HIRは、二つ折りにされた原稿10の両面をそれぞれ読み取って得られる画像であることから、2個の原稿画像HIL、HIRの両方に表れる原稿10上の領域は存在しない。このために、配置済画像BI2において、左側原稿画像HILの右端近傍と、右側原稿画像HIRの左端近傍と、が重なるように、配置することは適切ではないと考えられる。また、上述したように、原稿10の折れ線VLに対応する線状の画像が、2個の原稿画像HIL、HIRから欠損している。これを考慮すれば、配置済画像BI2において、欠損している線状の画像の幅に相当する特定の隙間ΔITを挟んで2個の原稿画像HIL、HIRを配置することが適切である。
また、本実施例では、隙間ΔITの画素の値は、白を示す固定値とされる。隙間ΔITの幅は、比較的短い(例えば、3画素)ので、隙間ΔITが白であっても、配置済画像BI2において、隙間ΔITは、過度には目立たない。特に、配置済画像BI2が印刷される場合には、色材のにじみが発生するので、印刷された配置済画像BI2において、隙間ΔITは、あまり目立たない。
さらに、図7の配置位置決定処理では、2個の原稿画像HIL、HIRの相対的な位置を類似領域に基づいて決定できない場合(図7のS230:NO)には、2個の原稿画像HIL、HIRの相対的な縦方向の位置が、デフォルトの位置に決定される(図7のS245)。したがって、この場合には、配置済画像BI2において、2個の原稿画像HIL、HIRは、相対的な縦方向の位置が予め定められた位置となるように、配置される。こうすれば、複数個の右側復元画素を用いて2個の原稿画像HIL、HIRの相対的な縦方向の位置が決定できない場合であっても、配置済画像ファイルを生成することができる。
さらに、本実施例では、CPU410は、生成すべき画像の特定のサイズを示すキャンパスサイズ情報を取得する(図2のS25)。そして、CPU410は、配置済画像BI1への画素の追加および配置済画像内の画素の削除を行うことによって、配置済画像BI1のサイズが、特定のサイズと一致するように調整する(図9のS315)。この結果、配置済画像BI2のサイズを適切なサイズ、具体的には、ユーザが所望するサイズに調整することができる。
以上の説明から解るように、右側原稿画像HIRは、第1の画像の例であり、左側原稿画像HILは、第2の画像の例である。右側復元領域AR内の右側復元画素は、第1の画素の例であり、左側復元領域AL内の左側復元画素は、第2の画素の例である。また、基準領域CA内の画像は、第1の判定画像の例であり、候補領域設定範囲NTA内の画像は、第2の判定画像の例である。
B.第2実施例
第2実施例では、配置済画像生成処理が、第1実施例とは異なる。図10は、第2実施例の配置済画像生成処理のフローチャートである。
S305bでは、CPU410は、図9のS305と同様に、2個の原稿画像HIL、HIRを決定済の配置位置に配置した一の配置済画像を表す配置済画像データを生成する。ただし、第2実施例では、左側原稿画像HILと右側原稿画像HIRとの相対的な縦方向の位置に加えて、左側原稿画像HILと右側原稿画像HIRとの相対的な横方向の位置も、S235で選択された類似領域の位置に基づいて決定される。具体的には、先ず、S235で選択された類似領域に対応する探索領域SA内の画素位置Psが特定される。例えば、S235で選択された類似領域が、図8の候補領域NT1である場合には、探索領域SAの画素位置Pt1が、類似領域に対応する探索領域SA内の画素位置Psとして特定される。そして、特定された画素位置Psの横方向の位置が、右側原稿画像HIRの左端の横方向の位置として決定される。このために、配置済画像BI1において、左側原稿画像HILの右端と、右側原稿画像HIRの左端と、の間には、隙間ΔITが存在する場合もあれば、存在しない場合もある。具体的には、左側原稿画像HILの右端と、右側原稿画像HIRの左端との間に隙間ΔITが発生する場合には、1〜5画素のライン分の隙間ITが発生し得る。
S306bでは、CPU410は、配置済画像BI1において、左側原稿画像HILの右端と、右側原稿画像HIRの左端と、の間に、隙間ΔITが存在するか否かを判断する。隙間ΔITが存在する場合には(S306b:YES)、CPU410は、S307bにて、隙間ΔITの幅に応じて、隙間ΔITに存在する画素を復元するための復元用の係数を決定する。そして、CPU410は、S308bにて、決定された係数を用いて、隙間ΔITに存在する各画素の値を決定する。
図10の右側には、隙間ΔITの幅が3画素である場合の例が図示されている。例えば、隙間ΔITに存在する画素は、当該画素の右方向に位置する右側原稿画像HIRの左端の画素と、当該画素の左方向に位置する左側原稿画像HILの右端の画素と、を用いて生成される。例えば、図10において、隙間ΔITの3個の画素X1、X2、X3の値は、左側原稿画像HILの画素Lの値と、右側原稿画像HIRの画素Rの値と、を用いて決定される。
画素X1〜X3の特定の成分値(例えば、R成分の値)Vx1〜Vx3は、画素L、Rの特定の成分値Vl、Vrを用いて、以下の式(2)によって算出される。
Vx1=Kl1×Vl+Kr1×Vr
Vx2=Kl2×Vl+Kr2×Vr
Vx3=Kl3×Vl+Kr3×Vr ...(2)
ここで、係数Kl1〜Kl3は、画素X1〜X3とのそれぞれと、画素Lとの距離に応じて決定される。係数Kl1〜Kl3は、画素Lとの距離が短いほど大きな値となるように、決定される。係数Kr1〜Kr3は、画素X1〜X3とのそれぞれと、画素Rとの距離に応じて決定される。係数Kr1〜Kr3は、画素Rとの距離が短いほど大きな値となるように、決定される。また、(Kl1+Kr1)=1、(Kl2+Kr2)=1、(Kl3+Kr3)=1である。例えば、図10に示すように、Kl1=(3/4)、Kr1=(1/4)、Kl2=(2/4)、Kr2=(2/4)、Kl3=(1/4)、Kr3=(3/4)である。
S308bでは、左側原稿画像HILの右端と、右側原稿画像HIRの左端との間に隙間ΔIT内の全ての画素の値が決定される。
隙間ΔITが存在しない場合には(S306b:NO)、CPU410は、S307b、S308bをスキップする。
図10のS310〜S320の処理は、図9のS310〜S320の処理と同一であるので、その説明を省略する。
以上説明した第2実施例によれば、左側原稿画像HILと右側原稿画像HIRとの間の隙間ΔITを構成する複数個の画素(例えば、図10の画素X1〜X3)を、左側原稿画像HILの画素(例えば、図10の画素L)と、右側原稿画像HIRの画素(例えば、図10の画素R)と、用いて生成(復元)する。この結果、左側原稿画像HILの画素と、右側原稿画像HIRの画素とを用いて、配置済画像BI2の隙間ΔITに適切な画素を生成することができる。
C.変形例:
(1)上記実施例では、左側原稿画像HILの画素を用いて、左側復元領域AL内に左側復元画素が生成され、右側原稿画像HIRの画素を用いて、右側復元領域AR内に右側復元画素が生成される。これに代えて、左側復元画素と、右側復元画素と、のうちの一方だけが生成されても良い。例えば、右側復元画素だけが生成され、左側復元画素が生成されない場合には、基準領域CAは第1実施例と同様に右側復元画素によって構成される領域とされ、候補領域設定範囲NTAは、第1実施例と異なり、左側原稿画像HILの右端の近傍領域のみを含む範囲とされる。また、左側復元画素だけが生成され、右側復元画素が生成されない場合には、基準領域CAは、第1実施例と異なり、右側原稿画像HIRの左端近傍の領域とされ、候補領域設定範囲NTAは、第1実施例と同様に、左側原稿画像HILの右端の近傍領域と、左側復元画素によって構成される領域と、を含む範囲とされる。
(2)上記実施例では、左側復元領域AL内の複数個の左側復元画素は、左側原稿画像HILの右端に沿って縦方向の全長に亘って生成されている。これに代えて、左側原稿画像HILの右端に沿った領域のうち、縦方向の中央部近傍の一部の領域についてのみ生成されても良い。右側復元領域AR内の複数個の右側復元画素についても同様である。
(3)上記実施例では、基準領域CAは、右側復元領域ARの全体とされている。すなわち、基準領域CAは、右側復元領域AR内の複数個の右側復元画素のみを含んでいる。これに代えて、基準領域CAは、右側復元領域AR内の複数個の右側復元画素と、右側復元領域ARに隣接する右側原稿画像HIRの左端の数ライン分の画素と、を含んでも良い。上記実施例では、候補領域設定範囲NTAは、左側復元領域ALの全体と、左側原稿画像HILの右端近傍の一部と、を含んでいる。これに代えて、候補領域設定範囲NTAは、左側復元領域ALのみを含み、左側原稿画像HILを含まなくてもよい。
(4)上記実施例では、折れ線VLで二つ折りにされた原稿10の両面を読み取ることによって、2個の原稿画像HIL、HIRをそれぞれ含む画像を表す画像ファイルが生成されている(図2のS15)。これに代えて、折れ線VLで切断されて物理的に2つに分離された原稿10を、2回に分けて読み取ることによって、2個の原稿画像HIL、HIRをそれぞれ含む画像を表す画像ファイルが生成されてもよい。
(5)上記実施例の配置位置決定処理において、基準領域CAと類似する類似領域を決定する処理(図7のS210〜S220)は、一例でありこれに限られない。例えば、CPU410は、類似率(SC/Nt)を計算する前に、類似画素の個数SCのみを算出する。そして、CPU410は、類似画素の個数SCが、閾値THsc未満である場合には、類似率(SC/Nt)を計算することなく、注目候補領域は、基準領域CAとは類似しないと判断して、次の注目候補領域について処理を進めても良い。そして、CPU410は、類似画素の個数SCが、閾値THsc以上である場合には、類似率(SC/Nt)を計算して、当該類似率(SC/Nt)が閾値TH2以上である場合に、注目候補領域は、基準領域CAと類似すると判断しても良い。基準領域CAと、候補領域設定範囲NTAと、が重なる領域が少ないために、注目候補領域の画素数が比較的少ない場合がある。このような注目候補領域は、類似領域である可能性は低いが、画素数が少ないために、当該類似率(SC/Nt)のみで判断すると誤って類似領域であると判断される可能性がある。本変形例によれば、そのような不都合を回避することができる。
(6)上記実施例では、左側原稿画像HILと右側原稿画像HIRとが横方向に並んで配置される配置済画像を表す配置済画像ファイルが生成される。これに代えて、一の原稿画像と、他の原稿画像と、が縦方向に並んで配置される配置済画像を表す配置済画像ファイルが生成されても良い。この場合には、例えば、一の原稿画像の下端に沿って複数個の復元画素が生成され、他の原稿画像の上端に沿って複数個の復元画素が生成されても良い。この場合には、これらの復元画素を用いて、生成されるべき配置済画像における一の原稿画像と他の原稿画像との相対的な位置が決定される。
(7)上記実施例では、2個の画像ファイルを用いて、2個の原稿画像が配置された配置済画像を表す配置済像データが生成されている。これに限らず、任意の個数の画像ファイルを用いて、1個の配置済画像データが生成されても良い。例えば、4個の画像ファイルを用いて、4個の原稿画像が配置された配置済画像を表す配置済画像ファイルが生成されてもよい。
(8)上記実施例では、配置済画像データの生成に用いられる2個の画像ファイルは、複合機200のスキャナ部250によって原稿が読み取られることによって生成される。これに代えて、2個の画像ファイルは、デジタルカメラによって二つ折りにされた原稿10の両面をそれぞれ撮影することによって、2個の画像ファイルが生成されても良い。
(9)上記実施例においてサーバ400のCPU410によって実行される処理(例えば、図2のS30〜S50の処理)は、例えば、複合機200のCPU210によって実行されても良い。この場合には、サーバ400は不要であり、複合機200が単体で図2の処理を実行すればよい。また、サーバ400のCPU410によって実行される処理は、複合機200と接続されたパーソナルコンピュータ500(図1)のCPU(図示省略)によって実行されても良い。例えば、パーソナルコンピュータ500のCPUは、パーソナルコンピュータ500にインストールされたスキャナドライバプログラムを実行することによって、これらの処理を実行しても良い。また、サーバ400は、本実施例のように1つの計算機で構成されても良く、互いに通信可能な複数個の計算機を含む計算システムによって構成されていても良い。
(10)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
70...インターネット、80...LAN、100...プリンタ、200...複合機、210...CPU、220...揮発性記憶装置、221...バッファ領域、230...不揮発性記憶装置、231...制御プログラム、240...プリンタ部、250...スキャナ部、255...原稿台、260...操作部、270...表示部、280...通信部、400...サーバ、410...CPU、420...揮発性記憶装置、421...バッファ領域、430...不揮発性記憶装置、431...コンピュータプログラム、433...UIデータ群、480...通信部、500...パーソナルコンピュータ、1000...画像処理システム

Claims (12)

  1. 1個の対象物の一部を示す第1の画像を表す第1の画像ファイルと、1個の対象物の他の一部を示す第2の画像を表す第2の画像ファイルと、を取得する画像取得部と、
    前記第1の画像に含まれる複数個の画素であって前記第1の画像の第1の端に沿って前記第1の画像の内側に並ぶ複数個の画素の値を用いて、前記第1の画像に含まれない複数個の第1の画素であって前記第1の端に沿って前記第1の画像の外側に並ぶ前記複数個の第1の画素を生成する第1の画素生成部と、
    前記複数個の第1の画素を用いて、前記第1の画像と前記第2の画像との相対的な位置を決定する決定部と、
    決定済の前記相対的な位置に前記第1の画像と前記第2の画像とが配置され、第1の画像と第2の画像とで前記対象物を示す配置済画像を表す一の配置済画像ファイルを生成する画像生成部と、
    を備える、画像処理装置。
  2. 請求項1に記載の画像処理装置であって、さらに、
    前記第2の画像に含まれる複数個の画素であって前記第1の端に対応する前記第2の画像の第2の端に沿って前記第2の画像の内側に並ぶ複数個の画素の値を用いて、前記第2の画像に含まれない複数個の第2の画素であって前記第2の端に沿って前記第2の画像の外側に並ぶ前記複数個の第2の画素を生成する第2の画素生成部を備え、
    前記決定部は、前記複数個の第1の画素と前記複数個の第2の画素とを用いて、前記第1の画像と前記第2の画像との前記相対的な位置を決定する、画像処理装置。
  3. 請求項2に記載の画像処理装置であって、
    前記決定部は、
    前記複数個の第1の画素を含む第1の判定画像と、前記複数個の第2の画素を含む第2の判定画像と、を用いて、前記第2の判定画像内の前記第1の判定画像と類似する画像の位置を決定し、
    前記第1の判定画像と類似する画像の位置に基づいて、前記第1の画像と前記第2の画像との前記相対的な位置を決定する、画像処理装置。
  4. 請求項3に記載の画像処理装置であって、
    前記第1の判定画像は、所定個数の画素ラインを含み、
    前記所定個数の画素ラインのそれぞれは、前記第1の画像の前記第1の端に沿って、前記第1の端に沿う方向の一端から他端まで連続する前記複数個の第1の画素を含む、画像処理装置。
  5. 請求項3または請求項4に記載の画像処理装置であって、
    前記第1の判定画像は、前記複数個の第1の画素を含み、前記第1の画像内の画素を含まない、画像処理装置。
  6. 請求項5に記載の画像処理装置であって、
    前記第2の判定画像は、前記複数個の第2の画素と、前記第2の画像内の画素と、を含む、画像処理装置。
  7. 請求項1から請求項6のいずれか一項に記載の画像処理装置であって、
    前記決定部によって決定される前記第1の画像と前記第2の画像との前記相対的な位置は、前記第1の端に沿う方向の位置であり、
    前記画像生成部は、前記第1の画像と前記第2の画像とが、前記第1の端と垂直な方向に特定の隙間を挟んで配置され、かつ、前記第1の画像に対する前記第2の画像の前記第1の端に沿う方向の位置が、前記決定部によって決定される前記相対的な位置になるように配置される前記配置済画像を表す前記配置済画像ファイルを生成する、画像処理装置。
  8. 請求項7に記載の画像処理装置であって、さらに、
    前記配置済画像において、前記第1の画像と前記第2の画像との間の前記特定の隙間を構成する複数個の画素を、前記第1の画像の画素と、前記第2の画像の画素とを用いて生成する第3の画素生成部を備える、画像処理装置。
  9. 請求項1から請求項8のいずれか一項に記載の画像処理装置であって、
    前記決定部が、前記第1の画像と前記第2の画像との相対的な位置を決定できない場合に、前記画像生成部は、前記第1の画像に対する前記第2の画像の前記第1の端に沿った方向の位置が、予め定められた位置となるように、前記第1の画像と前記第2の画像とが配置される前記配置済画像を表す前記配置済画像ファイルを生成する、画像処理装置。
  10. 請求項1から請求項9のいずれか一項に記載の画像処理装置であって、さらに、
    生成すべき画像の特定のサイズを示すサイズ情報を取得するサイズ取得部と、
    前記画像生成部は、前記配置済画像への画素の追加および前記配置済画像内の画素の削除を行うことによって、前記配置済画像のサイズを、前記特定のサイズと一致するように調整し、調整済の前記配置済画像を表す配置済画像ファイルを生成する、画像処理装置。
  11. 請求項1から請求項10のいずれか一項に記載の画像処理装置であって、
    前記画像取得部は、折り曲げられた1個の原稿を光学的に読み取ることによって生成される前記第1の画像ファイルおよび前記第2の画像ファイルを取得し、
    前記第1の画像の前記第1の端は、前記原稿の折り目に対応する端である、画像処理装置。
  12. コンピュータプログラムであって、
    1個の対象物の一部を示す第1の画像を表す第1の画像ファイルと、1個の対象物の他の一部を示す第2の画像を表す第2の画像ファイルと、を取得する画像取得機能と、
    前記第1の画像に含まれる複数個の画素であって前記第1の画像の第1の端に沿って前記第1の画像の内側に並ぶ複数個の画素の値を用いて、前記第1の画像に含まれない複数個の第1の画素であって前記第1の端に沿って前記第1の画像の外側に並ぶ前記複数個の第1の画素を生成する第1の画素生成機能と、
    前記複数個の第1の画素を用いて、前記第1の画像と前記第2の画像との相対的な位置を決定する決定機能と、
    決定済の前記相対的な位置に前記第1の画像と前記第2の画像とが配置され、第1の画像と第2の画像とで前記対象物を示す配置済画像を表す一の配置済画像ファイルを生成する画像生成機能と、
    をコンピュータに実現させる、コンピュータプログラム。
JP2015037813A 2015-02-27 2015-02-27 画像処理装置、および、コンピュータプログラム Active JP6354619B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015037813A JP6354619B2 (ja) 2015-02-27 2015-02-27 画像処理装置、および、コンピュータプログラム
US15/050,603 US9886648B2 (en) 2015-02-27 2016-02-23 Image processing device generating arranged image data representing arranged image in which images are arranged according to determined relative position

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015037813A JP6354619B2 (ja) 2015-02-27 2015-02-27 画像処理装置、および、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016163097A JP2016163097A (ja) 2016-09-05
JP6354619B2 true JP6354619B2 (ja) 2018-07-11

Family

ID=56799792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015037813A Active JP6354619B2 (ja) 2015-02-27 2015-02-27 画像処理装置、および、コンピュータプログラム

Country Status (2)

Country Link
US (1) US9886648B2 (ja)
JP (1) JP6354619B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404082B2 (ja) * 2020-01-23 2023-12-25 東芝テック株式会社 画像読取装置及びプログラム
CN111415298B (zh) * 2020-03-20 2023-06-02 北京百度网讯科技有限公司 图像拼接方法、装置、电子设备及计算机可读存储介质
JP6898684B1 (ja) * 2020-11-17 2021-07-07 株式会社シンカ・アウトフィットNq 解析装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481375A (en) 1992-10-08 1996-01-02 Sharp Kabushiki Kaisha Joint-portion processing device for image data in an image-forming apparatus
JP3083667B2 (ja) * 1992-10-12 2000-09-04 シャープ株式会社 画像処理装置
JP2891835B2 (ja) 1992-11-27 1999-05-17 シャープ株式会社 画像処理装置
JP3437249B2 (ja) 1994-04-04 2003-08-18 キヤノン株式会社 画像処理方法および画像処理装置
US6549681B1 (en) * 1995-09-26 2003-04-15 Canon Kabushiki Kaisha Image synthesization method
US6215914B1 (en) * 1997-06-24 2001-04-10 Sharp Kabushiki Kaisha Picture processing apparatus
JP3432736B2 (ja) * 1997-10-29 2003-08-04 シャープ株式会社 画像処理装置
US6771304B1 (en) * 1999-12-31 2004-08-03 Stmicroelectronics, Inc. Perspective correction device for panoramic digital camera
AU2002308651A1 (en) * 2001-05-04 2002-11-18 Leberl, Franz, W. Digital camera for and method of obtaining overlapping images
JP2004061446A (ja) 2002-07-31 2004-02-26 Fujitsu Ten Ltd パターンマッチング処理方法及び画像処理装置
US7885443B2 (en) * 2005-11-14 2011-02-08 Hologic, Inc. Facilitating temporal comparison of medical images
JP5379660B2 (ja) * 2009-12-04 2013-12-25 キヤノン株式会社 画像処理装置及びその制御方法
US9185284B2 (en) * 2013-09-06 2015-11-10 Qualcomm Incorporated Interactive image composition

Also Published As

Publication number Publication date
US20160255281A1 (en) 2016-09-01
US9886648B2 (en) 2018-02-06
JP2016163097A (ja) 2016-09-05

Similar Documents

Publication Publication Date Title
US9307115B2 (en) Image processing device generating rectangular image data from intermediate image data
JP6379897B2 (ja) 機器、情報処理装置、情報処理システム、データ処理方法、及びプログラム
US8547602B2 (en) Image processing apparatus and control method thereof
JP6354619B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2025083524A (ja) 画像処理装置及び画像処理方法
KR100788444B1 (ko) 로그 데이터 기록 장치 및 로그 데이터 기록 방법
JP6575273B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6398812B2 (ja) 画像処理装置、および、コンピュータプログラム
CN107018282B (zh) 图像处理装置
JP6256206B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6409460B2 (ja) 画像処理装置、および、コンピュータプログラム
US10171688B2 (en) Management server to receive scanned images and align the scanned images based on page numbers included in the scanned images
JP6558094B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6882043B2 (ja) 画像処理装置、プログラム及び画像処理方法
JP2016178367A (ja) 画像処理装置、および、コンピュータプログラム
JP2015159427A (ja) 画像読取装置、画像読取装置の制御方法及び制御プログラム
JP2016139868A (ja) 画像処理装置
JP6394060B2 (ja) 画像処理装置およびコンピュータプログラム
JP6372397B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6922316B2 (ja) 情報処理装置及びプログラム
JP4803242B2 (ja) 画像処理装置および画像処理プログラム
JP2009239889A (ja) 色処理システム
JP2018082409A (ja) 画像処理装置
JP2019009568A (ja) 画像処理装置、画像処理システム、プログラム
KR20170021071A (ko) 가는 선 검출 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180507

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6354619

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150