(57)【要約】【課題】画像を合成する新たな技術を提供する。【解決手段】画像読み取り装置によってオブジェクトを読み取ることによって生成された読取画像データによって表される読取画像から、オブジェクトを表す部分を含む画像である対象画像を抽出する。対象画像が割り付けられる領域である割付領域を有するテンプレート画像と、対象画像と、が合成された合成画像を表す出力データを生成する。ここで、割付領域上に、２個以上の対象画像が配置される。または、割付領域を含む基準領域に合わせて対象画像のサイズが変更される。【選択図】  図５
2015041975.tif 000002
【特許請求の範囲】
【請求項１】
処理装置であって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
を備え、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
前記出力データ生成部は、前記割付領域上に、２個以上の前記対象画像を配置する、
処理装置。
【請求項２】
請求項１に記載の処理装置であって、
前記出力データ生成部は、複数の前記対象画像を前記テンプレート画像に対応付けられた特定の基準位置を基準として前記テンプレート画像の全体に亘って連続的に並ぶように配置した場合に前記割付領域と重なる２個以上の前記対象画像を、前記合成画像の生成に用いる、
処理装置。
【請求項３】
請求項１に記載の処理装置であって、
前記テンプレート画像は、互いに離れた複数の割付領域を有し、
前記出力データ生成部は、前記割付領域ごとに、前記割付領域に対応付けられた特定の基準位置を基準として前記割付領域内で連続的に並ぶように複数の前記対象画像を配置した場合に前記割付領域と重なる前記対象画像を、前記合成画像の生成に用いる、
処理装置。
【請求項４】
処理装置であって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
を備え、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
前記出力データ生成部は、前記基準領域に合わせて前記対象画像のサイズを変更する、
処理装置。
【請求項５】
請求項４に記載の処理装置であって、
前記基準領域は、前記テンプレート画像の全体の領域と略同じである、処理装置。
【請求項６】
請求項４に記載の処理装置であって、
前記テンプレート画像は、互いに離れた複数の基準領域を有し、
前記複数の基準領域は、それぞれ、前記割付領域を含み、
前記出力データ生成部は、前記基準領域ごとに、前記基準領域に合わせて前記対象画像のサイズを変更する、
処理装置。
【請求項７】
請求項１から６のいずれか１項に記載の処理装置であって、さらに、
前記読取画像データを用いて、前記オブジェクトを表す第１値と、背景を表す第２値と、の二値で表される二値データを生成する二値処理部と、
前記二値データを解析することによって、前記第１値の画素で構成された対象矩形領域を特定する矩形特定部と、
を有し、
前記抽出部は、前記対象画像として、前記読取画像内の前記対象矩形領域の画像を、抽出し、
前記矩形特定部は、
前記二値データによって表される二値画像中の、複数の前記第１値の画素が連続する領域であるオブジェクト領域から、前記対象矩形領域を特定するための基準として利用される特定の画素である基準画素を特定し、
前記オブジェクト領域に内接する矩形領域であって、前記オブジェクト領域内の前記基準画素を通る特定の直線と重なる複数の画素のうちの、前記基準画素から見て一方側に位置する画素を通り前記特定の直線と垂直な第１辺と、前記基準画素から見て他方側に位置する画素を通り前記特定の直線と垂直な第２辺と、を有する複数の矩形領域のうちの、面積が最大の矩形領域を、前記対象矩形領域として特定する、
処理装置。
【請求項８】
請求項７に記載の処理装置であって、
前記オブジェクト領域の複数の画素のうちの第１注目画素を通り互いに垂直な２本の直線を第１直線および第２直線と呼び、前記オブジェクト領域の輪郭と前記第１直線との２つの交点の位置に配置された２つの画素を第１端画素および第２端画素と呼び、前記オブジェクト領域の輪郭と前記第２直線との２つの交点の位置に配置された２つの画素を第３端画素および第４端画素と呼ぶ場合に、
前記矩形特定部は、前記基準画素として、前記オブジェクト領域の複数の画素のうちの、前記第１注目画素と前記第１端画素との間の画素数と、前記第１注目画素と前記第２端画素との間の画素数と、前記第１注目画素と前記第３端画素との間の画素数と、前記第１注目画素と前記第４端画素との間の画素数と、の合計が最大となる前記第１注目画素を、採用する、
処理装置。
【請求項９】
請求項７または８に記載の処理装置であって、
前記特定の直線と前記オブジェクト領域の前記輪郭との２つの交点の位置に配置された２つの画素を第１終点画素および第２終点画素と呼び、前記特定の直線上の画素である第２注目画素を通り前記特定の直線と垂直な直線と、前記オブジェクト領域の輪郭と、の２つの交点の位置に配置された２つの画素を第１交点画素および第２交点画素と呼び、前記第２注目画素と前記第１交点画素との間の画素数を第１画素数と呼び、前記第２注目画素と前記第２交点画素との間の画素数を第２画素数と呼ぶ場合に、
前記矩形特定部は、
前記基準画素から前記第１終点画素までの各第２注目画素に対して、前記基準画素から前記第２注目画素までの前記第１画素数の最小値である第１最小値と、前記第２画素数の最小値である第２最小値と、を算出し、
前記基準画素から前記第２終点画素までの各第２注目画素に対して、前記基準画素から前記第２注目画素までの前記第１画素数の最小値である第３最小値と、前記第２画素数の最小値である第４最小値と、を算出し、
前記第１辺と前記第２辺とを有する矩形領域の面積を、前記第１辺に含まれる前記第２注目画素に対応付けられた前記第１最小値および第２最小値と、前記第２辺に含まれる前記第２注目画素に対応付けられた前記第３最小値および第４最小値と、を用いて算出する、
処理装置。
【請求項１０】
請求項１から９のいずれか１項に記載の処理装置であって、
前記出力データは、印刷装置に、所定サイズの印刷媒体上に前記合成画像の印刷を実行させるデータであり、
前記出力データ生成部は、前記印刷装置に、前記所定サイズよりも大きい印刷媒体上に前記合成画像の試し印刷を実行させるデータである試行データを生成する、
処理装置。
【請求項１１】
コンピュータプログラムであって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
をコンピュータに実現させ、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
前記出力データ生成機能は、前記割付領域上に、２個以上の前記対象画像を配置する、
コンピュータプログラム。
【請求項１２】
コンピュータプログラムであって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得機能と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出機能と、
前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成機能と、
をコンピュータに実現させ、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
前記出力データ生成機能は、前記基準領域に合わせて前記対象画像のサイズを変更する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像が合成された合成画像を表すデータを生成する技術に関するものである。
【背景技術】
【０００２】
従来から、画像を表す画像データの種々の処理が行われている。例えば、スキャナによって読み込まれた画像を、テンプレート画像の合成領域に合成し、その合成画像をプリントする技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−７６１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、画像の合成に関しては、十分な工夫がなされていないのが実情であった。例えば、画像サイズが小さい画像を合成すると、合成領域内の空白部分が大きくなる場合があった。
【０００５】
本発明の主な利点は、画像を合成する新たな技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］
処理装置であって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
前記対象画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
を備え、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域を有し、
前記出力データ生成部は、前記割付領域上に、２個以上の前記対象画像を配置する、
処理装置。
【０００８】
この構成によれば、テンプレート画像の割付領域上に２個以上の対象画像が配置されるので、対象画像とテンプレート画像とが合成された合成画像を、容易に生成できる。
【０００９】
［適用例２］
処理装置であって、
画像読み取り装置によってオブジェクトを読み取ることによって生成された画像データである読取画像データを取得する取得部と、
前記読取画像データによって表される画像である読取画像から、前記オブジェクトを表す部分を含む画像である対象画像を抽出する抽出部と、
前記対象画像のサイズを変更して得られる画像と、テンプレート画像と、が合成された合成画像を表す出力データを生成する出力データ生成部と、
を備え、
前記テンプレート画像は、前記対象画像が割り付けられる領域である割付領域と、前記割付領域を含み前記対象画像のサイズの変更の基準となる領域である基準領域とを有し、
前記出力データ生成部は、前記基準領域に合わせて前記対象画像のサイズを変更する、
処理装置。
【００１０】
この構成によれば、対象画像のサイズが割付領域を含む基準領域に合わせて変更されるので、対象画像のサイズを変更して得られる画像とテンプレート画像とが合成された合成画像を、容易に生成できる。
【００１１】
なお、本発明は、種々の形態で実現することが可能であり、例えば、データの処理方法および処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例としての画像処理システムを示す説明図である。
【図２】画像処理のフローチャートである。
【図３】画像処理のフローチャートである。
【図４】読取画像の例と最終二値画像の例とを示す概略図である。
【図５】テンプレート画像の例と対象画像の配置例と合成画像の例との概略図である。
【図６】二値データ生成処理のフローチャートである。
【図７】二値データ生成の例を示す概略図である。
【図８】試行画像ＯＩ１ｔの例を示す概略図である。
【図９】対象画像の抽出処理のフローチャートである。
【図１０】サイズ情報の説明図である。
【図１１】サイズ情報の修正のフローチャートである。
【図１２】サイズ情報の修正の一例を示す説明図である。
【図１３】最大面積の矩形領域を特定する処理のフローチャートである。
【図１４】図１３の手順に従って処理される矩形領域の概略図である。
【図１５】第２実施例における合成画像処理の例を示す概略図である。
【図１６】合成画像処理の別の実施例を示すフローチャートである。
【図１７】第３実施例における合成画像処理の例を示す概略図である。
【図１８】第４実施例における合成画像処理の例を示す概略図である。
【発明を実施するための形態】
【００１３】
Ａ．第１実施例：
図１は、本発明の一実施例としての画像処理システムを示す説明図である。この画像処理システム１０００は、ネットワーク９００と、ネットワーク９００に接続された複合機１００と、ネットワーク９００に接続されたサーバ４００と、を有している。画像処理システム１０００は、挨拶状（例えば、いわゆる年賀状）の絵柄面の印刷を行う。
【００１４】
複合機１００は、プロセッサ１１０と、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、表示部１４０と、操作部１５０と、通信インタフェース１６０と、スキャナ１７０と、プリンタ１８０と、を有している。
【００１５】
プロセッサ１１０は、データ処理を行う装置であり、例えば、いわゆるＣＰＵである。揮発性記憶装置１２０は、例えば、いわゆるＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、いわゆるフラッシュメモリである。不揮発性記憶装置１３０は、プロセッサ１１０によって実行されるプログラム１３２を、格納している。プロセッサ１１０は、プログラム１３２を実行することによって、種々の機能を実現する。本実施例では、プロセッサ１１０は、データ送信部２１０と、データ受信部２２０と、スキャナ制御部２３０と、プリンタ制御部２４０と、処理制御部２５０と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ１１０は、プログラム（例えば、プログラム１３２）の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置１２０、または、不揮発性記憶装置１３０）に、一時的に格納する。
【００１６】
表示部１４０は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部１５０は、ユーザによる操作を受け入れる装置であり、例えば、表示部１４０上に重ねて配置されたタッチパネルである。ユーザは、操作部１５０を操作することによって、画像処理の指示等の種々の指示を入力可能である。通信インタフェース１６０は、ネットワークに接続するためのインタフェースであり、例えば、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎの規格に従った無線インタフェースである。通信インタフェース１６０は、ネットワーク９００に接続されている。
【００１７】
スキャナ１７０は、文書などの対象物を光学的に読み取ることによって対象物を表す画像データ（「スキャンデータ」とも呼ぶ）を生成する装置である。本実施例では、スキャナ１７０は、光電変換素子（例えば、ＣＣＤイメージセンサ）を用いてスキャンデータを生成する。プリンタ１８０は、印刷媒体（例えば、紙）上に画像を印刷する装置である。本実施例では、プリンタ１８０は、シアンＣとマゼンタＭとイエロＹとブラックＫのそれぞれのインクを用いるインクジェット式のプリンタである。ただし、プリンタ１８０としては、他の方式のプリンタ（例えば、レーザ式プリンタ）を採用可能である。
【００１８】
サーバ４００は、プロセッサ４１０と、揮発性記憶装置４２０と、不揮発性記憶装置４３０と、通信インタフェース４６０と、を有している。プロセッサ４１０は、データ処理を行う装置であり、例えば、いわゆるＣＰＵである。揮発性記憶装置４２０は、例えば、いわゆるＤＲＡＭであり、不揮発性記憶装置４３０は、例えば、いわゆるハードディスクドライブである。不揮発性記憶装置４３０は、プロセッサ４１０によって実行されるプログラム４３２と、テンプレート画像を表すテンプレートデータ４３４とを、格納している。プロセッサ４１０は、プログラム４３２を実行することによって、種々の機能を実現する。本実施例では、プロセッサ４１０は、データ取得部５１０と、抽出部５２０と、二値処理部５２２と、矩形特定部５２４と、出力データ生成部５３０と、データ送信部５４０と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ４１０は、プログラム（例えば、プログラム４３２）の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置４２０、または、不揮発性記憶装置４３０）に、一時的に格納する。
【００１９】
通信インタフェース４６０は、ネットワークに接続するためのインタフェースであり、例えば、ＩＥＥＥ８０２．３の規格に従った有線インタフェースである。通信インタフェース４６０は、ネットワーク９００に接続されている。
【００２０】
図２、図３は、画像処理システム１０００によって実行される画像処理のフローチャートである。図３は、図２の続きを示している。この画像処理では、挨拶状の絵柄面に、合成画像が印刷される。合成画像は、テンプレート画像と、ユーザによって準備されたオブジェクトを表す対象画像と、が合成された画像である。以下、図２、図３の画像処理を、「合成画像処理」とも呼ぶ。図中では、複合機１００における処理が左側に示され、サーバ４００における処理が右側に示されている。最初のステップＳ１００では、ユーザは、合成画像処理の実行のために、オブジェクト（例えば、「葉っぱ」「ハンカチ」等の有形のオブジェクト）を、スキャナ１７０の原稿台にセットする。
【００２１】
次のステップＳ１１０では、ユーザは、複合機１００の操作部１５０を操作して、合成画像処理の開始指示を入力する。この指示に応じて、複合機１００のプロセッサ１１０は、合成画像処理を開始する。
【００２２】
次のステップＳ１２０では、複合機１００のスキャナ制御部２３０は、スキャナ１７０を制御することによって、スキャナ１７０にセットされたオブジェクトをスキャンし、オブジェクトを表す読取画像データを生成する。以下、読取画像データによって表される画像を「読取画像」とも呼ぶ。読取画像データの形式としては、例えば、読取画像を表すＪＰＥＧデータを含む形式が、採用される。また、読取画像データの画素密度は、予め決められている（例えば、３００ｄｐｉ）。
【００２３】
図４（Ａ）は、読取画像の例を示す概略図である。図示された読取画像ＲＩは、オブジェクトとして、一部を重ねて配置された２枚の葉っぱを表している。具体的には、読取画像ＲＩは、葉っぱを表す第１領域Ｒ１０と、葉っぱの周囲の背景を表す背景領域Ｒ２０と、葉っぱが有する孔を表す第２領域Ｒ２１と、を表している。なお、本実施例では、読取画像ＲＩのサイズは、挨拶状のサイズよりも大きい所定サイズ（例えば、いわゆる「Ａ４サイズ」）である。
【００２４】
図２の次のステップＳ１３０では、データ送信部２１０は、読取画像データをサーバ４００に送信する。
【００２５】
次のステップＳ２００では、サーバ４００のデータ取得部５１０は、読取画像データを取得する。次のステップＳ２１０では、出力データ生成部５３０は、テンプレート画像を表すテンプレートデータを取得する。本実施例では、不揮発性記憶装置４３０から、予め使用することが定められる一のテンプレートデータ４３４が、取得される。
【００２６】
図５（Ａ）は、テンプレート画像の例を示す概略図である。図５（Ａ）の例では、テンプレート画像ＴＰＩ１は、文字列ＴＸを表す領域と、３つの割付領域Ｔ１０、Ｔ２０、Ｔ３０と、を有している。割付領域は、テンプレート画像ＴＰＩ１と対象画像とが合成される場合に、対象画像を表す領域である。第１割付領域Ｔ１０は、矩形領域であり、第２割付領域Ｔ２０は、年を表す４桁の数字（ここでは、「２０１４」）を表す領域であり、第３割付領域Ｔ３０は、動物（ここでは、馬）を表す領域である。なお、第１割付領域Ｔ１０と第３割付領域Ｔ３０とは、それぞれ、１つの連続な領域である。第２割付領域Ｔ２０は、４つ数字を表す４つの領域で構成されている。また、テンプレート画像ＴＰＩ１の形状とサイズとは、挨拶状の形状とサイズと同じであり、本実施例では、形状が矩形であり、サイズが葉書サイズである。
【００２７】
テンプレートデータの形式としては、テンプレート画像ＴＰＩ１を表現可能な任意の形式を採用可能である。本実施例では、テンプレートデータは、ＰＮＧ（Portable Network Graphics）形式のデータである。割付領域は、いわゆるアルファチャンネルによって透過領域として表されている。割付領域Ｔ１０、Ｔ２０、Ｔ３０は、透明な領域である（すなわち、透明度は１００％（不透明度はゼロ％））。テンプレート画像ＴＰＩ１内の他の領域は、不透明な領域である（すなわち、透明度はゼロ％（不透明度は１００％））。また、本実施例では、テンプレート画像ＴＰＩ１の画素密度は、読取画像データの画素密度と、同じである。
【００２８】
なお、出力データ生成部５３０は、複数のテンプレート画像の中からユーザによって選択されたテンプレート画像を表すテンプレートデータを、取得することとしてもよい。例えば、出力データ生成部５３０は、複数のテンプレート画像を表す画像データを複合機１００に送信し、複合機１００の処理制御部２５０は、受信した画像データを用いて複数のテンプレート画像を表示部１４０に表示する。そして、ユーザは、１枚のテンプレート画像を選択する指示を、操作部１５０を通じて入力し、処理制御部２５０は、選択されたテンプレート画像を特定する情報を、サーバ４００に送信する。サーバ４００の出力データ生成部５３０は、受信した情報によって特定されるテンプレート画像を表すテンプレートデータを、取得する。
【００２９】
図２の次のステップＳ２２０では、二値処理部５２２は、読取画像データを解析することによって、二値データを生成する。図６は、二値データ生成処理のフローチャートである。図７は、二値データ生成の例を示す概略図である。図７（Ａ）は、読取画像ＲＩのうちの第１領域Ｒ１０と第２領域Ｒ２１と背景領域Ｒ２０とを含む一部分を示している。
【００３０】
図６の最初のステップＳ５００では、二値処理部５２２は、読取画像データの二値化処理を実行して、第１二値データを生成する。図７（Ｂ）は、第１二値データによって表される第１二値画像ＢＩ１の一例を示している。図７（Ｂ）は、図７（Ａ）と同じ部分を示している。図中のハッチングが付された領域Ｂ１０は、二値化された画素値が第１値（すなわち、オンである画素）である領域を示し、ハッチングの無い領域Ｂ２０、Ｂ２１は、二値化された画素値が第２値（すなわち、オフである画素）である領域を示している。図７（Ｂ）の例では、第１値の領域Ｂ１０は、図７（Ａ）の第１領域Ｒ１０と同じである。以下、この領域Ｂ１０を「第１値領域Ｂ１０」とも呼ぶ。第２値の領域Ｂ２０、Ｂ２１は、図７（Ａ）の領域Ｒ２０、Ｒ２１と、それぞれ同じである。以下、領域Ｂ２０を「背景領域Ｂ２０」とも呼び、領域Ｂ２１を「第２値領域Ｂ２１」とも呼ぶ。
【００３１】
二値化の方法としては、背景を表す領域とオブジェクトを表す領域とを分離する任意の方法を採用可能である。例えば、本実施例では、二値処理部５２２は、背景の色（本実施例では、白色）を含む所定の背景色範囲の色を示す画素の画素値を、第２値に設定し、背景色範囲外の色を示す画素の画素値を、第１値に設定する。背景色範囲としては、例えば、赤Ｒ＞２２０、かつ、緑Ｇ＞２２０、かつ、青Ｂ＞２２０の色範囲が採用される。赤Ｒ、緑Ｇ、青Ｂは、読取画像データの各画素の画素値であり、０〜２５５の２５６階調で表されている。
【００３２】
図６の次のステップＳ５１０では、二値処理部５２２は、第１二値データに対する塗りつぶし処理を実行して、第２二値データを生成する。図７（Ｃ）は、第２二値データによって表される第２二値画像ＢＩ２を示している。図７（Ｃ）は、図７（Ｂ）と同じ部分を示している。塗りつぶし処理は、オブジェクトを表す領域に囲まれた背景色範囲の領域を、オブジェクトを表す領域に変更する処理である。具体的には、第１値の領域に囲まれた第２値の領域の画素値が、第２値から第１値に変更される。図７（Ｃ）の例では、第１領域Ｂ１０（図７（Ｂ））に囲まれていた第２領域Ｂ２１の画素値が、第２値から第１値に変更される。この結果、第１領域Ｂ１０と第２領域Ｂ２１で構成される連続な領域Ｂ１１が、第１値の領域として形成される。以下、領域Ｂ１１を「第１値領域Ｂ１１」とも呼ぶ。
【００３３】
塗りつぶしの方法としては、種々の方法を採用可能である。例えば、第２値の領域のうちの、第１二値画像ＢＩ１の縁と接する領域を除いた残りの領域の画素値を、第２値から第１値に変更する方法を採用可能である。
【００３４】
図６の次のステップＳ５２０では、二値処理部５２２は、第２二値データに対するブロック化処理を実行して、第３二値データを生成する。図７（Ｄ）は、第３二値データによって表される第３二値画像ＢＩ３を示している。図７（Ｄ）は、図７（Ｃ）と同じ部分を示している。図中の点線Ｂ１１ｃは、第１値領域Ｂ１１（図７（Ｃ））の輪郭を示している。
【００３５】
ブロック化処理は、二値画像の複数の画素を複数のブロックに分割し、ブロック毎に、画素値を、第１値または第２値に設定する処理である。１つのブロックは、複数の画素を含んでいる。本実施例では、１つのブロックは、２０行２０列の画素で構成される矩形領域である。二値処理部５２２は、第２二値画像ＢＩ２の全体を、格子状に並ぶ複数のブロックに分割する。１つのブロックを１つの画素として用いることによって形成される二値画像が、第３二値画像ＢＩ３である。以下、第２二値画像ＢＩ２上の画素位置と、第３二値画像ＢＩ３上の画素位置（すなわち、ブロックの位置）と、の対応関係を、「ブロック画素対応関係」とも呼ぶ。
【００３６】
二値処理部５２２は、１つのブロックに含まれる複数の画素のうちの第２値の画素の数が１以上である場合、そのブロックの画素値を、第２値に設定する。１つのブロックに含まれる複数の画素のうちの第２値の画素の数がゼロである場合、すなわち、全ての画素の画素値が第１値である場合、二値処理部５２２は、そのブロックの画素値を、第１値に設定する。
【００３７】
第１値領域Ｂ１１（図７（Ｃ））のうち、比較的中心部に近い領域では、ブロックは、第１値の画素のみを含んでいる。従って、第１値領域Ｂ１１の内部では、ブロックの画素値は、第１値に設定される。第１値領域Ｂ１１の縁部分では、ブロックは、第１値領域Ｂ１１の画素と背景領域Ｂ２０の画素との両方を含み得る（以下、「混合ブロック」と呼ぶ）。混合ブロックの画素値は、第２値に設定される。図７（Ｄ）の第３二値画像ＢＩ３中の第１値の領域Ｂ１１ｂは、第２二値画像ＢＩ２中の第１値領域Ｂ１１の縁の一部が混合ブロックによって削り取られた後に残った領域を、表している。以下、第３二値画像ＢＩ３中の第１値の領域Ｂ１１ｂを、「第１値領域Ｂ１１ｂ」とも呼ぶ。また、第３二値画像ＢＩ３中の第２値の領域Ｂ２０ｂを、「背景領域Ｂ２０ｂ」とも呼ぶ。
【００３８】
本実施例では、二値処理部５２２は、以上のステップＳ５００、Ｓ５１０、Ｓ５２０を実行することによって、最終的な二値データとして、第３二値データを生成する。以下、第３二値データを「最終二値データ」とも呼び、第３二値データによって表される第３二値画像ＢＩ３を、「最終二値画像ＢＩ３」とも呼ぶ。最終二値画像ＢＩ３中の第１値領域Ｂ１１ｂは、オブジェクトを表す領域に対応する（以下、「オブジェクト領域Ｂ１１ｂ」とも呼ぶ）。最終二値データが生成されたことに応じて、図６の処理は終了する。
【００３９】
図２の次のステップＳ２３０では、矩形特定部５２４が、最終二値画像のオブジェクト領域に内接する対象矩形領域を特定し、抽出部５２０は、読取画像内の対象矩形領域の画像である対象画像を抽出する。図４（Ｂ）は、最終二値画像ＢＩ３の例を示す概略図である。図中には、対象矩形領域ＲＣが示されている。対象矩形領域ＲＣは、オブジェクト領域Ｂ１１ｂに内接している。なお、最終二値画像ＢＩ３の画素密度は、図７（Ｃ）の第２二値画像ＢＩ２の画素密度（図４（Ａ）の読取画像ＲＩの画素密度と同じ）よりも、低い。このように、読取画像ＲＩと比べて画素密度が低減された最終二値画像ＢＩ３が、対象矩形領域ＲＣの特定に利用される。従って、画素密度が高い二値データ（例えば、第２二値画像ＢＩ２を表す第２二値データ）を用いる場合と比べて、対象矩形領域ＲＣの特定処理の計算量を低減できる。この結果、対象矩形領域ＲＣの特定を、高速化できる。なお、対象矩形領域ＲＣの特定の詳細については、後述する。
【００４０】
図４（Ａ）には、読取画像ＲＩ内の対象矩形領域ＲＣに対応する領域の画像である対象画像ＴＩが示されている。読取画像ＲＩ上の対象矩形領域ＲＣの位置は、上述のブロック画素対応関係に従って、特定される。対象画像ＴＩは、対象矩形領域ＲＣの輪郭によって囲まれる領域の画像である。図４（Ａ）の下部には、対象画像ＴＩの拡大図が示されている。図示するように対象画像ＴＩは、オブジェクト（ここでは、葉っぱ）の一部を表している。
【００４１】
図２の次のステップＳ２４０では、出力データ生成部５３０は、テンプレート画像に対する対象画像の配置を決定する。図５（Ｂ）は、対象画像の配置例を示す概略図である。図中には、テンプレート画像ＴＰＩ１上に配置された複数の対象画像ＴＩが、対象画像ＴＩの輪郭を表す点線の矩形で示されている。本実施例では、出力データ生成部５３０は、テンプレート画像ＴＰＩ１の左上の隅ＲＰを基準としてテンプレート画像ＴＰＩ１の全体に亘って連続的に並ぶように複数の対象画像ＴＩの配置を決定する。具体的には、テンプレート画像ＴＰＩ１の隅ＲＰに対象画像ＴＩの左上の隅が一致するように、隙間なく（すなわち、連続的に）、格子状に複数の対象画像ＴＩが配置される。本実施例では、対象画像ＴＩとテンプレート画像ＴＰＩ１との重ね合わせは、対象画像ＴＩ中の連続な複数の画素が、テンプレート画像ＴＰＩ１中の連続な同数の画素と、一対一で重なるように、行われる。
【００４２】
図２の次のステップＳ２５０では、出力データ生成部５３０は、テンプレート画像と対象画像とが合成された合成画像を表す出力データを生成する。図５（Ｃ）は、合成画像の一例を示す概略図である。出力データ生成部５３０は、ステップＳ２４０で決定した配置に従って複数の対象画像ＴＩをテンプレート画像ＴＰＩ１上に配置した場合に、複数の対象画像ＴＩのうちの割付領域Ｔ１０、Ｔ２０、Ｔ３０と重なる部分を、割付領域Ｔ１０、Ｔ２０、Ｔ３０の画像として、採用する。図５（Ｃ）の合成画像ＯＩ１では、各割付領域Ｔ１０、Ｔ２０、Ｔ３０は、複数の対象画像ＴＩによって、表されている。
【００４３】
なお、出力データの形式としては、例えば、合成画像を表すＪＰＥＧデータを含む形式が、採用される。また、出力データは、印刷媒体のサイズとして、挨拶状のサイズ（ここでは、葉書サイズ）を指定するデータを含んでいる。また、合成画像の画素密度は、テンプレート画像の画素密度と同じである。
【００４４】
出力データの生成が完了した場合、図３の次のステップＳ３１０で、出力データ生成部５３０は、複合機１００に、試し印刷の要否を問い合わせる。試し印刷とは、挨拶状の用紙に印刷を行う前に、当該挨拶状の用紙と異なる用紙に合成画像を印刷させるものである。複合機１００の処理制御部２５０は、次のステップＳ３２０で、ユーザの指示に従って、回答を、サーバ４００に送信する。例えば、処理制御部２５０は、試し印刷の要否を問い合わせるメッセージを表示部１４０に表示し、操作部１５０を通じて入力された指示を受け付け、そして、指示に従って回答をサーバ４００に送信する。次のステップＳ３３０では、サーバ４００の出力データ生成部５３０は、複合機１００からの回答が、試し印刷を行うことを示しているか否かを判定する。回答が、試し印刷を行うことを示していない場合（Ｓ３３０：Ｎｏ）、次のステップＳ３９０で、データ送信部５４０は、出力データを複合機１００に送信する。複合機１００のプリンタ制御部２４０は、次のステップＳ４００で、受信した出力データを用いて印刷データを生成し、生成した印刷データをプリンタ１８０に供給する。プリンタ１８０は、印刷データに従って、合成画像を印刷する。ユーザは、予め、印刷媒体として、挨拶状（例えば、年賀状）を、プリンタ１８０にセットする。プリンタ１８０は、セットされた挨拶状に、合成画像を印刷する。
【００４５】
なお、印刷データの生成方法としては、プリンタ１８０に適した任意の方法を採用可能である。例えば、プリンタ制御部２４０は、出力データの色変換を行い、色変換後のデータを用いてハーフトーン処理を行い、ハーフトーン処理の結果に応じて、印刷データを生成する。色変換後のデータは、プリンタ１８０が利用可能な各色材（例えば、シアンとマゼンタとイエロとブラックの色材）の階調値で色を表すデータである。
【００４６】
複合機１００からの回答が、試し印刷を行うことを示している場合（Ｓ３３０：Ｙｅｓ）、次のステップＳ３４０で、出力データ生成部５３０は、合成画像の試し印刷を複合機１００に実行させるデータである試行データを生成する。本実施例では、試行データは、合成画像を表しており、出力データと同じＪＰＥＧデータを含んでいる。また、試行データに含まれる印刷媒体のサイズを指定するデータは、葉書サイズよりも大きい所定サイズを指定している。このサイズとしては、印刷用紙として広く普及している普通紙の典型的なサイズ（本実施例では、Ａ４サイズ）が、採用される。次のステップＳ３５０では、データ送信部５４０は、試行データを、複合機１００に送信する。複合機１００のプリンタ制御部２４０は、次のステップＳ３６０で、受信した試行データを用いて印刷データを生成し、生成した印刷データをプリンタ１８０に供給する。プリンタ１８０は、印刷データに従って、試行画像を印刷する。
【００４７】
図８は、試行データによって表される画像である試行画像ＯＩ１ｔの例を示す概略図である。図８の例では、試行画像ＯＩ１ｔは、合成画像ＯＩ１と、メッセージＭＳと、を表している。メッセージＭＳは、試行画像ＯＩ１ｔの印刷が試し印刷であることを示している。なお、試行画像ＯＩ１ｔが印刷された場合の試行画像ＯＩ１ｔに含まれる合成画像ＯＩ１のサイズは、出力データに応じて合成画像ＯＩ１が挨拶状の用紙上に印刷された場合の合成画像ＯＩ１のサイズと、同じである。従って、ユーザは、印刷された試行画像ＯＩ１ｔを観察することによって、合成画像ＯＩ１が適切であるか否かを容易に判断できる。また、試行画像ＯＩ１ｔは、出力データに基づく印刷に利用される印刷媒体よりも大きい印刷媒体に印刷される。従って、合成画像ＯＩ１の周囲には、空白ＢＳが配置される。この結果、合成画像ＯＩ１の大きさを小さくせずに、メッセージＭＳを配置できる。また、ユーザは、空白ＢＳに、合成画像ＯＩ１の校正を記入できる。また、試行画像ＯＩ１ｔの印刷に用いられる印刷媒体のサイズは、印刷用紙として広く普及している普通紙の典型的なサイズ（本実施例では、Ａ４サイズ）に設定されている。従って、試行画像ＯＩ１ｔの印刷には、高価な挨拶状の代わりに、安価な普通紙を用いることができる。なお、試行画像ＯＩ１ｔが印刷された場合の試行画像ＯＩ１ｔに含まれる合成画像ＯＩ１のサイズが、出力データに応じて合成画像ＯＩ１が印刷された場合の合成画像ＯＩ１のサイズよりも、大きくてもよい。こうすれば、ユーザは、大きく印刷された合成画像ＯＩ１を観察することによって、合成画像ＯＩ１が適切であるか否かを容易に判断できる。
【００４８】
ユーザは、印刷された試行画像ＯＩ１ｔの観察結果に応じて、合成画像を挨拶状に印刷するか否かを決定する。そして、図３の次のステップＳ３７０では、ユーザは、操作部１５０を通じて、印刷を行うか否かを表す指示を入力する。処理制御部２５０は、ユーザの指示に従って、印刷を行うか否かを示す指示を、サーバ４００に送信する。次のステップＳ３８０では、サーバ４００のデータ送信部５４０は、受信した指示が印刷を行うことを示しているか否かを判定する。指示が印刷を行うことを示す場合（Ｓ３８０：Ｙｅｓ）、次のステップＳ３９０で、データ送信部５４０は、出力データを複合機１００に送信し、続くステップＳ４００で、複合機１００のプリンタ制御部２４０は、受信した出力データに応じて出力画像を印刷する。指示が印刷を行うことを示していない場合（Ｓ３８０：Ｎｏ）、データ送信部５４０は、出力データを複合機１００に送信せずに、図２、図３の処理を終了する。
【００４９】
以上のように、本実施例では、１つの連続な割付領域（例えば、図５（Ｃ）の割付領域Ｔ１０）上に、２個以上の対象画像ＴＩが配置される。従って、出力データ生成部５３０は、対象画像ＴＩとテンプレート画像ＴＰＩ１とが合成された合成画像ＯＩ１を表す出力データを、容易に生成できる。また、本実施例では、割付領域上に２個以上の対象画像ＴＩが配置されるので、割付領域内の空白部分が大きくなることを抑制できる。
【００５０】
なお、出力データ生成部５３０は、対象画像ＴＩが１つの割付領域（例えば、割付領域Ｔ１０）よりも小さい場合、すなわち、１つの対象画像ＴＩでは、１つの割付領域の全体を覆うことができない場合に、その割付領域上に２個以上の対象画像ＴＩを配置する。対象画像ＴＩが１つの割付領域よりも大きい場合、すなわち、１つの対象画像ＴＩが１つの割付領域の全体を覆うことができる場合、その割付領域上に配置される対象画像ＴＩの数は、「１」であってよい。
【００５１】
また、図５（Ｂ）、図５（Ｃ）で説明したように、出力データ生成部５３０は、複数の対象画像ＴＩを、テンプレート画像ＴＰＩ１に対応付けられた基準位置（隅ＲＰ）を基準としてテンプレート画像ＴＰＩ１の全体に亘って連続的に並ぶように配置した場合に、割付領域（例えば、割付領域Ｔ１０）と重なる２個以上の対象画像ＴＩを、合成画像の生成に用いる。従って、出力データ生成部５３０は、割付領域上の２個以上の対象画像ＴＩのそれぞれの配置を容易に決定できるので、合成画像ＯＩ１を表す出力データを容易に生成できる。
【００５２】
次に、対象画像の抽出（特に、対象矩形領域の特定）について説明する。図９は、図２のステップＳ２３０で実行される対象画像の抽出処理のフローチャートである。以下、図４、図７（Ｄ）で説明したオブジェクト領域Ｂ１１ｂから、対象矩形領域ＲＣ、すなわち、対象画像ＴＩが抽出される場合を例に挙げて、説明する。
【００５３】
最初のステップＳ６００では、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂに含まれる複数の画素のそれぞれについて、サイズ情報を算出する。図１０は、サイズ情報の説明図である。図中には、図７（Ｄ）で説明したオブジェクト領域Ｂ１１ｂが示されている。また、図中には、互いに垂直な２つの方向Ｄ１、Ｄ２が示されている。オブジェクト領域Ｂ１１ｂ、ひいては、最終二値画像ＢＩ３の複数の画素は、第１方向Ｄ１と第２方向Ｄ２とに沿って格子状に配置されている。以下、第１方向Ｄ１を「右方向」とも呼び、第２方向Ｄ２を「下方向」とも呼ぶ。
【００５４】
図中には、オブジェクト領域Ｂ１１ｂ内から選択された画素Ｐｓ（以下「注目画素Ｐｓ」と呼ぶ）と、注目画素Ｐｓを通り互いに垂直な第１直線Ｌｓ１と第２直線Ｌｓ２と、が示されている。第１直線Ｌｓ１は、第１方向Ｄ１と平行であり、第２直線Ｌｓ２は、第２方向Ｄ２と平行である。
【００５５】
注目画素Ｐｓの第１方向Ｄ１側には、右端画素Ｐｓｒが配置され、注目画素Ｐｓの反対側には、左端画素Ｐｓｌが配置されている。２つの端画素Ｐｓｒ、Ｐｓｌは、オブジェクト領域Ｂ１１ｂの輪郭（すなわち、縁）と第１直線Ｌｓ１との２つの交点の位置に配置された画素である。
【００５６】
注目画素Ｐｓの第２方向Ｄ２側には、下端画素Ｐｓｄが配置され、注目画素Ｐｓの反対側には、上端画素Ｐｓｕが配置されている。２つの端画素Ｐｓｄ、Ｐｓｕは、オブジェクト領域Ｂ１１ｂの輪郭（すなわち、縁）と第２直線Ｌｓ２との２つの交点の位置に配置された画素である。
【００５７】
なお、図中の符号（例えば、画素の符号Ｐｓ）の近くに記載された括弧内の値は、左から順番に、第１方向Ｄ１の画素位置と、第２方向Ｄ２の画素位置と、を示している。例えば、注目画素Ｐｓの第１方向Ｄ１の画素位置は「Ｉｓ」であり、第２方向Ｄ２の画素位置は「Ｊｓ」である。以下、「Ｉ」で始まる画素位置は、第１方向Ｄ１の画素位置を示し、「Ｊ」で始まる画素位置は、第２方向Ｄ２の画素位置を示すこととする。また、第１方向Ｄ１の画素位置は、第１方向Ｄ１に向かって、１ずつ大きくなり、第２方向Ｄ２の画素位置は、第２方向Ｄ２に向かって、１ずつ大きくなることとする。
【００５８】
図中には、注目画素Ｐｓと４つの端画素Ｐｓｒ、Ｐｓｌ、Ｐｓｄ、Ｐｓｕとの間の４つの画素数Ｓｒ、Ｓｌ、Ｓｄ、Ｓｕが示されている。具体的には、以下の通りである。
１）右画素数Ｓｒは、注目画素Ｐｓと右端画素Ｐｓｒとの間の画素数であり、右端画素Ｐｓｒの位置Ｉｐと注目画素Ｐｓの位置Ｉｓとの間の差分である。
２）左画素数Ｓｌは、注目画素Ｐｓと左端画素Ｐｓｌとの間の画素数であり、注目画素Ｐｓの位置Ｉｓと左端画素Ｐｓｌの位置Ｉｍとの間の差分である。
３）下画素数Ｓｄは、注目画素Ｐｓと下端画素Ｐｓｄとの間の画素数であり、下端画素Ｐｓｄの位置Ｊｐと注目画素Ｐｓの位置Ｊｓとの間の差分である。
４）上画素数Ｓｕは、注目画素Ｐｓと上端画素Ｐｓｕとの間の画素数であり、注目画素Ｐｓの位置Ｊｓと上端画素Ｐｓｕの位置Ｊｍとの間の差分である。
【００５９】
矩形特定部５２４は、４つの画素数Ｓｒ、Ｓｌ、Ｓｄ、Ｓｕを、注目画素Ｐｓのサイズ情報として算出する。本実施例では、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂに含まれる全ての画素について、サイズ情報を算出する。
【００６０】
図９の次のステップＳ６１０では、矩形特定部５２４は、基準画素を特定する。本実施例では、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂ内の複数の画素のうちの、サイズ情報として算出された４つの画素数Ｓｒ、Ｓｌ、Ｓｄ、Ｓｕの合計値が最大である画素を、基準画素として選択する。以下、図１０の注目画素Ｐｓが、基準画素として選択されたこととして、説明を行う。
【００６１】
図９の次のステップＳ６２０では、矩形特定部５２４は、算出したサイズ情報を修正する。図１１は、サイズ情報の修正のフローチャートである。後述するように、サイズ情報の修正は、第１直線Ｌｓ１上の画素と、第２直線Ｌｓ２上の画素と、のそれぞれに対して行われる。図１１は、第１直線Ｌｓ１上の画素に対する処理を示している。
【００６２】
図１２は、図１１の処理によるサイズ情報の修正の一例を示す説明図である。図１１の処理では、基準画素Ｐｓを通る第１直線Ｌｓ１上の画素（注目画素と呼ぶ）の下画素数Ｓｄと上画素数Ｓｕとが修正される。図中のハッチングが付された画素は、第１直線Ｌｓ１上の各注目画素から画素数Ｓｄ、Ｓｕだけ離れた位置の画素を示している。図１２（Ａ）は、修正前を示し、図１２（Ｂ）は、修正後を示している。
【００６３】
図１２（Ｂ）のオブジェクト領域Ｂ１１ｂの右下の部分には、５つの下画素数Ｓｄａ、Ｓｄａｂ、Ｓｄａｕ、Ｓｄｂ、Ｓｄｂｂが、対応する画素を示す符号として、示されている。これらの下画素数を用いて、概略を説明する。第１直線Ｌｓ１上の画素を、基準画素Ｐｓから右端画素Ｐｓｒまで辿ると、修正済の下画素数Ｓｄは、１つ前の画素の修正済の下画素数Ｓｄと同じ、あるいは、より小さい値に設定されている。具体的には、第１下画素数Ｓｄａに示すように、修正前の下画素数Ｓｄａｕが、１つ前の画素の修正済の下画素数Ｓｄａｂ以上である場合には、下画素数Ｓｄａは、１つ前の画素の修正済の下画素数Ｓｄａｂと同じ値に設定される。第２下画素数Ｓｄｂに示すように、修正前の下画素数Ｓｄｂが、１つ前の画素の修正済の下画素数Ｓｄｂｂよりも小さい場合には、下画素数Ｓｄｂは、維持される。上画素数Ｓｕの修正についても、同様である。以上のような修正が、図１１のフローチャートに従って、行われる。
【００６４】
図１１のステップＳ７００〜Ｓ７４０では、矩形特定部５２４は、基準画素Ｐｓから右端画素Ｐｓｒまで１画素ずつ順番に、注目画素Ｐｘｒ（「右注目画素Ｐｘｒ」とも呼ぶ）のサイズ情報Ｓｄ、Ｓｕを修正する。最初のステップＳ７００では、矩形特定部５２４は、注目画素Ｐｘｒの第１方向Ｄ１の位置Ｉｘｒを、基準画素Ｐｓの位置Ｉｓに初期化する。次のステップＳ７１０では、矩形特定部５２４は、注目画素Ｐｘｒの上画素数Ｓｕを、基準画素Ｐｓから注目画素Ｐｘｒまでの間の上画素数Ｓｕの最小値に、変更する。次のステップＳ７２０では、矩形特定部５２４は、注目画素Ｐｘｒの下画素数Ｓｄを、基準画素Ｐｓから注目画素Ｐｘｒまでの間の下画素数Ｓｄの最小値に、変更する。次のステップＳ７３０では、矩形特定部５２４は、基準画素Ｐｓから右端画素Ｐｓｒまでの間の全ての画素の処理が終了したか否かを判定する。本実施例では、注目画素Ｐｘｒの位置Ｉｘｒが、右端画素Ｐｓｒの位置Ｉｐ以上である場合に、処理が終了したと判定される。未処理の画素が残っている場合（Ｓ７３０：Ｎｏ）、次のステップＳ７４０で、矩形特定部５２４は、注目画素Ｐｘｒの位置Ｉｘｒに１を追加して、ステップＳ７１０に戻る。基準画素Ｐｓから右端画素Ｐｓｒまでの全ての画素の処理が終了した場合（Ｓ７３０：Ｙｅｓ）、処理は、ステップＳ７５０に移行する。
【００６５】
図１１のステップＳ７５０〜Ｓ７９０では、矩形特定部５２４は、基準画素Ｐｓから左端画素Ｐｓｌに向かって１画素ずつ順番に、注目画素Ｐｘｌ（「左注目画素Ｐｘｌ」とも呼ぶ）のサイズ情報Ｓｄ、Ｓｕを修正する。ステップＳ７５０〜Ｓ７９０の手順は、上述のステップＳ７００〜Ｓ７４０の手順を、注目画素Ｐｘｌが基準画素Ｐｓから左端画素Ｐｓｌに向かって移動するように修正した手順と、同じである。すなわち、ステップＳ７５０では、注目画素Ｐｘｌの位置Ｉｘｌが、基準画素Ｐｓの位置Ｉｓに初期化される。ステップＳ７６０では、注目画素Ｐｘｌの上画素数Ｓｕが、基準画素Ｐｓから注目画素Ｐｘｌまでの間の上画素数Ｓｕの最小値に変更される。ステップＳ７７０では、注目画素Ｐｘｌの下画素数Ｓｄが、基準画素Ｐｓから注目画素Ｐｘｌまでの間の下画素数Ｓｄの最小値に変更される。ステップＳ７８０では、基準画素Ｐｓから左端画素Ｐｓｌまでの間の全ての画素の処理が終了したか否かが判定される。未処理の画素が残っている場合（Ｓ７８０：Ｎｏ）、次のステップＳ７９０で、注目画素Ｐｘｌの位置Ｉｘｌから１が減算されて、処理は、ステップＳ７６０に戻る。基準画素Ｐｓから左端画素Ｐｓｌまでの全ての画素の処理が終了した場合（Ｓ７８０：Ｙｅｓ）、図１１の処理が終了する。
【００６６】
以上のように、第１直線Ｌｓ１上の各画素の下画素数Ｓｄと上画素数Ｓｕとが修正される。矩形特定部５２４は、さらに、第２直線Ｌｓ２上の各画素について、右画素数Ｓｒと左画素数Ｓｌとを修正する。画素数Ｓｒ、Ｓｌの修正は、上述した画素数Ｓｄ、Ｓｕの修正と同様の手順従って、行われる。すなわち、基準画素Ｐｓから下端画素Ｐｓｄに向かって１つずつ順番に注目画素が選択され、選択された注目画素の右画素数Ｓｒと左画素数Ｓｌとが修正される。そして、基準画素Ｐｓから上端画素Ｐｓｕに向かって１つずつ順番に注目画素が選択され、選択された注目画素の右画素数Ｓｒと左画素数Ｓｌとが修正される。なお、端画素Ｐｓｒ、Ｐｓｌ、Ｐｓｄ、Ｐｓｕは、画素数Ｓｄ、Ｓｕ、Ｓｒ、Ｓｌの修正処理の終点の画素である（以下「終点画素Ｐｓｒ、Ｐｓｌ、Ｐｓｄ、Ｐｓｕ」とも呼ぶ）。
【００６７】
図９の次のステップＳ６３０では、矩形特定部５２４は、第１直線Ｌｓ１上から選択された２つの画素を通る２つの辺（「第１直線Ｌｓ１に基づく２つの辺」と呼ぶ）を有する複数の矩形領域と第２直線Ｌｓ２上から選択された２つの画素を通る２つの辺（「第２直線Ｌｓ２に基づく２つの辺」と呼ぶ）を有する複数の矩形領域との中から、最大面積の矩形領域を対象矩形領域として特定する。次のステップＳ６４０では、抽出部５２０は、読取画像から、対象矩形領域に対応する領域の画像を、対象画像として抽出する。図４（Ａ）の例では、読取画像ＲＩから、対象矩形領域ＲＣに対応する対象画像ＴＩが、抽出される。本実施例では、読取画像ＲＩの画素密度は、対象矩形領域ＲＣ（すなわち、図４（Ｂ）の最終二値画像ＢＩ３）の画素密度よりも高い。抽出部５２０は、読取画像ＲＩ上の対象矩形領域ＲＣに対応する領域を、上述のブロック画素対応関係に従って、特定する。例えば、最終二値画像ＢＩ３の１つの画素（「ブロック」とも呼ぶ）が、読取画像ＲＩの２０行２０列の画素で表される場合、抽出部５２０は、最終二値画像ＢＩ３上のブロックの画素位置（低画素密度の画素位置）を２０倍することによって、読取画像ＲＩ上のブロックの端の位置（高画素密度の画素位置）を、算出できる。
【００６８】
次に、最大面積の矩形領域の特定について、説明する。図１３は、第１直線Ｌｓ１に基づく２つの辺を有する複数の矩形領域から最大面積の矩形領域を特定する処理のフローチャートである。図１４は、図１３の手順に従って処理される矩形領域の概略図である。まず、図１４を参照して、第１直線Ｌｓ１に基づく２つの辺を有する複数の矩形領域について、説明する。
【００６９】
矩形特定部５２４は、第１直線Ｌｓ１上の複数の注目画素から、基準画素Ｐｓから見て第１方向Ｄ１側に位置する注目画素Ｐｘｒ（「第１画素Ｐｘｒ」とも呼ぶ）と、基準画素Ｐｓから見て反対側に位置する注目画素Ｐｘｌ（「第２画素Ｐｘｌ」とも呼ぶ）と、を選択する。そして、矩形特定部５２４は、第１画素Ｐｘｒを通り第１直線Ｌｓ１と垂直な辺ＳＲ（「第１辺ＳＲ」とも呼ぶ）と、第２画素Ｐｘｌを通り第１直線Ｌｓ１と垂直な辺ＳＬ（「第２辺ＳＬ」とも呼ぶ）と、を有する矩形領域であって、オブジェクト領域Ｂ１１ｂの輪郭Ｂ１１ｃに内接する矩形領域を、対象矩形領域の候補として採用する（以下、「候補矩形領域ＲＣｃ」とも呼ぶ）。
【００７０】
第１画素Ｐｘｒ（すなわち、第１辺ＳＲ）の第１方向Ｄ１の位置Ｉｘｒは、基準画素Ｐｓの位置Ｉｓと右端画素Ｐｓｒの位置Ｉｐとの間で、可変である。同様に、第２画素Ｐｘｌ（すなわち、第２辺ＳＬ）の第１方向Ｄ１の位置Ｉｘｌは、基準画素Ｐｓの位置Ｉｓと左端画素Ｐｓｌの位置Ｉｍとの間で、可変である。従って、第１直線Ｌｓ１に基づいて、第１辺ＳＲと第２辺ＳＬとの複数の組合せ、すなわち、複数の矩形領域の候補が、規定される。矩形特定部５２４は、図１３の手順に従って、複数の矩形領域の候補の中から、最大面積の矩形領域を特定する。
【００７１】
図１３の最初のステップＳ８００では、矩形特定部５２４は、第１画素Ｐｘｒの第１方向Ｄ１の位置Ｉｘｒと、第２画素Ｐｘｌの第１方向Ｄ１の位置Ｉｘｌとを、基準画素Ｐｓの位置Ｉｓに初期化する。次のステップＳ８１０では、矩形特定部５２４は、候補矩形領域ＲＣｃの第１方向Ｄ１の幅Ｗを、第１画素Ｐｘｒの位置Ｉｘｒと第２画素Ｐｘｌの位置Ｉｘｌとの間の差分を用いて算出する（Ｗ＝Ｉｘｒ−Ｉｘｌ＋１）。
【００７２】
次のステップＳ８２０では、矩形特定部５２４は、候補矩形領域ＲＣｃの第２方向Ｄ２の高さＨを算出する。高さＨは、第１直線Ｌｓ１よりも第２方向Ｄ２側の部分の高さである第１部分高さＨ１と、第１直線Ｌｓ１の反対側の部分の高さである第２部分高さＨ２と、を用いて算出される。第１部分高さＨ１は、第１画素Ｐｘｒの下画素数Ｓｄと第２画素Ｐｘｌの下画素数Ｓｄとのうちの小さい値である（ｍｉｎ（Ｓｄ（Ｉｘｒ、Ｊｓ）、Ｓｄ（Ｉｘｌ、Ｊｓ）））。第２部分高さＨ２は、第１画素Ｐｘｒの上画素数Ｓｕと第２画素Ｐｘｌの上画素数Ｓｕとのうちの小さい値である（ｍｉｎ（Ｓｕ（Ｉｘｒ、Ｊｓ）、Ｓｕ（Ｉｘｌ、Ｊｓ）））。第１直線Ｌｓ１の太さ（１）を考慮すると、高さＨは、Ｈ１＋Ｈ２＋１で表される。
【００７３】
なお、第１部分高さＨ１は、矩形領域ＲＣｃの４辺のうちの第１直線Ｌｓ１と平行な辺を規定し、第２部分高さＨ２は、矩形領域ＲＣｃの４辺のうちの第１直線Ｌｓ１と平行な他の辺を規定している。このように、第１画素Ｐｘｒの位置Ｉｘｒと、第２画素Ｐｘｌの位置Ｉｘｌと、第１部分高さＨ１と、第２部分高さＨ２と、によって、オブジェクト領域Ｂ１１ｂに内接する矩形領域ＲＣｃが特定される。
【００７４】
図１３の次のステップＳ８３０では、矩形特定部５２４は、幅Ｗと高さＨとを乗じることによって、候補矩形領域ＲＣｃの面積を算出する。そして、矩形特定部５２４は、面積の最大値と、面積が最大である候補矩形領域ＲＣｃを特定する情報（例えば、Ｉｘｒ、Ｉｘｌ、Ｗ、Ｈ等）と、を表すデータ（「最大領域データ」と呼ぶ）を、記憶装置（本実施例では、揮発性記憶装置４２０）に格納する。後述するように、ステップＳ８１０〜Ｓ８３０の処理は、複数の候補矩形領域ＲＣｃのそれぞれについて実行される。ステップＳ８３０では、矩形特定部５２４は、最大領域データを、ステップＳ３０で算出された面積のうちの最大の面積に対応付けられたデータを表すように、更新する。
【００７５】
次のステップＳ８４０では、矩形特定部５２４は、基準画素Ｐｓから左端画素Ｐｓｌまでの間の全ての第２画素Ｐｘｌ（すなわち、第２辺ＳＬ）の処理が終了したか否かを判定する。本実施例では、第２画素Ｐｘｌ（すなわち、第２辺ＳＬ）の位置Ｉｘｌが、左端画素Ｐｓｌの位置Ｉｍ以下である場合に、処理が終了したと判定される。未処理の第２辺ＳＬが残っている場合（Ｓ８４０：Ｎｏ）、次のステップＳ８５０で、矩形特定部５２４は、第２画素Ｐｘｌの位置Ｉｘｌから１を減算し、ステップＳ８１０に戻る。
【００７６】
基準画素Ｐｓから左端画素Ｐｓｌまでの間の全ての第２辺ＳＬの処理が終了した場合（Ｓ８４０：Ｙｅｓ）、矩形特定部５２４は、次のステップＳ８６０で、第２辺ＳＬの位置Ｉｘｌを基準画素Ｐｓの位置Ｉｓに初期化し、次のステップＳ８７０で、基準画素Ｐｓから右端画素Ｐｓｒまでの間の全ての第１画素Ｐｘｒ（すなわち、第１辺ＳＲ）の処理が終了したか否かを判定する。本実施例では、第１画素Ｐｘｒ（すなわち、第１辺ＳＲ）の位置Ｉｘｒが、右端画素Ｐｓｒの位置Ｉｐ以上である場合に、処理が終了したと判定される。未処理の第１辺ＳＲが残っている場合（Ｓ８７０：Ｎｏ）、次のステップＳ８８０で、矩形特定部５２４は、第１画素Ｐｘｒの位置Ｉｘｒに１を加算し、ステップＳ８１０に戻る。基準画素Ｐｓから右端画素Ｐｓｒまでの全ての第１辺ＳＲの処理が終了した場合（Ｓ８７０：Ｙｅｓ）、図１３の処理は終了する。
【００７７】
このように、矩形特定部５２４は、第１画素Ｐｘｒと第２画素Ｐｘｌとの全ての組合せ、すなわち、第１辺ＳＲと第２辺ＳＬとの全ての組合せについて、候補矩形領域ＲＣｃの面積を算出し、そして、最大領域データを更新する。矩形特定部５２４は、さらに、第２直線Ｌｓ２に基づく２つの辺を有する複数の矩形領域のそれぞれの面積を算出し、最大領域データを更新する。そして、矩形特定部５２４は、最終的に得られる最大面積の矩形領域を、対象矩形領域として、特定する。なお、第２直線Ｌｓ２に基づく２つの辺を有する複数の矩形領域のそれぞれの面積は、図１３と同様の手順に従って、算出される。すなわち、第１方向Ｄ１と平行な第１辺が、基準画素Ｐｓと下端画素Ｐｓｄとの間から選択され、第１方向Ｄ１と平行な第２辺が、基準画素Ｐｓと上端画素Ｐｓｕとの間から選択される。そして、右画素数Ｓｒと左画素数Ｓｌとを用いて、候補矩形領域が特定され、面積が算出される。
【００７８】
以上のように、本実施例では、矩形特定部５２４は、第１直線Ｌｓ１と第２直線Ｌｓ２とを用いて、以下のように、最大面積の矩形領域を特定する。すなわち、図１３、図１４で説明したように、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂ内の基準画素Ｐｓを通る特定の直線（例えば、第１直線Ｌｓ１）と重なる複数の画素のうちの、基準画素Ｐｓから見て一方側に位置する画素を通り特定の直線と垂直な第１辺と、基準画素Ｐｓから見て他方側に位置する画素を通り特定の直線と垂直な第２辺と、を有する複数の矩形領域のうちの、面積が最大の矩形領域を、対象矩形領域として特定する。従って、オブジェクト領域Ｂ１１ｂに内接する対象矩形領域を容易に特定できる。また、第１辺と第２辺とを定める２つの画素として、特定の直線と重なる任意の２つの画素が選択される場合と比べて、対象矩形領域の候補の数を低減できるので、対象矩形領域の特定処理の計算量を低減できる。この結果、対象矩形領域の特定を、高速化できる。ここで、本実施例では、特定の直線として第１直線Ｌｓ１が採用される場合の複数の矩形領域と、特定の直線として第２直線Ｌｓ２が採用される場合の複数の矩形領域と、から対象矩形領域が選択される。従って、第１直線Ｌｓ１と第２直線Ｌｓ２との一方のみに従って対象矩形領域を特定する場合と比べて、面積が小さい矩形領域が対象矩形領域として選択されることを抑制できる。また、面積が算出される矩形領域は、基準画素Ｐｓを挟んで対向する２つの辺を有する矩形領域であるので、オブジェクト領域Ｂ１１ｂに内接する全ての矩形領域の面積を算出する場合と比べて、計算量を低減できる。
【００７９】
また、図１０で説明したように、基準画素Ｐｓとしては、画素数Ｓｒ、Ｓｌ、Ｓｄ、Ｓｕの合計が最大となる画素が、採用される。従って、基準画素Ｐｓとしては、オブジェクト領域内の縁に近い画素よりも縁から遠い画素（例えば、オブジェクト領域の重心に近い画素）が選択される可能性が高い。この結果、基準画素Ｐｓを挟んで対向する２つの辺を有する複数の矩形領域の中から対象矩形領域を選択する場合に、面積が小さい矩形領域が対象矩形領域として選択されることを、抑制できる。
【００８０】
また、図１１〜図１４で説明したように、第１直線Ｌｓ１に基づく２つの辺を有する複数の矩形領域のそれぞれの面積の計算には、基準画素Ｐｓから終点画素Ｐｓｒまでの各右注目画素Ｐｘｒに対して算出された修正済の画素数Ｓｄ、Ｓｕと、基準画素Ｐｓから終点画素Ｐｓｌまでの各左注目画素Ｐｘｌに対して算出された修正済の画素数Ｓｄ、Ｓｕと、が利用される。右注目画素Ｐｘｒの画素数Ｓｄ、Ｓｕは、それぞれ、基準画素Ｐｓから右注目画素Ｐｘｒまでにおける下画素数Ｓｄの最小値と上画素数Ｓｕの最小値とである。左注目画素Ｐｘｌの画素数Ｓｄ、Ｓｕは、それぞれ、基準画素Ｐｓから左注目画素Ｐｘｌまでにおける下画素数Ｓｄの最小値と上画素数Ｓｕの最小値とである。以上により、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂに内接する矩形領域の特定と、面積の算出とを、容易に行うことができる。そして、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂに内接し、第１直線Ｌｓ１に基づく２つの辺を有する矩形領域であって、面積が最大の矩形領域を、容易に特定できる。第２直線Ｌｓ２に基づく２つの辺を有する複数の矩形領域に関しても、同様に、矩形特定部５２４は、オブジェクト領域Ｂ１１ｂに内接する矩形領域の特定と、面積の算出とを、行う。以上により、矩形特定部５２４は、第１直線Ｌｓ１に基づく２つの辺を有する複数の矩形領域と、第２直線Ｌｓ２に基づく２つの辺を有する複数の矩形領域と、の中から、オブジェクト領域Ｂ１１ｂに内接する最大面積の矩形領域を、容易に特定できる。
【００８１】
Ｂ．第２実施例：
図１５は、第２実施例における合成画像処理の例を示す概略図である。図５に示す第１実施例との差異は、第２実施例では、割付領域Ｔ１０、Ｔ２０、Ｔ３０ごとに、対象画像ＴＩの位置が決定される点だけである。合成画像処理に用いられる画像処理システムの構成は、図１に示す画像処理システム１０００の構成と同じである。また、合成画像処理の手順は、対象画像ＴＩの位置の決定方法が異なる点を除いて、図２、図３に示す手順と、同じである。以下、図４（Ａ）の対象画像ＴＩと同じ対象画像ＴＩが用いられることとして、説明を行う。
【００８２】
図１５（Ａ）は、テンプレート画像の例を示している。このテンプレート画像ＴＰＩ２は、図５（Ａ）に示すテンプレート画像ＴＰＩ１と同じ割付領域Ｔ１０、Ｔ２０、Ｔ３０を有している。本実施例では、更に、テンプレート画像ＴＰＩ２は、割付領域Ｔ１０、Ｔ２０、Ｔ３０にそれぞれ対応付けられた基準領域ＲＡ１、ＲＡ２、ＲＡ３を有している。基準領域ＲＡ１、ＲＡ２、ＲＡ３は、それぞれ、割付領域Ｔ１０、Ｔ２０、Ｔ３０を含む領域である。本実施例では、基準領域ＲＡ１、ＲＡ２、ＲＡ３は、それぞれ、割付領域Ｔ１０、Ｔ２０、Ｔ３０に外接する矩形領域である。
【００８３】
図１５（Ｂ）〜図１５（Ｄ）は、各割付領域Ｔ１０、Ｔ２０、Ｔ３０に対する対象画像ＴＩの配置例を示している。図２のステップＳ２４０では、図１５（Ｂ）に示すように、出力データ生成部５３０は、第１基準領域ＲＡ１の左上の隅ＲＰ１を基準として、第１割付領域Ｔ１０の全体に亘って連続的に並ぶように、第１割付領域Ｔ１０に対する複数の対象画像ＴＩの配置を決定する。具体的には、第１基準領域ＲＡ１の隅ＲＰ１に対象画像ＴＩの左上の隅が一致するように、隙間なく、格子状に複数の対象画像ＴＩが配置される。同様に、図１５（Ｃ）の第２割付領域Ｔ２０に対する対象画像ＴＩの配置は、第２基準領域ＲＡ２の左上隅ＲＰ２を基準として、決定され、図１５（Ｄ）の第３割付領域Ｔ３０に対する対象画像ＴＩの配置は、第３基準領域ＲＡ３の左上隅ＲＰ３を基準として、決定される。
【００８４】
図１５（Ｅ）は、合成画像の例を示している。出力データ生成部５３０は、図２のステップＳ２４０で第１基準領域ＲＡ１（具体的には、左上隅ＲＰ１）に従って決定した配置に従って複数の対象画像ＴＩをテンプレート画像ＴＰＩ２上に配置した場合に、複数の対象画像ＴＩのうちの第１割付領域Ｔ１０と重なる部分を、第１割付領域Ｔ１０の画像として、採用する。他の割付領域Ｔ２０、Ｔ３０の画像についても、同様である。図１５（Ｅ）の合成画像ＯＩ２では、各割付領域Ｔ１０、Ｔ２０、Ｔ３０は、複数の対象画像ＴＩによって、表されている。
【００８５】
以上のように、出力データ生成部５３０は、各割付領域Ｔ１０、Ｔ２０、Ｔ３０ごとに対象画像ＴＩの配置を決定するので、複数の割付領域を有するテンプレート画像を用いる場合に、各割付領域に対象画像が配置された合成画像を表す出力データを、容易に生成できる。
【００８６】
なお、第１実施例と同様に、対象画像ＴＩが１つの割付領域よりも大きい場合には、その割付領域上に配置される対象画像ＴＩの数は「１」であってもよい。
【００８７】
また、第２実施例の合成画像処理は、割付領域Ｔ１０、Ｔ２０、Ｔ３０に対する対象画像ＴＩの配置が異なる点を除いて、第１実施例の合成画像処理と同じである。従って、第２実施例は、第１実施例と同様の種々の利点を実現可能である。
【００８８】
Ｃ．第３実施例：
図１６は、合成画像処理の別の実施例を示すフローチャートである。図１６の処理は、図２の処理の代わりに、適用可能である。図１６のステップのうちの図２のステップと同じステップには、同じ符号を付して、説明を省略する。図１６に続く処理は、図３の処理と同じである。合成画像処理に用いられる画像処理システムの構成は、図１に示す画像処理システム１０００の構成と同じである。以下、図４（Ａ）の対象画像ＴＩと同じ対象画像ＴＩが用いられることとして、説明を行う。
【００８９】
本実施例では、図２の実施例とは異なり、出力データ生成部５３０は、割付領域を含む基準領域に合わせて対象画像のサイズを変更し、変更済の対象画像を用いて合成画像を生成する。図１６のフローチャートは、図２のフローチャートにおいて、ステップＳ２４０を、２つのステップＳ２３５、Ｓ２４０ａに置換して得られるものである。図１６の他のステップは、図２のステップと同じであるので、説明を省略する。
【００９０】
図１７（Ａ）は、第３実施例で用いられるテンプレート画像の例を示している。このテンプレート画像ＴＰＩ３は、図１５（Ａ）に示すテンプレート画像ＴＰＩ２と同じ割付領域Ｔ１０、Ｔ２０、Ｔ３０を有している。また、テンプレート画像ＴＰＩ３は、テンプレート画像ＴＰＩ３の全体の領域と同じ基準領域ＲＡを有している。
【００９１】
図１６のステップＳ２３５では、出力データ生成部５３０は、対象画像のサイズを、基準領域に合わせて変更する。図１７（Ｂ）は、テンプレート画像ＴＰＩ３と、基準領域ＲＡに合わせてサイズが変更された対象画像ＴＩｍと、を示す概略図である。図示するように、対象画像のサイズは、変更済の対象画像ＴＩｍが基準領域ＲＡの全体を覆い、かつ、変更済の対象画像ＴＩｍのサイズが最も小さくなるように、変更される。対象画像の縦横比は維持される。このようなサイズの変更は、対象画像の画素密度を変更することによって、行われる。すなわち、対象画像を拡大する場合には、画素密度が高められ、対象画像を縮小する場合には、画素密度が低減される。画素密度の変更方法としては、公知の方法を採用可能である（例えば、バイリニア法やバイキュービック法）。
【００９２】
図１６の次のステップＳ２４０ａでは、図１７（Ｂ）に示すように、出力データ生成部５３０は、基準領域ＲＡの左上隅ＲＰ３に、変更済の対象画像ＴＩｍの左上隅が一致するように、テンプレート画像ＴＰＩ３（すなわち、割付領域Ｔ１０、Ｔ２０、Ｔ３０）に対する対象画像ＴＩｍの位置を、決定する。
【００９３】
図１６の次のステップＳ２５０では、出力データ生成部５３０は、合成画像を表す出力データを生成する。図１７（Ｃ）は、合成画像の一例を示す概略図である。出力データ生成部５３０は、ステップＳ２４０ａで決定した配置に従って対象画像ＴＩｍをテンプレート画像ＴＰＩ３上に配置した場合に、対象画像ＴＩｍのうちの割付領域Ｔ１０、Ｔ２０、Ｔ３０と重なる部分を、割付領域Ｔ１０、Ｔ２０、Ｔ３０の画像として採用する。図１７（Ｃ）に示すように、合成画像ＯＩ３中の各割付領域Ｔ１０、Ｔ２０、Ｔ３０は、変更済の対象画像ＴＩｍによって、表されている。
【００９４】
以上のように、本実施例では、対象画像のサイズが、割付領域Ｔ１０、Ｔ２０、Ｔ３０を含む基準領域ＲＡに合わせて変更されるので、出力データ生成部５３０は、変更済の対象画像ＴＩｍとテンプレート画像ＴＰＩ３とが合成された合成画像ＯＩ３を表す出力データを、容易に生成できる。特に、本実施例では、対象画像のサイズは、変更済の対象画像ＴＩｍが基準領域ＲＡの全体を覆い、かつ、変更済の対象画像ＴＩｍのサイズが最も小さくなるように、変更される。従って、対象画像ＴＩｍのサイズが過剰に小さくなることと過剰に大きくなることを抑制できる。この結果、出力データ生成部５３０は、対象画像の内容がわかり易い合成画像を表す出力データを、生成可能である。
【００９５】
また、本実施例では、基準領域ＲＡは、テンプレート画像ＴＰＩ３の全体の領域と同じである。従って、対象画像のサイズが、テンプレート画像ＴＰＩ３の全体に合わせて変更されるので、出力データ生成部５３０は、合成画像を表す出力データを、容易に生成できる。なお、基準領域が、テンプレート画像の全体の領域と、厳密に一致している必要はない。ただし、基準領域は、テンプレート画像の全体の領域と略同じであることが好ましい。例えば、テンプレート画像のうちの一部が、基準領域から除かれてもよい（「第１部分」と呼ぶ）。この場合、テンプレート画像の面積（例えば、画素数）に対する、第１部分の面積の割合が、１０％以下であれば、基準領域は、テンプレート画像の全体の領域と略同じである、ということができる。逆に、基準領域のうちの一部が、テンプレート画像の外に配置されてもよい（「第２部分」と呼ぶ）。この場合、テンプレート画像の面積（例えば、画素数）に対する、第２部分の面積の割合が、１０％以下であれば、基準領域は、テンプレート画像の全体の領域と略同じである、ということができる。
【００９６】
また、第３実施例の合成画像処理は、テンプレート画像とサイズが変更された対象画像とが合成される点を除いて、第１実施例の合成画像処理と同じである。従って、第３実施例は、第１実施例と同様の種々の利点を実現可能である。
【００９７】
Ｄ．第４実施例：
図１８は、第４実施例における合成画像処理の例を示す概略図である。図１７に示す実施例との差異は、第４実施例では、割付領域Ｔ１０、Ｔ２０、Ｔ３０ごとに、対象画像のサイズが変更される点だけである。合成画像処理に用いられる画像処理システムの構成は、図１に示す画像処理システム１０００の構成と同じである。また、合成画像処理の手順は、対象画像のサイズの決定方法が異なる点を除いて、図３、図１６に示す手順と、同じである。以下、図４（Ａ）の対象画像ＴＩと同じ対象画像ＴＩが用いられることとして、説明を行う。
【００９８】
図１８（Ａ）は、テンプレート画像の例を示している。このテンプレート画像ＴＰＩ４は、図１５（Ａ）のテンプレート画像ＴＰＩ２と同じ割付領域Ｔ１０、Ｔ２０、Ｔ３０と、基準領域ＲＡ１、ＲＡ２、ＲＡ３と、を有している。図１８（Ｂ）〜図１８（Ｄ）は、基準領域ＲＡ１〜ＲＡ３と、基準領域ＲＡ１〜ＲＡ３に合わせてサイズが変更された対象画像ＴＩｍ１〜ＴＩｍ３と、をそれぞれ示している。
【００９９】
図１６のステップＳ２３５では、例えば、図１８（Ｂ）に示すように、出力データ生成部５３０は、対象画像のサイズを、変更済の対象画像ＴＩｍ１が基準領域ＲＡ１の全体を覆い、かつ、変更済の対象画像ＴＩｍ１のサイズが最も小さくなるように、変更する。対象画像の縦横比は維持される。他の基準領域ＲＡ２、ＲＡ３と対象画像ＴＩｍ２、ＴＩｍ３についても、同様である。
【０１００】
図１６の次のステップＳ２４０ａでは、例えば、図１８（Ｂ）に示すように、出力データ生成部５３０は、基準領域ＲＡ１の左上隅ＲＰ１に、変更済の対象画像ＴＩｍ１の左上隅が一致するように、テンプレート画像ＴＰＩ４（すなわち、基準領域ＲＡ１）に対する対象画像ＴＩｍ１の位置を、決定する。他の対象画像ＴＩｍ２、ＴＩｍ３の位置も、同様に、基準領域ＲＡ２、ＲＡ３の左上隅ＲＰ２、ＲＰ３を基準として、それぞれ決定される。
【０１０１】
図１８（Ｅ）は、合成画像の例を示している。出力データ生成部５３０は、ステップＳ２４０で決定した配置に従って、変更済の第１対象画像ＴＩｍ１をテンプレート画像ＴＰＩ４上に配置した場合に、第１対象画像ＴＩｍ１のうちの第１割付領域Ｔ１０と重なる部分を、第１割付領域Ｔ１０の画像として採用する。他の割付領域Ｔ２０、Ｔ３０の画像についても、同様である。図１８（Ｅ）の合成画像ＯＩ４では、各割付領域Ｔ１０、Ｔ２０、Ｔ３０は、対象画像ＴＩｍ１、ＴＩｍ２、ＴＩｍ３によって、それぞれ表されている。
【０１０２】
以上のように、第４実施例では、テンプレート画像ＴＰＩ４は、互いに離れた複数の基準領域ＲＡ１、ＲＡ２、ＲＡ３を有し、複数の基準領域ＲＡ１、ＲＡ２、ＲＡ３は、それぞれ、割付領域Ｔ１０、Ｔ２０、Ｔ３０を含む。そして、出力データ生成部５３０は、基準領域ＲＡ１、ＲＡ２、ＲＡ３ごとに、基準領域ＲＡ１、ＲＡ２、ＲＡ３に合わせて対象画像のサイズを変更する。従って、出力データ生成部５３０は、各割付領域Ｔ１０、Ｔ２０、Ｔ３０に対象画像が配置された合成画像を表す出力データを、容易に生成できる。
【０１０３】
特に、本実施例では、対象画像のサイズは、変更済の対象画像が基準領域の全体を覆い、かつ、変更済の対象画像のサイズが最も小さくなるように、変更される。従って、対象画像のサイズが過剰に小さくなることと過剰に大きくなることを抑制できる。この結果、出力データ生成部５３０は、対象画像の内容がわかり易い合成画像を表す出力データを、生成可能である。
【０１０４】
なお、第４実施例の合成画像処理は、テンプレート画像と、基準領域ごとにサイズが変更された対象画像とが合成される点を除いて、第１実施例の合成画像処理と同じである。従って、第４実施例は、第１実施例と同様の種々の利点を実現可能である。
【０１０５】
Ｄ．変形例：
（１）テンプレート画像の構成としては、図５、図１５、図１７、図１８の構成に限らず、種々の構成を採用可能である。例えば、テンプレート画像の画素密度（すなわち、合成画像の画素密度）が、読取画像（すなわち、対象画像）の画素密度と異なっていても良い。この場合も、対象画像とテンプレート画像との重ね合わせの方法としては、対象画像中の連続な複数の画素と、テンプレート画像中の連続な同数の画素とを、一対一で重ねる方法を採用可能である。
【０１０６】
対象画像ＴＩの配置の決定に利用される基準位置としては、テンプレート画像や基準領域の左上の隅に限らず、右下の隅や重心位置等、予め任意に決定された位置を採用可能である。また、出力データ生成部５３０は、ユーザの指示に従って、基準位置を決定してもよい。
【０１０７】
テンプレート画像中の割付領域としては、対象画像が表現される種々の領域を採用可能である。例えば、割付領域が、半透明な領域であってもよい（すなわち、割付領域の透明度が、０％よりも大きく、かつ、１００％よりも小さくてもよい）。一般に、割付領域としては、透明度が０％よりも大きい領域を採用可能である。こうすれば、割付領域は、対象画像を表現可能である。
【０１０８】
（２）合成画像の生成に利用される対象画像としては、読取画像中のオブジェクトを表す部分を含む種々の画像を採用可能である。例えば、オブジェクトを表す領域に外接する矩形領域の画像を、対象画像として採用してもよい。
【０１０９】
（３）割付領域に対する対象画像の配置としては、図５、図１５、図１７、図１８で説明した配置に限らず、種々の配置を採用可能である。例えば、出力データ生成部５３０は、複数の対象画像のそれぞれの位置を、隣合う対象画像の間に所定間隔の隙間があくように、決定してもよい。また、出力データ生成部５３０は、割付領域に対する対象画像の配置の決定方法として、予め決められた複数の決定方法の中からユーザによって選択された決定方法を採用してもよい。例えば、ユーザは、１つの決定方法を選択する指示を、操作部１５０を通じて入力し、処理制御部２５０は、選択された決定方法を特定する情報を、サーバ４００に送信する。サーバ４００の出力データ生成部５３０は、受信した情報によって特定される決定方法に従って、対象画像の配置を決定する。また、複数の決定方法としては、例えば、図５、図１５、図１７、図１８のそれぞれの実施例の決定方法から予め任意に選択された複数の決定方法を、採用可能である。
【０１１０】
（４）読取画像から対象画像を抽出する方法としては、図６で説明した二値データの生成と、図９で説明した対象矩形領域の特定と、を用いる方法に限らず、読取画像からオブジェクトを表す部分を含む画像を対象画像として抽出する任意の方法を採用可能である。例えば、図６のステップＳ５１０（塗りつぶし）を省略してもよい。ただし、ステップＳ５１０（塗りつぶし）を実行すれば、オブジェクトが孔を有する場合に、孔を含む領域を、オブジェクトを表す第１値領域として、抽出できる。また、図６のステップＳ５２０を省略してもよい。ただし、ステップＳ５２０を実行すれば、対象矩形領域の特定処理の計算量を低減できる。なお、最終二値画像中のオブジェクトを表す第１値領域は、読取画像ＲＩ中の背景を表す画素を含んでもよい。また、ステップＳ５２０のブロック化の処理において、１つのブロック内の総画素数に対する当該ブロック内の第１値の画素数の割合が、ゼロより大きく１００％よりも小さい所定の閾値（例えば、５０％）を超える場合に、当該ブロックの画素値が第１値に設定されることとしてもよい。
【０１１１】
また、図９のステップＳ６３０において、図１３で説明した処理を、第１直線Ｌｓ１と第２直線Ｌｓ２との一方のみに適用してもよい。すなわち、矩形特定部５２４は、第１直線Ｌｓ１と第２直線Ｌｓ２との一方のみに基づく２つの辺を有する複数の矩形領域から、対象矩形領域を特定してもよい。また、最終二値画像中のオブジェクト領域に内接する対象矩形領域の特定方法としては、図１１〜図１４で説明した方法に限らず、任意の方法を採用可能である。例えば、矩形特定部５２４は、矩形領域の４つの辺のそれぞれの位置の全ての可能な組合せについて、面積の算出と、オブジェクト領域に内接しているか否かの判定と、を行うことによって、対象矩形領域を特定してもよい。
【０１１２】
（５）試し印刷の代わりに、表示確認を行ってもよい。例えば、図３のステップＳ３４０では、出力データ生成部５３０は、合成画像を表す表示用データ（例えば、ＪＰＥＧデータ）を生成する。次のステップＳ３５０では、データ送信部５４０は、表示用データを複合機１００に送信する。次のステップＳ３６０では、処理制御部２５０は、表示用データを用いて出力画像を表示部１４０に表示する。次のステップＳ３７０では、ユーザは、表示部１４０に表示された合成画像を観察することによって、印刷を行うか否かを表す指示を入力する。そして、処理制御部２５０は、ユーザの指示に従って、印刷を行うか否かを示す指示を、サーバ４００に送信する。なお、試し印刷や表示確認などの事前の確認を省略してもよい。
【０１１３】
（６）合成画像処理によって印刷される文書としては、挨拶状に限らず、種々の文書を採用可能である。例えば、合成画像処理によって、ポスターが印刷されてもよい。また、出力データの用途としては、印刷に限らず、種々の用途（例えば、表示）を採用してもよい。一般的には、データ送信部５４０は、出力データを、画像出力装置（印刷装置または表示装置）に送信すればよい。また、データ送信部５４０は、画像出力装置に限らず、サーバ４００によって通信可能な任意の装置（例えば、ネットワークに接続された記憶装置（ＮＡＳとも呼ばれる）や、ユーザによって指定された装置（例えば、携帯電話））に、出力データを送信してもよい。また、データ送信部５４０を省略し、出力データ生成部５３０は、生成した出力データを、サーバ４００の記憶装置（例えば、不揮発性記憶装置４３０）に格納してもよい。
【０１１４】
（７）合成画像処理を実現する画像処理システムの構成としては、図１に示す構成に限らず、種々の構成を採用可能である。例えば、スキャナ１７０とプリンタ１８０とが、１つの装置（ここでは複合機１００）に組み込まれずに、互いに離れた別の装置として、実現されてもよい。いずれの場合も、データ送信部５４０は、出力データを、画像出力装置（例えば、印刷装置）に送信すればよい。
【０１１５】
また、対象物を光学的に読み取ることによって対象物を表す画像データを生成する画像読み取り装置としては、スキャナ１７０に限らず、種々の装置を採用可能である。例えば、デジタルカメラを採用してもよい。
【０１１６】
（８）画像読み取り装置によって生成された読取画像データを用いて出力データを生成する処理装置としては、サーバ４００に限らず、種々の装置を採用可能である。例えば、パーソナルコンピュータ、デジタルカメラ、携帯電話、複合機（例えば、複合機１００）が、上述のサーバ４００によって実現されている機能を、実現してもよい。また、ネットワークを介して互いに通信可能な複数の装置（例えば、コンピュータ）が、読取画像データを用いて出力データを生成する生成処理の機能を一部ずつ分担して、全体として、生成処理の機能を提供してもよい（これらの装置を備えるシステムが画像処理装置に対応する）。例えば、ユーザインタフェース（ユーザに対する問い合わせとユーザからの指示の受信）を担当する第１サーバと、画像処理（読取画像データの解析と出力データの生成）を担当する第２サーバとが、協働して、生成処理を進行してもよい。
【０１１７】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の二値処理部５２２の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
【０１１８】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
【０１１９】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１２０】
１００...複合機、１１０...プロセッサ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１３２...プログラム、１４０...表示部、１５０...操作部、１６０...通信インタフェース、１７０...スキャナ、１８０...プリンタ、２１０...データ送信部、２２０...データ受信部、２３０...スキャナ制御部、２４０...プリンタ制御部、２５０...処理制御部、４００...サーバ、４１０...プロセッサ、４２０...揮発性記憶装置、４３０...不揮発性記憶装置、４３２...プログラム、４３４...テンプレートデータ、４６０...通信インタフェース、５１０...データ取得部、５２０...抽出部、５２２...二値処理部、５２４...矩形特定部、５３０...出力データ生成部、５４０...データ送信部、９００...ネットワーク、１０００...画像処理システム
【図１】
2015041975.tif 000003
【図２】
2015041975.tif 000004
【図３】
2015041975.tif 000005
【図４】
2015041975.tif 000006
【図５】
2015041975.tif 000007
【図６】
2015041975.tif 000008
【図７】
2015041975.tif 000009
【図８】
2015041975.tif 000010
【図９】
2015041975.tif 000011
【図１０】
2015041975.tif 000012
【図１１】
2015041975.tif 000013
【図１２】
2015041975.tif 000014
【図１３】
2015041975.tif 000015
【図１４】
2015041975.tif 000016
【図１５】
2015041975.tif 000017
【図１６】
2015041975.tif 000018
【図１７】
2015041975.tif 000019
【図１８】
2015041975.tif 000020