IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2022-91592コンピュータプログラム、画像処理装置、および、画像処理方法
<>
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図1
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図2
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図3
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図4
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図5
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図6
  • 特開-コンピュータプログラム、画像処理装置、および、画像処理方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022091592
(43)【公開日】2022-06-21
(54)【発明の名称】コンピュータプログラム、画像処理装置、および、画像処理方法
(51)【国際特許分類】
   G06T 7/33 20170101AFI20220614BHJP
【FI】
G06T7/33
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020204508
(22)【出願日】2020-12-09
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】特許業務法人鳳国際特許事務所
(72)【発明者】
【氏名】▲高▼須 将也
(72)【発明者】
【氏名】井上 千智
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA07
5L096CA02
5L096DA02
5L096FA69
5L096GA51
5L096HA08
5L096JA03
5L096JA09
5L096JA11
5L096JA18
(57)【要約】
【課題】画像間の相対的な位置関係を精度良く決定する。
【解決手段】コンピュータプログラムは、対象画像データを用いて対象画像内の複数個の第1エッジ画素を特定し、テンプレート画像データを用いてテンプレート画像内の複数個の第2エッジ画素を特定する処理と、対象画像とテンプレート画像との相対的な位置関係を第1の精度で決定する処理と、決定された位置関係における第1エッジ画素と第2エッジ画素との位置関係に基づいて、第1エッジ画素の中から第1使用画素を決定し、第2エッジ画素の中から第2使用画素を決定する処理と、第1使用画素と第2使用画素とを用いて、対象画像とテンプレート画像との相対的な位置関係を第1の精度よりも高い第2の精度で決定する処理と、をコンピュータに実行させる。
【選択図】 図7
【特許請求の範囲】
【請求項1】
コンピュータプログラムであって、
前記対象画像を示す対象画像データと、前記オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得処理と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画像特定処理と、
前記対象画像と前記テンプレート画像との相対的な位置関係を第1の精度で決定する第1決定処理と、
前記第1決定処理で決定された位置関係における前記複数個の第1エッジ画素と前記複数個の第2エッジ画素との位置関係に基づいて、前記複数個の第1エッジ画素の中から複数個の第1使用画素を決定し、前記複数個の第2エッジ画素の中から複数個の第2使用画素を決定する使用画素決定処理であって、前記複数個の第1使用画素と前記複数個の第2使用画素との合計は、前記複数個の第1エッジ画素と前記複数個の第2エッジ画素の合計より少ない、前記使用画素決定処理と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を前記第1の精度よりも高い第2の精度で決定する第2決定処理と、
をコンピュータに実行させるコンピュータプログラム。
【請求項2】
請求項1に記載のコンピュータプログラムであって、
前記第1決定処理は、前記対象画像データに対して縮小処理を実行して生成される縮小対象画像データと、前記テンプレート画像データに対して縮小処理を実行して生成される縮小テンプレート画像データと、を用いて実行される、コンピュータプログラム。
【請求項3】
請求項1または2に記載のコンピュータプログラムであって、
前記使用画素決定処理では、前記複数個の第1使用画素は、前記対象画像のうちの前記テンプレート画像に対応する一部分であって前記第1決定処理で決定された位置関係に基づいて決定される部分画像に含まれる画素の中から決定される、コンピュータプログラム。
【請求項4】
請求項1~3に記載のコンピュータプログラムであって、
前記使用画素決定処理は、前記複数個の第1エッジ画素のうち、対応する前記第2エッジ画素が存在する画素を前記第1使用画素として決定し、対応する前記第2エッジ画素が存在しない画素を前記第1使用画素として決定しない第1処理と、前記複数個の第2エッジ画素のうち、対応する前記第1エッジ画素が存在する画素を前記第2使用画素として決定し、対応する前記第1エッジ画素が存在しない画素を前記第2使用画素として決定しない第2処理と、の少なくとも一方の処理を含む、コンピュータプログラム。
【請求項5】
請求項4に記載のコンピュータプログラムであって、
特定の前記第1エッジ画素に対応する前記第2エッジ画素は、前記第1決定処理で決定された位置関係において、特定の前記第1エッジ画素から所定距離以内に存在する前記第2エッジ画素である、コンピュータプログラム。
【請求項6】
請求項4または5に記載のコンピュータプログラムであって、
前記使用画素決定処理では、前記複数個の第1エッジ画素のうち、前記対象画像のうちの前記テンプレート画像に対応する一部分であって前記第1決定処理で決定された位置関係に基づいて決定される部分画像に含まれる画素の個数が前記第2のエッジ画素の個数よりも多い場合には、前記第1処理が実行され、前記複数個の第1エッジ画素のうち、前記対象画像のうちの前記テンプレート画像に対応する一部分であって前記第1決定処理で決定された位置関係に基づいて決定される部分画像に含まれる画素の個数が前記第2のエッジ画素の個数よりも少ない場合には、前記第2処理が実行される、コンピュータプログラム。
【請求項7】
請求項1~6のいずれかに記載のコンピュータプログラムであって、
前記第1決定処理は、パターンマッチング処理である、コンピュータプログラム。
【請求項8】
請求項1~7のいずれかに記載のコンピュータプログラムであって、
前記第2決定処理は、ICP(iterative closest point)アルゴリズムを用いる処理である、コンピュータプログラム。
【請求項9】
画像処理装置であって、
前記対象画像を示す対象画像データと、前記オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得部と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画像特定部と、
前記対象画像と前記テンプレート画像との相対的な位置関係を第1の精度で決定する第1決定部と、
前記第1決定部によって決定された位置関係における前記複数個の第1エッジ画素と前記複数個の第2エッジ画素との位置関係に基づいて、前記複数個の第1エッジ画素の中から複数個の第1使用画素を決定し、前記複数個の第2エッジ画素の中から複数個の第2使用画素を決定する使用画素決定部であって、前記複数個の第1使用画素と前記複数個の第2使用画素との合計は、前記複数個の第1エッジ画素と前記複数個の第2エッジ画素の合計より少ない、前記使用画素決定記使用画素決定部と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を前記第1の精度よりも高い第2の精度で決定する第2決定部と、
を備える画像処理装置。
【請求項10】
画像処理方法であって、
前記対象画像を示す対象画像データと、前記オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得工程と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画像特定工程と、
前記対象画像と前記テンプレート画像との相対的な位置関係を第1の精度で決定する第1決定工程と、
前記第1決定工程で決定された位置関係における前記複数個の第1エッジ画素と前記複数個の第2エッジ画素との位置関係に基づいて、前記複数個の第1エッジ画素の中から複数個の第1使用画素を決定し、前記複数個の第2エッジ画素の中から複数個の第2使用画素を決定する使用画素決定工程であって、前記複数個の第1使用画素と前記複数個の第2使用画素との合計は、前記複数個の第1エッジ画素と前記複数個の第2エッジ画素の合計より少ない、前記使用画素決定工程と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を前記第1の精度よりも高い第2の精度で決定する第2決定工程と、
を備える画像処理方法。


【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、画像間の相対的な位置関係を決定するための技術に関する。
【背景技術】
【0002】
特許文献1に記載された画像計測装置は、低解像度のカメラを用いてマークが設けられたワークを撮影して得られた撮影画像と、テンプレート画像と、を用いたパターンマッチングによって、撮影画像内のマークのおおよその位置と姿勢とを求める。この画像計測装置は、その後に、撮影画像内のマーク上の計測されたエッジ点と、マークの形状の既知の位置関係と、に基づいて、撮影画像内のマークの位置と姿勢とをさらに精度良く求める。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006-113931号公報
【特許文献2】特開2010-197336号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、画像内のオブジェクトを十分に精度良く特定できない場合があった。例えば、上記技術では、マークの正確な形状が既知であることが前提である。このために、例えば、画像内のオブジェクトの形状に個体差がある場合には、画像間の相対的な位置関係を十分に精度良く決定できない可能性があった。
【0005】
本明細書は、画像間の相対的な位置関係を精度良く決定できる新たな技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]コンピュータプログラムであって、前記対象画像を示す対象画像データと、前記オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得処理と、前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画像特定処理と、前記対象画像と前記テンプレート画像との相対的な位置関係を第1の精度で決定する第1決定処理と、前記第1決定処理で決定された位置関係における前記複数個の第1エッジ画素と前記複数個の第2エッジ画素との位置関係に基づいて、前記複数個の第1エッジ画素の中から複数個の第1使用画素を決定し、前記複数個の第2エッジ画素の中から複数個の第2使用画素を決定する使用画素決定処理であって、前記複数個の第1使用画素と前記複数個の第2使用画素との合計は、前記複数個の第1エッジ画素と前記複数個の第2エッジ画素の合計より少ない、前記使用画素決定処理と、前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を前記第1の精度よりも高い第2の精度で決定する第2決定処理と、をコンピュータに実行させるコンピュータプログラム。
【0008】
上記構成によれば、対象画像とテンプレート画像との相対的な位置関係が第1の精度で決定された後に、該位置関係に基づいて、複数個の第1エッジ画素の中から複数個の第1使用画素が決定され、複数個の第2エッジ画素の中から複数個の第2使用画素が決定される。そして、複数個の第1使用画素と複数個の第2使用画素とを用いて、対象画像とテンプレート画像との相対的な位置関係が第1の精度よりも高い第2の精度で決定される。この結果、対象画像とテンプレート画像との相対的な位置関係を第2の精度で決定する際に、不必要なエッジ画素が用いられることで十分な精度で当該位置関係を決定することができない不都合を抑制できる。したがって、対象画像とテンプレート画像との相対的な位置関係を精度良く特定することができる。さらには、不必要なエッジ画素が用いられることで第2決定処理の処理時間が増大する不都合を抑制できる。したがって、画像内のオブジェクトの特定に要する時間を低減できる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法、画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】実施例の印刷システム1000の構成を示すブロック図。
図2】印刷システム1000の概略構成を示す斜視図。
図3】テンプレート登録処理および印刷処理のフローチャート。
図4】本実施例で用いられる画像の一例を示す図。
図5】マッチング処理のフローチャート。
図6】マッチング処理で用いられるエッジ画像の一例を示す図。
図7】有効エッジ画素決定処理のフローチャート。
【発明を実施するための形態】
【0011】
A.第1実施例:
A-1:印刷システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例の印刷システム1000の構成を示すブロック図である。印刷システム1000は、プリンタ200と、本実施例の画像処理装置としての端末装置300と、撮像装置400と、を含んでいる。プリンタ200と端末装置300、および、撮像装置400と端末装置300とは、通信可能に接続されている。
【0012】
端末装置300は、プリンタ200のユーザが使用する計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置300は、端末装置300のコントローラとしてのCPU310と、ハードディスクドライブなどの不揮発性記憶装置320と、RAMなどの揮発性記憶装置330と、マウスやキーボードなどの操作部360と、液晶ディスプレイなどの表示部370と、通信部380と、を備えている。通信部380は、外部機器、例えば、プリンタ200や撮像装置400と通信可能に接続するための有線または無線のインタフェースを含む。
【0013】
揮発性記憶装置330は、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域331を提供する。不揮発性記憶装置320には、コンピュータプログラムPG1が格納されている。コンピュータプログラムPG1は、例えば、サーバからダウンロードされる形態、あるいは、DVD-ROMなどに格納される形態で、プリンタ200の製造者によって提供される。CPU310は、コンピュータプログラムPG1を実行することによって、プリンタ200を制御するプリンタドライバとして機能する。プリンタドライバとしてのCPU310は、例えば、後述するテンプレート登録処理や印刷処理を実行する。
【0014】
撮像装置400は、光学的に被写体を撮像することによって被写体を表す画像データ(撮像画像データとも呼ぶ)を生成するデジタルカメラである。撮像装置400は、端末装置300の制御に従って、撮像画像データを生成し、端末装置300に送信する。
【0015】
プリンタ200は、例えば、印刷機構100と、プリンタ200のコントローラとしてのCPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、RAMなどの揮発性記憶装置230と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部260と、液晶ディスプレイなどの表示部270と、通信部280と、を備えている。通信部280は、外部機器、例えば、端末装置300と通信可能に接続するための有線または無線のインタフェースを含む。
【0016】
揮発性記憶装置230は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域231を提供する。不揮発性記憶装置220には、コンピュータプログラムPG2が格納されている。コンピュータプログラムPG2は、本実施例では、プリンタ200を制御するための制御プログラムであり、プリンタ200の出荷時に不揮発性記憶装置220に格納されて提供され得る。これに代えて、コンピュータプログラムPG2は、サーバからダウンロードされる形態で提供されても良く、DVD-ROMなどに格納される形態で提供されてもよい。CPU210は、コンピュータプログラムPG2を実行することにより、例えば、後述する印刷処理によって端末装置300から送信される印刷データに従って印刷機構100を制御して印刷媒体に画像を印刷する。なお、本実施例のプリンタ200は、印刷媒体として布地が想定されており、例えば、Tシャツなどの衣服S(図2参照)上に画像を印刷することができる。
【0017】
印刷機構100は、C、M、Y、Kの各インク(液滴)を吐出して印刷を行うインクジェット方式の印刷機構である。印刷機構100は、印刷ヘッド110とヘッド駆動部120と主走査部130と搬送部140とを備えている。
【0018】
図2を参照して、さらに、説明する。図2は、印刷システム1000の概略構成を示す斜視図である。図2の+X方向、-X方向、+Y方向、-Y方向、+Z方向、-Z方向は、それぞれ、プリンタ200の左方、右方、前方、後方、上方、下方である。
【0019】
主走査部130は、筐体201の内部において、図示しない主走査モータの動力を用いて、印刷ヘッド110を搭載するキャリッジ(図示省略)を主走査方向(図2のX方向)に沿って往復動させる。これによって、衣服Sなどの印刷媒体に対して主走査方向(X方向)に沿って印刷ヘッド110を往復動させる主走査が実現される。
【0020】
搬送部140は、筐体201のX方向中央部に設けられたプラテン142およびトレイ144を備えている。板状のプラテン142の上面(+Z方向の面)は、衣服Sなどの印刷媒体を載置するための載置面である。プラテン142は、プラテン142の-Z方向に配置された板状のトレイ144に固定されている。トレイ144は、プラテン142より一回り大きい。プラテン142とトレイ144とによって、衣服Sなどの印刷媒体が保持される。プラテン142とトレイ144は、図示しない副走査モータの動力を用いて、主操作方向と交差する搬送方向(図2のY方向)に搬送される。これによって、衣服Sなどの印刷媒体を印刷ヘッド110に対して搬送方向に搬送する副走査が実現される。
【0021】
ヘッド駆動部120(図1)は、主走査部130が印刷ヘッド110の主走査を行っている最中に、印刷ヘッド110に駆動信号を供給して、印刷ヘッド110を駆動する。印刷ヘッド110は、図示しない複数個のノズルを備え、駆動信号に従って、搬送部140によって搬送される印刷媒体上にインクを吐出してドットを形成する。
【0022】
図2に示すように、撮像装置400は、図示しない支持具によって支持されて、プリンタ200の+Z方向に配置される。撮像装置400は、プリンタ200から離れた場所に位置し、プラテン142の上面に対向して設けられ、プラテン142の上面に載置された衣服Sなどの印刷媒体を撮影可能である。これによって、撮像装置400は、衣服Sなどの印刷媒体を含む画像を示す撮像画像データを生成することができる。
【0023】
A-2.印刷システム1000の動作
印刷システム1000の動作について説明する。印刷システム1000は、印刷媒体としての衣服Sの一部分である印刷対象領域に対して、所定の画像(例えば、模様やロゴ)を印刷する。本実施例では、図2に示すように、衣服Sは、Tシャツであり、印刷対象領域は、Tシャツに設けられた胸ポケットPCを含む領域である。衣服Sは、例えば、作業者によって、プラテン142に載置される。その際に、常に、胸ポケットPCがプラテン142上の同じ位置に配置されるように、衣服Sを正確にプラテンに載置することは困難である。このために、印刷システム1000は、衣服Sが載置されたプラテン142上において、胸ポケットPCを含む領域を印刷対象領域として特定し、特定された印刷対象領域に対して印刷を行う機能を備えている。
【0024】
A-2-1.テンプレート登録処理
テンプレート登録処理は、後述する印刷処理において胸ポケットPCが位置する印刷対象領域を特定するためのテンプレート画像データを、見本の衣服Sを用いて生成する処理である。見本の衣服Sは、例えば、印刷すべき複数枚の衣服Sのうちの一枚である。
【0025】
図3(A)は、テンプレート登録処理のフローチャートである。テンプレート登録処理は、例えば、見本の衣服Sがプラテン142上に載置され、プラテン142に載置された衣服Sを上方から撮像装置400にて撮影可能な状態で、ユーザが端末装置300に開始指示を入力した場合に開始される。テンプレート登録処理は、端末装置300のCPU310によって実行される。
【0026】
S100では、CPU310は、見本の衣服Sの撮像画像データを撮像装置400から取得する。具体的には、CPU310は、撮像装置400に撮像指示を送信する。撮像装置400は、プラテン142に載置された見本の衣服Sを撮像して、撮像画像データを生成して、端末装置300に送信する。撮像画像データは、例えば、複数個の画素に対応する複数個のRGB値を含み、RGB値で画素ごとの色を示す画像データである。RGB値は、RGBの3個の成分値を含むRGB表色系の色値である。本ステップにて取得される見本の衣服Sの撮像画像データを見本画像データとも呼び、見本画像データによって示される画像を見本画像とも呼ぶ。
【0027】
図4は、本実施例で用いられる画像の一例を示す図である。図4に示すように、画像の左右方向は、プリンタ200の主走査方向(図2のX方向)に対応し、画像の上下方向は、プリンタ200の搬送方向(図2のY方向)に対応している。図4(A)には、見本画像データによって示される見本画像Itの一例が図示されている。見本画像Itは、プラテン142に載置された見本の衣服Sを示す画像を含んでいる。以下では、見本画像Itに含まれる見本の衣服Sを示す画像を、単に「衣服St」とも呼び、胸ポケットPCを示す画像を、単に「胸ポケットPCt」とも呼ぶ。
【0028】
S105では、CPU310は、ユーザの指示に基づいて、見本画像It内の印刷対象領域PAtをクロッピングする。例えば、CPU310は、図示しないユーザインタフェース(UI)画面を表示部370に表示する。ユーザは、マウスなどのポインティングデバイスを用いて、UI画面上において、見本画像It内の印刷対象領域PAtを指定する指示を入力する。図4(A)の例では、衣服Stの胸ポケットPCtを含む印刷対象領域PAtが図示されている。CPU310は、見本画像データに対してクロッピング処理を実行して、印刷対象領域PAtに対応する部分見本画像データを生成する。
【0029】
S110では、CPU310は、部分見本画像データをテンプレート画像データとして、不揮発性記憶装置220に保存する。図4(B)には、テンプレート画像データ(部分見本画像データ)によって示されるテンプレート画像TIの一例が図示されている。
【0030】
A-2-2.印刷処理
印刷処理は、プリンタ200を用いて、印刷媒体としての衣服Sの一部分である印刷対象領域に対して、所定の画像(例えば、模様やロゴ)を印刷する処理である。図3(B)は、印刷処理のフローチャートである。印刷処理は、印刷媒体である衣服Sがプラテン142上に載置され、プラテン142に載置された衣服Sを上方から撮像装置400にて撮影可能な状態で、ユーザが端末装置300に開始指示を入力した場合に開始される。印刷処理は、端末装置300のCPU310によって実行される。
【0031】
S200では、CPU310は、印刷媒体である衣服Sの撮像画像データを撮像装置400から取得する。取得の方法は、図3(A)のS100と同様の方法である。本ステップにて取得される印刷媒体である衣服Sの撮像画像データを媒体画像データともよび、媒体画像データによって示される画像を媒体画像とも呼ぶ。
【0032】
図4(D)には、媒体画像データによって示される媒体画像Isの一例が図示されている。媒体画像Isは、見本画像Itと同様に、プラテン142に載置された見本の衣服Sを示す画像を含んでいる。以下では、媒体画像Isに含まれる衣服Sを示す画像を、単に「衣服Ss」とも呼び、胸ポケットPCを示す画像を、単に「胸ポケットPCs」とも呼ぶ。
【0033】
S210では、CPU310は、マッチング処理を実行して、媒体画像Is内の印刷対象領域PAsを特定する。マッチング処理は、媒体画像データと、テンプレート画像データと、を用いて実行される。マッチング処理は、媒体画像Isとテンプレート画像TIとの位置関係を決定する処理である。マッチング処理の詳細については後述する。
【0034】
2個の画像Is、TIの位置関係は、例えば、媒体画像Isに対するテンプレート画像TIの位置(座標)と、媒体画像Isに対するテンプレート画像TIの傾き(角度)と、によって示される。該位置関係は、さらに、媒体画像Isに対するテンプレート画像TIの大きさ(縮尺)を含んでも良い。図4(D)において、破線で示す矩形は、マッチング処理によって決定された位置関係で媒体画像Is上に配置されたテンプレート画像TIを示している。CPU310は、特定された位置関係に基づいて印刷対象領域PAsを特定する。例えば、特定された位置関係で媒体画像Isに重ねられたテンプレート画像TIの領域(図4(D))が印刷対象領域PAsとして特定される。
【0035】
S215では、CPU310は、特定された印刷対象領域PAsに基づいて印刷画像(例えば、模様やロゴ)を位置決めし、印刷を実行する。例えば、CPU310は、媒体画像Isにおいて特定された印刷対象領域PAsに対応する衣服S上の領域(例えば、胸ポケットPCの領域)に印刷画像が印刷されるように、印刷データを生成して、プリンタ200に送信する。プリンタ200は、受信した印刷データに従って、印刷機構100を制御して、衣服Sに画像を印刷する。
【0036】
A-2-3.マッチング処理
図3(B)のS210のマッチング処理について説明する。図5は、マッチング処理のフローチャートである。S300では、CPU310は、テンプレート画像データに対して縮小処理を実行して、縮小テンプレート画像データを生成する。縮小処理は、処理対象の画像のX方向の画素数およびY方向の画素数を所定の縮小率で減少させる処理である。縮小処理は、公知の手法、例えば、ニアレストネイバー法、バイリニア法、バイキュービック法を用いて実行される。所定の縮小率は、例えば、10~50%である。
【0037】
S305では、縮小テンプレート画像データに対してエッジ検出処理を実行して、縮小テンプレートエッジデータを生成する。エッジ検出処理は、処理対象の画像内の複数個の画素の中からエッジ画素を検出し、検出結果を示すエッジデータを生成する処理である。エッジデータは、画素ごとにエッジ画素であるか非エッジ画素であるかを示す二値画像データである。
【0038】
エッジ画素の検出方法は、種々の方法であってよい。本実施例では、画像内のオブジェクトの輪郭を示すエッジ画素の検出に好ましいCanny Edge法が用いられる。これに代えて、例えば、ラプラシアンフィルタやソーベルフィルタを用いてエッジ強度を算出し、該エッジ強度が閾値TH1よりも大きな画素をエッジ画素として検出する方法であっても良い。
【0039】
図4(C)には、縮小テンプレートエッジデータによって示される縮小テンプレートエッジ画像MEItが図示されている。縮小テンプレートエッジ画像MEItは、図4(B)のテンプレート画像TI内の胸ポケットPCtの輪郭のエッジMEtを含んでいる。
【0040】
S310では、CPU310は、媒体画像データに対して縮小処理を実行して、縮小媒体画像データを生成する。本ステップの縮小処理には、S300の縮小処理と同様の処理が用いられる。また、本ステップの縮小処理の縮小率は、S300の縮小処理の縮小率と同じである。
【0041】
S315では、縮小媒体画像データに対して、エッジ検出処理を実行して、縮小媒体エッジデータを生成する。エッジ検出処理には、S305のエッジ検出処理と同様の検出方法が用いられる。
【0042】
図4(E)には、縮小媒体エッジデータによって示される縮小媒体エッジ画像MEIsが図示されている。縮小媒体エッジ画像MEIsは、図4(D)の媒体画像Is内の衣服Ssや胸ポケットPCsの輪郭のエッジMEsを含んでいる
【0043】
S320では、CPU310は、パターンマッチングにより粗い精度でのマッチングを実行する。具体的には、CPU310は、縮小媒体エッジデータと縮小テンプレートエッジデータとを用いて、縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとの大まかな位置関係を決定する。パターンマッチングのアルゴリズムには、公知のアルゴリズムが用いられる。例えば、パターンマッチングは、縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとの位置関係(座標と角度)を所定の刻み量で変えながら、縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとが重なる領域において、2個の画像MEIs、MEIt間の類似度を算出し、該類似度が最も高い位置関係を探索する手法である。2個の画像MEIs、MEIt間の類似度には、例えば、縮小媒体エッジ画像MEIsの複数個のエッジ画素のうち、縮小テンプレートエッジ画像MEItのエッジ画素と重なる画素の個数が用いられる。
【0044】
マッチングの精度は、刻み量によって決定付けられる。本ステップでは、座標の刻み量は、例えば、1~数画素、角度の刻み量は、例えば、3~7度に設定される。
【0045】
図4(E)において、破線で示す矩形は、パターンマッチングによって決定された位置関係で縮小媒体エッジ画像MEIs上に配置された縮小テンプレートエッジ画像MEItを示している。
【0046】
S325では、CPU310は、縮小されていない元のテンプレート画像データに対して、エッジ検出処理を実行して、テンプレートエッジデータを生成する。エッジ検出処理は、S300のエッジ検出処理と同様に、Canny Edge法が用いられる。これに代えて、各種の検出フィルタを用いる方法などの方法が用いられても良い。
【0047】
図6は、マッチング処理で用いられるエッジ画像の一例を示す図である。図6(A)には、テンプレートエッジデータによって示されるテンプレートエッジ画像TEIが図示されている。テンプレートエッジ画像TEIでは、図4(B)のテンプレート画像TIに含まれるエッジ画素Egtが特定されている。
【0048】
S330では、CPU310は、S320での縮小画像を用いて実行されたパターンマッチングの結果に基づき、縮小前の媒体画像Isのうち、処理対象とすべき部分をクロッピングする。すなわち、CPU310は、S320にて特定された縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとの位置関係に基づいて、縮小前の媒体画像Isとテンプレート画像TIとの位置関係を特定する。CPU310は、媒体画像Isのうち、特定された位置関係においてテンプレート画像TIと重なる領域をクロッピングして、部分媒体画像データを生成する。
【0049】
図4(F)には、クロッピングによって生成された部分媒体画像データによって示される部分媒体画像SIが図示されている。部分媒体画像SIは、媒体画像Isのうち、胸ポケットPCsを含む部分を示している。
【0050】
S335では、CPU310は、クロッピングによって生成された部分媒体画像データに対して、エッジ検出処理を実行して、部分媒体エッジデータを生成する。エッジ検出処理は、S300のエッジ検出処理と同様に、Canny Edge法が用いられる。これに代えて、各種の検出フィルタを用いる方法などの方法が用いられても良い。
【0051】
図6(B)には、部分媒体エッジデータによって示される部分媒体エッジ画像SEIが図示されている。部分媒体エッジ画像SEIでは、図4(F)の部分媒体画像SIに含まれるエッジ画素Egsが特定されている。
【0052】
S340では、CPU310は、有効エッジ画素決定処理を実行する。有効エッジ画素決定処理は、テンプレートエッジ画像TEIにおいて特定されているテンプレート画像TIの複数個のエッジ画素Egtと、部分媒体エッジ画像SEIにおいて特定されている部分媒体画像SIの複数個のエッジ画素Egsの中から、S345で行われる最終的なマッチングにて用いるべきエッジ画素(有効エッジ画素とも呼ぶ)を決定する処理である。
【0053】
図7は、有効エッジ画素決定処理のフローチャートである。S410では、CPU310は、テンプレートエッジデータを用いて、テンプレート画像TIの複数個のエッジ画素Egtの個数Ntをカウントする。S415では、CPU310は、部分媒体エッジデータを用いて、部分媒体画像SIの複数個のエッジ画素Egsの個数Nsをカウントする。
【0054】
S420では、CPU310は、部分媒体画像SIのエッジ画素Egsの個数Nsは、テンプレート画像TIのエッジ画素Egtの個数Ntより多いか否かを判断する。
【0055】
部分媒体画像SIのエッジ画素Egsの個数Nsがテンプレート画像TIのエッジ画素Egtの個数Ntより多い場合には(S420:YES)、S425にて、CPU310は、テンプレート画像TIを比較画像に決定し、部分媒体画像SIを参照画像に決定する。
【0056】
部分媒体画像SIのエッジ画素Egsの個数Nsがテンプレート画像TIのエッジ画素Egtの個数Nt以下である場合には(S420:NO)、S430にて、CPU310は、テンプレート画像TIを参照画像に決定し、部分媒体画像SIを比較画像に決定する。
【0057】
S435では、S425またはS430にて決定された参照画像内の複数個のエッジ画素の中から1個の注目エッジ画素を選択する。S440では、CPU310は、参照画像の注目エッジ画素に対応する比較画像内の座標(以下、対応座標とも呼ぶ)を特定する。参照画像と比較画像との位置関係は、図5のS320のパターンマッチングにて決定済みである。S445では、CPU310は、比較画像のエッジデータを用いて、比較画像内の対応座標を中心とする所定の半径Rの円内において、エッジ画素を探索する。半径Rは、例えば、数画素~数十画素である。
【0058】
S450では、CPU310は、S445での探索結果に基づいて、探索範囲内にエッジ画素があるか否かを判断する。探索範囲内にエッジ画素がある場合には(S450:YES)、S455にて、CPU310は、参照画像の注目エッジ画素を有効エッジ画素として決定する。探索範囲内にエッジ画素がない場合には(S450:NO)、S460にて、CPU310は、参照画像の注目エッジ画素を無効エッジ画素として決定する。なお、無効エッジ画素として決定されたエッジ画素は、参照画像から除去される、すなわち、参照画像においてエッジ画素から非エッジ画素に変更される。有効エッジ画素として決定されたエッジ画素は、参照画像においてエッジ画素のまま維持される。
【0059】
S465では、CPU310は、参照画像内の全てのエッジ画素を注目エッジ画素として処理したか否かを判断する。参照画像内に未処理のエッジ画素がある場合には(S465:NO)、CPU310は、S435に戻って未処理のエッジ画素を新たな注目エッジ画素として選択する。参照画像内の全てのエッジ画素が処理された場合には(S465:YES)、CPU310は、有効エッジ画素決定処理を終了する。
【0060】
有効エッジ画素決定処理によって、参照画像内のエッジ画素の個数が削減された参照画像のエッジデータが生成される。例えば、テンプレート画像TIが参照画像である場合には、処理済テンプレートエッジデータが生成される。部分媒体画像SIが参照画像データである場合には、処理済部分媒体エッジデータが生成される。図6の例では、図6(A)のテンプレートエッジ画像TEIおよび図6(B)の部分媒体エッジ画像SEIから解るように、テンプレート画像TIが参照画像であり、部分媒体画像SIが比較画像である。このために、図6の例では、図6(C)に示す処理済テンプレートエッジ画像LEIを示す処理済テンプレートエッジデータが生成される。処理済テンプレートエッジ画像LEIでは、テンプレート画像TI(テンプレートエッジ画像TEI)内のエッジ画素Egtのうち、破線C1、C2、C3で囲まれたエッジ画素が無効エッジ画素として除外されている。これらのエッジ画素に対応する部分媒体画像SI(部分媒体エッジ画像SEI)の位置の近傍にエッジ画素が存在しないためである。
【0061】
有効エッジ画素決定処理が終了すると、図5のS345では、CPU310は、ICP(iterative closest point)アルゴリズムを用いて、部分媒体画像SIとテンプレート画像TIとのマッチングを実行する。マッチングは、具体的には、テンプレート画像TIと部分媒体画像SIのうちの参照画像の有効エッジ画素と、比較画像の全てのエッジ画素と、を使用画素として用いて、実行される。図6の例では、図6(B)の部分媒体エッジ画像SEIにて特定されている複数個のエッジ画素Egsと、図6(C)の処理済テンプレートエッジ画像LEIの複数個のエッジ画素Egtと、を使用画素として用いて、マッチングが実行される。マッチングは、ICPアルゴリズムに従って、2個の画像のエッジ画素間の距離が最小となるように最適化計算を行うことによって実行される。
【0062】
本ステップのマッチングは、図5のS320のパターンマッチングによって決定された位置関係を初期位置として、図5のS320のパターンマッチングよりも高い精度で行われる。例えば、本ステップのマッチングは、座標(オフセット)については1画素未満の精度、角度については1度未満の精度で行われる。
【0063】
S350では、CPU310は、S345でのマッチングの平均誤差が閾値TH以下であるか否かを判断する。平均誤差は、マッチング後の位置関係における2個の画像の対応するエッジ画素間の距離の平均である。平均誤差が閾値TH以下である場合には、S345のマッチングが十分に高い精度で行われたと判断できる。
【0064】
マッチングの平均誤差が閾値TH以下である場合には(S350:YES)、S360にて、CPU310は、S320のパターンマッチングの結果と、S345のICPマッチングの結果と、に基づいて、媒体画像Is内の印刷対象領域PAs(図4(D))を決定する。具体的には、CPU310は、2回のマッチングのオフセット量の合計と、回転角度の合計と、に基づいて、媒体画像Isとテンプレート画像TIとの最終的な位置関係を特定する。CPU310は、最終的な位置関係において、テンプレート画像TIが重なる媒体画像Is上の領域を印刷対象領域PAsとして決定する。
【0065】
マッチングの平均誤差が閾値THより大きい場合には(S350:NO)、S355にて、CPU310は、中断処理を実行して、マッチング処理を中断する。中断処理としては、例えば、処理を中断することを示すメッセージと、衣服Sを、再度、プラテン142上に設定する段階から作業をやり直すように作業者に指示するメッセージと、を表示部370に表示する処理が行われる。
【0066】
以上説明した本実施例によれば、CPU310は、媒体画像データを用いて媒体画像Is内の複数個のエッジ画素Egs(図6(B))を特定する(図5のS335)。CPU310は、テンプレート画像データを用いてテンプレート画像TI内の複数個のエッジ画素Egt(図6(A))を特定する(図5のS325)。CPU310は、媒体画像Isとテンプレート画像TIとの相対的な位置関係を比較的粗い第1の精度で決定する(図5のS320)。CPU310は、決定された位置関係におけるエッジ画素Egs、Egtとの位置関係に基づいて、エッジ画素Egs、Egtの中から複数個の使用画素を決定する(図5のS340)。本実施例の使用画素は、参照画像のエッジ画素のうち、有効エッジ画素であると判定される画素と、比較画素の全てのエッジ画素である。使用画素は、エッジ画素Egs、Egtの合計よりも少ない。すなわち、エッジ画素Egs、Egtの少なくとも一部は使用画素から除外される。CPU310は、決定された使用画素を用いて、媒体画像Isとテンプレート画像TIとの相対的な位置関係を第1の精度よりも高い第2の精度で決定する(図5のS345)。この結果、媒体画像Isとテンプレート画像TIとの相対的な位置関係を第2の精度で決定する際に、不必要なエッジ画素が用いられることで十分な精度で当該位置関係を決定することができない不都合を抑制できる。したがって、媒体画像Isとテンプレート画像TIとの相対的な位置関係を精度良く特定することができる。さらには、不必要なエッジ画素が用いられることで図5のマッチング処理の処理時間が増大する不都合を抑制できる。したがって、例えば、媒体画像Is内のオブジェクト(例えば、胸ポケットPCs)の特定に要する時間を低減できる。
【0067】
さらに、本実施例によれば、S320における第1の精度での位置関係の決定は、媒体画像データに対して縮小処理を実行して生成される縮小媒体画像データ(図5のS310)と、テンプレート画像データに対して縮小処理を実行して生成される縮小テンプレート画像データ(図5のS300)と、を用いて実行される。この結果、比較的粗い精度での位置関係の決定に要する処理時間を低減できる。
【0068】
さらに、本実施例によれば、図6(B)に示すように、媒体画像Isの使用画素(図6(B)のエッジ画素Egs)は、媒体画像Isのうちのテンプレート画像TIに対応する一部分である部分媒体画像SI(図4(F))に含まれる画素の中から決定される。
【0069】
上記構成によれば、媒体画像Isの使用画素は、部分媒体画像SIに含まれる画素の中から決定されるので、例えば、媒体画像Is全体から決定される場合よりも使用画素の個数を減らすことができる。したがって、S345でのマッチングに要する処理時間をさらに低減することができる。
【0070】
さらに、本実施例によれば、図7の有効エッジ画素決定処理において、CPU310は、参照画像のエッジ画素のうち、対応する比較画像のエッジ画素が存在する画素を、使用画素(有効エッジ画素)として決定し、対応するエッジ画素が存在しない画素を使用画素として決定しない(図7のS450~S455)。この結果、使用画素の個数を適切に減らすことができる。この結果、S345でのマッチングに要する処理時間をさらに低減することができる。
【0071】
ここで、参照画像の特定のエッジ画素に対応する比較画像のエッジ画素は、具体的には、参照画像と比較画像とが粗いマッチングで決定された位置関係において、参照画像の特定のエッジ画素から所定距離(本実施例では、半径R)以内に存在する比較画像のエッジ画素である(図7のS440、S445)。この結果、参照画像の特定のエッジ画素に対応する比較画像のエッジ画素の有無を容易に判断できる。
【0072】
さらに、本実施例によれば、図7の有効エッジ画素決定処理では、部分媒体画像SI(部分媒体エッジ画像SEI)のエッジ画素Egsの個数Nsが、テンプレート画像TI(テンプレートエッジ画像TEI)のエッジ画素Egtの個数Ntよりも多い場合には(図7の420にてYES)、部分媒体画像SIを参照画像とする処理が実行され(図7のS425)。個数Nsが個数Ntよりも少ない場合には(図7の420にてNO)、テンプレート画像TIを参照画像とする処理が実行される(図7のS430)。この結果、エッジ画素を比較的多く含む画像の使用画素の個数を適切に減らすことができる。
【0073】
さらに、本実施例によれば、図5のS325での粗い精度でのマッチングは、パターンマッチング処理である。この結果、高速に粗い精度でのマッチングを行うことができる。
【0074】
さらに、本実施例によれば、図5のS345での高精度でのマッチングは、ICP(iterative closest point)アルゴリズムを用いる処理である。この結果、適切なエッジ画素を用いて、高精度のマッチングを実現できる。
【0075】
以上の説明から解るように、部分媒体画像SI(部分媒体エッジ画像SEI)のエッジ画素Egsは、第1エッジ画素の例であり、テンプレート画像TI(テンプレートエッジ画像TEI)のエッジ画素Egtは、第2エッジ画素の例である。図5のS320のマッチングは、第1決定処理の例であり、図5のS345のマッチングは、第2決定処理の例である。
【0076】
B.変形例
(1)上記実施例では、衣服Sを示す媒体画像データを対象画像データとして用いて、衣服S内の印刷対象領域を特定している。これに限らず、他の様々な用途に用いられる。例えば、用紙内の印刷対象領域を特定するために、用紙内の印刷対象領域を示すマーカを特定するために、用紙をスキャンして得られるスキャンデータが対象画像データとして用いられても良い。また、工業部品をロボットで操作するために、撮像画像内の工業部品を特定する際に、撮像画像データが対象画像データとして用いられても良い。
【0077】
(2)上記実施例では、図5のS320のパターンマッチングは、縮小媒体画像データと、縮小テンプレート画像データとを用いて実行されている。これに代えて、図5のS320のパターンマッチングは、縮小されていない媒体画像データとテンプレート画像データとを用いて実行されても良い。
【0078】
(3)上記実施例では、図5のS335~S345の処理は、媒体画像データの一部分である部分媒体画像データを用いて実行されている。これに代えて、例えば、媒体画像データとテンプレート画像データとのサイズの差が小さい場合には、媒体画像データを用いて、図5のS335~S345の処理が実行されても良い。
【0079】
(4)上記実施例では、部分媒体画像SIとテンプレート画像TIのうち、エッジ画素の個数が多い画像を参照画像とし、エッジ画素の個数が少ない画像を比較画像として、図7のS435~S465の処理が実行される。これに代えて、例えば、部分媒体画像SIとテンプレート画像TIのうちの一方を参照画像とし他方を比較画像として、S435~S465の処理が実行された後に、部分媒体画像SIとテンプレート画像TIのうちの他方を参照画像とし一方を比較画像として、S435~S465の処理がさらに実行されても良い。
【0080】
(5)上記実施例のS445では、注目エッジ画素を中心とした半径Rの円内を探索範囲としている。これに限らず、例えば、参照画像を複数個のブロックに分割し、注目エッジ画素が位置するブロックを探索範囲としても良い。
【0081】
(6)上記実施例では、図5のS320のマッチングには、パターンマッチングが用いられている。これに代えて、他のアルゴリズムを用いたマッチングが実行されても良い。他のアルゴリズムとしては、例えば、Chamfer Matchingなどが用いられても良い。
【0082】
(7)上記実施例では、図5のS345のマッチングには、ICPアルゴリズムが用いられている。これに代えて、他のアルゴリズムを用いたマッチングが実行されても良い。
【0083】
(8)図3(A)のテンプレート登録処理および図3(B)の印刷処理の全部または一部を実行する装置は、端末装置300に代えて、他の種々の装置であってよい。例えば、プリンタ200のCPU210や、撮像装置400のCPUが、図3(A)のテンプレート登録処理および図3(B)の印刷処理を実行しても良い。この場合には、端末装置300は不要である。また、図3(A)のテンプレート登録処理および図3(B)の印刷処理を実行する装置は、プリンタ200、端末装置300、撮像装置400の少なくとも1つとインターネットを介して接続されたサーバであっても良い。この場合に、サーバは、複数個の互いに通信可能な計算機によって構成されるいわゆるクラウドサーバであっても良い。
【0084】
(9)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【0085】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0086】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0087】
100…印刷機構,1000…印刷システム,110…印刷ヘッド,120…ヘッド駆動部,130…主走査部,140…搬送部,142…プラテン,144…トレイ,200…プリンタ,201…筐体,210…CPU,220…不揮発性記憶装置,230…揮発性記憶装置,231…バッファ領域,260…操作部,270…表示部,280…通信部,300…端末装置,310…CPU,320…不揮発性記憶装置,330…揮発性記憶装置,360…操作部,370…表示部,380…通信部,400…撮像装置,Is…媒体画像,It…見本画像,LEI…処理済部分媒体エッジ画像,MEIs…縮小媒体エッジ画像,MEIt…縮小テンプレートエッジ画像,PG1,PG2…コンピュータプログラム,SEI…部分媒体エッジ画像,SI…部分媒体画像,TEI…テンプレートエッジ画像,TI…テンプレート画像
図1
図2
図3
図4
図5
図6
図7