(57)【要約】【課題】新たな構成を追加することなく、撮影手段で撮影された画像から正確な位置情報を取得する機能を備えたミシンを提供すること。【解決手段】撮影手段を備えるミシンにおいて、模様を有する縫製対象物が、第１位置に移動され（Ｓ２０）、第１位置に配置された縫製対象物の模様を撮影した第１画像が取得される（Ｓ３０）。縫製対象物が、第２位置に移動され（Ｓ５０）、第２位置に配置された縫製対象物の模様を撮影した第２画像が取得される（Ｓ６０）。第１位置と、第２位置と、第１画像上の模様の位置と、第２画像上の模様の位置とに基づき、模様を有する部分の縫製対象物の厚みと縫製対象物の表面上の位置との少なくとも一方が位置情報として算出される（Ｓ８０）。【選択図】図６
2011194042.tif 000002
【特許請求の範囲】
【請求項１】
模様を有する縫製対象物を、第１位置と、前記第１位置とは異なる第２位置とに移動させる移動手段と、
前記縫製対象物を撮影して画像を作成する撮影手段と、
前記撮影手段が作成した画像であって、前記第１位置に配置された前記縫製対象物の前記模様を撮影した第１画像を取得する第１取得手段と、
前記撮影手段が作成した画像であって、前記第２位置に配置された前記縫製対象物の前記模様を撮影した第２画像を取得する第２取得手段と、
前記第１位置と、前記第２位置と、前記第１画像上の前記模様の位置と、前記第２画像上の前記模様の位置とに基づき、前記模様を有する部分の前記縫製対象物の厚みと縫製対象物の表面上の位置との少なくとも一方を位置情報として算出する算出手段と
を備えたことを特徴とするミシン。
【請求項２】
前記模様は、前記縫製対象物の表面に配置された標識であることを特徴とする請求項１に記載のミシン。
【請求項３】
前記算出手段によって算出された前記位置情報に基づいて、前記第１画像と、前記第２画像とをつなぎ合わせた合成画像を作成する作成手段をさらに備えることを特徴とする請求項１又は２に記載のミシン。
【請求項４】
前記縫製対象物を保持するとともに、前記移動手段に着脱可能に取り付けられる刺繍枠をさらに備え、
前記移動手段は、前記刺繍枠を所定の２方向に移動させることを特徴とする請求項１から３のいずれかに記載のミシン。
【請求項５】
前記算出手段によって算出された複数の前記位置情報に基づいて、前記刺繍枠に保持された前記縫製対象物の保持状態を検出する検出手段と、
前記検出手段の検出結果を報知する報知手段と
をさらに備えたことを特徴とする請求項４に記載のミシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影手段を備えたミシンに関する。
【背景技術】
【０００２】
従来、撮影手段を備えたミシンが知られている（例えば、特許文献１参照）。特許文献１に記載のミシンは、撮影手段によって作成された画像中の特徴点に基づき、実際の特徴点の位置を表す三次元座標を算出する。特徴点の三次元座標を算出する処理には、計算の過程で高さ方向の座標が必要とされる。このためミシンは、高さ方向の値を所定の値であると仮定して特徴点の三次元座標を算出したり、縫製対象物の厚みを検出して特徴点の三次元座標を算出したりしている。
【０００３】
縫製の対象となる加工布の厚みを検出する機能を備えた装置が知られている（例えば、特許文献２及び特許文献３参照）。特許文献２に記載のミシンは、加工布を押圧する部材に設けられた角度センサによって加工布の厚みを検出し、布厚に応じた位置に、マーキングライトによってポイントマークを照射する。特許文献３に記載の布段検出器は、発光部によって発射され、加工布によって反射された光の光束位置に基づき加工布の厚みを検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１７４９８１号公報
【特許文献２】特開２００８−１８８１４８号公報
【特許文献３】特開平５−２６９２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のミシンでは、特徴点の高さ方向の座標が適切に設定されないと、撮影手段によって作成された画像に基づき、特徴点の三次元座標を適切に算出することができないという問題があった。また、従来の方法で加工布の厚みを検出する場合は、ミシンは、撮影手段とは別に加工布の厚みを検出するための機構を設ける必要があった。
【０００６】
本発明は上記課題を解決するためになされたものであり、新たな構成を追加することなく、撮影手段で撮影された画像から正確な位置情報を取得する機能を備えたミシンを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、第１態様のミシンは、模様を有する縫製対象物を、第１位置と、前記第１位置とは異なる第２位置とに移動させる移動手段と、前記縫製対象物を撮影して画像を作成する撮影手段と、前記撮影手段が作成した画像であって、前記第１位置に配置された前記縫製対象物の前記模様を撮影した第１画像を取得する第１取得手段と、前記撮影手段が作成した画像であって、前記第２位置に配置された前記縫製対象物の前記模様を撮影した第２画像を取得する第２取得手段と、前記第１位置と、前記第２位置と、前記第１画像上の前記模様の位置と、前記第２画像上の前記模様の位置とに基づき、前記模様を有する部分の前記縫製対象物の厚みと縫製対象物の表面上の位置との少なくとも一方を位置情報として算出する算出手段とを備えている。
【０００８】
第１態様のミシンは、縫製対象物の厚みを検出するための機構を追加することなく、撮影手段によって撮影された画像から正確な位置情報を取得することができる。位置情報を取得するために、ユーザは縫製対象物を移動手段が移動可能なように配置するという簡単な作業をするだけでよい。
【０００９】
第１態様のミシンにおいて、前記模様は、前記縫製対象物の表面に配置された標識であってもよい。この場合のミシンは、位置情報を検出したい部分に標識を配置することによって、所望の部分の縫製対象物の位置情報を検出することができる。例えば、縫製対象物が無地の加工布である場合であっても、位置情報を検出したい部分に標識を配置することによって、標識が配置された部分の位置情報を検出することができる。また、標識の形状が予め分かっている場合には、標識の形状が分かっていない場合に比べ、第１画像と、第２画像とにおける標識の位置を特定する処理を簡単にすることができる。
【００１０】
第１態様のミシンにおいて、前記算出手段によって算出された前記位置情報に基づいて、前記第１画像と、前記第２画像とをつなぎ合わせた合成画像を作成する作成手段をさらに備えてもよい。この場合のミシンは、縫製対象物の厚みを考慮せずに合成画像を作成する場合に比べ、縫製対象物を正確に表す合成画像を作成することができる。
【００１１】
第１態様のミシンにおいて、前記縫製対象物を保持するとともに、前記移動手段に着脱可能に取り付けられる刺繍枠をさらに備え、前記移動手段は、前記刺繍枠を所定の２方向に移動させてもよい。この場合のミシンは、縫製対象物を送り歯によって移動させる場合に比べ、縫製対象物を第１位置から第２位置に正確に移動させることができる。したがって、縫製対象物を送り歯によって移動させる場合に比べ、正確な位置情報を得ることができる。
【００１２】
第１態様のミシンにおいて、前記算出手段によって算出された複数の前記位置情報に基づいて、前記刺繍枠に保持された前記縫製対象物の保持状態を検出する検出手段と、前記検出手段の検出結果を報知する報知手段とをさらに備えてもよい。ユーザは、縫製対象物が刺繍枠に適切に保持されているか否かを確認することができる。
【図面の簡単な説明】
【００１３】
【図１】ミシン１の斜視図である。
【図２】縫針７の近傍をミシン１の左側からみた図である。
【図３】刺繍枠３２の平面図である。
【図４】ミシン１の電気的構成を示すブロック図である。
【図５】標識１８０の平面図である。
【図６】位置情報取得処理のフローチャートである。
【図７】刺繍枠３２が第１位置にある状態で、縫製対象物の模様が撮影された場合に作成される第１画像２０５の説明図である。
【図８】刺繍枠３２が第１位置とは異なる第２位置にある状態で、縫製対象物の模様が撮影された場合に作成される第２画像２１０の説明図である。
【図９】第１画像内に設定される第１比較範囲の画素値の説明図である。
【図１０】第２画像内に設定される第２比較範囲の画素値の説明図である。
【図１１】合成画像作成処理のフローチャートである。
【図１２】第１画像４１１と、第２画像４１２とを合成して作成された合成画像４２１の説明図である。
【図１３】保持状態確認処理のフローチャートである。
【図１４】縫製領域３２５を６等分した小領域と、縫製領域３２５内の縫製対象物５０１との説明図である。
【図１５】ＥＥＰＲＯＭ６４に記憶された縫製対象物の種類と、所定値との対応を表す表である。
【発明を実施するための形態】
【００１４】
以下、本発明の第１から第３の実施形態のミシン１について、図面を参照して順に説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００１５】
まず、図１から図４を参照して、第１から第３の実施形態に共通するミシン１の物理的構成と、電気的構成とについて順に説明する。図１において、矢印Ｘの方向を右方向、その反対方向を左方向、矢印Ｙの方向を前方向、その反対方向を後方向と言う。図１のように、ミシン１は、ミシンベッド２と、脚柱部３と、アーム部４とを備えている。ミシンベッド２は、左右方向に長く伸びている。脚柱部３は、ミシンベッド２の右端部から上方へ立設されている。アーム部４は、脚柱部３の上端から左方へ延びている。アーム部４の左先端部には、頭部５がある。脚柱部３の正面には、表面にタッチパネル１６を備えた液晶ディスプレイ（以下、「ＬＣＤ」と言う。）１０が設けられている。ＬＣＤ１０には、例えば、縫製模様又は縫製条件の入力キーが表示される。ＬＣＤ１０に表示された画像に対応したタッチパネル１６の箇所を、指又は専用のタッチペンを用いて押圧操作すること（以下、この操作を「パネル操作」と言う。）によって、ユーザは縫製模様及び縫製条件を含む条件を選択できる。
【００１６】
ミシンベッド２の内部には、送り歯前後動機構（図示せず）と、送り歯上下動機構（図示せず）と、パルスモータ７８（図４参照）と、釜（図示せず）とが収納されている。送り歯前後動機構と、送り歯上下動機構とはそれぞれ、送り歯（図示せず）を駆動させる。パルスモータ７８は、送り歯による縫製対象物（図示せず）の送り量を調整する。釜は下糸（図示せず）が巻回されたボビン（図示せず）を収納する。ミシンベッド２の左端には、刺繍装置３０が装着されている。刺繍装置３０を使用しない場合には、ミシンベッド２の左端に補助テーブル（図示せず）が装着される。刺繍装置３０がミシンベッド２の左端に装着されると、刺繍装置３０は、ミシン１と電気的に接続された状態となる。刺繍装置３０の詳細については後述する。
【００１７】
脚柱部３とアーム部４との内部には、ミシンモータ７９（図４参照）と、主軸（図示せず）と、針棒６（図２参照）と、針棒上下動機構（図示せず）と、針振り機構（図示せず）とが収納されている。図２のように、針棒６の下端部には、縫針７が装着される。針棒上下動機構は、ミシンモータ７９を駆動源として針棒６を上下動させる。針振り機構は、パルスモータ７７（図４参照）を駆動源として針棒６を左右方向に揺動させる。図２のように、針棒６の後方には、上下方向に伸びる押え棒４５がある。押え棒４５の下端部には、押えホルダ４６が固定されている。押えホルダ４６には、加工布等の縫製対象物（図示せず）を押さえる押え足４７が装着されている。
【００１８】
アーム部４には、開閉カバー２１が取り付けられている。開閉カバー２１は、アーム部４の長手方向に設けられ、アーム部４の上後端部に左右方向向きの軸回りに開閉可能に支持されている。開閉カバー２１を開けた状態の、アーム部４の上部中央近傍には、糸収容部２３が設けられている。糸収容部２３は、糸駒２０を収容するための凹部である。糸収容部２３の脚柱部３側の内壁面には、頭部５に向かって突出する糸立棒２２が設けられている。糸駒２０は、糸駒２０が備える挿入孔（図示せず）が糸立棒２２に挿入されて装着される。図示しないが、糸駒２０の糸は、上糸として、頭部５に設けられた複数の糸掛部を経由して、針棒６に装着された縫針７（図２参照）に供給される。ミシン１は、糸掛部として、例えば、糸調子器と、糸取バネと、天秤とを備える。糸調子器と、糸取バネとはそれぞれ、上糸の糸張力を調整する。天秤は、上下に往復駆動して上糸を引き上げる。
【００１９】
ミシン１の右側面には、プーリ（図示せず）が設けられている。プーリは、手動で主軸（図示せず）を回転させ、針棒６を上下動させる。頭部５と、アーム部４との正面には、正面カバー５９が設けられている。正面カバー５９には、スイッチ群４０が設けられている。スイッチ群４０に含まれるスイッチとして、例えば、縫製開始・停止スイッチ４１と、速度調整摘み４３とが設けられている。縫製開始・停止スイッチ４１は、縫製の開始と、停止とを指示するスイッチである。ミシン１の停止中に縫製開始・停止スイッチ４１が押圧されるとミシン１の運転が開始され、ミシン１の運転中に縫製開始・停止スイッチ４１が押圧されるとミシン１の運転が停止される。速度調整摘み４３は、主軸の回転速度を調整する。正面カバー５９の内部であって、縫針７からみて右斜め上方の位置には、イメージセンサ５０（図２参照）が設置されている。
【００２０】
図２を参照して、イメージセンサ５０について説明する。イメージセンサ５０は、周知のＣＭＯＳイメージセンサであり、ミシンベッド２と、ミシンベッド２上に設けられる針板８０とを撮影可能な位置に取り付けられる。本実施形態では、イメージセンサ５０は、ミシン１のフレーム（図示せず）に取り付けられた支持フレーム５１に取り付けられている。イメージセンサ５０は、縫針７の針落ち位置近傍の所定の撮影範囲を撮影し、入射した光を電気信号に変換した画像データを出力する。針落ち位置とは、針棒６が針棒上下機構（図示外）により下方へ移動され、縫針７が縫製対象物を貫通する位置（点）のことをいう。以下、イメージセンサ５０が、入射した光を電気信号に変換した画像データを出力することを、「イメージセンサ５０が、画像を作成する」とも言う。詳細は後述するが、本実施形態では、撮影範囲の画像に基づいて、縫製対象物の位置情報が算出される。
【００２１】
次に、図１と図３とを参照して、刺繍装置３０について説明する。刺繍装置３０は、刺繍枠３２を、左右方向と、前後方向とを組み合わせた方向に移動させる機能を備える。刺繍装置３０は、刺繍枠３２を、左右方向と、前後方向とを組み合わせた方向に移動させる機能を備える。刺繍装置３０は、キャリッジ（図示せず）と、キャリッジカバー３３と、前後移動機構（図示せず）と、左右移動機構（図示せず）と、刺繍枠３２とを備える。キャリッジは、刺繍枠３２を着脱可能に保持する。キャリッジの右方には、刺繍枠３２が装着される凹溝部（図示せず）が設けられている。凹溝部は、キャリッジの長手方向に沿って伸長している。キャリッジカバー３３は、概略、前後方向に長い直方体状の形状を有し、キャリッジを収容する。キャリッジカバー３３の内部には、前後移動機構（図示せず）が設けられている。前後移動機構は、Ｙ軸モータ８２（図４参照）を駆動源として、刺繍枠３２が装着されたキャリッジを前後方向に移動させる。左右移動機構は、刺繍装置３０の本体内に設けられている。左右移動機構は、Ｘ軸モータ８１（図４参照）を駆動源として、刺繍枠３２が装着されたキャリッジと、前後移動機構と、キャリッジカバー３３とを左右方向に移動させる。
【００２２】
Ｙ軸モータ８２と、Ｘ軸モータ８１とに対する駆動指令は、刺繍座標系３００での座標で表される移動量に基づき、後述するＣＰＵ６１（図４参照）によって出力される。刺繍座標系３００は、刺繍枠３２の移動量をＸ軸モータ８１及びＹ軸モータ８２に指示するための座標系である。刺繍座標系３００は、左右移動機構の移動方向である左右方向がＸ軸方向であり、前後移動機構の移動方向であるの前後方向がＹ軸方向である。本実施形態の刺繍座標系３００では、刺繍枠３２の縫製領域の中心が、縫針７の鉛直下方にある場合をＸＹ平面の原点位置（Ｘ，Ｙ，Ｚ）＝（０，０，Ｚ）としている。本実施形態の刺繍装置３０は、刺繍枠３２をＺ方向（ミシン１の上下方向）には移動させないので、加工布等の縫製対象物３４の厚みに応じてＺが決定される。刺繍枠３２の移動量は、ＸＹ平面の原点位置を基準位置として設定される。
【００２３】
図３を参照して、刺繍枠３２について説明する。刺繍枠３２は、ガイド３２１と、外枠３２２と、内枠３２３と、調整ネジ３２４とを備える。ガイド３２１は、平面視略長方形の形状を有する。ガイド３２１の下面の略中央には、長手方向に沿って伸長する突出部（図示せず）が設けられている。突出部を、刺繍装置３０のキャリッジ（図示せず）に設けられた凹溝部（図示せず）に取り付けることによって、刺繍枠３２はキャリッジに装着される。刺繍枠３２はキャリッジに装着された状態では、キャリッジに設けられている弾性付勢バネ（図示せず）によって、突出部は凹溝部に押圧される方向に付勢される。このため、刺繍枠３２とキャリッジとは、確実に嵌合した状態となり、刺繍枠３２はキャリッジと一体的に移動する。外枠３２２の内側には、外周形状が外枠３２２の内周形状と略同形状に形成された内枠３２３が嵌め込まれる。外枠３２２と内枠３２３との間には、加工布等の縫製対象物３４が挟まれる。外枠３２２に設けられた調整ネジ３２４が締められることによって、縫製対象物３４は刺繍枠３２に保持される。内枠３２３の内側には、矩形の縫製領域３２５が設定されている。刺繍模様は、縫製領域３２５内に形成される。なお、刺繍枠３２は図１のサイズのものだけでなく、図示はしないが様々なサイズの刺繍枠が用意されている。
【００２４】
次に、図４を参照して、ミシン１の主な電気的構成について説明する。図４のように、ミシン１は、ＣＰＵ６１と、ＲＯＭ６２と、ＲＡＭ６３と、ＥＥＰＲＯＭ６４と、外部アクセスＲＡＭ６５と、入出力インターフェイス（Ｉ／Ｏ）６６とを備え、これらはバス６７によって相互に接続されている。
【００２５】
ＣＰＵ６１は、ミシン１の主制御を司り、ＲＯＭ６２等に記憶されたプログラムに従って、各種処理を実行する。ＲＯＭ６２は、プログラム記憶エリアを含む複数の記憶エリアを備える。プログラム記憶エリアには、ＣＰＵ６１によって実行されるプログラムが記憶されている。ＲＡＭ６３は、任意に読み書き可能な記憶素子である。ＲＡＭ６３には、例えば、ＣＰＵ６１がプログラムを実行する際に必要なデータと、ＣＰＵ６１による演算結果とが記憶される。ＥＥＰＲＯＭ６４は、読み書き可能な記憶素子であり、プログラム記憶エリアに記憶されている各種プログラムが実行される際に使用される各種パラメータが記憶されている。ＥＥＰＲＯＭ６４の記憶エリアについては後述する。外部アクセスＲＡＭ６５には、カードスロット１７が接続されている。カードスロット１７は、メモリカード１８と接続可能である。カードスロット１７とメモリカード１８とを接続すれば、ミシン１は、メモリカード１８の情報の読み取りと、メモリカード１８への情報の書き込みとを行うことができる。
【００２６】
入出力インターフェイス６６には、縫製開始・停止スイッチ４１と、速度調整摘み４３と、タッチパネル１６と、駆動回路７０から７５と、イメージセンサ５０とが電気的に接続されている。駆動回路７０は、パルスモータ７７を駆動させる。パルスモータ７７は、針振り機構（図示せず）の駆動源である。駆動回路７１は、送り量調整用のパルスモータ７８を駆動させる。駆動回路７２は、ミシンモータ７９を駆動させる。ミシンモータ７９は、主軸（図示せず）の駆動源である。駆動回路７３は、Ｘ軸モータ８１を駆動させる。駆動回路７４は、Ｙ軸モータ８２を駆動させる。駆動回路７５はＬＣＤ１０を駆動させる。入出力インターフェイス６６には、図示しない他の構成要素が適宜接続される。
【００２７】
次に、ＥＥＰＲＯＭ６４の記憶エリアについて説明する。図示しないが、ＥＥＰＲＯＭ６４は、設定記憶エリアと、内部変数記憶エリアと、外部変数記憶エリアとを備えている。設定記憶エリアには、ミシン１が各種処理を実行する際に使用する設定値が記憶されている。設定値としては、例えば、刺繍枠の種類と、縫製領域との対応が記憶されている。
【００２８】
内部変数記憶エリアには、イメージセンサ５０の内部変数が記憶される。内部変数は、イメージセンサ５０の特性に基づいて生じる焦点距離と、主点座標のずれと、撮影した画像の歪みとをそれぞれ補正するためのパラメータである。内部変数記憶エリアには、内部変数として、Ｘ軸焦点距離と、Ｙ軸焦点距離と、Ｘ軸主点座標と、Ｙ軸主点座標と、第一歪み係数と、第二歪み係数とが記憶される。Ｘ軸焦点距離は、イメージセンサ５０のＸ軸方向の焦点距離のずれを示す。Ｙ軸焦点距離は、Ｙ軸方向の焦点距離のずれを示す。Ｘ軸主点座標は、イメージセンサ５０のＸ軸方向の主点のずれを示す。Ｙ軸主点座標は、Ｙ軸方向の主点のずれを示す。第一歪み係数と第二歪み係数とはそれぞれ、イメージセンサ５０のレンズの傾きによる歪みを示す。内部変数は、例えば、ミシン１が撮影した画像を正規化画像に変換する処理と、ミシン１が縫製対象物３４上の位置情報を算出する処理とで用いられる。正規化画像は、正規化カメラで撮影した画像である。正規化カメラとは、光学中心からスクリーン面までの距離が単位長であるようなカメラである。
【００２９】
外部変数記憶エリアには、イメージセンサ５０の外部変数が記憶される。外部変数は、ワールド座標系１００に対するイメージセンサ５０の設置状態（位置及び向き）を示すパラメータである。つまり、外部変数とは、カメラ座標系２００と、ワールド座標系１００とのずれを示すパラメータである。カメラ座標系２００は、イメージセンサ５０の三次元座標系である。図２ではカメラ座標系２００を模式的に示している。ワールド座標系１００は、空間全体を示す座標系である。ワールド座標系１００は、撮影対象物の重心等の影響を受けることのない座標系である。本実施形態では、ワールド座標系１００と、刺繍座標系３００とを一致させている。
【００３０】
外部変数記憶エリアには、外部変数として、Ｘ軸回転ベクトルと、Ｙ軸回転ベクトルと、Ｚ軸回転ベクトルと、Ｘ軸並進ベクトルと、Ｙ軸並進ベクトルと、Ｚ軸並進ベクトルとが記憶される。Ｘ軸回転ベクトルは、カメラ座標系２００のワールド座標系１００に対するＸ軸周りの回転を示し、Ｙ軸回転ベクトルは、Ｙ軸周りの回転を示し、Ｚ軸回転ベクトルは、Ｚ軸周りの回転を示す。Ｘ軸回転ベクトルと、Ｙ軸回転ベクトルと、Ｚ軸回転ベクトルとは、ワールド座標系１００の三次元座標をカメラ座標系２００の三次元座標に変換する転換行列及び、カメラ座標系２００の三次元座標をワールド座標系１００の三次元座標へ変換する転換行列を決定する際に使用される。Ｘ軸並進ベクトルはワールド座標系１００に対するカメラ座標系２００のＸ軸方向のずれを示し、Ｙ軸並進ベクトルはＹ軸方向のずれを示し，Ｚ軸並進ベクトルはＺ軸方向のずれを示す。Ｘ軸並進ベクトルと、Ｙ軸並進ベクトルと、Ｚ軸並進ベクトルとは、ミシン１がワールド座標系１００の三次元座標をカメラ座標系２００の三次元座標へ変換する並進ベクトル及び、カメラ座標系２００の三次元座標をワールド座標系１００の三次元座標へ変換する並進ベクトルを決定する際に使用される。Ｘ軸回転ベクトルと、Ｙ軸回転ベクトルと、Ｚ軸回転ベクトルとに基づいて決定される、ワールド座標系１００の三次元座標をカメラ座標系２００の三次元座標に変換するための３×３の回転行列を、回転行列Ｒとする。Ｘ軸並進ベクトルと、Ｙ軸並進ベクトルと、Ｚ軸並進ベクトルとに基づいて決定される、ワールド座標系１００の三次元座標をカメラ座標系２００の三次元座標に変換するための３×１のベクトルを並進ベクトルｔとする。
【００３１】
次に、図５を参照して、標識１８０について説明する。図５の左右方向を標識１８０の左右方向とし、図５の上下方向を標識１８０の上下方向とする。標識１８０は、例えば、刺繍模様の縫製対象物３４上の縫製位置を特定したり、縫製対象物３４の厚みを取得したりするために、縫製対象物３４の上面に貼り付けられる。図５のように、標識１８０は、縦が約３ｃｍ，横が約２ｃｍの矩形形状を有する透明な薄板状の基材シート９６の面に、模様が描かれたものである。具体的には、基材シート９６には、第一円１０１と、第二円１０２とが描かれている。第二円１０２は、第一円１０１の上方に配置され、第一円１０１よりも小さい直径を有する。基材シート９６には、さらに、線分１０３から１０５が描かれている。線分１０３は、第一円１０１の中心１１０と、第二円１０２の中心１１１とを通り、標識１８０の上端から下端まで伸びる線分である。線分１０４は、第一円１０１の中心１１０を通り、且つ、線分１０３に直交する線分であり、標識１８０の右端から左端まで伸びる。線分１０５は、第二円１０２の中心１１１を通り、且つ、線分１０３に直交する線分であり、標識１８０の右端から左端まで伸びる。
【００３２】
第一円１０１の円周と、線分１０３と、線分１０４とで囲まれた４つの領域のうち、右上部１０８と左下部１０９とは黒色に塗りつぶされ、右下部１１３と左上部１１４とは白色に塗りつぶされている。同様に、第二円１０２と、線分１０３と、線分１０５とで囲まれた４つの領域のうち、右上部１０６と左下部１０７とは黒色に塗りつぶされ、右下部１１５と左上部１１６とは白色に塗りつぶされている。標識１８０の模様が描かれている面のうち、その他の部分は透明である。標識１８０の下面には透明の粘着剤が塗られている。未使用時には、標識１８０の下面には剥離紙（図示せず）に貼り付けられている。ユーザは、剥離紙から標識１８０を剥がして、標識１８０を縫製対象物３４の表面に貼り付ける。
【００３３】
次に、図６のフローチャートを参照して、第１の実施形態のミシン１で実行される位置情報取得処理について説明する。位置情報取得処理では、縫製対象物３４の表面に貼り付けられた標識１８０のワールド座標系の三次元座標が算出される。本実施形態では、例えば、標識１８０の第一円１０１の中心１１０を対応点としてワールド座標系の三次元座標が算出される。位置情報取得処理は、例えば、標識１８０の縫製対象物３４上の位置と、縫製対象物３４の厚みとの少なくともいずれかを検出する場合に実行される。図６の位置情報取得処理を実行するためのプログラムはＲＯＭ６２（図４参照）に記憶されている。位置情報取得処理は、ユーザがパネル操作によって指示を入力した場合に、ＲＯＭ６２に記憶されたプログラムに従って、ＣＰＵ６１（図４参照）が実行する。
【００３４】
図６のように、位置情報取得処理では、まず、刺繍枠３２の移動位置が設定され、設定された移動位置がＲＡＭ６３に記憶される（Ｓ１０）。Ｓ１０では２つの互いに異なる刺繍枠３２の移動位置として、第１位置及び第２位置が設定される。第１位置及び第２位置は、例えば、原点位置に対する刺繍枠３２の中心点の移動位置によって表される。第１位置と、第２位置とは、各位置に刺繍枠３２が配置された状態でイメージセンサ５０が縫製対象物３４を撮影した場合に、作成される画像中に標識１８０の画像が含まれるように設定される。すなわち、刺繍枠３２が第１位置に配置された状態での撮影範囲（以下、「第１範囲」と言う。）と、刺繍枠３２が第２位置に配置された状態での撮影範囲（以下、「第２範囲」と言う。）とは一部が重なっている。第１範囲と、第２範囲とが重なる部分には、標識１８０が配置されている。Ｓ１０では、例えば、ユーザが指定した位置に基づき第１位置と、第２位置とが設定されてもよい。また例えば、標識１８０を検出する処理が実行された後、検出された標識１８０の位置に基づき第１位置と第２位置とが設定されてもよい。図３のように縫製対象物３４の表面に標識１８０が配置されている場合、例えば、第１範囲１８１と、第２範囲１８２とが設定される。第１範囲１８１と、第２範囲１８２とが重なった部分１８３には標識１８０がある。
【００３５】
次に、駆動回路７３と、駆動回路７４とに駆動指令が出力され、Ｓ１０で設定された第１位置に刺繍枠３２が移動される（Ｓ２０）。次に、刺繍枠３２が第１位置に移動された状態で、イメージセンサ５０によって縫製対象物３４が撮影され、撮影によって作成された画像は第１画像としてＲＡＭ６３に記憶される（Ｓ３０）。次に、Ｓ３０で作成された画像に基づき、中心１１０の画像座標ｍ＝（ｕ，ｖ）Ｔが算出され、算出された画像座標ｍと第１位置のワールド座標ＥｍｂＰｏｓ（１）とがＲＡＭ６３に記憶される（Ｓ４０）。画像座標は、画像中の位置に応じて決定される座標である。（ｕ，ｖ）Ｔは、（ｕ，ｖ）の転置行列である。標識１８０の画像座標ｍを特定する処理は、公知の方法（例えば、特開２００９−１７２１２３号公報に記載の方法）に従って実行される。同様に、Ｓ１０で設定された第２位置に刺繍枠３２が移動される（Ｓ５０）。次に、縫製対象物３４が撮影され、撮影によって作成された画像は第２画像としてＲＡＭ６３に記憶される（Ｓ６０）。次に、Ｓ６０で作成された第２画像に基づき、中心１１０の画像座標ｍ′＝（ｕ′，ｖ′）Ｔが算出され、算出された画像座標ｍ′と第２位置のワールド座標ＥｍｂＰｏｓ（２）とがＲＡＭ６３に記憶される（Ｓ７０）。（ｕ′，ｖ′）Ｔは、（ｕ′，ｖ′）の転置行列である。
【００３６】
次に、Ｓ４０で算出された画像座標ｍと、Ｓ７０で算出された画像座標ｍ′とを用いて、中心１１０のワールド座標系の三次元座標が算出され、算出された座標はＲＡＭ６３に記憶される（Ｓ８０）。中心１１０のワールドカメラ座標系の三次元座標は、２つの異なる位置に配置されたカメラによって撮影された対応点の三次元座標を、２つのカメラ間の視差を利用して算出する方法を応用した方法によって算出される。視差を利用した算出方法では、以下のように対応点のワールド座標系の三次元座標が算出される。刺繍枠３２の位置が変更されない条件のもと、異なる位置に配置された２つのカメラによって撮影された対応点の画像座標ｍ＝（ｕ，ｖ）Ｔと、ｍ′＝（ｕ′，ｖ′）Ｔとが既知であれば、方程式（１）と、方程式（２）とが得られる。
ｓｍａｖ＝ＰＭｗａｖ        ・・・・式（１）
ｓ′ｍａｖ′＝Ｐ′Ｍｗａｖ  ・・・・式（２）
【００３７】
式（１）と式（２）とにおいて、Ｐは、画像座標ｍ＝（ｕ，ｖ）Ｔを得たカメラの射影行列であり、Ｐ′は、画像座標ｍ′＝（ｕ′，ｖ′）Ｔを得たカメラの射影行列である。射影行列は、カメラの内部変数と、外部変数とを含む行列である。ｍａｖは、ｍの拡張ベクトルである。ｍａｖ′は、ｍ′の拡張ベクトルである。Ｍｗａｖは、Ｍｗの拡張ベクトルである。Ｍｗは、対応点のワールド座標系の三次元座標である。拡張ベクトルは、与えられたベクトルに対して要素１を加えたものである。例えば、ｍ＝（ｕ，ｖ）Ｔの拡張ベクトルは、ｍａｖ＝（ｕ，ｖ，１）Ｔである。ｓと、ｓ′とは、スカラーを表す。
【００３８】
方程式（１）と（２）とから、式（３）が導かれる。
ＢＭｗ＝ｂ      ・・・・式（３）
式（３）について、Ｂは４行３列の行列であり、Ｂのｉ行ｊ列の要素Ｂｉｊは式（４）で示される。ｂは式（５）で示される。
（Ｂ１１，Ｂ２１，Ｂ３１，Ｂ４１，Ｂ１２，Ｂ２２，Ｂ３２，Ｂ４２，Ｂ１３，Ｂ２３，Ｂ３３，Ｂ４３）＝（ｕｐ３１−ｐ１１，ｖｐ３１−ｐ２１，ｕ′ｐ３１′−ｐ１１′，ｖ′ｐ３１′−ｐ２１′，ｕｐ３２−ｐ１２，ｖｐ３２−ｐ２２，ｕ′ｐ３２′−ｐ１２′，ｖ′ｐ３２′−ｐ２２′，ｕｐ３３−ｐ１３，ｖｐ３３−ｐ２３，ｕ′ｐ３３′−ｐ１３′，ｖ′ｐ３３′−ｐ２３′）        ・・・・式（４）
ｂ＝［ｐ１４−ｕｐ３４，ｐ２４−ｖｐ３４，ｐ１４′−ｕ′ｐ３４′，ｐ２４′−ｖ′ｐ３４′］Ｔ      ・・・・式（５）
式（４）と式（５）とについて、ｐｉｊは、Ｐのｉ行ｊ列の要素であり、ｐｉｊ′は、Ｐ′のｉ行ｊ列の要素である。［ｐ１４−ｕｐ３４，ｐ２４−ｖｐ３４，ｐ１４′−ｕ′ｐ３４′，ｐ２４′−ｖ′ｐ３４′］Ｔは、［ｐ１４−ｕｐ３４，ｐ２４−ｖｐ３４，ｐ１４′−ｕ′ｐ３４′，ｐ２４′−ｖ′ｐ３４′］の転置行列である。
よってＭｗは、式（６）で表される。
Ｍｗ＝Ｂ＋ｂ      ・・・・式（６）
式（６）において、Ｂ＋は、行列Ｂの擬似逆行列を表す。
【００３９】
上記視差を利用した算出方法を利用した方法は、１つのカメラ（イメージセンサ５０）の位置を固定した上で、対応点（中心１１０）を第１位置と、第２位置とに移動させて撮影し、第１位置と、第２位置との間の距離を利用して対応点の三次元座標を算出する方法である。対応点は、中心１１０の他、第１範囲と、第２範囲とが重なる部分にあるいずれかの点が設定されてもよい。視差を利用した算出方法を利用した方法では、次のように対応点のワールド座標系の三次元座標が算出される。
【００４０】
まず、刺繍枠３２が第１位置にある場合と、第２位置にある場合とのそれぞれについて、イメージセンサ５０の内部変数と、外部変数の回転行列と、並進ベクトルとが算出される。イメージセンサ５０の内部変数は、イメージセンサ５０の特性に基づいて設定されるパラメータである。したがって、刺繍枠３２の配置が変わっても、内部変数は変わらない。このため、式（７）が成立する。
（第１位置での内部変数Ａ１）＝（第２位置での内部変数Ａ２）＝（原点での内部変数Ａ）      ・・・・式（７）
刺繍枠３２は、刺繍座標系３００（ワールド座標系１００）のＸＹ平面上を移動する。したがって、刺繍枠３２の配置が変わっても、イメージセンサ５０の外部変数の回転行列は変わらない。このため、式（８）が成立する。
（第１位置での回転行列Ｒ１）＝（第２位置での回転行列Ｒ２）＝（原点での回転行列Ｒ）      ・・・・式（８）
【００４１】
一方、並進ベクトルｔは、軸方向のずれを表すため、刺繍枠３２の配置に応じて異なる。具体的には、刺繍枠３２が第１位置に配置されている場合の並進ベクトルｔ１は式（９）で表され、刺繍枠３２が第２位置に配置されている場合の並進ベクトルｔ２は式（１０）によって表される。
（第１位置の並進ベクトルｔ１）＝（原点での並進ベクトルｔ）＋Ｒ（第１位置でのワールド座標ＥｍｂＰｏｓ（１））      ・・・・式（９）
（第２位置の並進ベクトルｔ２）＝（原点での並進ベクトルｔ）＋Ｒ（第２位置でのワールド座標ＥｍｂＰｏｓ（２））      ・・・・式（１０）
【００４２】
したがって、刺繍枠３２の移動量を、イメージセンサ５０の並進ベクトルの設定に反映させることにより、刺繍枠３２の位置が変更されない条件のもと、２つのイメージセンサ５０が異なる位置に配置されている場合の条件に置き換えることができる。この場合の、Ｐは式（１１）で表され、Ｐ′は、式（１２）で表される。
Ｐ＝Ａ［Ｒ，ｔ１］        ・・・・式（１１）
Ｐ′＝Ａ［Ｒ，ｔ２］      ・・・・式（１２）
原点での内部変数Ａは、ＥＥＰＲＯＭ６４の内部変数記憶エリアに記憶されている。原点での回転行列Ｒと、原点での並進ベクトルｔとのそれぞれは、ＥＥＰＲＯＭ６４の外部変数記憶エリアに記憶されている。以上から得られたｍと、ｍ′と、Ｐと、Ｐ′とを式（６）に代入して、ワールド座標系の三次元座標Ｍｗが算出される。
【００４３】
位置情報取得処理は以上で終了する。位置情報取得処理で取得された位置情報であるワールド座標系の三次元座標Ｍｗ（Ｘｗ，Ｙｗ，Ｚｗ）は、例えば、標識１８０の位置を取得する処理で利用される。Ｚｗは、例えば、縫製対象物３４の厚みを取得する処理に利用される。
【００４４】
上記第１の実施形態のミシン１において、刺繍装置３０は本発明の「移動手段」に相当する。Ｘ軸方向と、Ｙ軸方向とは、本発明の所定の２方向に相当する。イメージセンサ５０は、本発明の「撮影手段」に相当する。図６のＳ３０を実行するＣＰＵ６１は、本発明の「第１取得手段」として機能する。Ｓ６０を実行するＣＰＵ６１は、本発明の「第２取得手段」として機能する。Ｓ４０と、Ｓ７０と、Ｓ８０とを実行するＣＰＵ６１は、本発明の「算出手段」として機能する。
【００４５】
上記第１の実施形態のミシン１によれば、縫製対象物３４の厚みを検出するための機構を追加することなく、イメージセンサ５０の撮影によって作成された画像から正確な位置情報を取得することができる。位置情報を取得するために、ユーザは縫製対象物３４を刺繍枠３２に装着するという簡単な作業をするだけでよい。また、位置情報を検出したい部分に標識１８０を配置することによって、所望の部分の縫製対象物３４の位置情報を検出することができる。例えば、縫製対象物３４が無地の加工布である場合であっても、位置情報を検出したい部分に標識１８０を配置することによって、標識１８０が配置された部分の位置情報を検出することができる。また、標識１８０の形状が予めミシン１に記憶されている場合には、標識１８０の形状が分かっていない場合に比べ、第１画像と、第２画像とにおける標識１８０の位置を特定する処理を簡単にすることができる。
【００４６】
上記実施形態の位置情報取得処理では、縫製対象物３４が有する模様に基づき、位置情報が取得されてもよい。この場合、例えば、以下の方法で縫製対象物３４が有する模様から対応点（同じ模様が写っている範囲）が検出されればよい。第１範囲を撮影した画像として図７の第１画像２０５が作成され、第２範囲を撮影した画像として図８の第２画像２１０が作成された場合を想定する。図７と、図８とでは、紙面の上下方向を画像の上下方向とし、紙面の左右方向を画像の左右方向とする。
【００４７】
対応点を検出する処理では、第１画像２０５と第２画像２１０とのそれぞれが数ドット×数ドットの小領域に分割される。説明を簡単にするため、図７と、図８とでは、画像を数十ドット×数十ドットの大きさの小領域に分割する境界線が格子状の線で示されている。次に、分割された各小領域について画素値が算出される。次に、第２画像２１０に第２比較範囲が設定される。第２比較範囲は、第１画像２０５と第２画像２１０とで同じ模様が写っている領域を特定する処理に用いられる範囲である。第２比較範囲は、左上小領域２０１を左上とする最大の矩形範囲である。左上小領域２０１は、矢印２０２で示されるように、左から右へ、上から下への順番で設定される小領域である。図８において、左上小領域２０１が、２行５列の小領域である場合は、矩形２０３によって囲まれる範囲が第２比較範囲である。
【００４８】
次に、第１画像２０５に第１比較範囲が設定される。第１比較範囲は、第１画像２０５の左上の小領域を左上とする、第２比較範囲と同じ大きさの矩形範囲である。矩形２０３によって囲まれる範囲が第２比較範囲である場合、図７の矩形２１３が第１比較範囲に設定される。次に、第１比較範囲と、第２比較範囲とについて、画素値の絶対値の平均値ＡＶＥが算出される。例えば、第１比較範囲の小領域の画素値が図９に示す値であり、第２比較範囲の画素値が図１０に示す値である場合を想定する。説明を簡単にするために、図９と、図１０とでは、第１及び第２比較範囲を３×３の範囲としている。この場合、同じ行同じ列の画素値の絶対値の和ＳＡＤが算出される。
【００４９】
次に、和ＳＡＤを絶対値の数で割った平均値ＡＶＥが算出される。具体例では、式ＳＡＤ＝｜２５−１７｜＋｜３３−２２｜＋｜６０−５６｜＋・・・＋｜６１−７５｜に基づき、和ＳＡＤ＝７４が算出される。式ＡＶＥ＝７４／９に基づき、平均値ＡＶＥ＝８．２２が算出される。左上小領域２０１に応じた数の平均値ＡＶＥの中から、平均値ＡＶＥが最小且つ一定値以下の場合が、第１比較範囲と、第２比較範囲とが対応している場合として特定される。具体例では、矩形２０３によって囲まれる第２比較範囲が、矩形２１３によって囲まれる第１比較範囲と対応している。この場合の対応点は、例えば、第２比較範囲の左上の点と、第１比較範囲の左上の点とで表される。
【００５０】
次に、図１１と図１２とを参照して、第２の実施形態のミシン１によって実行される、合成画像作成処理について説明する。合成画像作成処理では、複数の画像に基づき、１つの合成画像が作成される。合成画像作成処理では、イメージセンサ５０で撮影した画像の画像座標をワールド座標系１００の三次元座標に変換する処理で、縫製対象物３４の厚みが利用される。縫製対象物３４の厚みは、縫製対象物３４の模様又は縫製対象物３４の表面に配置された標識１８０を撮影した第１画像と、第２画像とに基づき算出される。なお、公知の方法（例えば、特開２００９−２０１７０４）と同様な処理については、説明を簡略化する。図１１の合成画像作成処理を実行するためのプログラムはＲＯＭ６２（図４参照）に記憶されている。合成画像作成処理は、ユーザがパネル操作によって指示を入力した場合に、ＲＯＭ６２に記憶されたプログラムに従って、ＣＰＵ６１（図４参照）が実行する。
【００５１】
図１１のように、合成画像作成処理ではまず、撮影対象範囲が設定され、設定された撮影対象範囲がＲＡＭ６３に記憶される（Ｓ２００）。撮影対象範囲は、合成画像を作成する対象となる範囲である。撮影対象範囲は、イメージセンサ５０が一度に撮影可能な撮影範囲よりも大きい。Ｓ２００では、例えば、ユーザがパネル操作によって指定した範囲及び刺繍枠の種類に応じた縫製領域とのいずれかが撮影対象範囲として設定される。ＥＥＰＲＯＭ６４には、刺繍枠の種類と、縫製領域との対応が記憶されている。刺繍枠３２の種類の応じた縫製領域が、撮影対象範囲として特定される場合、ＥＥＰＲＯＭ６４に記憶された対応関係に基づき、縫製領域３２５が撮影対象範囲に設定される。具体例として、ユーザによって図３の矩形４００で囲まれる範囲が撮影対象範囲として指定された場合を想定する。
【００５２】
次に、ＥｍｂＰｏｓ（Ｎ）が設定され、設定されたＥｍｂＰｏｓ（Ｎ）はＲＡＭ６３に記憶される（Ｓ２１０）。ＥｍｂＰｏｓ（Ｎ）は、Ｓ２００で設定された撮影対象範囲を撮影するためのＮ番目の刺繍枠３２の移動位置を表す。ＥｍｂＰｏｓ（Ｎ）は、刺繍座標系３００（ワールド座標系１００）の座標で表される。変数Ｎは、刺繍枠３２の移動位置を順に読み出すための変数である。変数Ｎの最大値Ｍと、ＥｍｂＰｏｓ（Ｎ）とは、撮影対象範囲に応じて異なる。Ｓ２００で刺繍枠の種類に応じた縫製領域が撮影対象範囲に設定された場合のＥｍｂＰｏｓ（Ｎ）は、刺繍枠の種類に応じて予め設定され、設定されたＥｍｂＰｏｓ（Ｎ）はＥＥＰＲＯＭ６４に記憶されている。Ｓ２００で、ユーザがパネル操作によって撮影対象範囲を指定した場合には、撮影対象範囲と、イメージセンサ５０が１度に撮影可能な範囲とを含む条件に基づき、ＥｍｂＰｏｓ（Ｎ）が設定される。具体例では、矩形４００によって囲まれる撮影対象範囲に対して、２つの移動位置として、第１位置と、第２位置とが設定される。第１位置と、第２位置とは、第１範囲と、第２範囲とが部分的に重なるように設定される。
【００５３】
次に、変数Ｎに１が設定され、設定された変数ＮはＲＡＭ６３に記憶される（Ｓ２１５）。次に、Ｎ番目の位置へ刺繍枠３２が移動される（Ｓ２２０）。Ｓ２２０では、Ｓ２１０で設定されたＥｍｂＰｏｓ（Ｎ）が示す位置に刺繍枠３２を移動させるための駆動指令が、図２の駆動回路７３と、駆動回路７４とへ出力される。次に、イメージセンサ５０によって、縫製対象物３４が撮影され、撮影によって作成された画像がＮ番目の部分画像としてＲＡＭ６３に記憶される（Ｓ２３０）。具体例では、Ｎ＝１の処理で、刺繍枠３２が第１位置にある状態で縫製対象物３４が撮影され、撮影によって図１２の第１画像４１１が作成される。Ｎ＝２の処理で、刺繍枠３２が第２位置にある状態で縫製対象物３４が撮影され、撮影によって第２画像４１２が作成される。
【００５４】
次に、Ｓ２２０で全ての移動位置に刺繍枠３２が移動されたか否かの判断が行われる（Ｓ２５０）。Ｓ２５０の判断は、変数Ｎが、変数Ｎの最大値Ｍと等しいか否かに基づき判断される。変数Ｎが最大値Ｍよりも小さければ、移動していない位置があることになる（Ｓ２５０：ＮＯ）。この場合、Ｎはインクリメントされ、インクリメントされたＮはＲＡＭ６３に記憶される（Ｓ２５５）。次に、処理はＳ２２０に戻り、次の順序のＥｍｂＰｏｓ（Ｎ）が示す位置に刺繍枠３２が移動される。変数Ｎが最大値Ｍと等しければ、全ての移動位置に刺繍枠３２が移動されたことになる（Ｓ２５０：ＹＥＳ）。この場合、イメージセンサ５０で撮影された画像に基づき縫製対象物３４の厚みが検出される（Ｓ２６０）。Ｓ２６０では、第１画像と、第２画像とを用いた、図６の処理と同様な処理によって縫製対象物３４の厚みが検出される。縫製対象物３４の厚みは、Ｓ２７０の部分画像の補正処理で用いられる。具体例では、第１画像４１１と、第２画像４１２との双方に含まれる範囲４１３内の模様に基づき、縫製対象物３４の厚みが検出される。
【００５５】
次に、部分画像の補正処理が実行される（Ｓ２７０）。Ｓ２７０では、部分画像に含まれる画素の画像座標（ｕ，ｖ）がワールド座標系の三次元座標Ｍｗ（Ｘｗ，Ｙｗ，Ｚｗ）に変換される。部分画像に含まれる全ての画素に対して、内部変数及び外部変数を用いてワールド座標系の三次元座標Ｍｗ（Ｘｗ，Ｙｗ，Ｚｗ）が算出され、ＲＡＭ６３に記憶される。なお、部分画像の補正は、Ｓ２３０で作成された全ての部分画像に対して行われる。部分画像の補正処理は、公知であるため説明を簡略化する。
【００５６】
部分画像上の点ｐの画像座標を（ｕ，ｖ）、点ｐのカメラ座標系の三次元座標をＭｃ（Ｘｃ，Ｙｃ，Ｚｃ）とする。そして、内部変数のＸ軸焦点距離をｆｘ，Ｙ軸焦点距離をｆｙ，Ｘ軸主点座標をｃｘ，Ｙ軸主点座標をｃｙ，第一歪み係数をｋ１，第二歪み係数をｋ２とする。
【００５７】
まず、内部変数と、部分画像上の点の画像座標（ｕ，ｖ）とに基づき、カメラ座標系の正規化画像上の座標（ｘ″，ｙ″）が算出される。座標（ｘ″，ｙ″）は、「ｘ″＝（ｕ−ｃｘ）／ｆｘ」、「ｙ″＝（ｖ−ｃｙ）／ｆｙ」に基づき算出される。次に、座標（ｘ″，ｙ″）からレンズの歪みを取り除いた正規化画像上の座標（ｘ′，ｙ′）が算出される。座標（ｘ′，ｙ′）は、「ｘ′＝ｘ″−ｘ″×（１＋ｋ１×ｒ２＋ｋ２×ｒ４）」、「ｙ′＝ｙ″−ｙ″×（１＋ｋ１×ｒ２＋ｋ２×ｒ４）」に基づき算出される。ｒ２＝ｘ″２＋ｙ″２である。そして、カメラ座標系の正規化画像上の座標（ｘ′，ｙ′）がカメラ座標系の三次元座標Ｍｃ（Ｘｃ，Ｙｃ，Ｚｃ）へ変換される。ここで、Ｘｃ，Ｙｃは、「Ｘｃ＝ｘ′×Ｚｃ」，「Ｙｃ＝ｙ′×Ｚｃ」の関係が成り立つ。また、カメラ座標系の三次元座標Ｍｃ（Ｘｃ，Ｙｃ，Ｚｃ）と、ワールド座標系の三次元座標Ｍｗ（Ｘｗ，Ｙｗ，Ｚｗ）との間には、「Ｍｗ＝ＲＴ（Ｍｃ−ｔ）」の関係が成り立つ。ＲＴは、Ｒの転置行列である。Ｚｗ＝（Ｓ２６０で算出された縫製対象物３４の厚み）とし、「Ｘｃ＝ｘ′×Ｚｃ」と、「Ｙｃ＝ｙ′×Ｚｃ」と、「Ｍｗ＝ＲＴ（Ｍｃ−ｔ）」とが連立で解かれる。これによって、Ｚｃと、Ｘｃと、Ｙｃとが算出された後、ワールド座標系の三次元座標Ｍｗ（Ｘｗ，Ｙｗ，Ｚｗ）が算出され、算出された三次元座標Ｍｗ（Ｘｗ，Ｙｗ，Ｚｗ）はＲＡＭ６３に記憶される。
【００５８】
次に、Ｓ２７０で補正された部分画像が合成された合成画像が作成され、作成された合成画像はＲＡＭ６３に記憶される（Ｓ２８０）。Ｓ２８０では、次のように合成画像が作製される。まず、「ｈｅｉｇｈｔ＝ＨＥＩＧＨＴ／ｓｃａｌｅ」と「ｗｉｄｔｈ＝ＷＩＤＴＨ／ｓｃａｌｅ」とに基づき、合成画像の縦の画素数ｈｅｉｇｈｔと、横の画素数ｗｉｄｔｈとが算出される。ｓｃａｌｅは、合成画像の画素が正方形である場合の１画素の一辺の長さである。ＨＥＩＧＨＴは、撮影対象範囲の縦方向の長さである。ＷＩＤＴＨは、撮影対象範囲の横方向の長さである。図３では、紙面上下方向が撮影対象範囲の縦方向に対応し、紙面左右方向が撮影対象範囲の横方向に対応する。次に、Ｎ番目の部分画像の三次元座標ＭｗＮ（ＸｗＮ，ＹｗＮ，ＺｗＮ）に対応する、合成画像上の画像座標（ｘ，ｙ）が算出される。Ｎ番目の部分画像を撮影したときの刺繍枠３２の位置ＥｍｂＰｏｓ（Ｎ）をワールド座標系１００の三次元座標（ａＮ，ｂＮ，ｃＮ）で表す。この場合、Ｎ番目の部分画像の三次元座標ＭｗＮ（ＸｗＮ，ＹｗＮ，ＺｗＮ）に対応する合成画像上の画像座標（ｘ，ｙ）は、「ｘ＝ＸｗＮ／ｓｃａｌｅ＋ｗｉｄｔｈ／２＋ａＮ／ｓｃａｌｅ」、「ｙ＝ＹｗＮ／ｓｃａｌｅ＋ｈｅｉｇｈｔ／２＋ｂＮ／ｓｃａｌｅ」で算出される。ｗｉｄｔｈ／２と、ｈｅｉｇｈｔ／２とは、画像座標（ｘ，ｙ）の値がマイナスにならないようにするために設定される。Ｎ番目の部分画像の画素の画像座標（ｕＮ，ｖＮ）と、合成画像の画素の画像座標（ｘ，ｙ）との対応関係に基づき、Ｎ個の部分画像が合成される。具体例では、第１画像４１１と、第２画像４１２とに基づき、合成画像４２１が作成される。合成画像作成処理は以上で終了する。
【００５９】
上記第２の実施形態のミシン１において、図１１のＳ２３０を実行するＣＰＵ６１は、本発明の「第１取得手段」と、「第２取得手段」として機能する。Ｓ２６０を実行するＣＰＵ６１は、本発明の「算出手段」として機能する。Ｓ２８０を実行するＣＰＵ６１は、本発明の「作成手段」として機能する。第２の実施形態のミシン１によれば、縫製対象物３４の厚みを考慮せずに合成画像が作成される場合に比べ、縫製対象物３４を正確に表す合成画像を作成することができる。具体例では、第１画像４１１と、第２画像４１２との２つの画像に基づき、合成画像４２１が作成されていたが、３つ以上の画像に基づき合成画像が作成されてもよい。
【００６０】
次に、図１３から図１５を参照して、第３の実施形態のミシン１によって実行される保持状態確認処理を説明する。保持状態確認処理では、刺繍枠３２に保持された縫製対象物３４の状態（以下、単に「保持状態」と言う。）が確認される。第３の実施形態では特に、保持状態として、縫製領域内の縫製対象物３４にたるみがあるか否かが判断される。換言すれば、ユーザが縫製対象物３４を刺繍枠３２に保持させたとき、刺繍枠３２に縫製対象物３４がたるみ無く保持されているか否かが判断される。縫製対象物３４にたるみが有ると、刺繍模様の縫目の糸の張力により、縫製対象物３４が部分的に引っ張られて、刺繍模様が崩れてしまう縫製不良が発生する可能性がある。このため、保持状態検出処理は、縫製対象物３４のたるみを縫製前に検出して、ユーザに報知する。
【００６１】
以下、具体的な処理を説明する。まず、縫製領域に複数の小領域が設定され、小領域毎に縫製対象物３４の厚みが検出される。縫製対象物３４の厚みは、縫製対象物３４の模様又は縫製対象物３４の表面に配置された標識１８０を撮影した第１画像と、第２画像とに基づき算出される。小領域毎に縫製対象物３４の厚みの偏差に基づきたるみの有無が判断される。具体例として、図１４のように、縫製領域３２５内の縫製対象物５０１についての保持状態が検出される場合を想定する。縫製対象物５０１は、鉢植えの花と、蝶の模様が予めプリントされた加工布であるとする。
【００６２】
図１３では、図１１の合成画像作成処理と同様な処理を実行する場合には、同じステップ番号が付与されている。合成画像作成処理と同様な処理については、説明を簡略化する。図１３の保持状態確認処理を実行するためのプログラムはＲＯＭ６２（図４参照）に記憶されている。保持状態確認処理は、ユーザがパネル操作によって指示を入力した場合に、ＲＯＭ６２に記憶されたプログラムに従って、ＣＰＵ６１（図４参照）が実行する。
【００６３】
図１３のように、保持状態確認処理ではまず、縫製対象物３４の種類が設定され、設定された種類はＲＡＭ６３に記憶される（Ｓ２０５）。縫製対象物３４の種類は、刺繍枠３２に保持されている縫製対象物３４がたるんでいるかの判断基準となる所定値を設定する処理で用いられる。Ｓ２０５は、例えば、ユーザがパネル操作により指示した種類が、縫製対象物の種類に設定される。次に、図１１の合成画像作成処理と同様のＳ２１０からＳ２３０が実行される。具体例では、Ｓ２１０において、図１４のように縫製領域３２５内に、縫製領域３２５を６等分にした小領域５１１から５１６が設定される。各小領域５１１から５１６に対して第１位置と、第２位置とが設定される。したがって、具体例では、１２の移動位置が設定される。
【００６４】
次に、Ｓ２３０で作成された画像がグレースケール画像に変換され、変換によって作成されたグレースケール画像はＲＡＭ６３に記憶される（Ｓ２４０）。カラー画像をグレースケール画像に変換する方法は公知であるため、説明を省略する。次に、Ｓ２１０で設定された移動位置ＥｍｂＰｏｓ（Ｎ）のうち、移動されていない位置がある場合には（Ｓ２５０：ＹＥＳ）、Ｎはインクリメントされ（Ｓ２５５）、処理はＳ２１０に戻る。全ての位置に移動された場合には（Ｓ２５０：ＹＥＳ）、変数Ｐに１が設定され、設定された変数ＰはＲＡＭ６３に記憶される（Ｓ２９０）。変数Ｐは、縫製領域が６等分されて作成された小領域５１１から５１６を順番に読み出すための変数である。次に、Ｐ番目の小領域を撮影した第１画像と、第２画像とが順に読み出され、Ｓ３００と、Ｓ３１０との処理が実行される。
【００６５】
Ｓ３００では、Ｐ番目の小領域の第１画像と、第２画像との対応点の画像座標が算出される。具体例では、縫製対象物５０１の模様に基づき、対応点が決定される。Ｓ３１０では、Ｓ３００で算出された座標に基づき、図６のＳ８０と同様な処理によって、対応点のワールド座標系の三次元座標が算出される。次に、全ての小領域の対応点ついて、ワールド座標系の三次元座標が算出されているか否かが判断される（Ｓ３２０）。ワールド座標系の三次元座標が算出されていない小領域がある場合（Ｓ３２０：ＮＯ）、変数Ｐはインクリメントされ、インクリメントされた変数ＰはＲＡＭ６３に記憶される（Ｓ３３０）。次に、処理はＳ３００に戻る。全ての画像についてワールド座標系の三次元座標が算出された場合（Ｓ３２０：ＹＥＳ）、Ｓ３１０で算出されたワールド座標系の三次元座標のうち、縫製対象物３４の厚みを表すＺｗの偏差が算出され、算出された偏差はＲＡＭ６３に記憶される（Ｓ３４０）。本実施形態では、１の小領域について、１のＺｗが算出される。したがって、Ｓ３４０では、６つのＺｗの偏差が算出される。
【００６６】
次に、Ｓ３４０で算出された偏差が所定値以下であるか否かが判断される（Ｓ３５０）。本実施形態では、図１５のように、縫製対象物の種類に応じて、所定値が予め設定されており、設定された所定値はＥＥＰＲＯＭ６４に記憶されている。例えば、ワッフル地及びキルト地に対しては、平坦な布地に比べ所定値が大きく設定されている。Ｓ３５０では、Ｓ３４０で算出された偏差が、Ｓ２０５で設定された縫製対象物の種類に対応する所定値と比較される。偏差が所定値以下である場合（Ｓ３５０：ＹＥＳ）、保持状態の確認結果として、例えば、「布は刺繍枠に適切に保持されています。」とのメッセージがＬＣＤ１０に表示される（Ｓ３６０）。偏差が所定値より大きい場合（Ｓ３５０：ＮＯ）、保持状態の確認結果として、例えば、「布がたるんでいます。布を張り直してください。」とのメッセージが表示される（Ｓ３７０）。Ｓ３６０又はＳ３７０の次に、保持状態確認処理は終了する。
【００６７】
上記第３の実施形態のミシン１において、図１３のＳ２３０を実行するＣＰＵ６１は、本発明の「第１取得手段」と、「第２取得手段」として機能する。Ｓ３００と、Ｓ３１０とを実行するＣＰＵ６１は、本発明の「算出手段」として機能する。Ｓ３４０と、Ｓ３５０とを実行するＣＰＵ６１は、本発明の「検出手段」として機能する。Ｓ３６０又はＳ３７０を実行するＣＰＵ６１は、本発明の「報知手段」として機能する。第３の実施形態のミシン１によれば、ユーザは、縫製対象物５０１が刺繍枠３２にたるみが無いように適切に保持されているか否かを確認することができる。これにより、縫製対象物５０１のたるみに起因して、縫製不良が発生することを未然に防ぐことができる。
【００６８】
本発明の刺繍データ作成装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。例えば、以下の（Ａ）から（Ｄ）の変形が適宜加えられてもよい。
【００６９】
（Ａ）ミシン１の構成は適宜変更されてよい。例えば、ミシン１は次の（Ａ−１）から（Ａ−３）ように変更されてもよい。
【００７０】
（Ａ−１）ミシン１が備える撮影手段は、ＣＣＤカメラであってもよいし、他の撮影素子であってもよい。撮影手段としてのイメージセンサ５０は、ミシンベッド２上を撮影可能であればよく、その取り付け位置は、適宜変更可能である。
【００７１】
（Ａ−２）刺繍装置３０は、移動手段としてＸ軸モータ８１及びＹ軸モータ８２を備えていたが、いずれかであってもよい。また例えば、送り歯によって縫製対象物が移動されてもよい。
【００７２】
（Ａ−３）縫製対象物の保持状態を報知する機器は、ＬＣＤ１０以外の機器であってもよい。例えば、縫製対象物の保持状態を報知する機器として、ミシン１はブザー又はスピーカを備えてもよい。
【００７３】
（Ｂ）カメラ座標系とワールド座標系と刺繍座標系とはそれぞれ、ミシン１が記憶するパラメータによって対応付けられていればよく、各座標系の設定方法は適宜変更可能である。例えば、ミシン１の上下方向の上側がＺ軸のプラスとなるように、刺繍座標系が設定されてもよい。
【００７４】
（Ｃ）標識の大きさ及び形状と、標識のデザインと、標識の個数とのぞれぞれは適宜設定可能である。標識のデザインは、標識を撮影して得られた画像データに基づき、標識が特定可能なデザインであればよい。例えば、標識１８０の、標識を塗りつぶす色については、黒色と白色に限定されるものではなく、コントラストの対比が明確になるような他の色の組合せであってもよい。また例えば、縫製対象物３４の色及び模様に応じて標識を変えてもよい。
【００７５】
（Ｄ）位置情報取得処理と、合成画像作成処理と、保持状態確認処理とにおいて実行される処理は、適宜変更されてもよい。例えば、次の変形が加えられてもよい。
【００７６】
（Ｄ−１）上記処理では、縫製対象物の模様又は縫製対象物の表面に配置された標識１８０に基づき、第１画像と、第２画像との対応点を求めていたが、これに限定されない。例えば、ユーザがチャコペン等のペンを用いて縫製対象物に描いた模様を対応点としてもよい。
【００７７】
（Ｄ−２）合成画像作成処理において、縫製対象物の厚みが均一である場合には、縫製対象物の厚みは１組の第１画像及び第２画像を用いて算出されればよい。このため、３つ以上の画像が合成される場合には、厚みの算出に用いられない画像については、その一部が他の画像と重なる部分に模様がなくてもよい。また例えば、複数組の第１画像及び第２画像を用いて算出された複数の縫製対象物の厚みを利用して合成画像が作成されてもよい。
【００７８】
（Ｄ−３）保持状態確認処理において、厚みを検出する箇所と、厚みを検出する箇所の数とは適宜変更されてよい。保持状態確認処理によって検出される保持状態としては、縫製対象物がたるんでいるか否かの他、例えば、縫製対象物の張りムラがあるか否かが検出されてもよい。保持状態確認処理において、複数箇所で検出された縫製対象物の厚みの偏差と、所定値との比較結果に基づき保持状態が判断されていたが、複数箇所で検出された縫製対象物の厚みを用いたその他の方法に基づき保持状態が判断されてもよい。その他の方法としては、例えば、分散と所定値との比較結果に基づいて保持状態を判断する方法が挙げられる。
【符号の説明】
【００７９】
１      ミシン
３０    刺繍装置
３２    刺繍枠
３４，５０１    縫製対象物
５０    イメージセンサ
６１    ＣＰＵ
６２    ＲＯＭ
６３    ＲＡＭ
６４    ＥＥＰＲＯＭ
８１    Ｘ軸モータ
８２    Ｙ軸モータ
１８０  標識
【図１】
2011194042.tif 000003
【図２】
2011194042.tif 000004
【図３】
2011194042.tif 000005
【図４】
2011194042.tif 000006
【図５】
2011194042.tif 000007
【図６】
2011194042.tif 000008
【図９】
2011194042.tif 000009
【図１０】
2011194042.tif 000010
【図１１】
2011194042.tif 000011
【図１２】
2011194042.tif 000012
【図１３】
2011194042.tif 000013
【図１４】
2011194042.tif 000014
【図１５】
2011194042.tif 000015
【図７】
2011194042.tif 000016
【図８】
2011194042.tif 000017