JP2022091591A - コンピュータプログラム、画像処理装置、および、画像処理方法 - Google Patents
コンピュータプログラム、画像処理装置、および、画像処理方法 Download PDFInfo
- Publication number
- JP2022091591A JP2022091591A JP2020204507A JP2020204507A JP2022091591A JP 2022091591 A JP2022091591 A JP 2022091591A JP 2020204507 A JP2020204507 A JP 2020204507A JP 2020204507 A JP2020204507 A JP 2020204507A JP 2022091591 A JP2022091591 A JP 2022091591A
- Authority
- JP
- Japan
- Prior art keywords
- image
- feature point
- feature
- image data
- pixel
- 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.)
- Pending
Links
- 238000004590 computer program Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 title claims abstract description 23
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 110
- 230000008569 process Effects 0.000 claims description 87
- 238000004422 calculation algorithm Methods 0.000 claims description 35
- 230000009467 reduction Effects 0.000 claims description 11
- 238000011946 reduction process Methods 0.000 claims description 9
- 238000007639 printing Methods 0.000 description 35
- 238000003708 edge detection Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 210000003128 head Anatomy 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000000976 ink Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000007641 inkjet printing Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
【課題】画像間の相対的な位置関係を精度良く決定する。
【解決手段】コンピュータプログラムは、対象画像データとテンプレート画像データとを用いて、対応関係を有する対象画像内の第1特徴点とテンプレート画像内の第2特徴点とを特定する処理と、対象画像内の第1エッジ画素のうち、第1特徴点の近傍に位置する画素を第1使用画素として決定し、テンプレート画像内の複数個の第2エッジ画素のうち、第2特徴点の近傍に位置する画素を第2使用画素として決定する処理と、複数個の第1使用画素と複数個の第2使用画素とを用いて、対象画像とテンプレート画像との相対的な位置関係を決定する処理と、をコンピュータに実行させる。対応関係は、第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される。
【選択図】 図7
【解決手段】コンピュータプログラムは、対象画像データとテンプレート画像データとを用いて、対応関係を有する対象画像内の第1特徴点とテンプレート画像内の第2特徴点とを特定する処理と、対象画像内の第1エッジ画素のうち、第1特徴点の近傍に位置する画素を第1使用画素として決定し、テンプレート画像内の複数個の第2エッジ画素のうち、第2特徴点の近傍に位置する画素を第2使用画素として決定する処理と、複数個の第1使用画素と複数個の第2使用画素とを用いて、対象画像とテンプレート画像との相対的な位置関係を決定する処理と、をコンピュータに実行させる。対応関係は、第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される。
【選択図】 図7
Description
本明細書は、画像間の相対的な位置関係を決定するための技術に関する。
特許文献1に記載された画像処理装置は、サーチ画像上にある電子部品などのオブジェクトを特定する。その際に、画像処理装置は、サーチ画像上のエッジ画素のうち、コーナー度を用いて抽出された画素を用いて、サーチ画像とテンプレート画像との粗い位置合わせを行う。画像処理装置は、さらに、サーチ画像上の全てのエッジ画素、あるいは、一部が間引かれた後のエッジ画素を用いて、サーチ画像とテンプレート画像との最終的な位置合わせを行う。
しかしながら、上記技術では、位置合わせに用いるべきエッジ画素の選択について十分な工夫がなされているとは言えなかった。このために、画像間の相対的な位置関係を十分に精度良く決定できない場合があった。
本明細書は、画像間の相対的な位置関係を精度良く決定できる新たな技術を開示する。
本明細書に開示された技術は、以下の適用例として実現することが可能である。
[適用例1]コンピュータプログラムであって、
前記対象画像を示す対象画像データと、オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得処理と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画素特定処理と、
前記対象画像データと前記テンプレート画像データとを用いて、対応関係を有する前記対象画像内の第1特徴点と前記テンプレート画像内の第2特徴点とを特定する特徴点特定処理であって、前記第1特徴点と前記第2特徴点とは、画像内の局所的な所定の特徴を有する部分に位置する点であり、前記第1エッジ画素と前記第2エッジ画素の特定とは異なるアルゴリズムを用いて特定される点であり、前記対応関係は、前記第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、前記第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される、前記特徴点特定処理と、
前記複数個の第1エッジ画素のうち、前記第1特徴点の近傍に位置する画素を第1使用画素として決定し、前記複数個の第2エッジ画素のうち、前記第2特徴点の近傍に位置する画素を第2使用画素として決定する使用画素決定処理と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を決定する第1配置処理と、
をコンピュータに実行させるコンピュータプログラム。
前記対象画像を示す対象画像データと、オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得処理と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画素特定処理と、
前記対象画像データと前記テンプレート画像データとを用いて、対応関係を有する前記対象画像内の第1特徴点と前記テンプレート画像内の第2特徴点とを特定する特徴点特定処理であって、前記第1特徴点と前記第2特徴点とは、画像内の局所的な所定の特徴を有する部分に位置する点であり、前記第1エッジ画素と前記第2エッジ画素の特定とは異なるアルゴリズムを用いて特定される点であり、前記対応関係は、前記第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、前記第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される、前記特徴点特定処理と、
前記複数個の第1エッジ画素のうち、前記第1特徴点の近傍に位置する画素を第1使用画素として決定し、前記複数個の第2エッジ画素のうち、前記第2特徴点の近傍に位置する画素を第2使用画素として決定する使用画素決定処理と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を決定する第1配置処理と、
をコンピュータに実行させるコンピュータプログラム。
上記構成によれば、画像内の局所的な所定の特徴を有する部分に位置する特徴点の近傍に位置するエッジ画素を用いて、対象画像とテンプレート画像との相対的な位置関係が決定される。この結果、対象画像とテンプレート画像との相対的な位置関係を精度良く決定することができる。例えば、特徴点は、特定するためのアルゴリズムなどによってずれが生じる場合がある。また、複数個のエッジ画素は、例えば、線を構成する場合が多い。このことから、複数個のエッジ画素を用いる場合には、特徴点だけを用いる場合よりも、対象画像とテンプレート画像との相対的な位置関係を精度良く決定できる。また、画像内のエッジ画素は、ノイズに対応するエッジ画素が含まれる。特徴点の近傍に位置するエッジ画素は、局所的な特徴を有する部分に関連するエッジ画素である確率が高く、ノイズに対応するエッジ画素である確率が低い。この結果、特徴点の近傍に位置するエッジ画素を用いる場合には、画像内の全てのエッジ画素を用いる場合よりもノイズによる悪影響を抑制できるので、対象画像とテンプレート画像との相対的な位置関係を精度良く決定できる。さらに、特徴点の近傍に位置するエッジ画素を用いる場合には、画像内の全てのエッジ画素を用いる場合よりも使用されるエッジ画素の個数が少ないので、対象画像とテンプレート画像との相対的な位置関係の決定に要する処理時間を低減できる。
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法、画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
A.第1実施例:
A-1:印刷システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例の印刷システム1000の構成を示すブロック図である。印刷システム1000は、プリンタ200と、本実施例の画像処理装置としての端末装置300と、撮像装置400と、を含んでいる。プリンタ200と端末装置300、および、撮像装置400と端末装置300とは、通信可能に接続されている。
A-1:印刷システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例の印刷システム1000の構成を示すブロック図である。印刷システム1000は、プリンタ200と、本実施例の画像処理装置としての端末装置300と、撮像装置400と、を含んでいる。プリンタ200と端末装置300、および、撮像装置400と端末装置300とは、通信可能に接続されている。
端末装置300は、プリンタ200のユーザが使用する計算機であり、例えば、パーソナルコンピュータやスマートフォンである。端末装置300は、端末装置300のコントローラとしてのCPU310と、ハードディスクドライブなどの不揮発性記憶装置320と、RAMなどの揮発性記憶装置330と、マウスやキーボードなどの操作部360と、液晶ディスプレイなどの表示部370と、通信部380と、を備えている。通信部380は、外部機器、例えば、プリンタ200や撮像装置400と通信可能に接続するための有線または無線のインタフェースを含む。
揮発性記憶装置330は、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域331を提供する。不揮発性記憶装置320には、コンピュータプログラムPG1が格納されている。コンピュータプログラムPG1は、例えば、サーバからダウンロードされる形態、あるいは、DVD-ROMなどに格納される形態で、プリンタ200の製造者によって提供される。CPU310は、コンピュータプログラムPG1を実行することによって、プリンタ200を制御するプリンタドライバとして機能する。プリンタドライバとしてのCPU310は、例えば、後述するテンプレート登録処理や印刷処理を実行する。
撮像装置400は、光学的に被写体を撮像することによって被写体を表す画像データ(撮像画像データとも呼ぶ)を生成するデジタルカメラである。撮像装置400は、端末装置300の制御に従って、撮像画像データを生成し、端末装置300に送信する。
プリンタ200は、例えば、印刷機構100と、プリンタ200のコントローラとしてのCPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、RAMなどの揮発性記憶装置230と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部260と、液晶ディスプレイなどの表示部270と、通信部280と、を備えている。通信部280は、外部機器、例えば、端末装置300と通信可能に接続するための有線または無線のインタフェースを含む。
揮発性記憶装置230は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域231を提供する。不揮発性記憶装置220には、コンピュータプログラムPG2が格納されている。コンピュータプログラムPG2は、本実施例では、プリンタ200を制御するための制御プログラムであり、プリンタ200の出荷時に不揮発性記憶装置220に格納されて提供され得る。これに代えて、コンピュータプログラムPG2は、サーバからダウンロードされる形態で提供されても良く、DVD-ROMなどに格納される形態で提供されてもよい。CPU210は、コンピュータプログラムPG2を実行することにより、例えば、後述する印刷処理によって端末装置300から送信される印刷データに従って印刷機構100を制御して印刷媒体に画像を印刷する。なお、本実施例のプリンタ200は、印刷媒体として布地が想定されており、例えば、Tシャツなどの衣服や、靴SH(図2参照)の上に画像を印刷することができる。
印刷機構100は、C、M、Y、Kの各インク(液滴)を吐出して印刷を行うインクジェット方式の印刷機構である。印刷機構100は、印刷ヘッド110とヘッド駆動部120と主走査部130と搬送部140とを備えている。
図2を参照して、さらに、説明する。図2は、印刷システム1000の概略構成を示す斜視図である。図2の+X方向、-X方向、+Y方向、-Y方向、+Z方向、-Z方向は、それぞれ、プリンタ200の左方、右方、前方、後方、上方、下方である。
主走査部130は、筐体201の内部において、図示しない主走査モータの動力を用いて、印刷ヘッド110を搭載するキャリッジ(図示省略)を主走査方向(図2のX方向)に沿って往復動させる。これによって、靴SHなどの印刷媒体に対して主走査方向(X方向)に沿って印刷ヘッド110を往復動させる主走査が実現される。
搬送部140は、筐体201のX方向中央部に設けられたプラテン142およびトレイ144を備えている。板状のプラテン142の上面(+Z方向の面)は、靴SHなどの印刷媒体を載置するための載置面である。プラテン142は、プラテン142の-Z方向に配置された板状のトレイ144に固定されている。トレイ144は、プラテン142より一回り大きい。プラテン142とトレイ144とによって、靴SHなどの印刷媒体が保持される。例えば、印刷媒体が靴SHである場合には、靴SHの足を挿入する部分に挿入される靴用の治具(図示省略)がプラテン142に固定される。靴SHは、内部に治具が挿入されることによって治具に対して固定される。プラテン142とトレイ144は、図示しない副走査モータの動力を用いて、主走査方向と交差する搬送方向(図2のY方向)に搬送される。これによって、靴SHなどの印刷媒体を印刷ヘッド110に対して搬送方向に搬送する副走査が実現される。
ヘッド駆動部120(図1)は、主走査部130が印刷ヘッド110の主走査を行っている最中に、印刷ヘッド110に駆動信号を供給して、印刷ヘッド110を駆動する。印刷ヘッド110は、図示しない複数個のノズルを備え、駆動信号に従って、搬送部140によって搬送される印刷媒体上にインクを吐出してドットを形成する。
図2に示すように、撮像装置400は、図示しない支持具によって支持されて、プリンタ200の+Z方向に配置される。撮像装置400は、プリンタ200から離れた場所に位置し、プラテン142の上面に対向して設けられ、プラテン142の上面に載置された靴SHなどの印刷媒体を撮影可能である。これによって、撮像装置400は、靴SHなどの印刷媒体を含む画像を示す撮像画像データを生成することができる。
A-2.印刷システム1000の動作
印刷システム1000の動作について説明する。印刷システム1000は、印刷媒体としての靴SHの一部分である印刷対象領域に対して、所定の画像(例えば、模様やロゴ)を印刷する。本実施例では、印刷対象領域は、靴SHの側面の布地の領域である。靴SHは、例えば、作業者によって、プラテン142とトレイ144との所定の位置に載置される。その際に、常に、靴SHがプラテン142に対して同じ位置に配置されるように、靴SHを正確に載置することは困難である。このために、印刷システム1000は、靴SHが載置されたプラテン142やトレイ144上において、靴SHを含む領域を特定し、特定された靴SHの印刷対象領域に対して印刷を行う機能を備えている。
印刷システム1000の動作について説明する。印刷システム1000は、印刷媒体としての靴SHの一部分である印刷対象領域に対して、所定の画像(例えば、模様やロゴ)を印刷する。本実施例では、印刷対象領域は、靴SHの側面の布地の領域である。靴SHは、例えば、作業者によって、プラテン142とトレイ144との所定の位置に載置される。その際に、常に、靴SHがプラテン142に対して同じ位置に配置されるように、靴SHを正確に載置することは困難である。このために、印刷システム1000は、靴SHが載置されたプラテン142やトレイ144上において、靴SHを含む領域を特定し、特定された靴SHの印刷対象領域に対して印刷を行う機能を備えている。
A-2-1.テンプレート登録処理
テンプレート登録処理は、後述する印刷処理において靴SHが位置する印刷対象領域を特定するためのテンプレート画像データを、見本の靴SHを用いて生成する処理である。見本の靴SHは、例えば、印刷すべき複数個の靴SHのうちの一つである。
テンプレート登録処理は、後述する印刷処理において靴SHが位置する印刷対象領域を特定するためのテンプレート画像データを、見本の靴SHを用いて生成する処理である。見本の靴SHは、例えば、印刷すべき複数個の靴SHのうちの一つである。
図3(A)は、テンプレート登録処理のフローチャートである。テンプレート登録処理は、例えば、見本の靴SHがプラテン142に対して載置され、プラテン142に載置された靴SHを上方から撮像装置400にて撮影可能な状態で、ユーザが端末装置300に開始指示を入力した場合に開始される。テンプレート登録処理は、端末装置300のCPU310によって実行される。
S100では、CPU310は、見本の靴SHの撮像画像データを撮像装置400から取得する。具体的には、CPU310は、撮像装置400に撮像指示を送信する。撮像装置400は、プラテン142に載置された見本の靴SHを撮像して、撮像画像データを生成して、端末装置300に送信する。撮像画像データは、例えば、複数個の画素に対応する複数個のRGB値を含み、RGB値で画素ごとの色を示す画像データである。RGB値は、RGBの3個の成分値を含むRGB表色系の色値である。本ステップにて取得される見本の靴SHの撮像画像データを見本画像データとも呼び、見本画像データによって示される画像を見本画像とも呼ぶ。
図4は、テンプレート画像に関する画像の一例を示す図である。図4に示すように、画像の左右方向は、プリンタ200の主走査方向(図2のX方向)に対応し、画像の上下方向は、プリンタ200の搬送方向(図2のY方向)に対応している。図4(A)には、見本画像データによって示される見本画像Itの一例が図示されている。見本画像Itは、プラテン142に載置された見本の靴SHを示す画像を含んでいる。以下では、見本画像Itに含まれる見本の靴SHを示す画像を、単に「靴SHt」とも呼ぶ。
S105では、CPU310は、ユーザの指示に基づいて、見本画像It内の印刷対象領域PAtをクロッピングする。例えば、CPU310は、図示しないユーザインタフェース(UI)画面を表示部370に表示する。ユーザは、マウスなどのポインティングデバイスを用いて、UI画面上において、見本画像It内の印刷対象領域PAtを指定する指示を入力する。図4(A)の例では、靴SHtを含む印刷対象領域PAtが図示されている。CPU310は、見本画像データに対してクロッピング処理を実行して、印刷対象領域PAtに対応する部分見本画像データを生成する。
S110では、CPU310は、部分見本画像データをテンプレート画像データとして、不揮発性記憶装置220に保存する。図4(B)には、テンプレート画像データ(部分見本画像データ)によって示されるテンプレート画像TIの一例が図示されている。
A-2-2.印刷処理
印刷処理は、プリンタ200を用いて、印刷媒体としての靴SHを含む印刷対象領域に対して、所定の画像(例えば、模様やロゴ)を印刷する処理である。図3(B)は、印刷処理のフローチャートである。印刷処理は、印刷媒体である靴SHがプラテン142に載置され、プラテン142に載置された靴SHを上方から撮像装置400にて撮影可能な状態で、ユーザが端末装置300に開始指示を入力した場合に開始される。印刷処理は、端末装置300のCPU310によって実行される。
印刷処理は、プリンタ200を用いて、印刷媒体としての靴SHを含む印刷対象領域に対して、所定の画像(例えば、模様やロゴ)を印刷する処理である。図3(B)は、印刷処理のフローチャートである。印刷処理は、印刷媒体である靴SHがプラテン142に載置され、プラテン142に載置された靴SHを上方から撮像装置400にて撮影可能な状態で、ユーザが端末装置300に開始指示を入力した場合に開始される。印刷処理は、端末装置300のCPU310によって実行される。
S200では、CPU310は、印刷媒体である靴SHの撮像画像データを撮像装置400から取得する。取得の方法は、図3(A)のS100と同様の方法である。本ステップにて取得される印刷媒体である靴SHの撮像画像データを媒体画像データともよび、媒体画像データによって示される画像を媒体画像とも呼ぶ。
図5は、媒体画像に関する画像の一例を示す図である。図5(A)には、媒体画像データによって示される媒体画像Isの一例が図示されている。媒体画像Isは、見本画像Itと同様に、プラテン142に載置された見本の靴SHを示す画像を含んでいる。以下では、媒体画像Isに含まれる靴SHを示す画像を、単に「靴SHs」とも呼ぶ。
S210では、CPU310は、マッチング処理を実行して、媒体画像Is内の印刷対象領域PAsを特定する。マッチング処理は、媒体画像データと、テンプレート画像データと、を用いて実行される。マッチング処理は、媒体画像Isとテンプレート画像TIとの位置関係を決定する処理である。マッチング処理の詳細については後述する。
2個の画像Is、TIの位置関係は、例えば、媒体画像Isに対するテンプレート画像TIの位置(座標)と、媒体画像Isに対するテンプレート画像TIの傾き(角度)と、によって示される。該位置関係は、さらに、媒体画像Isに対するテンプレート画像TIの大きさ(縮尺)を含んでも良い。図5(A)において、破線で示す矩形は、マッチング処理によって決定された位置関係で媒体画像Is上に配置されたテンプレート画像TIを示している。CPU310は、特定された位置関係に基づいて印刷対象領域PAsを特定する。例えば、特定された位置関係で媒体画像Isに重ねられたテンプレート画像TIの領域(図5(A))が印刷対象領域PAsとして特定される。
S215では、CPU310は、特定された印刷対象領域PAsに基づいて印刷画像(例えば、模様やロゴ)を位置決めし、印刷を実行する。例えば、CPU310は、媒体画像Isにおいて特定された印刷対象領域PAs内の靴SHs上の領域(例えば、靴SHsの側面の領域)に印刷画像が印刷されるように、印刷データを生成して、プリンタ200に送信する。プリンタ200は、受信した印刷データに従って、印刷機構100を制御して、靴SHに画像を印刷する。
A-2-3.マッチング処理
図3(B)のS210のマッチング処理について説明する。図6は、マッチング処理のフローチャートである。S300では、CPU310は、テンプレート画像データに対して縮小処理を実行して、縮小テンプレート画像データを生成する。縮小処理は、処理対象の画像のX方向の画素数およびY方向の画素数を所定の縮小率で減少させる処理である。縮小処理は、公知の手法、例えば、ニアレストネイバー法、バイリニア法、バイキュービック法を用いて実行される。所定の縮小率は、例えば、10~50%である。
図3(B)のS210のマッチング処理について説明する。図6は、マッチング処理のフローチャートである。S300では、CPU310は、テンプレート画像データに対して縮小処理を実行して、縮小テンプレート画像データを生成する。縮小処理は、処理対象の画像のX方向の画素数およびY方向の画素数を所定の縮小率で減少させる処理である。縮小処理は、公知の手法、例えば、ニアレストネイバー法、バイリニア法、バイキュービック法を用いて実行される。所定の縮小率は、例えば、10~50%である。
S305では、縮小テンプレート画像データに対してエッジ検出処理を実行して、縮小テンプレートエッジデータを生成する。エッジ検出処理は、処理対象の画像内の複数個の画素の中からエッジ画素を検出し、検出結果を示すエッジデータを生成する処理である。エッジデータは、画素ごとにエッジ画素であるか非エッジ画素であるかを示す二値画像データである。
エッジ画素の検出方法は、種々の方法であってよい。本実施例では、画像内のオブジェクトの輪郭を示すエッジ画素の検出に好ましいCanny Edge法が用いられる。これに代えて、例えば、ラプラシアンフィルタやソーベルフィルタを用いてエッジ強度を算出し、該エッジ強度が閾値TH1よりも大きな画素をエッジ画素として検出する方法であっても良い。
図4(C)には、縮小テンプレートエッジデータによって示される縮小テンプレートエッジ画像MEItが図示されている。縮小テンプレートエッジ画像MEItは、図4(B)のテンプレート画像TI内の靴SHtのエッジMEtを含んでいる。
S310では、CPU310は、媒体画像データに対して縮小処理を実行して、縮小媒体画像データを生成する。本ステップの縮小処理には、S300の縮小処理と同様の処理が用いられる。また、本ステップの縮小処理の縮小率は、S300の縮小処理の縮小率と同じである。
S315では、縮小媒体画像データに対して、エッジ検出処理を実行して、縮小媒体エッジデータを生成する。エッジ検出処理には、S305のエッジ検出処理と同様の検出方法が用いられる。
図5(B)には、縮小媒体エッジデータによって示される縮小媒体エッジ画像MEIsが図示されている。縮小媒体エッジ画像MEIsは、図5(A)の媒体画像Is内の靴SHsのエッジMEsを含んでいる
S320では、CPU310は、パターンマッチングにより粗い精度でのマッチングを実行する。具体的には、CPU310は、縮小媒体エッジデータと縮小テンプレートエッジデータとを用いて、縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとの大まかな位置関係を決定する。パターンマッチングのアルゴリズムには、公知のアルゴリズムが用いられる。例えば、パターンマッチングは、縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとの位置関係(座標と角度)を所定の刻み量で変えながら、縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとが重なる領域において、2個の画像MEIs、MEIt間の類似度を算出し、該類似度が最も高い位置関係を探索する手法である。2個の画像MEIs、MEIt間の類似度には、例えば、縮小媒体エッジ画像MEIsの複数個のエッジ画素のうち、縮小テンプレートエッジ画像MEItのエッジ画素と重なる画素の個数が用いられる。
マッチングの精度は、刻み量によって決定付けられる。本ステップでは、座標の刻み量は、例えば、1~数画素、角度の刻み量は、例えば、3~7度に設定される。
図5(B)において、破線で示す矩形は、パターンマッチングによって決定された位置関係で縮小媒体エッジ画像MEIs上に配置された縮小テンプレートエッジ画像MEItを示している。
S325では、CPU310は、縮小されていない元のテンプレート画像データに対して、エッジ検出処理を実行して、テンプレートエッジデータを生成する。エッジ検出処理は、S300のエッジ検出処理と同様に、Canny Edge法が用いられる。これに代えて、各種の検出フィルタを用いる方法などの方法が用いられても良い。
図4(D)には、テンプレートエッジデータによって示されるテンプレートエッジ画像TEIが図示されている。テンプレートエッジ画像TEIでは、図4(B)のテンプレート画像TIに含まれるエッジ画素Egtが特定されている。
S330では、CPU310は、S320での縮小画像を用いて実行されたパターンマッチングの結果に基づき、縮小前の媒体画像Isのうち、処理対象とすべき部分をクロッピングする。すなわち、CPU310は、S320にて特定された縮小媒体エッジ画像MEIsと縮小テンプレートエッジ画像MEItとの位置関係に基づいて、縮小前の媒体画像Isとテンプレート画像TIとの位置関係を特定する。CPU310は、媒体画像Isのうち、特定された位置関係においてテンプレート画像TIと重なる領域をクロッピングして、部分媒体画像データを生成する。
図5(C)には、クロッピングによって生成された部分媒体画像データによって示される部分媒体画像SIが図示されている。部分媒体画像SIは、媒体画像Isのうち、靴SHsを含む部分を示している。
S335では、CPU310は、クロッピングによって生成された部分媒体画像データに対して、エッジ検出処理を実行して、部分媒体エッジデータを生成する。エッジ検出処理は、S300のエッジ検出処理と同様に、Canny Edge法が用いられる。これに代えて、各種の検出フィルタを用いる方法などの方法が用いられても良い。
図5(D)には、部分媒体エッジデータによって示される部分媒体エッジ画像SEIが図示されている。部分媒体エッジ画像SEIでは、図5(C)の部分媒体画像SIに含まれるエッジ画素Egsが特定されている。
S340では、CPU310は、有効エッジ画素決定処理を実行する。有効エッジ画素決定処理は、テンプレートエッジ画像TEIにおいて特定されているテンプレート画像TIの複数個のエッジ画素Egtと、部分媒体エッジ画像SEIにおいて特定されている部分媒体画像SIの複数個のエッジ画素Egsの中から、S345で行われる最終的なマッチングにて用いるべきエッジ画素(有効エッジ画素とも呼ぶ)を決定する処理である。
図7は、有効エッジ画素決定処理のフローチャートである。S410では、CPU310は、テンプレート画像データを用いて、テンプレート画像TI内の複数個の特徴点を検出する。特徴点は、画像内の局所的な所定の特徴を有する部分に位置する点である。特徴点の検出には、様々なアルゴリズムが用いられる。本実施例では、CPU310は、領域検出アルゴリズムであるMSER(Maximally Stable Extremal Regions)と呼ばれるアルゴリズムを用いて、局所的な特徴領域を検出し、該特徴領域の代表点を特徴点として検出する。特徴領域の代表点には、例えば、重心や外接矩形の中心が用いられる。このように、特徴点は、エッジ画素Egt、Egsとは異なるアルゴリズムを用いて特定される。図4(B)の例では、テンプレート画像TIにおいて、特徴点Pt1~Pt7が検出されている。実際の画像では、さらに、多数の特徴点が検出される。
S415では、CPU310は、部分媒体画像データを用いて、部分媒体画像SI内の複数個の特徴点を検出する。特徴点を検出する手法は、S410のテンプレート画像TIの特徴点の検出手法と同じである。図5(C)の例では、部分媒体画像SIにおいて、特徴点Ps1~Ps11が検出されている。実際の画像では、さらに、多数の特徴点が検出される。
S420では、CPU310は、S410にて検出済みのテンプレート画像TIの特徴点Pt1~Pt7のそれぞれについて、局所特徴量を記述する。局所特徴量は、特徴点を含む局所領域の特徴を示す。局所特徴量を記述するアルゴリズムには、様々なアルゴリズムが用いられる。本実施例では、CPU310は、BRISK(Binary Robust Invariant Scalable Keypoints)と呼ばれるアルゴリズムを用いて、局所特徴量を記述する。局所特徴量は、例えば、所定のビット数(例えば、512ビット)の二値ベクトルで表される。
S425では、CPU310は、S410にて検出済みの部分媒体画像SIの特徴点Ps1~Ps11のそれぞれについて、局所特徴量を記述する。局所特徴量を記述するアルゴリズムには、S420のテンプレート画像TIの特徴点の局所特徴量を記述するアルゴリズムと同じである。
S430では、テンプレート画像TIの複数個の特徴点Pt1~Pt7から選択される1つの点と、部分媒体画像SIの複数個の特徴点Ps1~Ps11から選択される1つの点と、で構成されるペアの中から、1個の注目ペアを選択する。
S435では、CPU310は、注目ペアを構成する2個の特徴点の類似度Svtを算出する。2個の特徴点の類似度Svtには、例えば、2個の特徴点の局所特徴量の距離が用いられる。局所特徴量の距離は、例えば、局所特徴量を示すベクトルのハミング距離やユークリッド距離が用いられる。このために、特徴点の類似度Svt(距離)が小さいほど、2個の特徴点が類似していることを示す。
S440では、CPU310は、特徴点の類似度Svtが所定の閾値TH未満であるか否かを判断する。特徴点の類似度Svtが所定の閾値TH未満である場合には(S440:YES)、S445にて、CPU310は、注目ペアを構成する2個の特徴点を有効特徴点として決定する。特徴点の類似度Svtが所定の閾値TH以上である場合には(S440:NO)、CPU310は、S445をスキップする。
S450では、CPU310は、テンプレート画像TIの特徴点と部分媒体画像SIの特徴点とで構成される全てのペアを注目ペアとして処理したか否かを判断する。未処理のペアがある場合には(S450:NO)、CPU310は、S430に戻って未処理のペアを新たな注目ペアとして選択する。全てのペアが処理された場合には(S450:YES)、CPU310は、S455に処理を進める。
図7のS430~S450によって、テンプレート画像TIの複数個の特徴点Pt1~Pt7と、部分媒体画像SIの複数個の特徴点Ps1~Ps11と、のマッチングが行われる。これによって、テンプレート画像TIの特徴点Pt1~Pt7のうち、部分媒体画像SIに対応する特徴点が存在する点が、有効特徴点として決定される。また、部分媒体画像SIの複数個の特徴点Ps1~Ps11のうち、テンプレート画像TIに対応する特徴点が存在する点が、有効特徴点として決定される。
図4(B)、図5(C)の例では、テンプレート画像TIの特徴点Pt1~Pt7は、それぞれ、部分媒体画像SIの特徴点Ps1~Ps7と対応している。このために、テンプレート画像TIの特徴点Pt1~Pt7と部分媒体画像SIの特徴点Ps1~Ps7とは、有効特徴点として決定される。一方で、部分媒体画像SIの特徴点Ps8~Ps11は、テンプレート画像TIのいずれの特徴点とも対応していない。このために、部分媒体画像SIの特徴点Ps8~Ps11は、有効特徴点として決定されない。このように、互いに対応する特徴点がない場合があるのは、例えば、靴SHの姿勢や変形によって、一方の撮像画像には現れない特徴点が他方の撮像画像には現れる場合があるためである。
S455では、CPU310は、テンプレートエッジ画像TEIにおいて特定済みのテンプレート画像TIの複数個のエッジ画素Egt(図4(D))のうち、テンプレート画像TIの有効特徴点の近傍に位置するエッジ画素を、有効エッジ画素として決定する。例えば、有効特徴点から所定の距離以内に位置するエッジ画素は、有効特徴点の近傍に位置すると判断される。図4(D)の例では、破線で示す円領域At1~At7内のエッジ画素Egtが、有効エッジ画素として決定される。
S460では、CPU310は、部分媒体エッジ画像SEIにおいて特定済みの部分媒体画像SIの複数個のエッジ画素Egs(図5(D))のうち、部分媒体画像SIの有効特徴点の近傍に位置するエッジ画素を、有効エッジ画素として決定する。図5(D)の例では、破線で示す円領域As1~As7内のエッジ画素Egsが、有効エッジ画素として決定される。
有効エッジ画素決定処理が終了すると、図6のS345では、CPU310は、ICP(iterative closest point)アルゴリズムを用いて、部分媒体画像SIとテンプレート画像TIとのマッチングを実行する。マッチングは、具体的には、テンプレート画像TIの複数個の有効エッジ画素と、部分媒体画像SIの複数個の有効エッジ画素と、を使用画素として用いて、実行される。マッチングは、ICPアルゴリズムに従って、2個の画像のエッジ画素間の距離が最小となるように最適化計算を行うことによって実行される。
本ステップのマッチングは、図6のS320のパターンマッチングによって決定された位置関係を初期位置として、図6のS320のパターンマッチングよりも高い精度で行われる。例えば、本ステップのマッチングは、座標(オフセット)については1画素未満の精度、角度については1度未満の精度で行われる。
S350では、CPU310は、S345でのマッチングの平均誤差が閾値THm以下であるか否かを判断する。平均誤差は、マッチング後の位置関係における2個の画像の対応するエッジ画素間の距離の平均である。平均誤差が閾値THm以下である場合には、S345のマッチングが十分に高い精度で行われたと判断できる。
マッチングの平均誤差が閾値THm以下である場合には(S350:YES)、S360にて、CPU310は、S320のパターンマッチングの結果と、S345のICPマッチングの結果と、に基づいて、媒体画像Is内の印刷対象領域PAs(図5(A))を決定する。具体的には、CPU310は、2回のマッチングのオフセット量の合計と、回転角度の合計と、に基づいて、媒体画像Isとテンプレート画像TIとの最終的な位置関係を特定する。CPU310は、最終的な位置関係において、テンプレート画像TIが重なる媒体画像Is上の領域を印刷対象領域PAsとして決定する。
マッチングの平均誤差が閾値THmより大きい場合には(S350:NO)、S355にて、CPU310は、中断処理を実行して、マッチング処理を中断する。中断処理としては、例えば、処理を中断すること示すメッセージと、靴SHを、再度、プラテン142上に設定する段階から作業をやり直すように作業者に指示するメッセージと、を表示部370に表示する処理が行われる。
以上説明した本実施例によれば、CPU310は、媒体画像データを用いて媒体画像Is内の複数個のエッジ画素Egs(図5(D))を特定する(図6のS335)。CPU310は、テンプレート画像データを用いてテンプレート画像TI内の複数個のエッジ画素Egt(図4(D))を特定する(図6のS325)。CPU310は、媒体画像データとテンプレート画像データとを用いて、対応関係を有する部分媒体画像SI内の特徴点Ps1~Ps7(図5(C))と、テンプレート画像TI内の特徴点Pt1~Pt7(図4(B))とを特定する。上述のように、特徴点の対応関係は、ペアを構成する2個の特徴点の局所特徴量の比較に基づいて決定される(図7のS430~S445)。CPU310は、部分媒体画像SIのエッジ画素Egsのうち、特徴点Ps1~Ps7の近傍に位置する画素を、図6のS345のマッチングにおける使用画素として決定し(図7のS460)、テンプレート画像TIのエッジ画素Egtのうち、特徴点Pt1~Pt7の近傍に位置する画素を、図6のS345のマッチングにおける使用画素として決定する(図7のS455)。CPU310は、これらの使用画素を用いて、部分媒体画像SIとテンプレート画像TIとの相対的な位置関係を決定する(図6のS345)。この結果、部分媒体画像SIとテンプレート画像TIとの相対的な位置関係を精度良く決定することができる。
例えば、局所的な特徴点は、特定するためのアルゴリズムなどによってずれが生じる場合がある。また、複数個のエッジ画素Egs、Egtは、例えば、線を構成する場合が多い。このことから、複数個のエッジ画素Egs、Egtを用いる場合には、特徴点だけを用いる場合よりも、部分媒体画像SIとテンプレート画像TIとの相対的な位置関係を精度良く決定できる。
また、複数個のエッジ画素Egs、Egtは、ノイズに対応するエッジ画素が含まれる。また、特定すべきオブジェクト(例えば、靴SH)の構造が複雑である場合には、エッジ画素Egs、Egtの個数が過度に多くなる。このために、仮に全てのエッジ画素Egs、Egtを用いてマッチングを行うと、誤った位置でマッチングが行われる可能性が高くなる。これに対して、画像内の複数の特徴点の近傍に位置するエッジ画素は、局所的な特徴を有する部分に関連するエッジ画素である確率が高く、ノイズに対応するエッジ画素である確率が低い。また、画像内の複数の特徴点の近傍に位置するエッジ画素のみを使用することで、過度に多数のエッジ画素が用いられることを抑制できる。この結果、特徴点の近傍に位置するエッジ画素を用いる場合には、画像内の全てのエッジ画素を用いる場合よりもノイズによる悪影響を抑制できるので、部分媒体画像SIとテンプレート画像TIとの相対的な位置関係を精度良く決定できる。
さらに、特徴点の近傍に位置するエッジ画素を用いる場合には、画像内の全てのエッジ画素を用いる場合よりも使用されるエッジ画素の個数が少ないので、部分媒体画像SIとテンプレート画像TIとの相対的な位置関係の決定に要する処理時間を低減できる。
さらに、本実施例によれば、CPU310は、媒体画像Isとテンプレート画像TIとの相対的な位置関係を比較的粗い第1の精度で決定する(図6のS320)。その後に、CPU310は、決定された使用画素を用いて、媒体画像Isとテンプレート画像TIとの相対的な位置関係を第1の精度よりも高い第2の精度で決定する(図6のS345)。このように、2段階で位置合わせを行うことで、例えば、第2の精度での1回のマッチング処理を行う場合よりも速い速度で、媒体画像Isとテンプレート画像TIとの相対的な位置関係を決定できる。
さらに、本実施例によれば、S320における第1の精度での位置関係の決定は、媒体画像データに対して縮小処理を実行して生成される縮小媒体画像データ(図6のS310)と、テンプレート画像データに対して縮小処理を実行して生成される縮小テンプレート画像データ(図6のS300)と、を用いて実行される。この結果、比較的粗い精度での位置関係の決定に要する処理時間を低減できる。
さらに、本実施例によれば、媒体画像Isの特徴点Ps1~Ps11は、媒体画像Isの全体ではなく、媒体画像Isのうちのテンプレート画像TIに対応する一部分である部分媒体画像SI内に決定される(図5(C))。この結果、媒体画像Is内に、無駄な特徴点が決定されることを抑制することができる。
さらに、本実施例によれば、図6のS345での高精度でのマッチングは、ICP(iterative closest point)アルゴリズムを用いる処理である。この結果、適切なエッジ画素を用いて、高精度のマッチングを実現できる。
以上の説明から解るように、部分媒体画像SI(部分媒体エッジ画像SEI)のエッジ画素Egsは、第1エッジ画素の例であり、テンプレート画像TI(テンプレートエッジ画像TEI)のエッジ画素Egtは、第2エッジ画素の例である。図6のS320のマッチングは、第2決定処理の例であり、図6のS345のマッチングは、第1決定処理の例である。
B.変形例
(1)上記実施例では、靴SHを示す媒体画像データを対象画像データとして用いて、靴SHを含む印刷対象領域を特定している。これに限らず、他の様々な用途に用いられる。例えば、用紙内の印刷対象領域を特定するために、用紙内の印刷対象領域を示すマーカを特定するために、用紙をスキャンして得られるスキャンデータが対象画像データとして用いられても良い。また、工業部品をロボットで操作するために、撮像画像内の工業部品を特定する際に、撮像画像データが対象画像データとして用いられても良い。
(1)上記実施例では、靴SHを示す媒体画像データを対象画像データとして用いて、靴SHを含む印刷対象領域を特定している。これに限らず、他の様々な用途に用いられる。例えば、用紙内の印刷対象領域を特定するために、用紙内の印刷対象領域を示すマーカを特定するために、用紙をスキャンして得られるスキャンデータが対象画像データとして用いられても良い。また、工業部品をロボットで操作するために、撮像画像内の工業部品を特定する際に、撮像画像データが対象画像データとして用いられても良い。
(2)上記実施例では、図6のS320のパターンマッチングは、縮小媒体画像データと、縮小テンプレート画像データとを用いて実行されている。これに代えて、図6のS320のパターンマッチングは、縮小されていない媒体画像データとテンプレート画像データとを用いて実行されても良い。
(3)上記実施例では、図6のS335~S345の処理は、媒体画像データの一部分である部分媒体画像データを用いて実行されている。これに代えて、例えば、媒体画像データとテンプレート画像データとのサイズの差が小さい場合には、媒体画像データを用いて、図6のS335~S345の処理が実行されても良い。
(4)上記実施例では、CPU310は、図6のS320におけるパターンマッチングと図6のS345のICPマッチングとの2段階のマッチングを実行する。これに代えて、CPU310は、特徴点の近傍のエッジ画素を用いて、1段階でマッチングを行っても良い。
(5)上記実施例の図7のS455、S460では、有効特徴点から所定の距離以内に位置するエッジ画素が、有効特徴点の近傍に位置する有効エッジ画素として決定される。これに限らず、例えば、CPU310は、テンプレート画像TIや部分媒体画像SIを複数個のブロックに分割し、有効特徴点が所定数(例えば、1~数個)以上存在するブロックに位置するエッジ画素を有効エッジ画素として決定しても良い。
(6)上記実施例では、図6のS320のマッチングには、パターンマッチングが用いられている。これに代えて、他のアルゴリズムを用いたマッチングが実行されても良い。他のアルゴリズムとしては、例えば、Chamfer Matchingなどが用いられても良い。
(7)上記実施例では、図6のS345のマッチングには、ICPアルゴリズムが用いられている。これに代えて、他のアルゴリズムを用いたマッチングが実行されても良い。
(8)上記実施例では、図7のS410、S415の特徴点の検出には、MSERアルゴリズムが用いられている。これに代えて、他のアルゴリズムを用いた特徴点の検出が実行されても良い。他のアルゴリズムとしては、例えば、FASTやHarrisなどのコーナー検出アルゴリズムが用いられても良い。
(9)上記実施例では、図7のS420、S425の局所特徴量の記述には、BRISKアルゴリズムが用いられている。これに代えて、他のアルゴリズムを用いた局所特徴量の記述が実行されても良い。他のアルゴリズムとしては、例えば、SIFT(Scale-Invariant Feature Transform)やSURF(Speeded-Up Robust Features)などの実数ベクトルを用いるアルゴリズムや、BRIEF(Binary Robust Independent Elementary Features)やFREAK(Fast Retina Keypoint)などの二値ベクトルを用いるアルゴリズムが用いられても良い。
(10)図3(A)のテンプレート登録処理および図3(B)の印刷処理の全部または一部を実行する装置は、端末装置300に代えて、他の種々の装置であってよい。例えば、プリンタ200のCPU210や、撮像装置400のCPUが、図3(A)のテンプレート登録処理および図3(B)の印刷処理を実行しても良い。この場合には、端末装置300は不要である。また、図3(A)のテンプレート登録処理および図3(B)の印刷処理を実行する装置は、プリンタ200、端末装置300、撮像装置400の少なくとも1つとインターネットを介して接続されたサーバであっても良い。この場合に、サーバは、複数個の互いに通信可能な計算機によって構成されるいわゆるクラウドサーバであっても良い。
(11)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
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…テンプレート画像,Pt1~Pt7,Ps1~Ps11…特徴点
Claims (9)
- コンピュータプログラムであって、
前記対象画像を示す対象画像データと、オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得処理と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画素特定処理と、
前記対象画像データと前記テンプレート画像データとを用いて、対応関係を有する前記対象画像内の第1特徴点と前記テンプレート画像内の第2特徴点とを特定する特徴点特定処理であって、前記第1特徴点と前記第2特徴点とは、画像内の局所的な所定の特徴を有する部分に位置する点であり、前記第1エッジ画素と前記第2エッジ画素の特定とは異なるアルゴリズムを用いて特定される点であり、前記対応関係は、前記第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、前記第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される、前記特徴点特定処理と、
前記複数個の第1エッジ画素のうち、前記第1特徴点の近傍に位置する画素を第1使用画素として決定し、前記複数個の第2エッジ画素のうち、前記第2特徴点の近傍に位置する画素を第2使用画素として決定する使用画素決定処理と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を決定する第1決定処理と、
をコンピュータに実行させるコンピュータプログラム。 - 請求項2に記載のコンピュータプログラムであって、さらに、
前記対象画像と前記テンプレート画像との相対的な位置関係を所定の精度で決定する第2決定処理を
コンピュータに実行させ、
前記第1決定処理は、前記第2決定処理の後に、前記所定の精度よりも高い精度で前記対象画像に対する前記テンプレート画像の決定を決定する処理である、コンピュータプログラム。 - 請求項2に記載のコンピュータプログラムであって、
前記第2決定処理は、前記対象画像データに対して縮小処理を実行して生成される縮小対象画像データと、前記テンプレート画像データに対して縮小処理を実行して生成される縮小テンプレート画像データと、を用いて実行される、コンピュータプログラム。 - 請求項2または3に記載のコンピュータプログラムであって、
前記使用画素決定処理では、前記第1特徴点は、前記対象画像のうちの前記テンプレート画像に対応する一部分であって前記第2決定処理で決定された位置関係に基づいて決定される部分画像内に決定される、コンピュータプログラム。 - 請求項2~4のいずれかに記載のコンピュータプログラムであって、
前記第2決定処理は、テンプレートマッチング処理である、コンピュータプログラム。 - 請求項1~5のいずれかに記載のコンピュータプログラムであって、
前記第1決定処理は、ICP(iterative closest point)アルゴリズムを用いる処理である、コンピュータプログラム。 - 請求項1~6のいずれかに記載のコンピュータプログラムであって、
前記特徴点特定処理は、MSER(Maximally Stable Extremal Regions)アルゴリズムを用いる処理である、コンピュータプログラム。 - 画像処理装置であって、
前記対象画像を示す対象画像データと、オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得部と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画素特定部と、
前記対象画像データと前記テンプレート画像データとを用いて、対応関係を有する前記対象画像内の第1特徴点と前記テンプレート画像内の第2特徴点とを特定する特徴点特定処理であって、前記第1特徴点と前記第2特徴点とは、画像内の局所的な所定の特徴を有する部分に位置する点であり、前記第1エッジ画素と前記第2エッジ画素の特定とは異なるアルゴリズムを用いて特定される点であり、前記対応関係は、前記第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、前記第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される、前記特徴点特定部と、
前記複数個の第1エッジ画素のうち、前記第1特徴点の近傍に位置する画素を第1使用画素として決定し、前記複数個の第2エッジ画素のうち、前記第2特徴点の近傍に位置する画素を第2使用画素として決定する使用画素決定部と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を決定する第1決定部と、
を備える画像処理装置。 - 画像処理方法であって、
前記対象画像を示す対象画像データと、オブジェクトに対応するテンプレート画像を示すテンプレート画像データと、を取得する画像取得工程と、
前記対象画像データを用いて前記対象画像内の複数個の第1エッジ画素を特定し、前記テンプレート画像データを用いて前記テンプレート画像内の複数個の第2エッジ画素を特定するエッジ画素特定工程と、
前記対象画像データと前記テンプレート画像データとを用いて、対応関係を有する前記対象画像内の第1特徴点と前記テンプレート画像内の第2特徴点とを特定する特徴点特定処理であって、前記第1特徴点と前記第2特徴点とは、画像内の局所的な所定の特徴を有する部分に位置する点であり、前記第1エッジ画素と前記第2エッジ画素の特定とは異なるアルゴリズムを用いて特定される点であり、前記対応関係は、前記第1特徴点を含む局所領域の特徴を示す第1局所特徴量と、前記第2特徴点を含む局所領域の特徴を示す第2局所特徴量との比較に基づいて決定される、前記特徴点特定工程と、
前記複数個の第1エッジ画素のうち、前記第1特徴点の近傍に位置する画素を第1使用画素として決定し、前記複数個の第2エッジ画素のうち、前記第2特徴点の近傍に位置する画素を第2使用画素として決定する使用画素決定工程と、
前記複数個の第1使用画素と前記複数個の第2使用画素とを用いて、前記対象画像と前記テンプレート画像との相対的な位置関係を決定する第1決定工程と、
を備える画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020204507A JP2022091591A (ja) | 2020-12-09 | 2020-12-09 | コンピュータプログラム、画像処理装置、および、画像処理方法 |
US17/516,094 US11727667B2 (en) | 2020-12-09 | 2021-11-01 | Computer-readable storage medium, image processing apparatus, and method for image processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020204507A JP2022091591A (ja) | 2020-12-09 | 2020-12-09 | コンピュータプログラム、画像処理装置、および、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022091591A true JP2022091591A (ja) | 2022-06-21 |
Family
ID=81848008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020204507A Pending JP2022091591A (ja) | 2020-12-09 | 2020-12-09 | コンピュータプログラム、画像処理装置、および、画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11727667B2 (ja) |
JP (1) | JP2022091591A (ja) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0683961A (ja) | 1992-08-31 | 1994-03-25 | Matsushita Electric Ind Co Ltd | 画像データ輪郭部検出方法及び画像データ輪郭部検出器 |
JP3503130B2 (ja) | 1997-08-25 | 2004-03-02 | 日産自動車株式会社 | 表面検査装置 |
JP4611708B2 (ja) | 2004-10-18 | 2011-01-12 | 富士通株式会社 | 高精度マーク位置・姿勢検出装置 |
US20110208477A1 (en) | 2008-11-05 | 2011-08-25 | Keiichiro Hitomi | Measuring method of pattern dimension and scanning electron microscope using same |
JP5294923B2 (ja) | 2009-02-27 | 2013-09-18 | 三菱スペース・ソフトウエア株式会社 | 人工物検出装置及び人工物検出方法及び人工物検出プログラム |
JP5523213B2 (ja) | 2010-06-22 | 2014-06-18 | オリンパスイメージング株式会社 | 撮像装置および撮像方法 |
JP5689629B2 (ja) | 2010-08-30 | 2015-03-25 | Juki株式会社 | 画像処理装置 |
US8773513B2 (en) * | 2011-07-01 | 2014-07-08 | Seiko Epson Corporation | Context and epsilon stereo constrained correspondence matching |
JP5939775B2 (ja) | 2011-11-30 | 2016-06-22 | キヤノン株式会社 | 画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法 |
US9436987B2 (en) * | 2014-04-30 | 2016-09-06 | Seiko Epson Corporation | Geodesic distance based primitive segmentation and fitting for 3D modeling of non-rigid objects from 2D images |
JP6390173B2 (ja) * | 2014-06-02 | 2018-09-19 | 日本電気株式会社 | 情報処理装置、情報処理システム、画像処理方法、及び、プログラム |
US9330329B2 (en) * | 2014-07-09 | 2016-05-03 | Ditto Labs, Inc. | Systems, methods, and devices for image matching and object recognition in images using minimal feature points |
JP6630545B2 (ja) | 2015-11-24 | 2020-01-15 | 株式会社キーエンス | 位置決め方法、位置決め装置、プログラムおよびコンピュータ可読記録媒体 |
-
2020
- 2020-12-09 JP JP2020204507A patent/JP2022091591A/ja active Pending
-
2021
- 2021-11-01 US US17/516,094 patent/US11727667B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11727667B2 (en) | 2023-08-15 |
US20220180115A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4919028B2 (ja) | 画像処理装置および画像処理プログラム | |
JP4539318B2 (ja) | 画像情報の評価方法、画像情報の評価プログラム及び画像情報評価装置 | |
JP5566811B2 (ja) | プリントアンドスキャン文書の画像評価のためのボケ除去および監視適応的スレッショルディング | |
JP4345651B2 (ja) | 画像情報の評価方法、画像情報の評価プログラム及び画像情報評価装置 | |
EP1922693B1 (en) | Image processing apparatus and image processing method | |
US8023743B2 (en) | Image processing apparatus and image processing method | |
US7869630B2 (en) | Apparatus and method for processing image | |
EP2333655A2 (en) | Printed matter examination apparatus, a printed matter examination method, a storage medium, and a printed matter examination system | |
US20200310703A1 (en) | Non-transitory computer-readable medium, print image control device, and control method of print image control device | |
JP5751254B2 (ja) | 画像処理システム、画像処理方法および画像処理プログラム | |
JP2018046337A (ja) | 情報処理装置、プログラム及び制御方法 | |
JP7175637B2 (ja) | 情報処理装置、ロボットシステム、情報処理方法及びプログラム | |
JP2022091591A (ja) | コンピュータプログラム、画像処理装置、および、画像処理方法 | |
JP2022091592A (ja) | コンピュータプログラム、画像処理装置、および、画像処理方法 | |
JP7311832B2 (ja) | 画像処理装置、読取装置、および、コンピュータプログラム | |
US20220189035A1 (en) | Computer-readable storage medium, image processing apparatus, and method for image processing | |
CN115331234A (zh) | 存储有图像处理程序的计算机可读取的非瞬时性记录介质、以及图像处理装置 | |
JP2010091525A (ja) | 電子部品のパターンマッチング方法 | |
JP7192534B2 (ja) | アプリケーションプログラム、およびプリンタ | |
JP2008042291A (ja) | 印刷装置、および、印刷方法 | |
JP2007057908A (ja) | 画像選択装置および画像選択方法 | |
US20130148892A1 (en) | Image processing apparatus, non-transitory computer readable medium storing program, and image processing method | |
JP7310151B2 (ja) | マーク選定装置および画像処理装置 | |
US20220301326A1 (en) | Ocr target area position acquisition system, computer-readable non-transitory recording medium storing ocr target area position acquisition program, hard copy, hard copy generation system, and computer-readable non-transitory recording medium storing hard copy generation program | |
JP2005202834A (ja) | 文字認識システム、文字認識方法及び文字認識プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231117 |