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

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

Info

Publication number
JP6179271B2
JP6179271B2 JP2013173513A JP2013173513A JP6179271B2 JP 6179271 B2 JP6179271 B2 JP 6179271B2 JP 2013173513 A JP2013173513 A JP 2013173513A JP 2013173513 A JP2013173513 A JP 2013173513A JP 6179271 B2 JP6179271 B2 JP 6179271B2
Authority
JP
Japan
Prior art keywords
image
pixel
area
target
output data
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
JP2013173513A
Other languages
English (en)
Other versions
JP2015041975A (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 JP2013173513A priority Critical patent/JP6179271B2/ja
Priority to US14/466,219 priority patent/US9191536B2/en
Publication of JP2015041975A publication Critical patent/JP2015041975A/ja
Application granted granted Critical
Publication of JP6179271B2 publication Critical patent/JP6179271B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • 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/00798Circuits or arrangements for the control thereof, e.g. using a programmed control device or according to a measured quantity
    • H04N1/00801Circuits or arrangements for the control thereof, e.g. using a programmed control device or according to a measured quantity according to characteristics of the original
    • 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

Description

本発明は、複数の画像が合成された合成画像を表すデータを生成する技術に関するものである。
従来から、画像を表す画像データの種々の処理が行われている。例えば、スキャナによって読み込まれた画像を、テンプレート画像の合成領域に合成し、その合成画像をプリントする技術が提案されている(例えば、特許文献1参照)。
特開2001−76127号公報
ところが、画像の合成に関しては、十分な工夫がなされていないのが実情であった。例えば、画像サイズが小さい画像を合成すると、合成領域内の空白部分が大きくなる場合があった。
本発明の主な利点は、画像を合成する新たな技術を提供することである。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]
処理装置であって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
を備え、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
前記出力データ生成部は、前記割付領域上に、2個以上の前記対象画像を配置する、
処理装置。
この構成によれば、テンプレート画像の割付領域上に2個以上の対象画像が配置されるので、対象画像とテンプレート画像とが合成された合成画像を、容易に生成できる。
[適用例2]
適用例1に記載の処理装置であって、
前記出力データ生成部は、複数の前記対象画像を前記テンプレート画像に対応付けられた特定の基準位置を基準として前記テンプレート画像の全体に亘って連続的に並ぶように配置した場合に前記割付領域と重なる2個以上の前記対象画像を、前記合成画像の生成に用いる、
処理装置。
[適用例3]
適用例1に記載の処理装置であって、
前記テンプレート画像は、互いに離れた複数の割付領域を有し、
前記出力データ生成部は、前記割付領域ごとに、前記割付領域に対応付けられた特定の基準位置を基準として前記割付領域内で連続的に並ぶように複数の前記対象画像を配置した場合に前記割付領域と重なる前記対象画像を、前記合成画像の生成に用いる、
処理装置。
[適用例
処理装置であって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
を備え、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
前記出力データ生成部は、前記基準領域に合わせて前記対象画像のサイズを変更する、
処理装置。
この構成によれば、対象画像のサイズが割付領域を含む基準領域に合わせて変更されるので、対象画像のサイズを変更して得られる画像とテンプレート画像とが合成された合成画像を、容易に生成できる。
[適用例5]
適用例4に記載の処理装置であって、
前記基準領域は、前記テンプレート画像の全体の領域と略同じである、処理装置。
[適用例6]
適用例4に記載の処理装置であって、
前記テンプレート画像は、互いに離れた複数の基準領域を有し、
前記複数の基準領域は、それぞれ、前記割付領域を含み、
前記出力データ生成部は、前記基準領域ごとに、前記基準領域に合わせて前記対象画像のサイズを変更する、
処理装置。
[適用例7]
適用例1から6のいずれか1項に記載の処理装置であって、さらに、
前記読取画像データを用いて、前記オブジェクトを表す第1値と、背景を表す第2値と、の二値で表される二値データを生成する二値処理部と、
前記二値データを解析することによって、前記第1値の画素で構成された対象矩形領域を特定する矩形特定部と、
を有し、
前記抽出部は、前記対象画像として、前記読取画像内の前記対象矩形領域の画像を、抽出し、
前記矩形特定部は、
前記二値データによって表される二値画像中の、複数の前記第1値の画素が連続する領域であるオブジェクト領域から、前記対象矩形領域を特定するための基準として利用される特定の画素である基準画素を特定し、
前記オブジェクト領域に内接する矩形領域であって、前記オブジェクト領域内の前記基準画素を通る特定の直線と重なる複数の画素のうちの、前記基準画素から見て一方側に位置する画素を通り前記特定の直線と垂直な第1辺と、前記基準画素から見て他方側に位置する画素を通り前記特定の直線と垂直な第2辺と、を有する複数の矩形領域のうちの、面積が最大の矩形領域を、前記対象矩形領域として特定する、
処理装置。
[適用例8]
適用例7に記載の処理装置であって、
前記オブジェクト領域の複数の画素のうちの第1注目画素を通り互いに垂直な2本の直線を第1直線および第2直線と呼び、前記オブジェクト領域の輪郭と前記第1直線との2つの交点の位置に配置された2つの画素を第1端画素および第2端画素と呼び、前記オブジェクト領域の輪郭と前記第2直線との2つの交点の位置に配置された2つの画素を第3端画素および第4端画素と呼ぶ場合に、
前記矩形特定部は、前記基準画素として、前記オブジェクト領域の複数の画素のうちの、前記第1注目画素と前記第1端画素との間の画素数と、前記第1注目画素と前記第2端画素との間の画素数と、前記第1注目画素と前記第3端画素との間の画素数と、前記第1注目画素と前記第4端画素との間の画素数と、の合計が最大となる前記第1注目画素を、採用する、
処理装置。
[適用例9]
適用例8に記載の処理装置であって、
前記特定の直線と前記オブジェクト領域の前記輪郭との2つの交点の位置に配置された2つの画素を第1終点画素および第2終点画素と呼び、前記特定の直線上の画素である第2注目画素を通り前記特定の直線と垂直な直線と、前記オブジェクト領域の輪郭と、の2つの交点の位置に配置された2つの画素を第1交点画素および第2交点画素と呼び、前記第2注目画素と前記第1交点画素との間の画素数を第1画素数と呼び、前記第2注目画素と前記第2交点画素との間の画素数を第2画素数と呼ぶ場合に、
前記矩形特定部は、
前記基準画素から前記第1終点画素までの各第2注目画素に対して、前記基準画素から前記第2注目画素までの前記第1画素数の最小値である第1最小値と、前記第2画素数の最小値である第2最小値と、を算出し、
前記基準画素から前記第2終点画素までの各第2注目画素に対して、前記基準画素から前記第2注目画素までの前記第1画素数の最小値である第3最小値と、前記第2画素数の最小値である第4最小値と、を算出し、
前記第1辺と前記第2辺とを有する矩形領域の面積を、前記第1辺に含まれる前記第2注目画素に対応付けられた前記第1最小値および第2最小値と、前記第2辺に含まれる前記第2注目画素に対応付けられた前記第3最小値および第4最小値と、を用いて算出する、
処理装置。
[適用例10]
適用例1から9のいずれか1項に記載の処理装置であって、
前記出力データは、印刷装置に、所定サイズの印刷媒体上に前記合成画像の印刷を実行させるデータであり、
前記出力データ生成部は、前記印刷装置に、前記所定サイズよりも大きい印刷媒体上に前記合成画像の試し印刷を実行させるデータである試行データを生成する、
処理装置。
[適用例11]
コンピュータプログラムであって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
をコンピュータに実現させ、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
前記出力データ生成機能は、前記割付領域上に、2個以上の前記対象画像を配置する、
コンピュータプログラム。
[適用例12]
コンピュータプログラムであって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
をコンピュータに実現させ、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
前記出力データ生成機能は、前記基準領域に合わせて前記対象画像のサイズを変更する、
コンピュータプログラム。
なお、本発明は、種々の形態で実現することが可能であり、例えば、データの処理方法および処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
本発明の一実施例としての画像処理システムを示す説明図である。 画像処理のフローチャートである。 画像処理のフローチャートである。 読取画像の例と最終二値画像の例とを示す概略図である。 テンプレート画像の例と対象画像の配置例と合成画像の例との概略図である。 二値データ生成処理のフローチャートである。 二値データ生成の例を示す概略図である。 試行画像OI1tの例を示す概略図である。 対象画像の抽出処理のフローチャートである。 サイズ情報の説明図である。 サイズ情報の修正のフローチャートである。 サイズ情報の修正の一例を示す説明図である。 最大面積の矩形領域を特定する処理のフローチャートである。 図13の手順に従って処理される矩形領域の概略図である。 第2実施例における合成画像処理の例を示す概略図である。 合成画像処理の別の実施例を示すフローチャートである。 第3実施例における合成画像処理の例を示す概略図である。 第4実施例における合成画像処理の例を示す概略図である。
A.第1実施例:
図1は、本発明の一実施例としての画像処理システムを示す説明図である。この画像処理システム1000は、ネットワーク900と、ネットワーク900に接続された複合機100と、ネットワーク900に接続されたサーバ400と、を有している。画像処理システム1000は、挨拶状(例えば、いわゆる年賀状)の絵柄面の印刷を行う。
複合機100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、表示部140と、操作部150と、通信インタフェース160と、スキャナ170と、プリンタ180と、を有している。
プロセッサ110は、データ処理を行う装置であり、例えば、いわゆるCPUである。揮発性記憶装置120は、例えば、いわゆるDRAMであり、不揮発性記憶装置130は、例えば、いわゆるフラッシュメモリである。不揮発性記憶装置130は、プロセッサ110によって実行されるプログラム132を、格納している。プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する。本実施例では、プロセッサ110は、データ送信部210と、データ受信部220と、スキャナ制御部230と、プリンタ制御部240と、処理制御部250と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ110は、プログラム(例えば、プログラム132)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、または、不揮発性記憶装置130)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け入れる装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、画像処理の指示等の種々の指示を入力可能である。通信インタフェース160は、ネットワークに接続するためのインタフェースであり、例えば、IEEE802.11a/b/g/nの規格に従った無線インタフェースである。通信インタフェース160は、ネットワーク900に接続されている。
スキャナ170は、文書などの対象物を光学的に読み取ることによって対象物を表す画像データ(「スキャンデータ」とも呼ぶ)を生成する装置である。本実施例では、スキャナ170は、光電変換素子(例えば、CCDイメージセンサ)を用いてスキャンデータを生成する。プリンタ180は、印刷媒体(例えば、紙)上に画像を印刷する装置である。本実施例では、プリンタ180は、シアンCとマゼンタMとイエロYとブラックKのそれぞれのインクを用いるインクジェット式のプリンタである。ただし、プリンタ180としては、他の方式のプリンタ(例えば、レーザ式プリンタ)を採用可能である。
サーバ400は、プロセッサ410と、揮発性記憶装置420と、不揮発性記憶装置430と、通信インタフェース460と、を有している。プロセッサ410は、データ処理を行う装置であり、例えば、いわゆるCPUである。揮発性記憶装置420は、例えば、いわゆるDRAMであり、不揮発性記憶装置430は、例えば、いわゆるハードディスクドライブである。不揮発性記憶装置430は、プロセッサ410によって実行されるプログラム432と、テンプレート画像を表すテンプレートデータ434とを、格納している。プロセッサ410は、プログラム432を実行することによって、種々の機能を実現する。本実施例では、プロセッサ410は、データ取得部510と、抽出部520と、二値処理部522と、矩形特定部524と、出力データ生成部530と、データ送信部540と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ410は、プログラム(例えば、プログラム432)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置420、または、不揮発性記憶装置430)に、一時的に格納する。
通信インタフェース460は、ネットワークに接続するためのインタフェースであり、例えば、IEEE802.3の規格に従った有線インタフェースである。通信インタフェース460は、ネットワーク900に接続されている。
図2、図3は、画像処理システム1000によって実行される画像処理のフローチャートである。図3は、図2の続きを示している。この画像処理では、挨拶状の絵柄面に、合成画像が印刷される。合成画像は、テンプレート画像と、ユーザによって準備されたオブジェクトを表す対象画像と、が合成された画像である。以下、図2、図3の画像処理を、「合成画像処理」とも呼ぶ。図中では、複合機100における処理が左側に示され、サーバ400における処理が右側に示されている。最初のステップS100では、ユーザは、合成画像処理の実行のために、オブジェクト(例えば、「葉っぱ」「ハンカチ」等の有形のオブジェクト)を、スキャナ170の原稿台にセットする。
次のステップS110では、ユーザは、複合機100の操作部150を操作して、合成画像処理の開始指示を入力する。この指示に応じて、複合機100のプロセッサ110は、合成画像処理を開始する。
次のステップS120では、複合機100のスキャナ制御部230は、スキャナ170を制御することによって、スキャナ170にセットされたオブジェクトをスキャンし、オブジェクトを表す読取画像データを生成する。以下、読取画像データによって表される画像を「読取画像」とも呼ぶ。読取画像データの形式としては、例えば、読取画像を表すJPEGデータを含む形式が、採用される。また、読取画像データの画素密度は、予め決められている(例えば、300dpi)。
図4(A)は、読取画像の例を示す概略図である。図示された読取画像RIは、オブジェクトとして、一部を重ねて配置された2枚の葉っぱを表している。具体的には、読取画像RIは、葉っぱを表す第1領域R10と、葉っぱの周囲の背景を表す背景領域R20と、葉っぱが有する孔を表す第2領域R21と、を表している。なお、本実施例では、読取画像RIのサイズは、挨拶状のサイズよりも大きい所定サイズ(例えば、いわゆる「A4サイズ」)である。
図2の次のステップS130では、データ送信部210は、読取画像データをサーバ400に送信する。
次のステップS200では、サーバ400のデータ取得部510は、読取画像データを取得する。次のステップS210では、出力データ生成部530は、テンプレート画像を表すテンプレートデータを取得する。本実施例では、不揮発性記憶装置430から、予め使用することが定められる一のテンプレートデータ434が、取得される。
図5(A)は、テンプレート画像の例を示す概略図である。図5(A)の例では、テンプレート画像TPI1は、文字列TXを表す領域と、3つの割付領域T10、T20、T30と、を有している。割付領域は、テンプレート画像TPI1と対象画像とが合成される場合に、対象画像を表す領域である。第1割付領域T10は、矩形領域であり、第2割付領域T20は、年を表す4桁の数字(ここでは、「2014」)を表す領域であり、第3割付領域T30は、動物(ここでは、馬)を表す領域である。なお、第1割付領域T10と第3割付領域T30とは、それぞれ、1つの連続な領域である。第2割付領域T20は、4つ数字を表す4つの領域で構成されている。また、テンプレート画像TPI1の形状とサイズとは、挨拶状の形状とサイズと同じであり、本実施例では、形状が矩形であり、サイズが葉書サイズである。
テンプレートデータの形式としては、テンプレート画像TPI1を表現可能な任意の形式を採用可能である。本実施例では、テンプレートデータは、PNG(Portable Network Graphics)形式のデータである。割付領域は、いわゆるアルファチャンネルによって透過領域として表されている。割付領域T10、T20、T30は、透明な領域である(すなわち、透明度は100%(不透明度はゼロ%))。テンプレート画像TPI1内の他の領域は、不透明な領域である(すなわち、透明度はゼロ%(不透明度は100%))。また、本実施例では、テンプレート画像TPI1の画素密度は、読取画像データの画素密度と、同じである。
なお、出力データ生成部530は、複数のテンプレート画像の中からユーザによって選択されたテンプレート画像を表すテンプレートデータを、取得することとしてもよい。例えば、出力データ生成部530は、複数のテンプレート画像を表す画像データを複合機100に送信し、複合機100の処理制御部250は、受信した画像データを用いて複数のテンプレート画像を表示部140に表示する。そして、ユーザは、1枚のテンプレート画像を選択する指示を、操作部150を通じて入力し、処理制御部250は、選択されたテンプレート画像を特定する情報を、サーバ400に送信する。サーバ400の出力データ生成部530は、受信した情報によって特定されるテンプレート画像を表すテンプレートデータを、取得する。
図2の次のステップS220では、二値処理部522は、読取画像データを解析することによって、二値データを生成する。図6は、二値データ生成処理のフローチャートである。図7は、二値データ生成の例を示す概略図である。図7(A)は、読取画像RIのうちの第1領域R10と第2領域R21と背景領域R20とを含む一部分を示している。
図6の最初のステップS500では、二値処理部522は、読取画像データの二値化処理を実行して、第1二値データを生成する。図7(B)は、第1二値データによって表される第1二値画像BI1の一例を示している。図7(B)は、図7(A)と同じ部分を示している。図中のハッチングが付された領域B10は、二値化された画素値が第1値(すなわち、オンである画素)である領域を示し、ハッチングの無い領域B20、B21は、二値化された画素値が第2値(すなわち、オフである画素)である領域を示している。図7(B)の例では、第1値の領域B10は、図7(A)の第1領域R10と同じである。以下、この領域B10を「第1値領域B10」とも呼ぶ。第2値の領域B20、B21は、図7(A)の領域R20、R21と、それぞれ同じである。以下、領域B20を「背景領域B20」とも呼び、領域B21を「第2値領域B21」とも呼ぶ。
二値化の方法としては、背景を表す領域とオブジェクトを表す領域とを分離する任意の方法を採用可能である。例えば、本実施例では、二値処理部522は、背景の色(本実施例では、白色)を含む所定の背景色範囲の色を示す画素の画素値を、第2値に設定し、背景色範囲外の色を示す画素の画素値を、第1値に設定する。背景色範囲としては、例えば、赤R>220、かつ、緑G>220、かつ、青B>220の色範囲が採用される。赤R、緑G、青Bは、読取画像データの各画素の画素値であり、0〜255の256階調で表されている。
図6の次のステップS510では、二値処理部522は、第1二値データに対する塗りつぶし処理を実行して、第2二値データを生成する。図7(C)は、第2二値データによって表される第2二値画像BI2を示している。図7(C)は、図7(B)と同じ部分を示している。塗りつぶし処理は、オブジェクトを表す領域に囲まれた背景色範囲の領域を、オブジェクトを表す領域に変更する処理である。具体的には、第1値の領域に囲まれた第2値の領域の画素値が、第2値から第1値に変更される。図7(C)の例では、第1領域B10(図7(B))に囲まれていた第2領域B21の画素値が、第2値から第1値に変更される。この結果、第1領域B10と第2領域B21で構成される連続な領域B11が、第1値の領域として形成される。以下、領域B11を「第1値領域B11」とも呼ぶ。
塗りつぶしの方法としては、種々の方法を採用可能である。例えば、第2値の領域のうちの、第1二値画像BI1の縁と接する領域を除いた残りの領域の画素値を、第2値から第1値に変更する方法を採用可能である。
図6の次のステップS520では、二値処理部522は、第2二値データに対するブロック化処理を実行して、第3二値データを生成する。図7(D)は、第3二値データによって表される第3二値画像BI3を示している。図7(D)は、図7(C)と同じ部分を示している。図中の点線B11cは、第1値領域B11(図7(C))の輪郭を示している。
ブロック化処理は、二値画像の複数の画素を複数のブロックに分割し、ブロック毎に、画素値を、第1値または第2値に設定する処理である。1つのブロックは、複数の画素を含んでいる。本実施例では、1つのブロックは、20行20列の画素で構成される矩形領域である。二値処理部522は、第2二値画像BI2の全体を、格子状に並ぶ複数のブロックに分割する。1つのブロックを1つの画素として用いることによって形成される二値画像が、第3二値画像BI3である。以下、第2二値画像BI2上の画素位置と、第3二値画像BI3上の画素位置(すなわち、ブロックの位置)と、の対応関係を、「ブロック画素対応関係」とも呼ぶ。
二値処理部522は、1つのブロックに含まれる複数の画素のうちの第2値の画素の数が1以上である場合、そのブロックの画素値を、第2値に設定する。1つのブロックに含まれる複数の画素のうちの第2値の画素の数がゼロである場合、すなわち、全ての画素の画素値が第1値である場合、二値処理部522は、そのブロックの画素値を、第1値に設定する。
第1値領域B11(図7(C))のうち、比較的中心部に近い領域では、ブロックは、第1値の画素のみを含んでいる。従って、第1値領域B11の内部では、ブロックの画素値は、第1値に設定される。第1値領域B11の縁部分では、ブロックは、第1値領域B11の画素と背景領域B20の画素との両方を含み得る(以下、「混合ブロック」と呼ぶ)。混合ブロックの画素値は、第2値に設定される。図7(D)の第3二値画像BI3中の第1値の領域B11bは、第2二値画像BI2中の第1値領域B11の縁の一部が混合ブロックによって削り取られた後に残った領域を、表している。以下、第3二値画像BI3中の第1値の領域B11bを、「第1値領域B11b」とも呼ぶ。また、第3二値画像BI3中の第2値の領域B20bを、「背景領域B20b」とも呼ぶ。
本実施例では、二値処理部522は、以上のステップS500、S510、S520を実行することによって、最終的な二値データとして、第3二値データを生成する。以下、第3二値データを「最終二値データ」とも呼び、第3二値データによって表される第3二値画像BI3を、「最終二値画像BI3」とも呼ぶ。最終二値画像BI3中の第1値領域B11bは、オブジェクトを表す領域に対応する(以下、「オブジェクト領域B11b」とも呼ぶ)。最終二値データが生成されたことに応じて、図6の処理は終了する。
図2の次のステップS230では、矩形特定部524が、最終二値画像のオブジェクト領域に内接する対象矩形領域を特定し、抽出部520は、読取画像内の対象矩形領域の画像である対象画像を抽出する。図4(B)は、最終二値画像BI3の例を示す概略図である。図中には、対象矩形領域RCが示されている。対象矩形領域RCは、オブジェクト領域B11bに内接している。なお、最終二値画像BI3の画素密度は、図7(C)の第2二値画像BI2の画素密度(図4(A)の読取画像RIの画素密度と同じ)よりも、低い。このように、読取画像RIと比べて画素密度が低減された最終二値画像BI3が、対象矩形領域RCの特定に利用される。従って、画素密度が高い二値データ(例えば、第2二値画像BI2を表す第2二値データ)を用いる場合と比べて、対象矩形領域RCの特定処理の計算量を低減できる。この結果、対象矩形領域RCの特定を、高速化できる。なお、対象矩形領域RCの特定の詳細については、後述する。
図4(A)には、読取画像RI内の対象矩形領域RCに対応する領域の画像である対象画像TIが示されている。読取画像RI上の対象矩形領域RCの位置は、上述のブロック画素対応関係に従って、特定される。対象画像TIは、対象矩形領域RCの輪郭によって囲まれる領域の画像である。図4(A)の下部には、対象画像TIの拡大図が示されている。図示するように対象画像TIは、オブジェクト(ここでは、葉っぱ)の一部を表している。
図2の次のステップS240では、出力データ生成部530は、テンプレート画像に対する対象画像の配置を決定する。図5(B)は、対象画像の配置例を示す概略図である。図中には、テンプレート画像TPI1上に配置された複数の対象画像TIが、対象画像TIの輪郭を表す点線の矩形で示されている。本実施例では、出力データ生成部530は、テンプレート画像TPI1の左上の隅RPを基準としてテンプレート画像TPI1の全体に亘って連続的に並ぶように複数の対象画像TIの配置を決定する。具体的には、テンプレート画像TPI1の隅RPに対象画像TIの左上の隅が一致するように、隙間なく(すなわち、連続的に)、格子状に複数の対象画像TIが配置される。本実施例では、対象画像TIとテンプレート画像TPI1との重ね合わせは、対象画像TI中の連続な複数の画素が、テンプレート画像TPI1中の連続な同数の画素と、一対一で重なるように、行われる。
図2の次のステップS250では、出力データ生成部530は、テンプレート画像と対象画像とが合成された合成画像を表す出力データを生成する。図5(C)は、合成画像の一例を示す概略図である。出力データ生成部530は、ステップS240で決定した配置に従って複数の対象画像TIをテンプレート画像TPI1上に配置した場合に、複数の対象画像TIのうちの割付領域T10、T20、T30と重なる部分を、割付領域T10、T20、T30の画像として、採用する。図5(C)の合成画像OI1では、各割付領域T10、T20、T30は、複数の対象画像TIによって、表されている。
なお、出力データの形式としては、例えば、合成画像を表すJPEGデータを含む形式が、採用される。また、出力データは、印刷媒体のサイズとして、挨拶状のサイズ(ここでは、葉書サイズ)を指定するデータを含んでいる。また、合成画像の画素密度は、テンプレート画像の画素密度と同じである。
出力データの生成が完了した場合、図3の次のステップS310で、出力データ生成部530は、複合機100に、試し印刷の要否を問い合わせる。試し印刷とは、挨拶状の用紙に印刷を行う前に、当該挨拶状の用紙と異なる用紙に合成画像を印刷させるものである。複合機100の処理制御部250は、次のステップS320で、ユーザの指示に従って、回答を、サーバ400に送信する。例えば、処理制御部250は、試し印刷の要否を問い合わせるメッセージを表示部140に表示し、操作部150を通じて入力された指示を受け付け、そして、指示に従って回答をサーバ400に送信する。次のステップS330では、サーバ400の出力データ生成部530は、複合機100からの回答が、試し印刷を行うことを示しているか否かを判定する。回答が、試し印刷を行うことを示していない場合(S330:No)、次のステップS390で、データ送信部540は、出力データを複合機100に送信する。複合機100のプリンタ制御部240は、次のステップS400で、受信した出力データを用いて印刷データを生成し、生成した印刷データをプリンタ180に供給する。プリンタ180は、印刷データに従って、合成画像を印刷する。ユーザは、予め、印刷媒体として、挨拶状(例えば、年賀状)を、プリンタ180にセットする。プリンタ180は、セットされた挨拶状に、合成画像を印刷する。
なお、印刷データの生成方法としては、プリンタ180に適した任意の方法を採用可能である。例えば、プリンタ制御部240は、出力データの色変換を行い、色変換後のデータを用いてハーフトーン処理を行い、ハーフトーン処理の結果に応じて、印刷データを生成する。色変換後のデータは、プリンタ180が利用可能な各色材(例えば、シアンとマゼンタとイエロとブラックの色材)の階調値で色を表すデータである。
複合機100からの回答が、試し印刷を行うことを示している場合(S330:Yes)、次のステップS340で、出力データ生成部530は、合成画像の試し印刷を複合機100に実行させるデータである試行データを生成する。本実施例では、試行データは、合成画像を表しており、出力データと同じJPEGデータを含んでいる。また、試行データに含まれる印刷媒体のサイズを指定するデータは、葉書サイズよりも大きい所定サイズを指定している。このサイズとしては、印刷用紙として広く普及している普通紙の典型的なサイズ(本実施例では、A4サイズ)が、採用される。次のステップS350では、データ送信部540は、試行データを、複合機100に送信する。複合機100のプリンタ制御部240は、次のステップS360で、受信した試行データを用いて印刷データを生成し、生成した印刷データをプリンタ180に供給する。プリンタ180は、印刷データに従って、試行画像を印刷する。
図8は、試行データによって表される画像である試行画像OI1tの例を示す概略図である。図8の例では、試行画像OI1tは、合成画像OI1と、メッセージMSと、を表している。メッセージMSは、試行画像OI1tの印刷が試し印刷であることを示している。なお、試行画像OI1tが印刷された場合の試行画像OI1tに含まれる合成画像OI1のサイズは、出力データに応じて合成画像OI1が挨拶状の用紙上に印刷された場合の合成画像OI1のサイズと、同じである。従って、ユーザは、印刷された試行画像OI1tを観察することによって、合成画像OI1が適切であるか否かを容易に判断できる。また、試行画像OI1tは、出力データに基づく印刷に利用される印刷媒体よりも大きい印刷媒体に印刷される。従って、合成画像OI1の周囲には、空白BSが配置される。この結果、合成画像OI1の大きさを小さくせずに、メッセージMSを配置できる。また、ユーザは、空白BSに、合成画像OI1の校正を記入できる。また、試行画像OI1tの印刷に用いられる印刷媒体のサイズは、印刷用紙として広く普及している普通紙の典型的なサイズ(本実施例では、A4サイズ)に設定されている。従って、試行画像OI1tの印刷には、高価な挨拶状の代わりに、安価な普通紙を用いることができる。なお、試行画像OI1tが印刷された場合の試行画像OI1tに含まれる合成画像OI1のサイズが、出力データに応じて合成画像OI1が印刷された場合の合成画像OI1のサイズよりも、大きくてもよい。こうすれば、ユーザは、大きく印刷された合成画像OI1を観察することによって、合成画像OI1が適切であるか否かを容易に判断できる。
ユーザは、印刷された試行画像OI1tの観察結果に応じて、合成画像を挨拶状に印刷するか否かを決定する。そして、図3の次のステップS370では、ユーザは、操作部150を通じて、印刷を行うか否かを表す指示を入力する。処理制御部250は、ユーザの指示に従って、印刷を行うか否かを示す指示を、サーバ400に送信する。次のステップS380では、サーバ400のデータ送信部540は、受信した指示が印刷を行うことを示しているか否かを判定する。指示が印刷を行うことを示す場合(S380:Yes)、次のステップS390で、データ送信部540は、出力データを複合機100に送信し、続くステップS400で、複合機100のプリンタ制御部240は、受信した出力データに応じて出力画像を印刷する。指示が印刷を行うことを示していない場合(S380:No)、データ送信部540は、出力データを複合機100に送信せずに、図2、図3の処理を終了する。
以上のように、本実施例では、1つの連続な割付領域(例えば、図5(C)の割付領域T10)上に、2個以上の対象画像TIが配置される。従って、出力データ生成部530は、対象画像TIとテンプレート画像TPI1とが合成された合成画像OI1を表す出力データを、容易に生成できる。また、本実施例では、割付領域上に2個以上の対象画像TIが配置されるので、割付領域内の空白部分が大きくなることを抑制できる。
なお、出力データ生成部530は、対象画像TIが1つの割付領域(例えば、割付領域T10)よりも小さい場合、すなわち、1つの対象画像TIでは、1つの割付領域の全体を覆うことができない場合に、その割付領域上に2個以上の対象画像TIを配置する。対象画像TIが1つの割付領域よりも大きい場合、すなわち、1つの対象画像TIが1つの割付領域の全体を覆うことができる場合、その割付領域上に配置される対象画像TIの数は、「1」であってよい。
また、図5(B)、図5(C)で説明したように、出力データ生成部530は、複数の対象画像TIを、テンプレート画像TPI1に対応付けられた基準位置(隅RP)を基準としてテンプレート画像TPI1の全体に亘って連続的に並ぶように配置した場合に、割付領域(例えば、割付領域T10)と重なる2個以上の対象画像TIを、合成画像の生成に用いる。従って、出力データ生成部530は、割付領域上の2個以上の対象画像TIのそれぞれの配置を容易に決定できるので、合成画像OI1を表す出力データを容易に生成できる。
次に、対象画像の抽出(特に、対象矩形領域の特定)について説明する。図9は、図2のステップS230で実行される対象画像の抽出処理のフローチャートである。以下、図4、図7(D)で説明したオブジェクト領域B11bから、対象矩形領域RC、すなわち、対象画像TIが抽出される場合を例に挙げて、説明する。
最初のステップS600では、矩形特定部524は、オブジェクト領域B11bに含まれる複数の画素のそれぞれについて、サイズ情報を算出する。図10は、サイズ情報の説明図である。図中には、図7(D)で説明したオブジェクト領域B11bが示されている。また、図中には、互いに垂直な2つの方向D1、D2が示されている。オブジェクト領域B11b、ひいては、最終二値画像BI3の複数の画素は、第1方向D1と第2方向D2とに沿って格子状に配置されている。以下、第1方向D1を「右方向」とも呼び、第2方向D2を「下方向」とも呼ぶ。
図中には、オブジェクト領域B11b内から選択された画素Ps(以下「注目画素Ps」と呼ぶ)と、注目画素Psを通り互いに垂直な第1直線Ls1と第2直線Ls2と、が示されている。第1直線Ls1は、第1方向D1と平行であり、第2直線Ls2は、第2方向D2と平行である。
注目画素Psの第1方向D1側には、右端画素Psrが配置され、注目画素Psの反対側には、左端画素Pslが配置されている。2つの端画素Psr、Pslは、オブジェクト領域B11bの輪郭(すなわち、縁)と第1直線Ls1との2つの交点の位置に配置された画素である。
注目画素Psの第2方向D2側には、下端画素Psdが配置され、注目画素Psの反対側には、上端画素Psuが配置されている。2つの端画素Psd、Psuは、オブジェクト領域B11bの輪郭(すなわち、縁)と第2直線Ls2との2つの交点の位置に配置された画素である。
なお、図中の符号(例えば、画素の符号Ps)の近くに記載された括弧内の値は、左から順番に、第1方向D1の画素位置と、第2方向D2の画素位置と、を示している。例えば、注目画素Psの第1方向D1の画素位置は「Is」であり、第2方向D2の画素位置は「Js」である。以下、「I」で始まる画素位置は、第1方向D1の画素位置を示し、「J」で始まる画素位置は、第2方向D2の画素位置を示すこととする。また、第1方向D1の画素位置は、第1方向D1に向かって、1ずつ大きくなり、第2方向D2の画素位置は、第2方向D2に向かって、1ずつ大きくなることとする。
図中には、注目画素Psと4つの端画素Psr、Psl、Psd、Psuとの間の4つの画素数Sr、Sl、Sd、Suが示されている。具体的には、以下の通りである。
1)右画素数Srは、注目画素Psと右端画素Psrとの間の画素数であり、右端画素Psrの位置Ipと注目画素Psの位置Isとの間の差分である。
2)左画素数Slは、注目画素Psと左端画素Pslとの間の画素数であり、注目画素Psの位置Isと左端画素Pslの位置Imとの間の差分である。
3)下画素数Sdは、注目画素Psと下端画素Psdとの間の画素数であり、下端画素Psdの位置Jpと注目画素Psの位置Jsとの間の差分である。
4)上画素数Suは、注目画素Psと上端画素Psuとの間の画素数であり、注目画素Psの位置Jsと上端画素Psuの位置Jmとの間の差分である。
矩形特定部524は、4つの画素数Sr、Sl、Sd、Suを、注目画素Psのサイズ情報として算出する。本実施例では、矩形特定部524は、オブジェクト領域B11bに含まれる全ての画素について、サイズ情報を算出する。
図9の次のステップS610では、矩形特定部524は、基準画素を特定する。本実施例では、矩形特定部524は、オブジェクト領域B11b内の複数の画素のうちの、サイズ情報として算出された4つの画素数Sr、Sl、Sd、Suの合計値が最大である画素を、基準画素として選択する。以下、図10の注目画素Psが、基準画素として選択されたこととして、説明を行う。
図9の次のステップS620では、矩形特定部524は、算出したサイズ情報を修正する。図11は、サイズ情報の修正のフローチャートである。後述するように、サイズ情報の修正は、第1直線Ls1上の画素と、第2直線Ls2上の画素と、のそれぞれに対して行われる。図11は、第1直線Ls1上の画素に対する処理を示している。
図12は、図11の処理によるサイズ情報の修正の一例を示す説明図である。図11の処理では、基準画素Psを通る第1直線Ls1上の画素(注目画素と呼ぶ)の下画素数Sdと上画素数Suとが修正される。図中のハッチングが付された画素は、第1直線Ls1上の各注目画素から画素数Sd、Suだけ離れた位置の画素を示している。図12(A)は、修正前を示し、図12(B)は、修正後を示している。
図12(B)のオブジェクト領域B11bの右下の部分には、5つの下画素数Sda、Sdab、Sdau、Sdb、Sdbbが、対応する画素を示す符号として、示されている。これらの下画素数を用いて、概略を説明する。第1直線Ls1上の画素を、基準画素Psから右端画素Psrまで辿ると、修正済の下画素数Sdは、1つ前の画素の修正済の下画素数Sdと同じ、あるいは、より小さい値に設定されている。具体的には、第1下画素数Sdaに示すように、修正前の下画素数Sdauが、1つ前の画素の修正済の下画素数Sdab以上である場合には、下画素数Sdaは、1つ前の画素の修正済の下画素数Sdabと同じ値に設定される。第2下画素数Sdbに示すように、修正前の下画素数Sdbが、1つ前の画素の修正済の下画素数Sdbbよりも小さい場合には、下画素数Sdbは、維持される。上画素数Suの修正についても、同様である。以上のような修正が、図11のフローチャートに従って、行われる。
図11のステップS700〜S740では、矩形特定部524は、基準画素Psから右端画素Psrまで1画素ずつ順番に、注目画素Pxr(「右注目画素Pxr」とも呼ぶ)のサイズ情報Sd、Suを修正する。最初のステップS700では、矩形特定部524は、注目画素Pxrの第1方向D1の位置Ixrを、基準画素Psの位置Isに初期化する。次のステップS710では、矩形特定部524は、注目画素Pxrの上画素数Suを、基準画素Psから注目画素Pxrまでの間の上画素数Suの最小値に、変更する。次のステップS720では、矩形特定部524は、注目画素Pxrの下画素数Sdを、基準画素Psから注目画素Pxrまでの間の下画素数Sdの最小値に、変更する。次のステップS730では、矩形特定部524は、基準画素Psから右端画素Psrまでの間の全ての画素の処理が終了したか否かを判定する。本実施例では、注目画素Pxrの位置Ixrが、右端画素Psrの位置Ip以上である場合に、処理が終了したと判定される。未処理の画素が残っている場合(S730:No)、次のステップS740で、矩形特定部524は、注目画素Pxrの位置Ixrに1を追加して、ステップS710に戻る。基準画素Psから右端画素Psrまでの全ての画素の処理が終了した場合(S730:Yes)、処理は、ステップS750に移行する。
図11のステップS750〜S790では、矩形特定部524は、基準画素Psから左端画素Pslに向かって1画素ずつ順番に、注目画素Pxl(「左注目画素Pxl」とも呼ぶ)のサイズ情報Sd、Suを修正する。ステップS750〜S790の手順は、上述のステップS700〜S740の手順を、注目画素Pxlが基準画素Psから左端画素Pslに向かって移動するように修正した手順と、同じである。すなわち、ステップS750では、注目画素Pxlの位置Ixlが、基準画素Psの位置Isに初期化される。ステップS760では、注目画素Pxlの上画素数Suが、基準画素Psから注目画素Pxlまでの間の上画素数Suの最小値に変更される。ステップS770では、注目画素Pxlの下画素数Sdが、基準画素Psから注目画素Pxlまでの間の下画素数Sdの最小値に変更される。ステップS780では、基準画素Psから左端画素Pslまでの間の全ての画素の処理が終了したか否かが判定される。未処理の画素が残っている場合(S780:No)、次のステップS790で、注目画素Pxlの位置Ixlから1が減算されて、処理は、ステップS760に戻る。基準画素Psから左端画素Pslまでの全ての画素の処理が終了した場合(S780:Yes)、図11の処理が終了する。
以上のように、第1直線Ls1上の各画素の下画素数Sdと上画素数Suとが修正される。矩形特定部524は、さらに、第2直線Ls2上の各画素について、右画素数Srと左画素数Slとを修正する。画素数Sr、Slの修正は、上述した画素数Sd、Suの修正と同様の手順従って、行われる。すなわち、基準画素Psから下端画素Psdに向かって1つずつ順番に注目画素が選択され、選択された注目画素の右画素数Srと左画素数Slとが修正される。そして、基準画素Psから上端画素Psuに向かって1つずつ順番に注目画素が選択され、選択された注目画素の右画素数Srと左画素数Slとが修正される。なお、端画素Psr、Psl、Psd、Psuは、画素数Sd、Su、Sr、Slの修正処理の終点の画素である(以下「終点画素Psr、Psl、Psd、Psu」とも呼ぶ)。
図9の次のステップS630では、矩形特定部524は、第1直線Ls1上から選択された2つの画素を通る2つの辺(「第1直線Ls1に基づく2つの辺」と呼ぶ)を有する複数の矩形領域と第2直線Ls2上から選択された2つの画素を通る2つの辺(「第2直線Ls2に基づく2つの辺」と呼ぶ)を有する複数の矩形領域との中から、最大面積の矩形領域を対象矩形領域として特定する。次のステップS640では、抽出部520は、読取画像から、対象矩形領域に対応する領域の画像を、対象画像として抽出する。図4(A)の例では、読取画像RIから、対象矩形領域RCに対応する対象画像TIが、抽出される。本実施例では、読取画像RIの画素密度は、対象矩形領域RC(すなわち、図4(B)の最終二値画像BI3)の画素密度よりも高い。抽出部520は、読取画像RI上の対象矩形領域RCに対応する領域を、上述のブロック画素対応関係に従って、特定する。例えば、最終二値画像BI3の1つの画素(「ブロック」とも呼ぶ)が、読取画像RIの20行20列の画素で表される場合、抽出部520は、最終二値画像BI3上のブロックの画素位置(低画素密度の画素位置)を20倍することによって、読取画像RI上のブロックの端の位置(高画素密度の画素位置)を、算出できる。
次に、最大面積の矩形領域の特定について、説明する。図13は、第1直線Ls1に基づく2つの辺を有する複数の矩形領域から最大面積の矩形領域を特定する処理のフローチャートである。図14は、図13の手順に従って処理される矩形領域の概略図である。まず、図14を参照して、第1直線Ls1に基づく2つの辺を有する複数の矩形領域について、説明する。
矩形特定部524は、第1直線Ls1上の複数の注目画素から、基準画素Psから見て第1方向D1側に位置する注目画素Pxr(「第1画素Pxr」とも呼ぶ)と、基準画素Psから見て反対側に位置する注目画素Pxl(「第2画素Pxl」とも呼ぶ)と、を選択する。そして、矩形特定部524は、第1画素Pxrを通り第1直線Ls1と垂直な辺SR(「第1辺SR」とも呼ぶ)と、第2画素Pxlを通り第1直線Ls1と垂直な辺SL(「第2辺SL」とも呼ぶ)と、を有する矩形領域であって、オブジェクト領域B11bの輪郭B11cに内接する矩形領域を、対象矩形領域の候補として採用する(以下、「候補矩形領域RCc」とも呼ぶ)。
第1画素Pxr(すなわち、第1辺SR)の第1方向D1の位置Ixrは、基準画素Psの位置Isと右端画素Psrの位置Ipとの間で、可変である。同様に、第2画素Pxl(すなわち、第2辺SL)の第1方向D1の位置Ixlは、基準画素Psの位置Isと左端画素Pslの位置Imとの間で、可変である。従って、第1直線Ls1に基づいて、第1辺SRと第2辺SLとの複数の組合せ、すなわち、複数の矩形領域の候補が、規定される。矩形特定部524は、図13の手順に従って、複数の矩形領域の候補の中から、最大面積の矩形領域を特定する。
図13の最初のステップS800では、矩形特定部524は、第1画素Pxrの第1方向D1の位置Ixrと、第2画素Pxlの第1方向D1の位置Ixlとを、基準画素Psの位置Isに初期化する。次のステップS810では、矩形特定部524は、候補矩形領域RCcの第1方向D1の幅Wを、第1画素Pxrの位置Ixrと第2画素Pxlの位置Ixlとの間の差分を用いて算出する(W=Ixr−Ixl+1)。
次のステップS820では、矩形特定部524は、候補矩形領域RCcの第2方向D2の高さHを算出する。高さHは、第1直線Ls1よりも第2方向D2側の部分の高さである第1部分高さH1と、第1直線Ls1の反対側の部分の高さである第2部分高さH2と、を用いて算出される。第1部分高さH1は、第1画素Pxrの下画素数Sdと第2画素Pxlの下画素数Sdとのうちの小さい値である(min(Sd(Ixr、Js)、Sd(Ixl、Js)))。第2部分高さH2は、第1画素Pxrの上画素数Suと第2画素Pxlの上画素数Suとのうちの小さい値である(min(Su(Ixr、Js)、Su(Ixl、Js)))。第1直線Ls1の太さ(1)を考慮すると、高さHは、H1+H2+1で表される。
なお、第1部分高さH1は、矩形領域RCcの4辺のうちの第1直線Ls1と平行な辺を規定し、第2部分高さH2は、矩形領域RCcの4辺のうちの第1直線Ls1と平行な他の辺を規定している。このように、第1画素Pxrの位置Ixrと、第2画素Pxlの位置Ixlと、第1部分高さH1と、第2部分高さH2と、によって、オブジェクト領域B11bに内接する矩形領域RCcが特定される。
図13の次のステップS830では、矩形特定部524は、幅Wと高さHとを乗じることによって、候補矩形領域RCcの面積を算出する。そして、矩形特定部524は、面積の最大値と、面積が最大である候補矩形領域RCcを特定する情報(例えば、Ixr、Ixl、W、H等)と、を表すデータ(「最大領域データ」と呼ぶ)を、記憶装置(本実施例では、揮発性記憶装置420)に格納する。後述するように、ステップS810〜S830の処理は、複数の候補矩形領域RCcのそれぞれについて実行される。ステップS830では、矩形特定部524は、最大領域データを、ステップS30で算出された面積のうちの最大の面積に対応付けられたデータを表すように、更新する。
次のステップS840では、矩形特定部524は、基準画素Psから左端画素Pslまでの間の全ての第2画素Pxl(すなわち、第2辺SL)の処理が終了したか否かを判定する。本実施例では、第2画素Pxl(すなわち、第2辺SL)の位置Ixlが、左端画素Pslの位置Im以下である場合に、処理が終了したと判定される。未処理の第2辺SLが残っている場合(S840:No)、次のステップS850で、矩形特定部524は、第2画素Pxlの位置Ixlから1を減算し、ステップS810に戻る。
基準画素Psから左端画素Pslまでの間の全ての第2辺SLの処理が終了した場合(S840:Yes)、矩形特定部524は、次のステップS860で、第2辺SLの位置Ixlを基準画素Psの位置Isに初期化し、次のステップS870で、基準画素Psから右端画素Psrまでの間の全ての第1画素Pxr(すなわち、第1辺SR)の処理が終了したか否かを判定する。本実施例では、第1画素Pxr(すなわち、第1辺SR)の位置Ixrが、右端画素Psrの位置Ip以上である場合に、処理が終了したと判定される。未処理の第1辺SRが残っている場合(S870:No)、次のステップS880で、矩形特定部524は、第1画素Pxrの位置Ixrに1を加算し、ステップS810に戻る。基準画素Psから右端画素Psrまでの全ての第1辺SRの処理が終了した場合(S870:Yes)、図13の処理は終了する。
このように、矩形特定部524は、第1画素Pxrと第2画素Pxlとの全ての組合せ、すなわち、第1辺SRと第2辺SLとの全ての組合せについて、候補矩形領域RCcの面積を算出し、そして、最大領域データを更新する。矩形特定部524は、さらに、第2直線Ls2に基づく2つの辺を有する複数の矩形領域のそれぞれの面積を算出し、最大領域データを更新する。そして、矩形特定部524は、最終的に得られる最大面積の矩形領域を、対象矩形領域として、特定する。なお、第2直線Ls2に基づく2つの辺を有する複数の矩形領域のそれぞれの面積は、図13と同様の手順に従って、算出される。すなわち、第1方向D1と平行な第1辺が、基準画素Psと下端画素Psdとの間から選択され、第1方向D1と平行な第2辺が、基準画素Psと上端画素Psuとの間から選択される。そして、右画素数Srと左画素数Slとを用いて、候補矩形領域が特定され、面積が算出される。
以上のように、本実施例では、矩形特定部524は、第1直線Ls1と第2直線Ls2とを用いて、以下のように、最大面積の矩形領域を特定する。すなわち、図13、図14で説明したように、矩形特定部524は、オブジェクト領域B11b内の基準画素Psを通る特定の直線(例えば、第1直線Ls1)と重なる複数の画素のうちの、基準画素Psから見て一方側に位置する画素を通り特定の直線と垂直な第1辺と、基準画素Psから見て他方側に位置する画素を通り特定の直線と垂直な第2辺と、を有する複数の矩形領域のうちの、面積が最大の矩形領域を、対象矩形領域として特定する。従って、オブジェクト領域B11bに内接する対象矩形領域を容易に特定できる。また、第1辺と第2辺とを定める2つの画素として、特定の直線と重なる任意の2つの画素が選択される場合と比べて、対象矩形領域の候補の数を低減できるので、対象矩形領域の特定処理の計算量を低減できる。この結果、対象矩形領域の特定を、高速化できる。ここで、本実施例では、特定の直線として第1直線Ls1が採用される場合の複数の矩形領域と、特定の直線として第2直線Ls2が採用される場合の複数の矩形領域と、から対象矩形領域が選択される。従って、第1直線Ls1と第2直線Ls2との一方のみに従って対象矩形領域を特定する場合と比べて、面積が小さい矩形領域が対象矩形領域として選択されることを抑制できる。また、面積が算出される矩形領域は、基準画素Psを挟んで対向する2つの辺を有する矩形領域であるので、オブジェクト領域B11bに内接する全ての矩形領域の面積を算出する場合と比べて、計算量を低減できる。
また、図10で説明したように、基準画素Psとしては、画素数Sr、Sl、Sd、Suの合計が最大となる画素が、採用される。従って、基準画素Psとしては、オブジェクト領域内の縁に近い画素よりも縁から遠い画素(例えば、オブジェクト領域の重心に近い画素)が選択される可能性が高い。この結果、基準画素Psを挟んで対向する2つの辺を有する複数の矩形領域の中から対象矩形領域を選択する場合に、面積が小さい矩形領域が対象矩形領域として選択されることを、抑制できる。
また、図11〜図14で説明したように、第1直線Ls1に基づく2つの辺を有する複数の矩形領域のそれぞれの面積の計算には、基準画素Psから終点画素Psrまでの各右注目画素Pxrに対して算出された修正済の画素数Sd、Suと、基準画素Psから終点画素Pslまでの各左注目画素Pxlに対して算出された修正済の画素数Sd、Suと、が利用される。右注目画素Pxrの画素数Sd、Suは、それぞれ、基準画素Psから右注目画素Pxrまでにおける下画素数Sdの最小値と上画素数Suの最小値とである。左注目画素Pxlの画素数Sd、Suは、それぞれ、基準画素Psから左注目画素Pxlまでにおける下画素数Sdの最小値と上画素数Suの最小値とである。以上により、矩形特定部524は、オブジェクト領域B11bに内接する矩形領域の特定と、面積の算出とを、容易に行うことができる。そして、矩形特定部524は、オブジェクト領域B11bに内接し、第1直線Ls1に基づく2つの辺を有する矩形領域であって、面積が最大の矩形領域を、容易に特定できる。第2直線Ls2に基づく2つの辺を有する複数の矩形領域に関しても、同様に、矩形特定部524は、オブジェクト領域B11bに内接する矩形領域の特定と、面積の算出とを、行う。以上により、矩形特定部524は、第1直線Ls1に基づく2つの辺を有する複数の矩形領域と、第2直線Ls2に基づく2つの辺を有する複数の矩形領域と、の中から、オブジェクト領域B11bに内接する最大面積の矩形領域を、容易に特定できる。
B.第2実施例:
図15は、第2実施例における合成画像処理の例を示す概略図である。図5に示す第1実施例との差異は、第2実施例では、割付領域T10、T20、T30ごとに、対象画像TIの位置が決定される点だけである。合成画像処理に用いられる画像処理システムの構成は、図1に示す画像処理システム1000の構成と同じである。また、合成画像処理の手順は、対象画像TIの位置の決定方法が異なる点を除いて、図2、図3に示す手順と、同じである。以下、図4(A)の対象画像TIと同じ対象画像TIが用いられることとして、説明を行う。
図15(A)は、テンプレート画像の例を示している。このテンプレート画像TPI2は、図5(A)に示すテンプレート画像TPI1と同じ割付領域T10、T20、T30を有している。本実施例では、更に、テンプレート画像TPI2は、割付領域T10、T20、T30にそれぞれ対応付けられた基準領域RA1、RA2、RA3を有している。基準領域RA1、RA2、RA3は、それぞれ、割付領域T10、T20、T30を含む領域である。本実施例では、基準領域RA1、RA2、RA3は、それぞれ、割付領域T10、T20、T30に外接する矩形領域である。
図15(B)〜図15(D)は、各割付領域T10、T20、T30に対する対象画像TIの配置例を示している。図2のステップS240では、図15(B)に示すように、出力データ生成部530は、第1基準領域RA1の左上の隅RP1を基準として、第1割付領域T10の全体に亘って連続的に並ぶように、第1割付領域T10に対する複数の対象画像TIの配置を決定する。具体的には、第1基準領域RA1の隅RP1に対象画像TIの左上の隅が一致するように、隙間なく、格子状に複数の対象画像TIが配置される。同様に、図15(C)の第2割付領域T20に対する対象画像TIの配置は、第2基準領域RA2の左上隅RP2を基準として、決定され、図15(D)の第3割付領域T30に対する対象画像TIの配置は、第3基準領域RA3の左上隅RP3を基準として、決定される。
図15(E)は、合成画像の例を示している。出力データ生成部530は、図2のステップS240で第1基準領域RA1(具体的には、左上隅RP1)に従って決定した配置に従って複数の対象画像TIをテンプレート画像TPI2上に配置した場合に、複数の対象画像TIのうちの第1割付領域T10と重なる部分を、第1割付領域T10の画像として、採用する。他の割付領域T20、T30の画像についても、同様である。図15(E)の合成画像OI2では、各割付領域T10、T20、T30は、複数の対象画像TIによって、表されている。
以上のように、出力データ生成部530は、各割付領域T10、T20、T30ごとに対象画像TIの配置を決定するので、複数の割付領域を有するテンプレート画像を用いる場合に、各割付領域に対象画像が配置された合成画像を表す出力データを、容易に生成できる。
なお、第1実施例と同様に、対象画像TIが1つの割付領域よりも大きい場合には、その割付領域上に配置される対象画像TIの数は「1」であってもよい。
また、第2実施例の合成画像処理は、割付領域T10、T20、T30に対する対象画像TIの配置が異なる点を除いて、第1実施例の合成画像処理と同じである。従って、第2実施例は、第1実施例と同様の種々の利点を実現可能である。
C.第3実施例:
図16は、合成画像処理の別の実施例を示すフローチャートである。図16の処理は、図2の処理の代わりに、適用可能である。図16のステップのうちの図2のステップと同じステップには、同じ符号を付して、説明を省略する。図16に続く処理は、図3の処理と同じである。合成画像処理に用いられる画像処理システムの構成は、図1に示す画像処理システム1000の構成と同じである。以下、図4(A)の対象画像TIと同じ対象画像TIが用いられることとして、説明を行う。
本実施例では、図2の実施例とは異なり、出力データ生成部530は、割付領域を含む基準領域に合わせて対象画像のサイズを変更し、変更済の対象画像を用いて合成画像を生成する。図16のフローチャートは、図2のフローチャートにおいて、ステップS240を、2つのステップS235、S240aに置換して得られるものである。図16の他のステップは、図2のステップと同じであるので、説明を省略する。
図17(A)は、第3実施例で用いられるテンプレート画像の例を示している。このテンプレート画像TPI3は、図15(A)に示すテンプレート画像TPI2と同じ割付領域T10、T20、T30を有している。また、テンプレート画像TPI3は、テンプレート画像TPI3の全体の領域と同じ基準領域RAを有している。
図16のステップS235では、出力データ生成部530は、対象画像のサイズを、基準領域に合わせて変更する。図17(B)は、テンプレート画像TPI3と、基準領域RAに合わせてサイズが変更された対象画像TImと、を示す概略図である。図示するように、対象画像のサイズは、変更済の対象画像TImが基準領域RAの全体を覆い、かつ、変更済の対象画像TImのサイズが最も小さくなるように、変更される。対象画像の縦横比は維持される。このようなサイズの変更は、対象画像の画素密度を変更することによって、行われる。すなわち、対象画像を拡大する場合には、画素密度が高められ、対象画像を縮小する場合には、画素密度が低減される。画素密度の変更方法としては、公知の方法を採用可能である(例えば、バイリニア法やバイキュービック法)。
図16の次のステップS240aでは、図17(B)に示すように、出力データ生成部530は、基準領域RAの左上隅RP3に、変更済の対象画像TImの左上隅が一致するように、テンプレート画像TPI3(すなわち、割付領域T10、T20、T30)に対する対象画像TImの位置を、決定する。
図16の次のステップS250では、出力データ生成部530は、合成画像を表す出力データを生成する。図17(C)は、合成画像の一例を示す概略図である。出力データ生成部530は、ステップS240aで決定した配置に従って対象画像TImをテンプレート画像TPI3上に配置した場合に、対象画像TImのうちの割付領域T10、T20、T30と重なる部分を、割付領域T10、T20、T30の画像として採用する。図17(C)に示すように、合成画像OI3中の各割付領域T10、T20、T30は、変更済の対象画像TImによって、表されている。
以上のように、本実施例では、対象画像のサイズが、割付領域T10、T20、T30を含む基準領域RAに合わせて変更されるので、出力データ生成部530は、変更済の対象画像TImとテンプレート画像TPI3とが合成された合成画像OI3を表す出力データを、容易に生成できる。特に、本実施例では、対象画像のサイズは、変更済の対象画像TImが基準領域RAの全体を覆い、かつ、変更済の対象画像TImのサイズが最も小さくなるように、変更される。従って、対象画像TImのサイズが過剰に小さくなることと過剰に大きくなることを抑制できる。この結果、出力データ生成部530は、対象画像の内容がわかり易い合成画像を表す出力データを、生成可能である。
また、本実施例では、基準領域RAは、テンプレート画像TPI3の全体の領域と同じである。従って、対象画像のサイズが、テンプレート画像TPI3の全体に合わせて変更されるので、出力データ生成部530は、合成画像を表す出力データを、容易に生成できる。なお、基準領域が、テンプレート画像の全体の領域と、厳密に一致している必要はない。ただし、基準領域は、テンプレート画像の全体の領域と略同じであることが好ましい。例えば、テンプレート画像のうちの一部が、基準領域から除かれてもよい(「第1部分」と呼ぶ)。この場合、テンプレート画像の面積(例えば、画素数)に対する、第1部分の面積の割合が、10%以下であれば、基準領域は、テンプレート画像の全体の領域と略同じである、ということができる。逆に、基準領域のうちの一部が、テンプレート画像の外に配置されてもよい(「第2部分」と呼ぶ)。この場合、テンプレート画像の面積(例えば、画素数)に対する、第2部分の面積の割合が、10%以下であれば、基準領域は、テンプレート画像の全体の領域と略同じである、ということができる。
また、第3実施例の合成画像処理は、テンプレート画像とサイズが変更された対象画像とが合成される点を除いて、第1実施例の合成画像処理と同じである。従って、第3実施例は、第1実施例と同様の種々の利点を実現可能である。
D.第4実施例:
図18は、第4実施例における合成画像処理の例を示す概略図である。図17に示す実施例との差異は、第4実施例では、割付領域T10、T20、T30ごとに、対象画像のサイズが変更される点だけである。合成画像処理に用いられる画像処理システムの構成は、図1に示す画像処理システム1000の構成と同じである。また、合成画像処理の手順は、対象画像のサイズの決定方法が異なる点を除いて、図3、図16に示す手順と、同じである。以下、図4(A)の対象画像TIと同じ対象画像TIが用いられることとして、説明を行う。
図18(A)は、テンプレート画像の例を示している。このテンプレート画像TPI4は、図15(A)のテンプレート画像TPI2と同じ割付領域T10、T20、T30と、基準領域RA1、RA2、RA3と、を有している。図18(B)〜図18(D)は、基準領域RA1〜RA3と、基準領域RA1〜RA3に合わせてサイズが変更された対象画像TIm1〜TIm3と、をそれぞれ示している。
図16のステップS235では、例えば、図18(B)に示すように、出力データ生成部530は、対象画像のサイズを、変更済の対象画像TIm1が基準領域RA1の全体を覆い、かつ、変更済の対象画像TIm1のサイズが最も小さくなるように、変更する。対象画像の縦横比は維持される。他の基準領域RA2、RA3と対象画像TIm2、TIm3についても、同様である。
図16の次のステップS240aでは、例えば、図18(B)に示すように、出力データ生成部530は、基準領域RA1の左上隅RP1に、変更済の対象画像TIm1の左上隅が一致するように、テンプレート画像TPI4(すなわち、基準領域RA1)に対する対象画像TIm1の位置を、決定する。他の対象画像TIm2、TIm3の位置も、同様に、基準領域RA2、RA3の左上隅RP2、RP3を基準として、それぞれ決定される。
図18(E)は、合成画像の例を示している。出力データ生成部530は、ステップS240で決定した配置に従って、変更済の第1対象画像TIm1をテンプレート画像TPI4上に配置した場合に、第1対象画像TIm1のうちの第1割付領域T10と重なる部分を、第1割付領域T10の画像として採用する。他の割付領域T20、T30の画像についても、同様である。図18(E)の合成画像OI4では、各割付領域T10、T20、T30は、対象画像TIm1、TIm2、TIm3によって、それぞれ表されている。
以上のように、第4実施例では、テンプレート画像TPI4は、互いに離れた複数の基準領域RA1、RA2、RA3を有し、複数の基準領域RA1、RA2、RA3は、それぞれ、割付領域T10、T20、T30を含む。そして、出力データ生成部530は、基準領域RA1、RA2、RA3ごとに、基準領域RA1、RA2、RA3に合わせて対象画像のサイズを変更する。従って、出力データ生成部530は、各割付領域T10、T20、T30に対象画像が配置された合成画像を表す出力データを、容易に生成できる。
特に、本実施例では、対象画像のサイズは、変更済の対象画像が基準領域の全体を覆い、かつ、変更済の対象画像のサイズが最も小さくなるように、変更される。従って、対象画像のサイズが過剰に小さくなることと過剰に大きくなることを抑制できる。この結果、出力データ生成部530は、対象画像の内容がわかり易い合成画像を表す出力データを、生成可能である。
なお、第4実施例の合成画像処理は、テンプレート画像と、基準領域ごとにサイズが変更された対象画像とが合成される点を除いて、第1実施例の合成画像処理と同じである。従って、第4実施例は、第1実施例と同様の種々の利点を実現可能である。
D.変形例:
(1)テンプレート画像の構成としては、図5、図15、図17、図18の構成に限らず、種々の構成を採用可能である。例えば、テンプレート画像の画素密度(すなわち、合成画像の画素密度)が、読取画像(すなわち、対象画像)の画素密度と異なっていても良い。この場合も、対象画像とテンプレート画像との重ね合わせの方法としては、対象画像中の連続な複数の画素と、テンプレート画像中の連続な同数の画素とを、一対一で重ねる方法を採用可能である。
対象画像TIの配置の決定に利用される基準位置としては、テンプレート画像や基準領域の左上の隅に限らず、右下の隅や重心位置等、予め任意に決定された位置を採用可能である。また、出力データ生成部530は、ユーザの指示に従って、基準位置を決定してもよい。
テンプレート画像中の割付領域としては、対象画像が表現される種々の領域を採用可能である。例えば、割付領域が、半透明な領域であってもよい(すなわち、割付領域の透明度が、0%よりも大きく、かつ、100%よりも小さくてもよい)。一般に、割付領域としては、透明度が0%よりも大きい領域を採用可能である。こうすれば、割付領域は、対象画像を表現可能である。
(2)合成画像の生成に利用される対象画像としては、読取画像中のオブジェクトを表す部分を含む種々の画像を採用可能である。例えば、オブジェクトを表す領域に外接する矩形領域の画像を、対象画像として採用してもよい。
(3)割付領域に対する対象画像の配置としては、図5、図15、図17、図18で説明した配置に限らず、種々の配置を採用可能である。例えば、出力データ生成部530は、複数の対象画像のそれぞれの位置を、隣合う対象画像の間に所定間隔の隙間があくように、決定してもよい。また、出力データ生成部530は、割付領域に対する対象画像の配置の決定方法として、予め決められた複数の決定方法の中からユーザによって選択された決定方法を採用してもよい。例えば、ユーザは、1つの決定方法を選択する指示を、操作部150を通じて入力し、処理制御部250は、選択された決定方法を特定する情報を、サーバ400に送信する。サーバ400の出力データ生成部530は、受信した情報によって特定される決定方法に従って、対象画像の配置を決定する。また、複数の決定方法としては、例えば、図5、図15、図17、図18のそれぞれの実施例の決定方法から予め任意に選択された複数の決定方法を、採用可能である。
(4)読取画像から対象画像を抽出する方法としては、図6で説明した二値データの生成と、図9で説明した対象矩形領域の特定と、を用いる方法に限らず、読取画像からオブジェクトを表す部分を含む画像を対象画像として抽出する任意の方法を採用可能である。例えば、図6のステップS510(塗りつぶし)を省略してもよい。ただし、ステップS510(塗りつぶし)を実行すれば、オブジェクトが孔を有する場合に、孔を含む領域を、オブジェクトを表す第1値領域として、抽出できる。また、図6のステップS520を省略してもよい。ただし、ステップS520を実行すれば、対象矩形領域の特定処理の計算量を低減できる。なお、最終二値画像中のオブジェクトを表す第1値領域は、読取画像RI中の背景を表す画素を含んでもよい。また、ステップS520のブロック化の処理において、1つのブロック内の総画素数に対する当該ブロック内の第1値の画素数の割合が、ゼロより大きく100%よりも小さい所定の閾値(例えば、50%)を超える場合に、当該ブロックの画素値が第1値に設定されることとしてもよい。
また、図9のステップS630において、図13で説明した処理を、第1直線Ls1と第2直線Ls2との一方のみに適用してもよい。すなわち、矩形特定部524は、第1直線Ls1と第2直線Ls2との一方のみに基づく2つの辺を有する複数の矩形領域から、対象矩形領域を特定してもよい。また、最終二値画像中のオブジェクト領域に内接する対象矩形領域の特定方法としては、図11〜図14で説明した方法に限らず、任意の方法を採用可能である。例えば、矩形特定部524は、矩形領域の4つの辺のそれぞれの位置の全ての可能な組合せについて、面積の算出と、オブジェクト領域に内接しているか否かの判定と、を行うことによって、対象矩形領域を特定してもよい。
(5)試し印刷の代わりに、表示確認を行ってもよい。例えば、図3のステップS340では、出力データ生成部530は、合成画像を表す表示用データ(例えば、JPEGデータ)を生成する。次のステップS350では、データ送信部540は、表示用データを複合機100に送信する。次のステップS360では、処理制御部250は、表示用データを用いて出力画像を表示部140に表示する。次のステップS370では、ユーザは、表示部140に表示された合成画像を観察することによって、印刷を行うか否かを表す指示を入力する。そして、処理制御部250は、ユーザの指示に従って、印刷を行うか否かを示す指示を、サーバ400に送信する。なお、試し印刷や表示確認などの事前の確認を省略してもよい。
(6)合成画像処理によって印刷される文書としては、挨拶状に限らず、種々の文書を採用可能である。例えば、合成画像処理によって、ポスターが印刷されてもよい。また、出力データの用途としては、印刷に限らず、種々の用途(例えば、表示)を採用してもよい。一般的には、データ送信部540は、出力データを、画像出力装置(印刷装置または表示装置)に送信すればよい。また、データ送信部540は、画像出力装置に限らず、サーバ400によって通信可能な任意の装置(例えば、ネットワークに接続された記憶装置(NASとも呼ばれる)や、ユーザによって指定された装置(例えば、携帯電話))に、出力データを送信してもよい。また、データ送信部540を省略し、出力データ生成部530は、生成した出力データを、サーバ400の記憶装置(例えば、不揮発性記憶装置430)に格納してもよい。
(7)合成画像処理を実現する画像処理システムの構成としては、図1に示す構成に限らず、種々の構成を採用可能である。例えば、スキャナ170とプリンタ180とが、1つの装置(ここでは複合機100)に組み込まれずに、互いに離れた別の装置として、実現されてもよい。いずれの場合も、データ送信部540は、出力データを、画像出力装置(例えば、印刷装置)に送信すればよい。
また、対象物を光学的に読み取ることによって対象物を表す画像データを生成する画像読み取り装置としては、スキャナ170に限らず、種々の装置を採用可能である。例えば、デジタルカメラを採用してもよい。
(8)画像読み取り装置によって生成された読取画像データを用いて出力データを生成する処理装置としては、サーバ400に限らず、種々の装置を採用可能である。例えば、パーソナルコンピュータ、デジタルカメラ、携帯電話、複合機(例えば、複合機100)が、上述のサーバ400によって実現されている機能を、実現してもよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、読取画像データを用いて出力データを生成する生成処理の機能を一部ずつ分担して、全体として、生成処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。例えば、ユーザインタフェース(ユーザに対する問い合わせとユーザからの指示の受信)を担当する第1サーバと、画像処理(読取画像データの解析と出力データの生成)を担当する第2サーバとが、協働して、生成処理を進行してもよい。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の二値処理部522の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100...複合機、110...プロセッサ、120...揮発性記憶装置、130...不揮発性記憶装置、132...プログラム、140...表示部、150...操作部、160...通信インタフェース、170...スキャナ、180...プリンタ、210...データ送信部、220...データ受信部、230...スキャナ制御部、240...プリンタ制御部、250...処理制御部、400...サーバ、410...プロセッサ、420...揮発性記憶装置、430...不揮発性記憶装置、432...プログラム、434...テンプレートデータ、460...通信インタフェース、510...データ取得部、520...抽出部、522...二値処理部、524...矩形特定部、530...出力データ生成部、540...データ送信部、900...ネットワーク、1000...画像処理システム

Claims (12)

  1. 処理装置であって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
    前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
    を備え、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
    前記出力データ生成部は、複数の同じ前記対象画像を前記テンプレート画像に対応付けられた特定の基準位置を基準として前記テンプレート画像の全体に亘って連続的に並ぶように配置した場合に、前記割付領域と重なる2個以上の同じ前記対象画像を、前記合成画像の生成に用いる
    処理装置。
  2. 処理装置であって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
    前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
    を備え、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域であって、互いに離れた複数の割付領域を有し、
    前記出力データ生成部は、前記割付領域ごとに、前記割付領域に対応付けられた特定の基準位置を基準として前記割付領域内で連続的に並ぶように複数の同じ前記対象画像を配置した場合に、前記割付領域と重なる2個以上の同じ前記対象画像を、前記合成画像の生成に用いる
    処理装置。
  3. 処理装置であって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
    前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
    を備え、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
    前記出力データ生成部は、前記基準領域に合わせて前記対象画像のサイズを変更
    前記基準領域は、前記テンプレート画像の全体の領域と略同じである、
    処理装置。
  4. 処理装置であって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
    前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
    を備え、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
    前記出力データ生成部は、前記基準領域に合わせて前記対象画像のサイズを変更
    前記テンプレート画像は、互いに離れた複数の基準領域を有し、
    前記複数の基準領域は、それぞれ、前記割付領域を含み、
    前記複数の基準領域のうちの第1の基準領域に含まれる前記割付領域に割り付けられる画像と、前記複数の基準領域のうちの第2の基準領域に含まれる前記割付領域に割り付けられる画像とは、同じであり、
    前記出力データ生成部は、前記基準領域ごとに、前記基準領域に合わせて前記対象画像のサイズを変更する、
    処理装置。
  5. 請求項1からのいずれか1項に記載の処理装置であって、さらに、
    前記読取画像データを用いて、前記オブジェクトを表す第1値と、背景を表す第2値と、の二値で表される二値データを生成する二値処理部と、
    前記二値データを解析することによって、前記第1値の画素で構成された対象矩形領域を特定する矩形特定部と、
    を有し、
    前記抽出部は、前記対象画像として、前記読取画像内の前記対象矩形領域の画像を、抽出し、
    前記矩形特定部は、
    前記二値データによって表される二値画像中の、複数の前記第1値の画素が連続する領域であるオブジェクト領域から、前記対象矩形領域を特定するための基準として利用される特定の画素である基準画素を特定し、
    前記オブジェクト領域に内接する矩形領域であって、前記オブジェクト領域内の前記基準画素を通る特定の直線と重なる複数の画素のうちの、前記基準画素から見て一方側に位置する画素を通り前記特定の直線と垂直な第1辺と、前記基準画素から見て他方側に位置する画素を通り前記特定の直線と垂直な第2辺と、を有する複数の矩形領域のうちの、面積が最大の矩形領域を、前記対象矩形領域として特定する、
    処理装置。
  6. 請求項に記載の処理装置であって、
    前記オブジェクト領域の複数の画素のうちの第1注目画素を通り互いに垂直な2本の直線を第1直線および第2直線と呼び、前記オブジェクト領域の輪郭と前記第1直線との2つの交点の位置に配置された2つの画素を第1端画素および第2端画素と呼び、前記オブジェクト領域の輪郭と前記第2直線との2つの交点の位置に配置された2つの画素を第3端画素および第4端画素と呼ぶ場合に、
    前記矩形特定部は、前記基準画素として、前記オブジェクト領域の複数の画素のうちの、前記第1注目画素と前記第1端画素との間の画素数と、前記第1注目画素と前記第2端画素との間の画素数と、前記第1注目画素と前記第3端画素との間の画素数と、前記第1注目画素と前記第4端画素との間の画素数と、の合計が最大となる前記第1注目画素を、採用する、
    処理装置。
  7. 請求項に記載の処理装置であって、
    前記特定の直線と前記オブジェクト領域の前記輪郭との2つの交点の位置に配置された2つの画素を第1終点画素および第2終点画素と呼び、前記特定の直線上の画素である第2注目画素を通り前記特定の直線と垂直な直線と、前記オブジェクト領域の輪郭と、の2つの交点の位置に配置された2つの画素を第1交点画素および第2交点画素と呼び、前記第2注目画素と前記第1交点画素との間の画素数を第1画素数と呼び、前記第2注目画素と前記第2交点画素との間の画素数を第2画素数と呼ぶ場合に、
    前記矩形特定部は、
    前記基準画素から前記第1終点画素までの各第2注目画素に対して、前記基準画素から前記第2注目画素までの前記第1画素数の最小値である第1最小値と、前記第2画素数の最小値である第2最小値と、を算出し、
    前記基準画素から前記第2終点画素までの各第2注目画素に対して、前記基準画素から前記第2注目画素までの前記第1画素数の最小値である第3最小値と、前記第2画素数の最小値である第4最小値と、を算出し、
    前記第1辺と前記第2辺とを有する矩形領域の面積を、前記第1辺に含まれる前記第2注目画素に対応付けられた前記第1最小値および第2最小値と、前記第2辺に含まれる前記第2注目画素に対応付けられた前記第3最小値および第4最小値と、を用いて算出する、
    処理装置。
  8. 請求項1からのいずれか1項に記載の処理装置であって、
    前記出力データは、印刷装置に、所定サイズの印刷媒体上に前記合成画像の印刷を実行させるデータであり、
    前記出力データ生成部は、前記印刷装置に、前記所定サイズよりも大きい印刷媒体上に前記合成画像の試し印刷を実行させるデータである試行データを生成する、
    処理装置。
  9. コンピュータプログラムであって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
    前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
    をコンピュータに実現させ、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
    前記出力データ生成機能は、複数の同じ前記対象画像を前記テンプレート画像に対応付けられた特定の基準位置を基準として前記テンプレート画像の全体に亘って連続的に並ぶように配置した場合に、前記割付領域と重なる2個以上の同じ前記対象画像を、前記合成画像の生成に用いる
    コンピュータプログラム。
  10. コンピュータプログラムであって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
    前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
    をコンピュータに実現させ、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域であって、互いに離れた複数の割付領域を有し、
    前記出力データ生成機能は、前記割付領域ごとに、前記割付領域に対応付けられた特定の基準位置を基準として前記割付領域内で連続的に並ぶように複数の同じ前記対象画像を配置した場合に、前記割付領域と重なる2個以上の同じ前記対象画像を、前記合成画像の生成に用いる
    コンピュータプログラム。
  11. コンピュータプログラムであって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
    前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
    をコンピュータに実現させ、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
    前記出力データ生成機能は、前記基準領域に合わせて前記対象画像のサイズを変更
    前記基準領域は、前記テンプレート画像の全体の領域と略同じである、
    コンピュータプログラム。
  12. コンピュータプログラムであって、
    画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
    前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
    前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
    をコンピュータに実現させ、
    前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
    前記出力データ生成機能は、前記基準領域に合わせて前記対象画像のサイズを変更
    前記テンプレート画像は、互いに離れた複数の基準領域を有し、
    前記複数の基準領域は、それぞれ、前記割付領域を含み、
    前記複数の基準領域のうちの第1の基準領域に含まれる前記割付領域に割り付けられる画像と、前記複数の基準領域のうちの第2の基準領域に含まれる前記割付領域に割り付けられる画像とは、同じであり、
    前記出力データ生成機能は、前記基準領域ごとに、前記基準領域に合わせて前記対象画像のサイズを変更する、
    コンピュータプログラム。
JP2013173513A 2013-08-23 2013-08-23 処理装置、および、コンピュータプログラム Active JP6179271B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013173513A JP6179271B2 (ja) 2013-08-23 2013-08-23 処理装置、および、コンピュータプログラム
US14/466,219 US9191536B2 (en) 2013-08-23 2014-08-22 Processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013173513A JP6179271B2 (ja) 2013-08-23 2013-08-23 処理装置、および、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2015041975A JP2015041975A (ja) 2015-03-02
JP6179271B2 true JP6179271B2 (ja) 2017-08-16

Family

ID=52480135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013173513A Active JP6179271B2 (ja) 2013-08-23 2013-08-23 処理装置、および、コンピュータプログラム

Country Status (2)

Country Link
US (1) US9191536B2 (ja)
JP (1) JP6179271B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6344064B2 (ja) * 2014-05-30 2018-06-20 ブラザー工業株式会社 画像処理装置およびコンピュータプログラム
US11341383B2 (en) * 2019-08-18 2022-05-24 Kyocera Document Solutions Inc. Methods and apparatus to detect effective tiling area and fill tiles efficiently

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2996735B2 (ja) * 1990-12-05 2000-01-11 大日本印刷株式会社 建材印刷用抽象柄製版方法
JP3371915B2 (ja) * 1993-06-04 2003-01-27 株式会社エフ・エフ・シー 外観検査方法
US6009212A (en) * 1996-07-10 1999-12-28 Washington University Method and apparatus for image registration
JPH11112784A (ja) * 1997-10-01 1999-04-23 Konica Corp 画像合成システム
JP2001076127A (ja) * 1999-09-06 2001-03-23 Fuji Photo Film Co Ltd 画像切出し装置および方法,画像切出し装置を備えた画像入出力システム,ならびに画像切出し装置のためのプログラムを記録した記録媒体
US7162102B2 (en) * 2001-12-19 2007-01-09 Eastman Kodak Company Method and system for compositing images to produce a cropped image
JP2005123911A (ja) * 2003-10-17 2005-05-12 Seiko Epson Corp 割付領域への原画像の割り付け
JP2006235222A (ja) * 2005-02-24 2006-09-07 Oki Data Corp 印刷装置
JP4594848B2 (ja) 2005-11-14 2010-12-08 日本電信電話株式会社 内接矩形検出装置および内接矩形検出プログラム
JP4725657B2 (ja) * 2009-02-26 2011-07-13 ブラザー工業株式会社 画像合成出力プログラム、画像合成出力装置及び画像合成出力システム

Also Published As

Publication number Publication date
US9191536B2 (en) 2015-11-17
JP2015041975A (ja) 2015-03-02
US20150055193A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
JP6015189B2 (ja) 画像検査装置、画像形成装置、画像検査方法及び画像形成システム
JP2007208956A (ja) 画像処理装置、画像形成装置、画像処理装置の制御方法、画像処理プログラム、コンピュータ読み取り可能な記録媒体
JP5861503B2 (ja) 画像検査装置及び方法
JP6041836B2 (ja) 画像処理装置および画像処理プログラム
US9253368B2 (en) Image processing device setting binary value without using dither matrix when prescribed condition is satisfied
WO2014045788A1 (ja) 画像処理装置、画像形成装置、および記録媒体
JP5838984B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6179271B2 (ja) 処理装置、および、コンピュータプログラム
JP5195882B2 (ja) 電子文書生成システム、電子文書生成方法およびプログラム
JP2021111800A (ja) 情報処理装置、情報処理方法、画像処理装置、およびプログラム
JP5003445B2 (ja) 画像処理装置、文字領域特定方法、および文字領域特定プログラム
JP2007088912A (ja) 画像処理装置およびプログラム
JP2006031245A (ja) ディジタル画像の輪郭追跡による画像処理方法並びに画像処理装置
JP2022184133A (ja) 電子透かし解析装置および電子透かし解析方法
JP2009105541A (ja) 画像処理装置、方法、および、プログラム
JP2009272665A (ja) 画像処理装置、画像処理方法およびプログラム
JP5012871B2 (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP4648073B2 (ja) 画像処理装置及びこれを備えた画像読取装置並びに画像処理方法
JP2007180930A (ja) 画像結合装置および画像結合方法およびプログラムおよび記録媒体
JP6292061B2 (ja) 情報処理装置およびプログラム
JP6145877B2 (ja) カラーモード判定装置およびプログラム
JP2017209961A (ja) 画像処理装置、および、コンピュータプログラム
JP6175981B2 (ja) 情報処理装置及びプログラム
JP6137998B2 (ja) 画像処理装置、画像形成装置、プログラムおよび記録媒体
JP6361933B2 (ja) 画像形成システム、プリンタードライバー、画像形成装置およびレンダリングプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170605

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170703

R150 Certificate of patent or registration of utility model

Ref document number: 6179271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150