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

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

Info

Publication number
JP6260144B2
JP6260144B2 JP2013173657A JP2013173657A JP6260144B2 JP 6260144 B2 JP6260144 B2 JP 6260144B2 JP 2013173657 A JP2013173657 A JP 2013173657A JP 2013173657 A JP2013173657 A JP 2013173657A JP 6260144 B2 JP6260144 B2 JP 6260144B2
Authority
JP
Japan
Prior art keywords
image
color
target area
original
processing apparatus
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
JP2013173657A
Other languages
English (en)
Other versions
JP2015041357A (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 JP2013173657A priority Critical patent/JP6260144B2/ja
Publication of JP2015041357A publication Critical patent/JP2015041357A/ja
Application granted granted Critical
Publication of JP6260144B2 publication Critical patent/JP6260144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)

Description

本発明は、画像処理技術に関し、特に、元画像と、テンプレート画像とを合成する画像処理技術に関する。
合成処理の対象となる画像である複数個の元画像と、テンプレート画像の複数個の合成対象領域と、を合成して、合成画像を生成する技術が知られている(例えば、特許文献1)。この技術では、スキャナなどで取得された複数個の元画像を、取得された順序で、複数個の合成対象領域に順次に合成している。
特開平2001−076127号公報
しかしながら、各元画像を、どの合成対象領域に合成するかについて、上記の技術では十分に考慮されていない。このために、各元画像が適切な合成対象領域に合成されるとは限らず、適切な合成画像を生成できない可能性があった。
本発明の目的は、複数個の元画像を、複数個の合成対象領域を含むテンプレート画像に合成する際に、各元画像を適切な合成対象領域に合成して適切な合成画像を生成する技術を提供することである。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]画像処理装置であって、
合成処理の対象となる画像である複数個の元画像を表す複数個の元画像データと、複数個の合成対象領域を含むテンプレート画像を表すテンプレート画像データと、を取得する第1の取得部と、
複数個の合成対象領域のうち、少なくとも1個の前記合成対象領域に関する領域情報を取得する第2の取得部と、
各前記元画像データを用いて各前記元画像の特徴を示す特徴値を算出する算出部と、
前記元画像の特徴値と、前記領域情報と、を用いて、複数個の前記元画像を比較した結果、および、複数個の合成対象領域を比較した結果、の少なくとも一方に基づいて、複数個の元画像の中から、複数個の前記合成対象領域のそれぞれに合成する前記元画像を決定する決定部と、
前記テンプレート画像内の複数個の前記合成対象領域のそれぞれに、決定された前記元画像を合成して合成画像を生成する合成部と、
を備える、画像処理装置。
上記構成によれば、元画像の特徴値と、領域情報と、を用いて、複数個の合成対象領域のそれぞれに合成する元画像が決定される。この結果、各元画像を適切な合成対象領域に合成して適切な合成画像を生成することができる。
[適用例2]適用例1に記載の画像処理装置であって、
特定の前記合成対象領域の前記領域情報は、特定の前記合成対象領域に合成すべき画像の色を示す領域色情報を含み、
前記算出部は、前記元画像の色に関する前記特徴値を算出し、
前記決定部は、前記領域色情報と、前記元画像の色に関する前記特徴値と、を用いて、特定の前記合成対象領域に合成する前記元画像として決定する、画像処理装置。
この構成によれば、適切な色の元画像を合成対象領域に合成して適切な合成画像を生成することができる。
[適用例3]適用例2に記載の画像処理装置であって、
前記決定部は、複数個の前記元画像のうち、特定の前記合成対象領域の前記領域色情報によって示される色に最も近い色を有する前記元画像を、特定の前記合成対象領域に合成する前記元画像として決定する、画像処理装置。
この構成によれば、特定の合成対象領域に適切な色の元画像を合成することができる。
[適用例4]適用例2に記載の画像処理装置であって、
前記決定部は、M個(Mは自然数)の前記元画像と、N個(Nは自然数)の前記合成対象領域と、によって、N個のペアを構成した場合に、N個のペアの色の差分の合計値が最小となるように、M個の前記元画像の中から、N個の前記合成対象領域に合成する前記元画像を前記合成対象領域ごとに決定し、
前記ペアの色の差分は、ペアを構成する前記元画像の色と、ペアを構成する前記合成対象領域の前記領域色情報によって示される色と、の差分である、画像処理装置。
この構成によれば、複数個の合成対象領域のそれぞれに適切な色の元画像を合成することができる。
[適用例5]適用例2ないし適用例4のいずれかに記載の画像処理装置であって、
特定の前記合成対象領域の前記領域色情報は、複数個の色を示す情報を含み、
前記決定部は、前記複数個の色を示す情報を用いて、特定の前記合成対象領域に合成する前記元画像を決定する、画像処理装置。
この構成によれば、特定の合成対象領域により適切な色の元画像を合成することができる。
[適用例6]適用例2ないし適用例5のいずれかに記載の画像処理装置であって、
複数個の前記合成対象領域は、対応する前記領域色情報を有する第1の合成対象領域と、対応する前記領域色情報を有さない第2の合成対象領域と、を含み、
前記決定部は、前記第1の合成対象領域に合成する前記元画像を、前記第2の合成対象領域より優先して決定する、画像処理装置。
この構成によれば、第1の合成対象領域に合成する元画像を、第2の合成対象領域より優先して決定することによって、第1の合成対象領域と第2の合成対象領域とに合成される元画像をそれぞれ適切に決定することができる。
[適用例7]適用例2ないし適用例6のいずれかに記載の画像処理装置であって、
特定の前記合成対象領域の前記領域色情報は、さらに、前記合成対象領域に合成すべき画像の色として許容できる範囲と、許容できない範囲と、を示す許容範囲情報を含み、
前記決定部は、前記許容範囲情報を用いて、前記許容できる範囲内の色を有する前記元画像を、特定の前記合成対象領域に合成する前記元画像として決定する、画像処理装置。
この構成によれば、特定の合成対象領域に、不適切な色を有する前記元画像が合成されることを抑制することができる。
[適用例8]適用例2ないし適用例5のいずれかに記載の画像処理装置であって、さらに、
特定の前記合成対象領域の前記領域色情報を用いて、特定の前記合成対象領域に合成される前記元画像の色を補正する補正部を備える、画像処理装置。
この構成によれば、特定の合成対象領域に合成される元画像の色を補正することによって、合成画像の見栄えを向上することができる。
[適用例9]適用例1ないし適用例8のいずれかに記載の画像処理装置であって、
特定の前記合成対象領域の前記領域情報は、特定の前記合成対象領域のサイズを示す領域サイズ情報を含み、
前記算出部は、前記元画像のサイズに関する前記特徴値を算出し、
前記決定部は、前記領域サイズ情報と、前記元画像のサイズに関する前記特徴値と、を用いて、特定の前記合成対象領域に合成する前記元画像を決定する、画像処理装置。
この構成によれば、元画像のサイズと合成対象領域のサイズに応じて、特定の合成対象領域に、適切なサイズの元画像を合成することができる。
[適用例10]適用例9に記載の画像処理情報であって、
前記領域サイズ情報は、特定の前記合成対象領域に外接する外接矩形のサイズ、および、前記外接矩形に占める特定の前記合成対象領域の割合、のうち少なくとも一方に基づく情報を含む、画像処理装置。
この構成によれば、特定の合成対象領域に、より適切なサイズの元画像を合成することができる。
[適用例11]適用例9または適用例10に記載の画像処理装置であって、
前記合成部は、特定の前記合成対象領域に合成する前記元画像のサイズが、特定の前記合成対象領域のサイズより小さい場合には、前記元画像を複数個連続して並べた画像を、特定の前記合成対象領域に合成する、画像処理装置。
この構成によれば、合成すべき元画像のサイズが、特定の合成対象領域のサイズより小さい場合であっても、適切な合成画像を生成することができる。
[適用例12]適用例9ないし適用例11のいずれかに記載の画像処理装置であって、
前記合成部は、特定の前記合成対象領域に合成する前記元画像のサイズと、特定の前記合成対象領域のサイズと、に応じて、前記元画像のサイズを変更し、
サイズが変更された前記元画像を、特定の前記合成対象領域に合成する、画像処理装置。
この構成によれば、合成すべき元画像のサイズと、特定の合成対象領域のサイズと、に応じて、サイズが適切に変更された元画像を特定の合成対象領域に合成することができる。
[適用例13]適用例1ないし適用例12のいずれかに記載の画像処理装置であって、
前記第1の取得部は、
前記元画像を含む対象画像を表す対象画像データを取得し、
前記対象画像内の複数個の画素を、背景を表す背景画素と、オブジェクトを表すオブジェクト画素と、に分類し、
複数個の前記オブジェクト画素によって構成される前記元画像を特定し、
特定された前記元画像を表す前記元画像データを取得する、画像処理装置。
この構成によれば、対象画像内のオブジェクトを表す画像を、元画像として適切に特定することができる。
[適用例14]適用例1ないし適用例13のいずれかに記載の画像処理装置であって、さらに、
前記合成画像を表す第1の合成画像データと、前記合成画像と余白とを含む画像を表す第2の合成画像データと、を出力する第1の出力部を備え、
前記第1の合成画像データを用いて第1種の用紙に印刷される前記合成画像の用紙上のサイズと、前記第2の合成画像データを用いて前記第1種の用紙より大きな第2種の用紙に印刷される前記合成画像の用紙上のサイズは等しい、画像処理装置。
こうすれば、ユーザは、第2の合成画像データを用いて第2種の用紙に画像を印刷することによって、合成画像を第1種の用紙に印刷することなく、合成画像の内容を適切に確認することができる。
[適用例15]適用例1ないし適用例14のいずれかに記載の画像処理装置であって、さらに、
複数個の前記元画像を、前記テンプレート画像に合成して得られる複数種類の前記合成画像を含むテスト画像を表すテスト画像データを出力する第2の出力部を備える、画像処理装置。
ユーザは、複数種類の合成画像の内容を1個のテスト画像を用いて確認できるので、ユーザに対する利便性を向上することができる。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法、これらの装置の機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
第1実施例における画像処理システムの構成を示すブロック図である。 テンプレートデータの一例を示す図である。 領域色情報CIの一例を示す図である。 画像処理システム1000の動作を示すフローチャートである。 UI画像の一例を示す図である。 スキャン画像の一例を示す図である。 テクスチャ画像生成処理のフローチャートである。 素材画像と対象領域との組み合わせパターンを示す図である。 本実施例の一次元ルックアップテーブルの一例を説明する図である。 サイズ調整処理のフローチャートである。 サイズ調整処理について説明する図である。 合成画像データによって表される合成画像10Mの一例を示す図である。 第2実施例のテクスチャ画像生成処理のフローチャートである。 第3実施例のテクスチャ画像生成処理のフローチャートである。 変形例のサイズ調整処理の説明図である。
A.第1実施例:
A−1:画像処理システム1000の構成
図1は、第1実施例における画像処理システムの構成を示すブロック図である。画像処理システム1000は、画像処理装置としてのサーバ400と、複合機200と、を備えている。サーバ400は、インターネット70に接続されており、複合機200は、LAN(Local Area Network)50を介して、インターネット70に接続されている。この結果、サーバ400と複合機200は、LAN50とインターネット70とを介して、通信可能である。また、LAN50には、複合機200のユーザのパーソナルコンピュータ500が接続されていても良い。
サーバ400は、CPU410と、DRAMなどの揮発性記憶装置420と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置430と、インターネット70などのネットワークに接続するためのインタフェースを含む通信部480と、を備えている。揮発性記憶装置420には、CPU410が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域421が設けられている。不揮発性記憶装置430には、コンピュータプログラム431と、複数個のテンプレートデータを含むテンプレートデータ群432と、後述するUIデータ群433と、が格納されている。
コンピュータプログラム431は、例えば、DVD−ROMなどに格納された形態で提供され、サーバ400の管理者によって、サーバ400にインストールされる。CPU410は、コンピュータプログラム431を実行することにより、後述する画像処理を実現する。
図2は、テンプレートデータの一例を示す図である。1個のテンプレートデータは、テンプレート画像10(図2(A))を表すテンプレート画像データと、マスク画像11(図2(B))を表すマスク画像データと、領域情報12と、を含んでいる。
テンプレート画像データは、例えば、RGB画像データである。図2の例では、テンプレート画像10には、文字10Aなどのオブジェクトがデザインされた背景画像BGと、他の画像を合成するための合成対象領域10B、10Dと、を含んでいる。合成対象領域10B、10Dの個数や形状やサイズ、および、背景画像BGのデザインは、テンプレート画像ごとに異なり得る。合成対象領域は、後述する画像処理において、テンプレート画像10を用いて合成画像を生成する際に、後述するテクスチャ画像内の画像が、合成される領域である。
マスク画像11は、テンプレート画像10内の合成対象領域10B、10Dを特定するための画像である。マスク画像11は、テンプレート画像10と同じサイズ(すなわち、縦方向の画素数および横方向の画素数)を有する。マスク画像11内の画素の値は、第1値と、第2値と、の2つの値を取る。このマスク画像11では、第1値は、対応するテンプレート画像10内の画素が背景画像BGを構成する画素であることを示す。第2値は、対応するテンプレート画像10内の画素が合成対象領域10B、10Dを構成する画素であることを示す。例えば、マスク画像データには、画素ごとに透過率を規定するアルファチャンネルが用いられる。この場合には、例えば、第1値は、透過率が0%であること、すなわち、不透明であることを示す値(例えば、255)であり、第2値は、透過率が100%であること、すなわち、透明であることを示す値(例えば、0)である。
マスク画像11内のハッチングされていない領域MAは、第1値を有する複数個の画素で構成される領域である。領域MAは、テンプレート画像10の背景画像BGに対応する。マスク画像11内のハッチングされた領域11B、11Dは、第2値を有する複数個の画素で構成される領域である。領域11B、11Dは、テンプレート画像10内の合成対象領域10B、10Dに対応する。
領域情報12は、合成対象領域10B、10Dに関する情報である。具体的には、領域情報12は、合成対象領域10B、10Dを識別する識別子としての領域番号と、合成対象領域10B、10Dの代表点SP1、SP2の座標と、領域サイズ情報と、領域色情報CIと、を含む。代表点SP1、SP2には、例えば、合成対象領域10B、10Dに外接する外接矩形10C、10Eの左上の頂点が用いられる。領域サイズ情報は、合成対象領域10B、10Dの外接矩形10C、10Eの幅W1、W2(横方向の長さ)および高さH1、H2(縦方向の長さ)を含む。
図3は、領域色情報CIの一例を示す図である。領域色情報CIは、合成対象領域ごとに、合成対象領域に合成すべき画像の色を示す情報である。図3の領域色情報CIは、理想色情報と、許容範囲情報と、を含む。理想色情報は、合成対象領域に合成される画像の色として理想的な色(理想色とも呼ぶ)を示す情報である。本実施例では、理想色は、機器独立色空間であるCIELAB色空間(*L*a*b色空間)における表色値を用いて表されている。例えば、馬の形状を有する第1の合成対象領域10Bには、馬の色として一般的な茶色、葦毛の色などが理想色に設定され得る。
1個の合成対象領域には、1個の理想色に限らず、複数個の理想色が対応付けられてもよい。例えば、図3の領域色情報CIでは、第1の合成対象領域10Bに対して、2個の理想色(L1,a1,b1)、(L2,a2,b2)が対応付けられている。この結果、合成対象領域10Bの形状などに応じて、適切な理想色を対応付けることができる。したがって、合成対象領域10Bにより適切な色の素材画像を合成することができる。
また、1個の合成対象領域には、理想色が対応付けられていなくても良い。例えば、文字の形状を有する第2の合成対象領域10Dには、理想色は対応付けられていない。第2の合成対象領域10Dに理想色が対応付けられていないことによって、後述するテクスチャ画像生成処理において、理想色が対応付けられている第1の合成対象領域10Bに合成する素材画像を、第2の合成対象領域10Dより優先的に決定することができる。
許容範囲情報は、本実施例では、合成対象領域に合成される画像の色として許容できない色の範囲(非許容範囲とも呼ぶ)が記述されている。非許容範囲外の範囲は、許容できる色の範囲(許容範囲とも呼ぶ)と言うことができるので、許容範囲情報は、許容範囲と、非許容範囲を規定する情報であると、言うことができる。図3の領域色情報CIでは、合成対象領域10B、10Dのそれぞれについて、明度(*L値)の非許容範囲が規定されている。非許容範囲が規定されていない成分値(図3の例では*a値と*b値)は、全ての範囲の値が許容されることを示している。図3の領域色情報CIで、明度(*L値)の非許容範囲(L4≦*Lや、L5≦*L)が規定されているのは、背景画像BG(主として白色(最明色))とのコントラストをある程度確保するためである。
図1に戻って説明を続ける。図1の複合機200は、CPU210と、DRAMなどの揮発性記憶装置220と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置230と、プリンタ部240と、スキャナ部250と、タッチパネルやボタンなどの操作部260と、液晶ディスプレイなどの表示部270と、外部機器と通信を行う通信部280と、を備えている。例えば、通信部280は、LAN50などのネットワークに接続するためのインタフェースや、外部記憶装置(例えば、USBメモリ)と接続するためのインタフェースを含んでいる。
揮発性記憶装置220には、CPU210が処理を行う際に生成される種々のデータを一時的に格納するバッファ領域221が設けられている。不揮発性記憶装置230には、制御プログラム231が格納されている。
プリンタ部240は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。スキャナ部250は、光電変換素子(例えば、CCD、CMOS)を用いて光学的に原稿を読み取ることによってスキャンデータを生成する。
CPU210は、制御プログラム231を実行することにより、複合機200の制御を実行する。例えば、CPU210は、プリンタ部240やスキャナ部250を制御して、コピー処理、印刷処理、スキャン処理などを実行する。さらに、CPU210は、サーバ400にアクセスして、サーバ400が提供するサービスを利用するサービス利用処理を、実行することができる。
A−2:画像処理システム1000の動作
サーバ400のCPU410は、クライアントとしての複合機200の要求に応じて、後述するテクスチャ画像を生成し、生成されたテクスチャ画像をテンプレート画像に合成して、合成画像を生成する画像処理を実行する。この画像処理は、本実施例では、サーバ400がクライアントに提供する画像生成サービスを実現するために、実行される。以下では、サーバ400が提供する画像生成サービスを含む画像処理システム1000の動作について説明する。
図4は、画像処理システム1000の動作を示すフローチャートである。このフローチャートの処理は、複合機200が、サーバ400が提供する画像生成サービスの利用指示を、ユーザから受け付けた場合に開始される。この画像生成サービスは、具体的には、スキャナ部250を用いて生成されたスキャンデータを用いて、ハガキ(例えば、年賀ハガキ)に印刷するための合成画像を生成するサービスである。スキャンデータは、例えば、RGB画像データである。
処理が開始されると、ステップS5では、複合機200のCPU210は、サービス開始要求を、サーバ400に対して送信する。サーバ400のCPU410は、サービス開始要求を受信すると、UIデータ群433(図1)から画像生成サービスの提供に必要なUIデータを選択し、該UIデータを複合機200に対して送信する(ステップS10)。UIデータは、具体的には、UI画像を表示するために必要な各種の画像データと、制御データと、を含む。この制御データは、例えば、UI画像を利用して複合機200が所定の処理(具体的には、後述するS15、S20、S30、S35の処理)を行うために必要な各種のデータを含む。例えば、制御データは、UI画像(例えば、図5)を介して受け付けたユーザの指示に基づいて、複合機200が実行すべき処理、例えば、サーバ400に選択指示データを送信する処理を示す情報を含む。
ステップS15では、CPU210は、受信したUIデータに基づいて、テンプレート画像選択処理を実行する。テンプレート画像選択処理は、テンプレート画像(例えば、図2のテンプレート画像10)を選択する指示を、ユーザから受け付ける処理である。
図5は、UI画像の一例を示す図である。先ず、CPU210は、図5(A)のUI画像UG1を表示部270に表示して、利用するテンプレート画像の選択をユーザから受け付ける。例えば、UI画像UG1は、選択可能な複数個のテンプレート画像を示す複数個のサムネイル画像SM1、SM2と、テンプレート画像の選択を促すメッセージMS1と、を含む。UI画像UG1やサムネイル画像SM1、SM2示す画像データ群は、サーバ400から受信されたUIデータに含まれているデータ群が用いられる。
ステップS20では、CPU210は、ユーザによって選択されたテンプレート画像を指定する情報を含む選択指示データを、サーバ400に対して送信する。
ステップS25では、サーバ400のCPU410は、受信された選択指示データに基づいて、不揮発性記憶装置430に格納されたテンプレートデータ群432(図1)の中から、ユーザによって選択されたテンプレート画像に対応するテンプレートデータを取得する。テンプレートデータは、外部機器、例えば、サーバ400と接続された他のサーバや外部記憶装置から取得されても良い。なお、図2に示すテンプレート画像10がユーザによって選択された場合を例として、以後の処理を説明する。
ステップS20の選択指示データの送信に続いて、複合機200のCPU210は、スキャンデータ生成処理を実行する(ステップS30)。スキャンデータ生成処理は、テンプレート画像10に合成すべきテクスチャ画像(詳細は後述)を生成するために用いられるスキャンデータを生成する処理である。具体的には、CPU210は、図5(B)のUI画像UG2を表示部270に表示する。UI画像UG2は、例えば、使用する素材をスキャナ部250に読み取らせるように、ユーザに促すメッセージMS2を含む。使用する素材には、本実施例では、比較的薄く、様々な模様や形状を有する物、具体的には、植物の葉、布、和紙、折り紙、金属板、などが想定されている。ステップS30では、CPU210は、利用者が用意した素材を、スキャナ部250を用いて読み取ることによって、スキャンデータを生成する。例えば、テンプレート画像10内の2個の合成対象領域10B、10Dに対応して、2種類の布を素材として読み取ることによって、第1のスキャンデータと第2のスキャンデータが生成される。
図6は、スキャン画像の一例を示す図である。図6(A)のスキャン画像14は、円形の布を読み取って得られた第1のスキャンデータによって表される画像である。スキャン画像14は、素材としての円形の布を表す部分画像5と、異物を表す部分画像6と、背景画像7と、含んでいる。図6(B)のスキャン画像15は、略矩形の布を読み取って得られる第2のスキャンデータによって表される画像である。スキャン画像15は、素材としての略矩形の布を表す部分画像8と、背景画像9と、を含んでいる。
スキャンデータが生成されると、続くステップS35では、CPU410は、生成されたスキャンデータを、サーバ400に送信する。この結果、サーバ400のCPU410は、スキャンデータを取得する(ステップS40)。
ステップS45では、CPU410は、テクスチャ画像生成処理を実行する。テクスチャ画像生成処理では、スキャン画像14、15の部分画像である素材画像を用いてテクスチャ画像が生成される。
図7は、テクスチャ画像生成処理のフローチャートである。ステップS100では、処理対象のスキャンデータを選択する。例えば、スキャン画像14を表す第1のスキャンデータと、スキャン画像15を表す第2のスキャンデータの中から、1個のスキャンデータが処理対象として選択される。以下では、スキャン画像14を表す第1のスキャンデータが処理対象である場合を先に説明する。
ステップS110では、CPU410は、処理対象のスキャン画像14(図6(A))内のオブジェクト画素と背景画素とを特定する。具体的には、CPU410は、第1のスキャンデータを二値化して、スキャン画像14内の複数個の画素を、背景の色(例えば、白)を有する背景画素と、背景の色とは異なる色を有するオブジェクト画素とに分類する。
図6(C)には、二値化された第1のスキャンデータによって表される二値画像16が示されている。二値画像16において、黒色の領域は、オブジェクト画素によって構成される領域であり、白色の領域は、背景画素によって構成される領域を示す。
ステップS120では、CPU410は、二値画像16において、連続する複数個のオブジェクト画素を、1個のオブジェクトとして特定する。図6(C)の例では、スキャン画像14内の2個のオブジェクト、すなわち、円形の布と異物とに対応する2個の領域5A、6Aが特定される。この結果、スキャン画像14内において、円形の布を表す部分画像5と、異物を表す部分画像6と、が特定される。
ステップS130では、CPU410は、特定されたオブジェクトのうち、サイズが最大のオブジェクトの内接矩形を特定する。オブジェクトのサイズは、例えば、オブジェクトを構成するオブジェクト画素の個数で表すことができる。図6(A)の例では、スキャン画像14内の円形の布を表す部分画像5のサイズは、異物を表す部分画像6より大きいので、円形の布を表す部分画像5の内接矩形ISが特定される(図6(A))。本実施例では、部分画像5の内接矩形ISとして、部分画像5の輪郭に内接する最大の内接矩形が特定される。
最大の内接矩形ISは、公知の方法で決定される。例えば、特開2007−140593には、所定のアスペクト比の矩形のマスクで画像の所定領域内を走査して、所定領域内に留まる矩形のマスクの最大のサイズを記録する処理を、様々なアスペクト比のマスクを用いて繰り返す方法が開示されている。
ステップS140では、CPU410は、部分画像5の最大の内接矩形IS1内の画像を、スキャン画像14から抽出して(切り出して)、第1の素材画像17(図6(D))を生成する。すなわち、この結果、スキャン画像14からオブジェクトを表す複数個のオブジェクト画素によって構成された第1の素材画像17を表す画像データが生成される。
ステップS110〜140の処理によって、スキャン画像14内のオブジェクト(具体的には、布などの素材)を表す画像を適切に特定して、第1の素材画像17を表す画像データを生成することができる。
ステップS150では、CPU410は、全てのスキャンデータが処理されたか否かを判断する。未処理のスキャンデータがある場合には(ステップS150:NO)、CPU410は、ステップS100に戻って、未処理のスキャンデータを選択して、上述したステップS110〜140の処理を繰り返す。この結果、スキャン画像15(図6(B))から、略矩形の布を表す部分画像8の内接矩形IS2内の画像が抽出されて、第2の素材画像18(図6(E))を表す画像データが生成される。
未処理のスキャンデータがない場合には(ステップS150:YES)、CPU410は、各素材画像17、18の代表色を算出する(ステップS160)。具体的には、CPU410は、第1の素材画像17を表す画像データの色空間を、RGB色空間からCIELAB色空間に変換する。CPU410は、第1の素材画像17のヒストグラムデータを、*L値、*a値、*b値についてそれぞれ作成し、*L値、*a値、*b値の最頻値(Lm、am、bm)を第1の素材画像17の代表色として算出する。第2の素材画像18についても同様である。なお、代表色は、*L値、*a値、*b値の最頻値に限らず、平均値や中間値であっても良い。
ステップS170では、CPU410は、素材画像と合成対象領域との組み合わせパターンを特定する。例えば、N個(Nは自然数)の素材画像と、N個の合成対象領域と、が存在する場合には、N個(Nは自然数)の素材画像と、N個の合成対象領域と、によって構成されたN個のペアを含む全ての組み合わせパターンが特定される。図8は、素材画像と対象領域との組み合わせパターンを示す図である。この例では、2個の素材画像17、18と、2個の合成対象領域10B、10Dと、の組み合わせであるので、パターン1と、パターン2と、の2つのパターンが特定される。パターン1は、第1の合成対象領域10Bと第1の素材画像17とのペアと、第2の合成対象領域10Dと第2の素材画像18とのペアと、を含む。パターン2は、第1の合成対象領域10Bと第2の素材画像18とのペアと、第2の合成対象領域10Dと第1の素材画像17とのペアと、を含む。
ステップS180では、CPU410は、各パターンの色差合計値ΔVTを算出する。パターンが、N個(Nは自然数)の素材画像と、N個の合成対象領域と、によって構成されたN個のペアを含む場合には、当該パターンの色差合計値ΔVTは、N個のペアの色の差分ΔPC(1)〜ΔPC(N)の合計値である。ペアの色の差分ΔPCは、ペアを構成する合成対象領域の理想色と、素材画像の代表色と、のCIELAB色空間におけるユークリッド距離である。
ここで、特定の合成対象領域に、複数個の理想色が対応付けられている場合には、複数個の理想色のうち、ペアを構成する素材画像の代表色との間のユークリッド距離が最小となる理想色が採用される。この結果、素材画像の色に応じて、複数個の理想色を適切に使い分けることによって、合成対象領域により適切な色の素材画像を合成することができる。
また、特定の合成対象領域に、理想色が対応付けられていない場合には、当該特定の合成対象領域を含むペアの色の差分は、「0」とされる。例えば、図3の例では、第2の合成対象領域10Dに理想色が対応付けられていないので、第2の合成対象領域10Dと、任意の素材画像と、のペアの色の差分は、常に「0」とされる。したがって、図8の例では、パターン1の色差合計値ΔVT1は、第1の合成対象領域10Bの理想色と第1の素材画像17の代表色とのユークリッド距離である。パターン2の色差合計値ΔVT2は、第1の合成対象領域10Bの理想色と第2の素材画像18の代表色とのユークリッド距離である。
ステップS190では、CPU410は、色差合計値ΔVTが最小となる組み合わせパターンを、合成対象領域と素材画像との対応関係を定める組み合わせパターンに決定する。例えば、パターン1の色差合計値ΔVT1が、パターン2の色差合計値ΔVT2より小さい場合には、パターン1に示すように、第1の合成対象領域10Bに第1の素材画像17を合成し、第2の合成対象領域10Dに第2の素材画像18を合成することが決定される。また、パターン1の色差合計値ΔVT1が、パターン2の色差合計値ΔVT2以上である場合には、パターン2に示すように、第1の合成対象領域10Bに第2の素材画像18を合成し、第2の合成対象領域10Dに第1の素材画像17を合成することが決定される。
ここで、上述したように、第2の合成対象領域10Dには、理想色が対応付けられていないので、第2の合成対象領域10Dと、任意の素材画像と、のペアの色の差分は、常に「0」とされる。すなわち、第2の合成対象領域10Dを含むペアの色の差分は、色差合計値ΔVTに影響を与えない。したがって、ステップS190では、第2の合成対象領域10Dについては考慮されずに、第1の合成対象領域10Bを含むペアの色の差分に基づいて、合成対象領域10B、10Dに合成すべき素材画像が決定されることになる。換言すれば、理想色が対応付けられている第1の合成対象領域10Bに合成する素材画像が、第2の合成対象領域10Dより優先的に決定される。この結果、第1の合成対象領域10Bと第2の合成対象領域10Dとに合成される素材画像をそれぞれ適切に決定することができる。
ステップS200では、CPU410は、合成すべき合成対象領域に対応付けられた許容範囲外にある代表色を有する素材画像があるか否かを判断する。このような素材画像がある場合には(ステップS200:YES)、CPU410は、その素材画像の色を補正する色補正処理を実行する(ステップS210)。具体的には、CPU410は、その素材画像の各画素の色値(*L、*a、*b)の成分値を、一次元ルックアップテーブルを用いて、補正する。
図9は、本実施例の一次元ルックアップテーブルの一例を説明する図である。図9には、*L値を補正するためのγカーブである。本実施例の一次元ルックアップテーブルは、図9に示すγカーブの入力値*Linと出力値*Loutとを対応付けたテーブルである。図9に示すγカーブでは、補正対象の素材画像の代表色の*L値であるLreを入力した場合に、*L値の目標値Ltarが出力されるように、γ値が調整されている。*L値の目標値Ltarは、例えば、対応する合成対象領域の*L値の許容範囲の上限値および下限値のうち、素材画像の代表色の*L値Lreに近い値であっても良い。また、合成すべき合成対象領域に理想色が対応付けられている場合には、*L値の目標値Ltarは、理想色の*L値Lidであっても良い。この色補正は、例えば、代表色を理想色に近づける補正を行う場合には、色値(*L、*a、*b)の3つの成分値の全てに対して実行される。また、許容範囲外の代表色を許容範囲内の色に補正する場合には、色値(*L、*a、*b)の3つの成分値のうち、代表色の値が許容範囲外である成分値に対して実行される。このように、γカーブを用いて補正を行うことによって、素材画像の模様や質感を維持しつつ、全体の色を変更することができる。
このように、理想色や色の許容範囲が規定された領域色情報CI(図3)を用いて、素材画像の補正を行うことによって、後に生成される合成画像10M(図12)の見栄えを向上することができる。
図7のステップS200において、合成すべき合成対象領域に対応付けられた許容範囲外にある代表色を有する素材画像がない場合には(ステップS200:NO)、CPU410は、ステップS210をスキップする。
ステップS220では、CPU410は、サイズ調整処理を実行する。サイズ調整処理は、合成すべき合成対象領域10B、10Dのサイズに応じて、素材画像17、18のサイズを調整する処理である。
図10は、サイズ調整処理のフローチャートである。図10のサイズ調整処理は、合成に用いられる全ての素材画像(本実施例では、素材画像17、18)に対して、それぞれ実行される。ステップS300では、CPU410は、素材画像が、合成されるべき合成対象領域より小さいか否かを判断する。具体的には、素材画像の幅、および、高さのうちの少なくとも一方が、合成対象領域の幅、および、高さより小さい場合には、素材画像が、合成対象領域より小さいと判断される。素材画像の幅、および、高さの両方が、合成対象領域の幅、および、高さ以上である場合には、素材画像が、合成対象領域以上のサイズであると判断される。本実施例では、合成対象領域は、図2の合成対象領域10B、10Dのように、馬や文字などの様々な形状を有し得る(図2)。このために、合成対象領域0B、10Dのサイズを示す値には、合成対象領域の外接矩形10C、10Eの幅および高さが用いられる(図2(A))。
素材画像が、合成対象領域以上のサイズである場合には(ステップS300:NO)、CPU410は、素材画像を合成対象領域のサイズにトリミングして、合成対象領域のサイズを有するテクスチャ画像を生成する(ステップS310)。すなわち、合成対象領域の幅および高さを有する矩形のテクスチャ画像が生成される。
図11は、サイズ調整処理について説明する図である。図11(A)の例では、第2の素材画像18の幅SW2および高さSH2が、第2の素材画像18を合成すべき第1の合成対象領域10Bの高さH1および幅W1より大きい場合を示している。この場合には、CPU410は、第2の素材画像18をトリミングして、第1の合成対象領域10Bの幅W1および高さH1を有する矩形のテクスチャ画像28を生成する。テクスチャ画像28は、第1の合成対象領域10Bの外接矩形10Cと同じサイズである、とも言うことができる。
素材画像が、合成対象領域より小さい場合には(ステップS300:YES)、CPU410は、複数個の素材画像を連続して並べることによって、合成対象領域のサイズを有するテクスチャ画像を生成する(ステップS320)。この結果、素材画像のサイズが、対応する合成対象領域のサイズより小さい場合であっても、適切な合成画像を生成することができる。複数個の素材画像を連続して並べる処理をタイリング処理とも呼ぶ。
図11(B)の例では、第1の素材画像17の幅SW1および高さSH1が、素材画像17を合成すべき第2の合成対象領域10Dの高さH2および幅W2より小さい場合を示している。CPU410は、4個の素材画像17を、縦2×横2のマトリクス状に並べることで、第2の合成対象領域10Dより大きなサイズのテクスチャ画像を生成する。CPU410は、第2の合成対象領域10Dより大きなサイズのテクスチャ画像をトリミングして、第2の合成対象領域10Dの幅W2および高さH2を有する矩形のテクスチャ画像27を生成する。テクスチャ画像27は、第2の合成対象領域10Dの外接矩形10Eと同じサイズである、とも言うことができる。サイズ調整処理が終了すると、テクスチャ画像生成処理が終了される。
図4に戻って説明を続ける。テクスチャ画像生成処理が終了すると、続くステップS55では、合成処理が実行される。合成処理は、テクスチャ画像27、28を、テンプレート画像10の合成対象領域10D、10B(図2(A))に合成して、合成画像を表す合成画像データを生成する処理である。
第1の合成対象領域10Bに、テクスチャ画像28(図11(A))を合成する場合を例に説明する。CPU410は、領域情報12(図2(C))を参照して、テンプレート画像10上における第1の合成対象領域10Bの外接矩形10Cの左上の頂点SP1の位置(座標)を取得する。CPU410は、第1の合成対象領域10Bの頂点SP1の画素と、テクスチャ画像28の左上の頂点の画素と、が対応するように、テンプレート画像10の座標系と、テクスチャ画像28の座標系と、を対応付ける。
そして、CPU410は、テクスチャ画像28の画素を1個ずつ注目画素に設定して、テクスチャ画像28内の画素ごとに次の処理を実行する。すなわち、CPU410は、テクスチャ画像28内の注目画素に対応する、マスク画像11(図2(B))内の画素を参照する。CPU410は、参照したマスク画像11内の画素の値が第2値である場合には、参照したマスク画像11内の画素に対応するテンプレート画像10内の画素の色値を、テクスチャ画像28の注目画素の色値に置換する。CPU410は、参照したマスク画像11内の画素の値が第1値である場合には、参照したマスク画像11内の画素に対応するテンプレート画像10内の画素の色値を、元の値に維持する。
この結果、テンプレート画像10の第1の合成対象領域10Bを構成する複数個の画素の色値が、テクスチャ画像28内の画素の色値に置換されて、合成画像データが生成される。CPU410は、同様の処理を行うことによって、テンプレート画像10の第2の合成対象領域10Dに、テクスチャ画像27(図11(B))を合成する。
図12は、合成画像データによって表される合成画像10Mの一例を示す図である。合成画像10Mにおいて、第1の合成対象領域10Bの形状(馬の形状)を有するテクスチャ画像28Pが、第1の合成対象領域10Bに合成されている。また、第2の合成対象領域10Dの形状(文字の形状)を有するテクスチャ画像27Pが、第2の合成対象領域10Dに合成されている。テクスチャ画像28Pは、矩形のテクスチャ画像28(図11(A))の部分画像であり、テクスチャ画像27Pは、矩形のテクスチャ画像27(図11(B))の部分画像である。
ステップS60では、CPU410は、ステップS55で生成された合成画像データを用いて、テスト画像10T(図12(B))を表すテスト画像データを生成する。テスト画像10Tは、合成画像10Mと余白MJとを含んでいる。余白MJには、テスト画像10Tが、合成画像10Mのテスト印刷のための画像であることを示すメッセージMS3、MS4が配置されている。
なお、合成画像10Mを示す合成画像データは、ハガキに合成画像10Mを印刷するための画像データである。一方、テスト画像10Tを表すテスト画像データは、ハガキより大きなA4サイズの用紙にテスト画像10Tを印刷するためのデータである。合成画像データを用いて、ハガキに印刷される合成画像10Mのハガキ上のサイズと、テスト画像データを用いて、A4サイズの用紙に印刷されるテスト画像10T内の合成画像10Mの用紙上のサイズとは、互いに等しい。このために、A4サイズの用紙に印刷されたテスト画像10Tを見たユーザは、ハガキに合成画像10Mを印刷することなく、ハガキに印刷された場合の合成画像10Mの内容を適切に確認することができる。
ステップS65では、CPU410は、生成された合成画像データと、テスト画像データと、を複合機200に対して送信して処理を終了する。複合機200のCPU210は、合成画像データとテスト画像データとを受信すると、これらの画像データをバッファ領域221に格納するとともに、ユーザに合成画像データとテスト画像データを受信したことを通知する。
合成画像データとテスト画像データは、ユーザの利用に供される。ユーザは、例えば、複合機200に、テスト画像10TをA4サイズの用紙上に印刷させる。そして、ユーザは、A4サイズの用紙に印刷されたテスト画像10Tに含まれる合成画像10Mを確認する。ユーザは、合成画像10Mの内容に満足した場合には、複合機200に、合成画像10Mをハガキ上に印刷させる。ユーザは、合成画像10Mの内容に満足しない場合には、合成画像10Mの生成をもう一度行ってもよい。例えば、使用するテンプレート画像や、
利用する素材を変更して、複合機200とサーバ400とに図3の処理をもう一度実行させても良い。
上記実施例によれば、ユーザが用意した素材を表す素材画像を利用して、見栄えの良いテクスチャ画像27、28が生成される。そして、テクスチャ画像27、28がテンプレート画像10に合成されることによって、独創性のある魅力的な合成画像10Mが生成され得る。
上記実施例によれば、合成対象領域10B、10Dに関する領域色情報CI(図3)を含むテンプレートデータが取得され(図4のステップS25)、素材画像17、18の代表色を示す色値が算出される(図7のステップS160)。そして、代表色を示す色値と領域色情報CIとを用いて算出される色差合計値ΔVTを用いて、複数個の素材画像17、18と、合成対象領域10B、10Dと、が比較される(ステップS180、S190)。この比較結果に基づいて、複数個の合成対象領域10B、10Dに合成する素材画像が決定される(ステップS190)。この結果、各素材画像17、18を適切な合成対象領域10B、10Dに合成して適切な合成画像10Mを生成することができる。なお、素材画像17、18は、元画像の例であり、素材画像17、18の代表色を示す色値は、「元画像の色に関する特徴値」の例である。
特に、領域色情報CIは、合成対象領域10Bに合成すべき画像の色を示す理想色情報を含んでいるので、適切な色の素材画像17、18を合成対象領域10Bに合成して適切な合成画像10Mを生成することができる。
また、色差合計値ΔVTが最小となるように、素材画像17、18と合成対象領域10B、10Dとペアの組み合わせパターンを決定し、当該パターンに従って、複数個の合成対象領域10B、10Dに合成する素材画像が決定される(ステップS190)。換言すれば、全体として、各合成対象領域に対応付けられた理想色と、各素材画像の代表色と、が最も近い色になるように、合成対象領域と素材画像との組み合わせパターンが決定される。各合成対象領域に対して、したがって、複数個の合成対象領域のそれぞれに適切な色の素材画像を合成することができる。
B.第2実施例:
第2実施例では、第1実施例とは異なるテクスチャ画像生成処理が実行される。図13は、第2実施例のテクスチャ画像生成処理のフローチャートである。ステップS400では、図7のステップS100〜S150までの処理が実行され、テンプレート画像10に合成すべき複数個の素材画像17、18が生成される。
ステップS410では、素材画像17、18のサイズを算出する。すなわち、CPU410は、素材画像17、18の幅SW1、SW2と高さSH1、SH2とを算出し(図6)、素材画像17、18の面積SS1(SW1×SH1)、SS2(SW2×SH2)を算出する。
ステップS420では、合成対象領域10B、10Dのサイズを取得する。すなわち、CPU410は、領域情報12に含まれる領域サイズ情報(図2(C))を取得する。そして、CPU410は、合成対象領域10B、10Dの領域サイズ情報(幅W1、W2と高さH1、H2)を用いて、合成対象領域10B、10Dの面積S1(W1×H1)、SS2(W2×H2)を算出する。
ステップS430では、CPU410は、素材画像17、18と、合成対象領域10B、10Dと、をサイズ順に組み合わせることによって、組み合わせパターンを決定する。すなわち、素材画像17、18のうち、サイズが大きい方の素材画像が、合成対象領域10B、10Dのうち、サイズが大きい方の合成対象領域に合成されることが決定され、サイズが小さい方の素材画像が、サイズが小さい方の合成対象領域に合成されることが決定される。
ステップS440では、CPU410は、図7のステップS160と同様に、各素材画像17、18の代表色を算出する。ステップS450〜S470では、図7のステップS200〜ステップS220までの処理が実行される。
以上説明した第2実施例によれば、素材画像17、18のサイズと、合成対象領域10B、10Dのサイズに応じて、合成対象領域に、適切なサイズの素材画像を合成することができる。詳しく説明すると、素材画像が合成対象領域に合成される際に、素材画像に対するタイリング処理(図10のS320、図11(B))が行われない方が、素材画像をそのまま生かした合成画像10Mを生成することができると、考えられる。このために、本実施例では、サイズが大きい素材画像ほど、サイズが大きい合成対象領域に合成されるように、各合成対象領域に合成する素材画像が決定される。この結果、タイリング処理の実行を抑制して、より適切な合成画像10Mを生成することができる。素材画像17、18の面積SS1、SS2は、「元画像のサイズに関する特徴値」の例である。
なお、ステップS410では、合成対象領域10B、10Dのサイズとして、外接矩形10C、10Dのサイズ(幅×高さ)を用いているが、外接矩形10C、10Dに占める合成対象領域10B、10Dの割合を考慮して、合成対象領域10B、10Dのサイズを算出しても良い。
具体的には、領域情報12に、合成対象領域の外接矩形に占める合成対象領域の割合、すなわち、合成対象領域の密度を示す情報を含めても良い。また、領域情報12に、合成対象領域10B、10Dの外接矩形の面積に密度を乗じた値(すなわち、合成対象領域10B、10Dそのものの面積)を含めても良い。そして、ステップS410では、領域情報12を参照して、合成対象領域10B、10Dそのものの面積が算出されても良い。例えば、文字の形状を示す第2の合成対象領域10D(図2)は、文字以外のオブジェクト(例えば、馬)などの形状を有する第1の合成対象領域10Bより、外接矩形に占める割合(密度)が低い。このような合成対象領域にタイリング処理後の素材画像が合成されても、タイリング処理の継ぎ目が目立ちにくいので、合成画像10Mの見栄えの低下は発生しがたい。このように、合成対象領域の形状などによっては、合成対象領域10B、10Dのサイズとして外接矩形10C、10Dのサイズ(幅×高さ)を用いるよりも、合成対象領域の密度を考慮したサイズ、具体的には、合成対象領域10B、10Dそのものの面積を用いることが好ましい場合がある。この結果、タイリング処理が目立つことを抑制して、より適切な合成画像10Mを生成することができる。
C.第3実施例:
上記第1実施例では、領域色情報CI(図3)に含まれる許容範囲情報は、素材画像に対して色補正を行うか否かの判断に用いられている(図7のS200)が、これに限られない。許容範囲情報は、対象領域に合成する素材画像を決定するために用いられても良い。この例を第3実施例として説明する。具体的には、第3実施例の領域色情報CIは、理想色情報を含まず、各合成対象領域の色の許容範囲を示す許容範囲情報のみを含んでいる(図3参照)。
図14は、第3実施例のテクスチャ画像生成処理のフローチャートである。ステップS500では、図7のステップS100〜S150までの処理が実行され、テンプレート画像10に合成すべき複数個の素材画像17、18が生成される。
さらに、CPU410は、第1実施例のステップS160、S170(図7)と同様に、各素材画像17、18の代表色を算出し(ステップS510)、素材画像と合成対象領域との組み合わせパターンを特定する(ステップS520)。すなわち、N個(Nは自然数)の素材画像と、N個の合成対象領域と、が存在する場合には、N個(Nは自然数)の素材画像と、N個の合成対象領域と、によって構成されたN個のペアを含む全ての組み合わせパターンが特定される。
続くステップS530では、CPU410は、合成対象領域に対応付けられた許容範囲内の代表色を有する対象画像の個数を、組み合わせパターンごとに算出する。換言すれば、各組み合わせパターンについて、ペアを構成する素材画像の代表色が、ペアを構成する合成対象領域の許容範囲内の色であるペアの個数を、算出する。
ステップS540では、許容範囲内の代表色を有する対象画像の個数が最大である組み合わせパターンを、合成対象領域と素材画像との対応関係を定める組み合わせパターンに決定する。
続くステップS560〜S580では、図6のステップS200〜ステップS220までの処理が実行される。
以上説明した第3実施例によれば、CPU410は、許容範囲内の色を有する素材画像が、その許容範囲が定められた合成対象領域に合成されるように、合成対象領域に合成される素材画像を決定する。この結果、合成対象領域に、不適切な色を有する素材画像が合成されることを抑制することができる。
D.変形例
(1)上記実施例のサイズ調整処理(図10)では、CPU410は、素材画像が、合成されるべき合成対象領域より小さい場合に、複数個の素材画像を連続して並べてテクスチャ画像を生成するタイリング処理(図11(B))を実行している。これに代えて、CPU410は、図10に破線で示すように、1個の素材画像を、縦横比を維持しながら拡大して、合成対象領域のサイズを有するテクスチャ画像を生成しても良い(ステップS330)。
図15は、変形例のサイズ調整処理の説明図である。図15の例では、CPU410は、素材画像17の幅SW1と、第2の合成対象領域10Dの幅W2と、のサイズ比に基づいて、縦横比を維持しながら素材画像17を拡大する。拡大後の素材画像17Lの幅SW2は、第2の合成対象領域10Dの幅W2と等しく、素材画像17Lの高さSH2は、第2の合成対象領域10Dの高さH2より大きい。CPU410は、拡大後の素材画像17Lをトリミングして、第2の合成対象領域10Dの外接矩形10Eの幅W2および高さH2を有する矩形のテクスチャ画像23を生成しても良い。この結果、素材画像のサイズと、第2の合成対象領域10Dのサイズと、に応じて、サイズが適切に変更された素材画像を第2の合成対象領域10Dに合成することができる。
(2)上記第1実施例では、素材画像と合成対象領域とのペアの組み合わせパターンごとに、算出される色差合計値ΔVTを用いて、採用する組み合わせパターンを決定している(ステップS180、S190)。これに代えて、特定の合成対象領域に合成する1個の素材画像を、複数個の素材画像の中から決定する場合などには、CPU410は、素材画像の代表色と、特定の合成対象領域に対応付けられた理想色と、のユークリッド距離を、素材画像ごとに算出しても良い。そして、複数個の素材画像のうち、算出されたユークリッド距離が最も短い素材画像、すなわち、特定の合成対象領域に対応付けられた理想色に最も近い色を代表色として有する素材画像を、特定の合成対象領域に合成する素材画像として決定しても良い。この構成によれば、合成対象領域に適切な色の素材画像を合成することができる。
また、特定の素材画像を合成すべき1個の合成対象領域を、複数個の合成対象領域の中から決定する場合などには、CPU410は、特定の素材画像の代表色と、合成対象領域に対応付けられた理想色と、のユークリッド距離を、合成対象領域ごとに算出しても良い。そして、複数個の合成対象領域のうち、算出されたユークリッド距離が最も短い合成対象領域、すなわち、特定の素材画像の代表色に最も近い色を理想色として有する合成対象領域を、特定の素材画像を合成する合成対象領域として決定しても良い。この構成によれば、合成対象領域に適切な色の素材画像を合成することができる。
一般的に言えば、素材画像の特徴値としての代表色と、合成対象領域の領域情報としての理想色と、を用いて、複数個の素材画像を比較した結果、および、複数個の合成対象領域を比較した結果、の少なくとも一方に基づいて、複数個の素材画像の中から、合成対象領域に合成する素材画像を決定することが好ましい。
(3)上記第1実施例では、テスト画像データによって表されるテスト画像10T(図12(B))は、1個の合成画像10Mを含んでいるが、テスト画像は、互いに異なる複数種類の合成画像を含んでいても良い。ただし、複数種類の合成画像は、テンプレート画像10を用いて生成された合成画像であることが好ましい。さらには、複数種類の合成画像は、同じ素材画像17、18を用いて生成された合成画像であることが好ましい。例えば、
複数種類の合成画像は、第1の合成対象領域10Bに素材画像17が、第2の合成対象領域10Dに第2の素材画像18が、それぞれ合成された合成画像10M1と、第2の合成対象領域10Dに素材画像17が、第1の合成対象領域10Bに第2の素材画像18が、それぞれ合成された合成画像10M2と、を含んでも良い。また、複数種類の合成画像は、色補正(S210)を行う必要がある場合に、色補正前の素材画像17、18が合成された合成画像10M3と、色補正後の素材画像17、18が合成された合成画像10M4と、を含んでも良い。こうすれば、複数種類の合成画像の内容を1個のテスト画像を用いて確認できるので、ユーザに対する利便性を向上することができる。
(4)上記第1実施例において、テクスチャ画像27、28は、ユーザが用意した素材を読み取って得られるスキャン画像14、15を用いて生成されている。これに代えて、写真や描画などを表す様々なデジタル画像を用いてテクスチャ画像27、28が生成されても良い。これらの画像を表す画像データは、例えば、ユーザが所有するUSBメモリなどの記憶装置から取得されて、サーバ400に送信される。
(5)上記第1実施例において、領域色情報CI(図3)は、理想色情報を含み、許容範囲情報を含まなくても良い。この場合には、例えば、上記第1実施例のように、各合成対象領域に合成する素材画像が決定される(図7のステップS180、S190)。また、許容範囲情報を用いて行われる図6の色補正処理(ステップS200、S210)は省略されても良い。一方、領域色情報CI(図3)は、許容範囲情報のみを含み、理想色情報を含まなくても良い。この場合には、上記第3実施例のように、各合成対象領域に合成する素材画像が決定される。
(6)上記第1実施例では、1個のスキャンデータから1個の素材画像が生成されているが、1個のスキャンデータから2個の素材画像が生成されても良い。この場合には、ユーザは、例えば、2個の素材をスキャナ台において1回の読み取りによってスキャンデータを生成すれば良い。そして、テクスチャ生成処理のステップS120では、CPU410は、2個のオブジェクトを特定し、ステップS130、S140の処理を、2個のオブジェクトに対してそれぞれ実行すれば良い。
(7)上記第1実施例では、素材画像の個数と、合成対象領域の個数とは、同じである。すなわち、テンプレート画像が、N個(Nは、自然数)の合成対象領域を含む場合には、N個の素材画像が取得されている。これに代えて、取得される素材画像の個数と、合成対象領域の個数とは、異なっていても良い。一般的に言えば、CPU410は、M個(Mは自然数)の素材画像の中から、N個の合成対象領域に合成される素材画像が、合成対象領域ごとに決定されれば良い。例えば、素材画像の個数が合成対象領域の個数より多い場合には(M>N)、一部の素材画像は、合成対象領域に合成されなくても良い。また、素材画像の個数が合成対象領域の個数より少ない場合には(M<N)、複数個の合成対象領域に、同じ素材画像が合成されても良い。
例えば、図7のステップS170では、M個の素材画像と、N個の合成対象領域と、が存在する場合には、M個の素材画像と、N個の合成対象領域と、によって構成されたN個のペアを含む全ての組み合わせパターンが特定される。
そして、続くステップS180では、各パターンの色差合計値ΔVTが算出され、続くステップS190では、色差合計値ΔVTが最小となる組み合わせパターンに従って、M個の素材画像の中から、N個の合成対象領域に合成する元画像が合成対象領域ごとに決定されれば良い。
(8)上記実施例においてサーバ400のCPU410によって実行される画像処理(例えば、図3のステップS45〜S60の処理)は、サーバ400とは異なる装置、例えば、複合機200のCPU210によって実行されても良い。この場合には、例えば、CPU210は、合成画像を生成した後に、テスト画像データや合成画像データをプリンタ部240に出力することによって、テスト画像10Tや合成画像10M(図12)をプリンタ部240に印刷させる。また、これらの画像処理は、プリンタなどの印刷装置と接続されたパーソナルコンピュータ500(図1)のCPU(図示省略)によって実行されても良い。この場合には、CPUは、合成画像を生成した後に、テスト画像データや合成画像データを外部のプリンタに出力することによって、テスト画像10Tや合成画像10M(図12)を外部のプリンタに印刷させる。すなわち、テスト画像データや合成画像データの出力には、第1実施例のようなサーバ400からクライアント装置(例えば、複合機200)への送信に加えて、複合機200の内部でのCPU210からプリンタ部240への供給、パーソナルコンピュータ500から外部のプリンタへの送信などが含まれる。
(9)これらの画像処理は、例えば、複合機200のスキャナ部250や、単体のスキャナ(図示せず)を、制御するためにパーソナルコンピュータ500にインストールされたスキャナドライバによって実行されても良い。また、サーバ400は、本実施例のように1つの計算機で構成されても良く、複数個の計算機を含む計算システム(例えば、いわゆるクラウドコンピューティングを実現する分散型の計算システム)によって構成されていても良い。
(10)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
50...LAN、70...インターネット、200...複合機、210...CPU、220...揮発性記憶装置、221...バッファ領域、230...不揮発性記憶装置、231...制御プログラム、240...プリンタ部、250...スキャナ部、260...操作部、270...表示部、280...通信部、400...サーバ、410...CPU、420...揮発性記憶装置、421...バッファ領域、430...不揮発性記憶装置、431...コンピュータプログラム、432...テンプレートデータ群、433...UIデータ群、480...通信部、500...パーソナルコンピュータ、1000...画像処理システム

Claims (11)

  1. 画像処理装置であって、
    合成処理の対象となる画像である複数個の元画像を表す複数個の元画像データと、第1の合成対象領域と第2の合成対象領域を含むテンプレート画像を表すテンプレート画像データと、を取得する第1の取得部と、
    第1の合成対象領域に合成すべき画像の色を示す第1の領域情報を取得する第2の取得部であって、前記第1の領域色情報は、複数個の色を示す、前記第2の取得部と、
    複数個の元画像データを用いて前記複数個の元画像の代表色を、それぞれ決定する第1の決定部と、
    前記複数個の元画像の前記代表色と、前記第1の領域情報と、を用いて、前記複数個の元画像の中から、前記第1の合成対象領域と前記第2の合成対象領域とのそれぞれに合成する前記元画像を決定する第2の決定部と、
    前記テンプレート画像内の複数個の前記合成対象領域のそれぞれに、決定された前記元画像を合成して合成画像を生成する合成部と、
    を備え
    前記第2の決定部は、
    前記複数個の元画像のそれぞれについて、前記第1の領域色情報によって示される前記複数個の色の中から、前記代表色との差分が最小となる差分最小色を決定し、
    前記複数個の元画像のそれぞれについて決定された前記差分最小色を用いて、前記第1の合成対象領域に合成する前記元画像を決定する画像処理装置。
  2. 請求項に記載の画像処理装置であって、
    前記第2の決定部は、前記複数個の元画像のうち、前記差分最小色に最も近い色を有する前記元画像を、前記第1の合成対象領域に合成する前記元画像として決定する、画像処理装置。
  3. 請求項に記載の画像処理装置であって、
    前記テンプレート画像は、前記第1の合成対象領域と前記第2の合成対象領域とを含むN個(Nは2以上の整数)の合成対象領域を含み、
    前記第2の取得部は、前記N個の合成対象領域のそれぞれについて、合成すべき画像の色を示す領域色情報を取得し、
    前記第2の決定部は、M個(Mは2以上の整数)の前記元画像と、N個の前記合成対象領域と、によって、N個のペアを構成した場合に、N個のペアの色の差分の合計値が最小となるように、M個の前記元画像の中から、N個の前記合成対象領域に合成する前記元画像を前記合成対象領域ごとに決定し、
    前記ペアの色の差分は、ペアを構成する前記元画像の前記代表色と、ペアを構成する前記合成対象領域に対応する前記領域色情報によって示される色と、の差分であり、
    ペアを構成する前記合成対象領域が、前記第1の合成対象領域である場合には、前記ペアを構成する前記元画像について決定された前記差分最小色を用いて、前記ペアの色の差分が算出される、画像処理装置。
  4. 請求項ないし請求項のいずれかに記載の画像処理装置であって、
    前記第2の合成対象領域に、前記第2の合成対象領域に合成すべき画像の色を示す情報が対応付けられていない場合には
    前記第2の決定部は、前記第1の合成対象領域に合成する前記元画像を、前記第2の合成対象領域より優先して決定する、画像処理装置。
  5. 請求項ないし請求項のいずれかに記載の画像処理装置であって、さらに、
    前記第1の領域色情報を用いて、前第1の合成対象領域に合成される前記元画像の色を補正する補正部を備える、画像処理装置。
  6. 請求項1ないし請求項5のいずれかに記載の画像処理装置であって、
    前記第2の取得部は、さらに、前記第1の合成対象領域のサイズを示す領域サイズ情報を取得し、
    前記合成部は、前第1の合成対象領域に合成する前記元画像のサイズが、前第1の合成対象領域のサイズより小さい場合には、前記元画像を複数個連続して並べた画像を、前第1の合成対象領域に合成する、画像処理装置。
  7. 請求項ないし請求項のいずれかに記載の画像処理装置であって、
    前記第2の取得部は、さらに、前記第1の合成対象領域のサイズを示す領域サイズ情報を取得し、
    前記合成部は、前第1の合成対象領域に合成する前記元画像のサイズと、前第1の合成対象領域のサイズと、に応じて、前記元画像のサイズを変更し、
    サイズが変更された前記元画像を、前第1の合成対象領域に合成する、画像処理装置。
  8. 請求項1ないし請求項のいずれかに記載の画像処理装置であって、
    前記第1の取得部は、
    前記元画像を含む対象画像を表す対象画像データを取得し、
    前記対象画像内の複数個の画素を、背景を表す背景画素と、オブジェクトを表すオブジェクト画素と、に分類し、
    複数個の前記オブジェクト画素によって構成される前記元画像を特定し、
    特定された前記元画像を表す前記元画像データを取得する、画像処理装置。
  9. 請求項1ないし請求項のいずれかに記載の画像処理装置であって、さらに、
    前記合成画像を表す第1の合成画像データと、前記合成画像と余白とを含む画像を表す第2の合成画像データと、を出力する第1の出力部を備え、
    前記第1の合成画像データを用いて第1種の用紙に印刷される前記合成画像の用紙上のサイズと、前記第2の合成画像データを用いて前記第1種の用紙より大きな第2種の用紙に印刷される前記合成画像の用紙上のサイズは等しい、画像処理装置。
  10. 請求項1ないし請求項のいずれかに記載の画像処理装置であって、さらに、
    前記複数個の元画像を、前記テンプレート画像に合成して得られる複数種類の前記合成画像を含むテスト画像を表すテスト画像データを出力する第2の出力部を備える、画像処理装置。
  11. コンピュータプログラムであって、
    合成処理の対象となる画像である複数個の元画像を表す複数個の元画像データと、第1の合成対象領域と第2の合成対象領域を含むテンプレート画像を表すテンプレート画像データと、を取得する第1の取得機能と、
    第1の合成対象領域に合成すべき画像の色を示す第1の領域情報を取得する第2の取得機能であって、前記第1の領域色情報は、複数個の色を示す、前記第2の取得機能と、
    複数個の元画像データを用いて前記複数個の元画像の代表色を、それぞれ決定する第1の決定機能と、
    前記複数個の元画像の前記代表色と、前記第1の領域情報と、を用いて、前記複数個の元画像の中から、前記第1の合成対象領域と前記第2の合成対象領域とのそれぞれに合成する前記元画像を決定する第2の決定機能と、
    前記テンプレート画像内の複数個の前記合成対象領域のそれぞれに、決定された前記元画像を合成して合成画像を生成する合成機能と、
    をコンピュータに実現させ
    前記第2の決定機能は、
    前記複数個の元画像のそれぞれについて、前記第1の領域色情報によって示される前記複数個の色の中から、前記代表色との差分が最小となる差分最小色を決定し、
    前記複数個の元画像のそれぞれについて決定された前記差分最小色を用いて、前記第1の合成対象領域に合成する前記元画像を決定する、コンピュータプログラム。
JP2013173657A 2013-08-23 2013-08-23 画像処理装置およびコンピュータプログラム Active JP6260144B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2015041357A JP2015041357A (ja) 2015-03-02
JP6260144B2 true JP6260144B2 (ja) 2018-01-17

Family

ID=52695454

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6260144B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100120A (ja) * 2003-09-25 2005-04-14 Seiko Epson Corp 合成画像作成方法及び合成画像作成装置並びに合成画像作成プログラム
JP2007028548A (ja) * 2005-07-21 2007-02-01 Fujifilm Holdings Corp 画像編集装置、及び画像編集プログラム

Also Published As

Publication number Publication date
JP2015041357A (ja) 2015-03-02

Similar Documents

Publication Publication Date Title
JP4605006B2 (ja) 印刷データ生成装置、印刷データ生成方法及びプログラム
JP6098436B2 (ja) 画像処理装置およびコンピュータプログラム
JP5304827B2 (ja) 制御装置
JP5477320B2 (ja) 画像処理装置
CN106303150A (zh) 图像处理装置及图像处理装置的控制方法
US20180035006A1 (en) Print transformation effects
JP5360112B2 (ja) 制御装置
KR20190011038A (ko) 화상형성장치, 이의 제어 방법 및 컴퓨터 판독가능 기록 매체
JP7034742B2 (ja) 画像形成装置、その方法およびプログラム
JP6260144B2 (ja) 画像処理装置およびコンピュータプログラム
JP6171727B2 (ja) 画像処理装置、シート、コンピュータプログラム
US20090059254A1 (en) Tint Block Image Generation Program and Tint Block Image Generation Device
JP3673675B2 (ja) 画像処理方法及び画像処理装置並びに記録媒体
JP2011082955A (ja) 画像形成装置、画像読取装置、及び画像形成方法
JP2015154425A (ja) 画像処理装置、および、コンピュータプログラム
JP2016092672A (ja) 画像処理装置、および、コンピュータプログラム
JP6361355B2 (ja) 画像処理装置
JP6427960B2 (ja) 画像処理装置
JP5672340B2 (ja) 制御装置
US11381705B1 (en) Method and apparatus to add annotations to an image
JP6413450B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP4042862B2 (ja) 画像形成装置
JP2010251956A (ja) 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム
JP2023018850A (ja) プログラム
JP5732864B2 (ja) 情報処理装置、プログラム、および、印刷方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150