JP2014212899A - 刺繍データ作成装置およびコンピュータ読取り可能な媒体 - Google Patents
刺繍データ作成装置およびコンピュータ読取り可能な媒体 Download PDFInfo
- Publication number
- JP2014212899A JP2014212899A JP2013091700A JP2013091700A JP2014212899A JP 2014212899 A JP2014212899 A JP 2014212899A JP 2013091700 A JP2013091700 A JP 2013091700A JP 2013091700 A JP2013091700 A JP 2013091700A JP 2014212899 A JP2014212899 A JP 2014212899A
- Authority
- JP
- Japan
- Prior art keywords
- line segment
- angle
- distance
- range
- angle difference
- 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
Images
Classifications
-
- D—TEXTILES; PAPER
- D05—SEWING; EMBROIDERING; TUFTING
- D05C—EMBROIDERING; TUFTING
- D05C5/00—Embroidering machines with arrangements for automatic control of a series of individual steps
- D05C5/04—Embroidering machines with arrangements for automatic control of a series of individual steps by input of recorded information, e.g. on perforated tape
-
- D—TEXTILES; PAPER
- D05—SEWING; EMBROIDERING; TUFTING
- D05B—SEWING
- D05B19/00—Programme-controlled sewing machines
- D05B19/02—Sewing machines having electronic memory or microprocessor control unit
- D05B19/04—Sewing machines having electronic memory or microprocessor control unit characterised by memory aspects
- D05B19/08—Arrangements for inputting stitch or pattern data to memory ; Editing stitch or pattern data
-
- D—TEXTILES; PAPER
- D05—SEWING; EMBROIDERING; TUFTING
- D05B—SEWING
- D05B19/00—Programme-controlled sewing machines
- D05B19/02—Sewing machines having electronic memory or microprocessor control unit
- D05B19/12—Sewing machines having electronic memory or microprocessor control unit characterised by control of operation of machine
Landscapes
- Engineering & Computer Science (AREA)
- Textile Engineering (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Sewing Machines And Sewing (AREA)
Abstract
【課題】刺繍模様を自然に表現できる縫目を形成するための刺繍データを作成可能な刺繍データ作成装置を提供する。【解決手段】刺繍データ作成装置のCPUは、画像データに基づいて、元画像に対応する領域に複数の線分を配置する。CPUは、各線分の色を決定した後、複数の線分を、優先順位に従って色毎に順次接続して線分データを作成し、刺繍データに変換する。優先順位は、複数の距離範囲と、複数の角度差範囲と、複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して予め設定されている。CPUは、特定の線分の終点と他の線分の始点との距離、特定の線分と他の線分との角度差、特定の線分の終点と他の線分の始点を結ぶ線分とがなす角度が夫々どの範囲に属するかに応じて、他の線分の順位を特定し、順位が最も高い線分を特定の線分に接続する。【選択図】図6
Description
本発明は、ミシンによって刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置およびコンピュータ読取り可能な媒体に関する。
ミシンによって写真等の画像のデータに基づく図柄を刺繍縫製するための刺繍データを作成する装置が知られている。かかる装置は、通常、次の手順で刺繍データを作成する。まず、画像データに基づいて、画像を構成する複数の画素の各々の角度特徴が算出される。角度特徴に従って線分が配置される。画像の色に従って、各線分に対応する糸色が決定される。同じ糸色の線分が接続される。線分のデータが縫目を示すデータに変換されることで、刺繍データが作成される。
刺繍模様を自然な縫目で表現するためには、縫目ができるだけ折れ曲がったり折り返したりしないことが好ましい。そこで、例えば特許文献1に記載の刺繍データ作成装置は、特定の線分の終点から他の線分の端点までの距離が所定範囲内にあり、且つ、特定の線分と他の線分との角度差が所定範囲内にある場合、他の線分の端点を特定の線分の終点に接続する。刺繍データ作成装置は、この処理を繰り返すことで、複数の線分を接続していく。
上記文献に記載の刺繍データ作成装置は、全ての線分のうち、角度が近い線分同士が隣接している場合には、刺繍模様を自然な縫目で表現することができる。しかしながら、常に角度が近い線分同士が隣接しているとは限らないため、上記の効果は限定的なものである。
本発明は、刺繍模様を自然に表現できる縫目を形成するための刺繍データを作成可能な刺繍データ作成装置、およびコンピュータ読取り可能な媒体を提供することを目的とする。
本発明の第一の態様にかかる刺繍データ作成装置は、線分配置手段と、線分接続手段と、刺繍データ作成手段とを備える。前記線分配置手段は、複数の画素の集合体である画像の画像データに基づいて、前記画像に対応する領域に、始点と終点の二つの端点を夫々有する複数の線分を配置する。前記線分接続手段は、前記線分配置手段によって配置された前記複数の線分を順次接続する。前記刺繍データ作成手段は、前記線分接続手段によって順次接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成する。詳細には、前記線分接続手段は、前記複数の線分のうち、他の線分と接続されていない終点を有する線分を第一線分として特定し、二つの端点のいずれも他の線分と接続されていない少なくとも一の第二線分について、前記二つの端点のうち前記第一線分の前記終点により近い端点を始点として、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点との距離を算出し、基準線に対する前記第一線分の角度である第一角度と、前記基準線に対する前記少なくとも一の第二線分の角度である第二角度との角度差を算出し、前記第一線分と、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点とを結ぶ線分とがなす角度である第三角度を特定し、複数の距離範囲、複数の角度差範囲、および複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して予め設定された優先順位に従って、前記少なくとも一の第二線分のうち、前記距離が属する距離範囲、前記角度差が属する角度差範囲、および前記第三角度が属する角度範囲の組合せに対応する順位が最も高い第二線分の前記始点を、前記第一線分の前記終点に接続する処理を、前記複数の線分が全て接続されるまで繰り返すことを特徴とする。
かかる刺繍データ作成装置は、第一線分の終点と第二線分の始点との距離、第一角度と第二角度の角度差、および第三角度に基づく優先順位に従って複数の線分を接続するので、刺繍模様を自然に表現できる連続した縫目を形成するための刺繍データを作成することができる。また、角度がそれほど近くない複数の線分が近接した位置にある場合には、第一線分の終点と第二線分の始点との距離が所定範囲内にあり、且つ、第一角度と第二角度の角度差が所定範囲内にある線分を接続する方法に比べ、優先順位に従ってより多くの線分を接続できる。その結果、刺繍縫製時の渡り糸を低減することができる。
本発明の第二の態様に係るコンピュータ読取り可能な媒体は、コンピュータ読み取り可能な指示を記憶する、非一時的なコンピュータ読み取り可能な媒体である。前記指示は、複数の画素の集合体である画像の画像データに基づいて、前記画像に対応する領域に、始点と終点の二つの端点を夫々有する複数の線分を配置するステップと、配置された前記複数の線分を順次接続するステップと、接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成するステップとを装置のプロセッサに実行させる。前記複数の線分を順次接続するステップは、前記複数の線分のうち、他の線分と接続されていない終点を有する線分を第一線分として特定するステップと、二つの端点のいずれも他の線分と接続されていない少なくとも一の第二線分について、前記二つの端点のうち前記第一線分の前記終点により近い端点を始点として、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点との距離を算出するステップと、基準線に対する前記第一線分の角度である第一角度と、前記基準線に対する前記少なくとも一の第二線分の角度である第二角度との角度差を算出するステップと、前記第一線分と、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点とを結ぶ線分とがなす角度である第三角度を特定するステップと、複数の距離範囲、複数の角度差範囲、および複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して予め設定された優先順位に従って、前記少なくとも一の第二線分のうち、前記距離が属する距離範囲、前記角度差が属する角度差範囲、および前記第三角度が属する角度範囲の組合せに対応する順位が最も高い第二線分の前記始点を、前記第一線分の前記終点に接続するステップとを、前記複数の線分が全て接続されるまで前記プロセッサに繰り返させることを特徴とする。
かかる媒体に記憶された指示が刺繍データ作成装置で実行されると、プロセッサは、第一線分の終点と第二線分の始点との距離、第一角度と第二角度の角度差、および第三角度に基づく優先順位に従って複数の線分を接続するので、刺繍模様を自然に表現できる連続した縫目を形成するための刺繍データを作成することができる。また、角度がそれほど近くない複数の線分が近接した位置にある場合には、第一線分の終点と第二線分の始点との距離が所定範囲内にあり、且つ、第一角度と第二角度の角度差が所定範囲内にある線分を接続する方法に比べ、優先順位に従ってより多くの線分を接続できる。その結果、刺繍縫製時の渡り糸を低減することができる。
以下、本発明の実施形態について、図1〜図12を参照して説明する。まず、図1を参照して、刺繍データ作成装置1の構成について説明する。刺繍データ作成装置1は、後述のミシン3(図2参照)によって刺繍模様の縫目を形成するための刺繍データを作成可能な装置である。本実施形態の刺繍データ作成装置1は、写真等の画像に基づく図柄を刺繍縫製するための刺繍データを作成することができる。
刺繍データ作成装置1は、刺繍データ作成専用の装置であってもよいし、所謂パーソナルコンピュータ等の汎用型の装置であってもよい。本実施形態では、汎用型の刺繍データ作成装置1を例示する。図1に示すように、刺繍データ作成装置1は、刺繍データ作成装置1の制御を司るコントローラであるCPU11を備えている。CPU11には、RAM12と、ROM13と、入出力(I/O)インタフェイス14とが接続されている。RAM12は、CPU11による演算処理で得られた演算結果等、各種のデータを一時的に記憶する。ROM13は、BIOS等を記憶する。
I/Oインタフェイス14は、データの受け渡しの仲介を行う。I/Oインタフェイス14には、ハードディスク装置(HDD)15、入力機器であるマウス22、ビデオコントローラ16、キーコントローラ17、外部通信インタフェイス18、メモリカードコネクタ23、およびイメージスキャナ装置25が接続されている。
ビデオコントローラ16には、表示機器であるディスプレイ24が接続され、キーコントローラ17には、入力機器であるキーボード21が接続されている。外部通信インタフェイス18は、ネットワーク114への接続を可能とするインタフェイスである。刺繍データ作成装置1は、ネットワーク114を介して外部機器に接続することができる。メモリカードコネクタ23には、メモリカード55が接続可能である。刺繍データ作成装置1は、メモリカードコネクタ23を介して、メモリカード55のデータの読み取りおよびメモリカード55へのデータの書き込みを行うことができる。
HDD15の記憶エリアについて説明する。図1に示すように、HDD15は、画像データ記憶エリア151、刺繍データ記憶エリア152、プログラム記憶エリア153、および設定値記憶エリア154を含む複数の記憶エリアを有する。画像データ記憶エリア151には、刺繍データ作成の元となる画像等、各種画像の画像データが記憶される。刺繍データ記憶エリア152には、本実施形態の刺繍データ作成処理によって作成された刺繍データが記憶される。プログラム記憶エリア153には、後述する刺繍データ作成プログラム等、刺繍データ作成装置1で行われる各種処理のためのプログラムが記憶される。設定値記憶エリア154には、各種処理で使用される設定値のデータが記憶される。
なお、刺繍データ作成プログラムは、ネットワーク114を介して外部から取得され、プログラム記憶エリア153に記憶されてもよい。刺繍データ作成装置1がDVDドライブを備える場合、DVD等の媒体に記憶された刺繍データ作成プログラムが読み込まれ、プログラム記憶エリア153に記憶されてもよい。
図2を参照して、刺繍データに基づいて刺繍模様を縫製することが可能なミシン3について、簡単に説明する。図2に示すように、ミシン3は、ベッド部30、脚柱部36、アーム部38、および頭部39を有する。ベッド部30は、左右方向に長い、ミシン3の土台部である。脚柱部36は、ベッド部30の右端部から上方へ延びる。アーム部38は、ベッド部30に対向して脚柱部36の上端から左方へ延びる。頭部39は、アーム部38の左端に連結する部位である。
刺繍縫製時には、ミシン3のユーザは、ベッド部30上に配置されるキャリッジ42に、加工布を保持する刺繍枠41を装着する。刺繍枠41は、キャリッジ42に収容されたY方向移動機構(図示せず)および本体ケース43内に収容されたX方向移動機構(図示せず)によって、ミシン3に固有のXY座標系で示される針落ち点に移動される。刺繍枠41が移動されるのと合わせて、縫針44が装着された針棒35および釜機構(図示せず)が駆動されることにより、加工布上に刺繍模様が形成される。なお、Y方向移動機構、X方向駆動機構、針棒35等は、刺繍データに基づき、ミシン3に内蔵されたCPU(図示せず)によって制御される。本実施形態の刺繍データは、刺繍模様の縫目を形成するための針落ち点の座標と、縫い順と、使用される刺繍糸の色を示すデータである。
ミシン3の脚柱部36の側面には、メモリカード55を着脱可能なメモリカードスロット37が搭載されている。例えば、刺繍データ作成装置1で作成された刺繍データは、メモリカードコネクタ23を介してメモリカード55に記憶される。その後、メモリカード55がミシン3のメモリカードスロット37に装着され、記憶された刺繍データが読み出されて、ミシン3に刺繍データが記憶される。ミシン3のCPUは、メモリカード55から読み出された刺繍データに基づいて、上記の要素による刺繍模様の縫製動作を制御する。このようにして、ミシン3は、刺繍データ作成装置1で作成された刺繍データに基づいて刺繍模様を縫製することができる。
図3〜図12を参照して、本実施形態の刺繍データ作成装置1で行われる刺繍データ作成処理について説明する。刺繍データ作成処理は、ユーザが処理を開始する指示を入力した場合に開始される。CPU11は、HDD15のプログラム記憶エリア153に記憶された刺繍データ作成プログラムを読み出し、プログラムに含まれる指示を実行することで以下の処理を行う。
図3に示すように、CPU11はまず、刺繍データ作成の元となる画像(以下、元画像という)の画像データを取得する(S1)。画像データの取得方法は特に限定されないが、例えば、イメージスキャナ装置25によって写真や図柄等の画像が読み込まれ、取得された画像データが用いられる。その他、CPU11は、予めHDD15の画像データ記憶エリア151に記憶された画像データを取得してもよいし、ネットワーク114を介して外部から画像データを取得してもよいし、メモリカード55等の媒体に記憶された画像データを取得してもよい。画像データは、例えば、各画素の色をRGB値で示すデータである。なお、画像データは、各画素の色をRGB値ではなく他の形式(例えば、色相、明度、彩度)で示すデータであってもよい。
CPU11は、取得された画像データに基づいて、元画像を構成する複数の画素の各々について、角度特徴と角度特徴の強度を算出する(S2)。角度特徴は、画像中の色の連続性の高い方向を示す情報である。言い換えると、角度特徴は、ある画素の色を周囲の画素の色と比較した場合に、どの方向(角度)に、その画素の色がより連続しているかを示す情報である。角度特徴の強度は、色の変化の大きさを示す情報である。
CPU11は、角度特徴およびその強度をいかなる方法で算出してもよいが、例えば、特開2001−259268号公報(米国特許出願公開第2002/0038162号明細書)に詳述されている方法を用いて算出することができる。簡単に説明すると、CPU11はまず、元画像を構成する複数の画素のうち1つを注目画素として、注目画素とその周囲の所定数(例えば8個)の画素を注目領域とする。CPU11は、注目領域内の各画素の色に関する属性値(例えば、輝度値)に基づいて、注目領域内における色の連続性の高い方向を特定し、注目画素の角度特徴とする。また、CPU11は、注目領域内における色の変化の大きさを示す値を算出して、注目画素の角度特徴の強度とする。CPU11は、角度特徴および角度特徴の強度を、上記の方法以外に、PrewittのオペレータやSobelのオペレータを用いて算出してもよい。
CPU11は、算出された角度特徴および角度特徴の強度に基づいて、元画像に対応する領域に、複数の線分を配置する処理を行う(S3)。各線分は、刺繍模様の縫目に対応し、針落ち点に相当する二つの端点を有する。S3で配置される線分は、ユーザがキーボード21から入力した値、または予め定められ、HDD15の設定値記憶エリア154に記憶された値に応じた一定の長さを有する。CPU11は、配置された線分を特定するデータ(以下、線分データという)を、RAM12に記憶する。本実施形態では、線分データは、元画像に対応する領域中に配置された全ての線分の端点の位置を示すXY座標系の座標データである。
CPU11は、角度特徴および角度特徴の強度に基づく線分の配置をいかなる方法で行ってもよいが、例えば、特開2001−259268号公報(米国特許出願公開第2002/0038162号明細書)に詳述されている方法を用いればよい。簡単に説明すると、CPU11はまず、角度特徴の強度が所定の閾値以上である画素の各々を中心とする線分を優先的に配置する。その後、CPU11は、角度特徴の強度が所定の閾値未満の画素の各々を中心とする線分を配置する。但し、CPU11は、角度特徴の強度が所定の閾値未満の画素については、既に配置された線分に重なり合わない画素についてのみ線分を配置する。更に、その画素の周囲の画素の角度特徴を加味した角度特徴を再算出した上で、再算出した角度特徴に基づいて、線分を配置する。
CPU11は、線分の配置後、各線分の色を決定する処理を行う(S4)。CPU11は、各線分の色をいかなる方法で決定してもよいが、例えば、特開2001−259268号公報(米国特許出願公開第2002/0038162号明細書)に詳述されている方法を用いて算出することができる。簡単に説明すると、CPU11は、元画像において、注目画素を中心とする所定の範囲を、元画像の色が参照される範囲(参照領域)として設定する。CPU11は、元画像の参照領域内の色の平均値と、対応領域に配置された線分に対して既に決定された色の平均値が等しくなるように、注目画素に対応する線分の色を決定する。対応領域は、注目画素を中心とする参照領域と同じサイズの領域である。つまり、CPU11は、元画像の色と、既に決定された線分の色とに基づいて、線分の色を順に決定していく。
CPU11は、決定された線分の色に基づいて、各線分に対応する縫目の縫製に使用される糸の色(糸色)を決定する。CPU11は、例えば、刺繍縫製に実際に使用される糸色として設定されたN色の糸色のうち、決定された線分の色に最も近い糸色を、各線分に対応する糸色として決定すればよい。具体的には、CPU11は、N色の糸色の各々のRGB値と線分の色のRGB値とのRGB空間での空間距離を求め、その距離が最小となる糸色を、線分に対応する糸色とすればよい。CPU11は、各線分の糸色を示すデータを線分データに付加してRAM12に記憶する。
CPU11は、複数の線分の全ての色を決定した後、複数の線分を色毎に順次接続する線分接続処理を行う(S5)。線分接続処理については後述する。CPU11は、線分接続処理において、接続された線分の端点の位置(座標)、接続順、および糸色を示すデータを作成した後、刺繍データを作成する処理を行う(S6)。具体的には、CPU11は、全ての線分の端点の座標を、ミシン3に固有の座標系の座標に変換し、針落ち点、縫い順、および糸色を示すデータとすることで、刺繍データを作成する。CPU11は、刺繍データ作成後、図3に示す刺繍データ作成処理を終了する。
図4〜図12を参照して、線分接続処理の詳細について説明する。まず、図4および図5を参照して、複数の線分から、特定の線分に接続される他の一の線分を決定する時に考慮される条件について説明する。本実施形態では、次の三つの条件が考慮される。
第一の条件は、特定の線分の終点と他の線分の始点との間の距離である。始点とは、線分の二つの端点のうち、先に針が刺される針落ち点に対応する端点であり、終点とは、後で針が刺される針落ち点に対応する端点である。第二の条件は、特定の線分の角度と他の線分の角度との差異である角度差である。第三の条件は、特定の線分と、特定の線分の終点と他の線分の始点とを結ぶ線分とがなす角度である。CPU11は、これら三つの条件に対応する順位に従って、複数の線分から、一の線分を決定する。本実施形態では、複数の距離範囲、複数の角度差範囲、および複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して、予め優先順位が設定されている。
複数の距離範囲は、第一距離d1以下の距離範囲、第一距離d1より大きく且つ第二距離d2以下の距離範囲、および第二距離d2より大きい距離範囲を含む。複数の角度差範囲は、角度差の絶対値が第一閾値θ1以下の角度差範囲、角度差の絶対値が180度から第二閾値θ2を差し引いた値(180度−θ2)以上の角度差範囲、および、角度差の絶対値が第一閾値θ1より大きく、且つ180度から第二閾値θ2を差し引いた値よりも小さい角度範囲を含む。複数の角度範囲は、第三閾値θ3以上の角度範囲、第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲、および第四閾値以下の角度範囲を含む。なお、第一閾値θ1、第二閾値θ2、および第四閾値θ4は、何れも0度より大きく90度未満の数値であり、第三閾値θ3は90度以上180度未満の数値である。
本実施形態では、上述の距離範囲および角度範囲は、図4に示すように、始点P1および終点P2を有する線分P1P2の終点P2を基準とした領域として表される。具体的には、終点P2を中心とする半径d1の円を描くと、この円内の任意の点は、終点P2から第一距離d1以内にある。つまり、半径d1の円内の領域(円周を含む)は、第一距離d1以下の距離範囲に相当する。また、終点P2を中心とする半径d2(但し、d2はd1より大きい)の円を描くと、この円内の任意の点は、終点P2から第一距離d2以内にある。よって、半径d2の円から、半径d1の円と重なる部分を除いた領域(半径d2の円の円周を含むが、半径d1の円の円周は含まない)は、第一距離d1より大きく且つ第二距離d2以下の距離範囲に相当する。また、半径d2の円より外の領域は、第二距離d2より大きい距離範囲に相当する。
更に、線分P1P2とのなす角度がθ3である線分であって、終点P2と半径d1の円の円周上の点とを結ぶ線分が特定される。図4に示すように、かかる線分は、線分P1P2と時計周り方向にθ3をなす線分P2X1と、線分P1P2と反時計周り方向にθ3をなす線分P2X2の二つある。半径d1の円のうち、終点P2に対して始点P1とは反対側に位置する、線分P2X1と線分P2X2によって区分される領域を、領域Aという。領域Aに線分P1P2以外の線分の始点がある場合、線分P1P2と、終点P2とその始点を結ぶ線分とがなす角度は、θ3以上である。つまり、領域Aは、第三閾値θ3以上の角度範囲に相当する。なお、図4は、第三閾値θ3を120度とした例である。
また、線分P1P2とのなす角度がθ4(但し、θ4はθ3より小さい)である線分であって、終点P2と半径d1の円の円周上の点とを結ぶ線分が特定される。図4に示すように、かかる線分は、線分P1P2と時計周り方向にθ4をなす線分P2Y1と、線分P1P2と反時計周り方向にθ4をなす線分P2Y2の二つある。半径d1の円のうち、終点P2に対して始点P1と同じ側に位置する、線分P2Y1と線分P2Y2によって区分される領域を、領域Bという。領域Bに線分P1P2以外の線分の始点がある場合、線分P1P2と、終点P2とその始点を結ぶ線分とがなす角度は、θ4以下である。つまり、領域Bは、第四閾値θ4以下の角度範囲に相当する。なお、図4は、第四閾値θ4を45度とした例である。
更に、線分P1P2に対して時計周り方向および反時計周り方向の夫々において、半径d1の円のうち、線分P2X1と線分P2Y1によって区分される領域と、線分P2X2と線分P2Y2によって区分される領域を、夫々領域C1と領域C2という。領域C1およびC2の何れに線分P1P2以外の線分の始点がある場合でも、線分P1P2と、終点P2とその始点を結ぶ線分とがなす角度は、θ3より小さくθ4より大きい。つまり、領域C1およびC2は、第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲に相当し、この意味では同じ位置付けである。以下、領域C1およびC2を総称して、領域Cという。
なお、上述した通り、領域A、B、Cは、何れも半径d1の円内の領域である。従って、領域Aは、第一距離d1以下の距離範囲、且つ第三閾値θ3以上の角度範囲に相当する。領域Bは、第一距離d1以下の距離範囲、且つ第四閾値θ4以下の角度範囲に相当する。領域Cは、第一距離d1以下の距離範囲、且つ第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲に相当する。
更に、第一距離d1より大きく且つ第二距離d2以下の距離範囲については、所定の角度範囲と重なる部分についてのみ、同様に領域が設定される。具体的には、線分P1P2とのなす角度がθ3である線分であって、終点P2と半径d2の円の円周上の点とを結ぶ線分が特定される。図4に示すように、線分P1P2と時計周り方向にθ3をなす線分P2X3と、線分P1P2と反時計周り方向にθ3をなす線分P2X4が特定される。半径d2の円のうち、終点P2に対して始点P1とは反対側に位置する、線分P2X3と線分P2X4によって区分される領域の領域Aに対して外周側にある部分を、領域Dという。領域Dは、第一距離d1より大きく且つ第二距離d2以下の距離範囲、且つ第三閾値θ3以上の角度範囲に相当する。
本実施形態では、第一距離d1より大きく且つ第二距離d2以下の距離範囲では、領域D以外は設定されない。また、第二距離d2以上の距離範囲についても、領域は設定されない。しかしながら、領域の設定はこれに限定されるものではなく、詳しくは後述するが、種々の領域の設定が可能である。
本実施形態では、図5に示すように、特定の線分(図5の例では線分P1P2)の角度と、他の線分(図5の例では線分P3P4)の角度との差異である角度差は、これら二つの線分の始点を同じ位置に配置した時に二つの線分がなす角度(図5の例ではβ)として表される。以下、角度差の絶対値が第一閾値θ1以下の角度差範囲を、角度差範囲1という。角度差の絶対値が、180度から第二閾値θ2を差し引いた値(180度−θ2)以上の角度差範囲を、角度差範囲2という。角度差範囲1および2以外の角度範囲、つまり、角度差の絶対値が、第一閾値θ1より大きく、且つ180度から第二閾値θ2を差し引いた値よりも小さい角度差範囲を、角度差範囲3という。
本実施形態では、以上に説明した距離範囲と角度範囲の組合せに相当する4種類の領域A〜Dと、3種類の角度差範囲1〜3とから夫々一つずつを組み合わせた場合の12種類の組合せと、12種類の組合せに該当しない組合せに対して、優先順位が設定されている。具体的には、図6に示すように、各組合せの順位は、角度差範囲1と領域A、角度差範囲1と領域B、角度差範囲1と領域C、角度差範囲2と領域B、角度差範囲2と領域A、角度差範囲2と領域C、角度差範囲3と領域A、角度差範囲3と領域C、角度差範囲3と領域B、角度差範囲1と領域D、角度差範囲2と領域D、角度差範囲3と領域D、その他、という組合せの順に低くなっていく。なお、各組合せの順位を示す数値は、小さいほど優先度が高いことを示す。
これは、距離範囲については、高い方から順に、第一距離d1以内の距離範囲(領域A〜C)、第一距離d1より大きく且つ第二距離d2以下の距離範囲(領域D)、第二距離d2より大きい距離範囲という優先順位が設定されていることを意味する。つまり、特定の線分の終点からより近い位置に始点を有する線分ほど優先順位が高い。
また、少なくとも、同じ第一距離d1以内の距離範囲(領域A〜C)では、角度差範囲1の順位が最も高く、角度差範囲2、角度差範囲3の順に低くなる。つまり、進行方向(始点から終点へ向かう方向)が、特定の線分の進行方向に比較的近い線分が最優先される。進行方向が、特定の線分の進行方向とは逆方向に比較的近い線分が次に優先される。そして、進行方向が、特定の線分に対して垂直方向に比較的近い線分の順位が最下位である。
更に、角度範囲については、同じ第一距離d1以内の距離範囲(領域A〜C)では、角度差範囲との関係で優先順位が設定されている。具体的には、角度差範囲1では、第三閾値θ3以上の角度範囲、第四閾値θ4以下の角度範囲、第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲、の順に順位が低くなる。つまり、進行方向が特定の線分の進行方向と比較的近い線分については、その始点が、特定の線分の終点に対して特定の線分の進行方向に近い方向にある線分が最優先される。始点が、特定の線分の終点に対して進行方向の逆方向に近い方向にある線分が次に優先される。そして、始点が、特定の線分に対して垂直方向に比較的近い方向にある線分の順位が最下位である。
これは、一の縫目を進行方向に沿って形成した後、次の縫目を近似した進行方向に沿って形成するならば、次の縫目の最初の針落ち点(線分の始点に対応)は、先に形成された縫目の進行方向に近いほど、縫目が自然に連続し、見栄えがよいからである。また、先の縫目から垂直方向に次の縫目の最初の針落ち点があるよりは、先の縫目の進行方向とは逆方向に近い方が、二つの縫目を繋ぐ縫目が目立ちにくいからである。
同様に、縫目の見栄えを考慮して、角度差範囲2では、第四閾値θ4以下の角度範囲、第三閾値θ3以上の角度範囲、第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲、の順で優先順位が設定されている。つまり、進行方向が特定の線分の進行方向とは逆方向に比較的近い線分については、その始点が、特定の線分の終点に対して、特定の線分の進行方向の逆方向に近い方向にある線分が最優先される。始点が、特定の線分の終点に対して進行方向に近い方向にある線分が次に優先される。そして、始点が、特定の線分に対して垂直方向に比較的近い方向にある線分の順位が最下位である。
更に、同様の理由から、角度差範囲3では、第三閾値θ3以上の角度範囲、第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲、第四閾値θ4以下の角度範囲、の順で優先順位が設定されている。つまり、進行方向が、特定の線分に対して垂直方向に比較的近い線分については、その始点が、特定の線分の終点に対して、特定の線分の進行方向に近い方向にある線分が最優先される。始点が、特定の線分に対して垂直方向に比較的近い方向にある線分が次に優先される。始点が、特定の線分の終点に対して進行方向の逆方向に近い方向にある線分の順位が最下位である。
図7〜図12を参照して、刺繍データ作成処理(図3参照)のS5で行われる線分接続処理の内容について説明する。図7に示すように、CPU11はまず、距離範囲を規定する第一距離d1および第二距離d2を設定する(S11)。第一距離d1および第二距離d2は、ユーザがキーボード21から入力した値であってもよいし、予め定められ、HDD15の設定値記憶エリア154に記憶された値であってもよい。第一距離d1および第二距離d2は、S3で配置された線分の長さに応じて適切な値が設定される。例えば、S3で設定された線分の長さが3ミリ(mm)の場合、第一距離d1および第二距離d2は、夫々1mm、2mm程度とすることが好ましい。
CPU11は、角度差範囲を規定する第一閾値θ1および第二閾値θ2を設定する(S12)。第一閾値θ1および第二閾値θ2は、ユーザがキーボード21から入力した値であってもよいし、予め定められ、HDD15の設定値記憶エリア154に記憶された値であってもよい。但し、第一閾値θ1および第二閾値θ2は何れも0度より大きく90度未満の値である。CPU11は、角度範囲を規定する第三閾値θ3および第四閾値θ4を設定する(S13)。第三閾値θ3および第四閾値θ4も、ユーザがキーボード21から入力した値であってもよいし、予め定められ、HDD15の設定値記憶エリア154に記憶された値であってもよい。但し、第三閾値θ3は90度以上180度未満の値であり、第四閾値θ4は0度より大きく90度未満の値である。
CPU11は、S11およびS13で夫々設定された第一距離d1および第二距離d2、ならびに第三閾値θ3および第四閾値θ4に基づいて、領域A〜D(図4参照)を設定する(S14)。
続いてCPU11は、S4で決定された糸色が同じである線分を順次接続する処理を、糸色毎に行う(S15〜S23)。CPU11はまず、N色の糸色のうち未処理の糸色から、処理対象とする一の糸色(以下、注目糸色という)を設定する(S15)。CPU11は、線分データを参照し、注目糸色の線分のうち未処理の線分から、処理対象とする一の線分(以下、注目線分L1という)を設定し、更に、注目線分L1の二つの端点のうち一方を始点、他方を終点として設定する(S16)。最初に設定された注目線分L1は、何れの端点も他の線分に接続されていない。この場合、CPU11は、どの線分を注目線分L1としてもよく、二つの端点のうちどちらを始点としてもよい。例えば、元画像に対応する領域に配置された注目糸色の線分のうち、X座標とY座標が夫々ゼロに最も近い端点を有する線分を注目線分L1とし、その端点を始点とすればよい。
CPU11は、注目線分L1の角度θL1を算出する(S17)。上述の通り、S3(図3参照)で作成された線分データによって、全ての線分の端点のXY座標が特定できる。従って、角度θL1は、例えば、特開2010−131272号公報(米国特許出願公開第2010/0145494号明細書)に記載の方法で算出することができる。具体的には、注目線分L1の始点の座標位置(x0,y0)と終点の座標位置(x1,y1)からアークタンジェントを算出し、終点が始点に対してどの象限に位置するかによって角度θL1を決定すればよい。または、S2において、注目線分L1の中心に該当する画素について算出された角度特徴を、そのまま角度θL1としてもよい。
CPU11は、次線分L2、次線分L2の順位PL2、次線分L2の角度θL2、および注目線分L1の終点と次線分L2の始点との距離dL2を夫々示す値として、未設定であることを示す初期値を設定し、RAM12に記憶する(S18)。次線分L2は、注目線分L1に接続される線分として決定された線分である。CPU11は、注目糸色の線分の中から次線分L2を決定する次線分決定処理を行う(S19)。次線分決定処理については後述する。
CPU11は、次線分決定処理で決定された次線分L2を注目線分L1に接続し、接続線分データを作成してRAM12に記憶する(S20)。具体的には、CPU11は、注目線分L1の始点および終点の座標データの次に、次線分L2の始点および終点の座標データを接続することで接続線分データを作成する。CPU11は、注目糸色の全ての線分を接続し終えたか否かを判断する(S21)。まだ接続されていない線分があれば(S21:NO)、CPU11は、次の処理対象となる注目線分L1として、次線分L2を設定し、注目線分L1の角度θL1として、次線分L2の角度θL2を設定する(S22)。CPU11は、S18の処理に戻る。
CPU11は、注目糸色の全ての線分を接続し終わらない間は(S21:NO)、S18〜S22の処理を繰り返す。注目糸色の全ての線分を接続し終えると(S21:YES)、CPU11は、N色の糸色の全てについて、処理が完了したか否かを判断する(S23)。未処理の糸色がある場合(S23:NO)、CPU11は、S15の処理に戻り、未処理の糸色から、次の処理対象となる注目糸色を設定する。CPU11は、N色の糸色の全ての処理が完了しない間は(S23:NO)、S15〜S23の処理を繰り返す。N色の糸色の全ての処理が完了すると(S23:YES)、CPU11は、線分接続処理を終了し、図3に示す刺繍データ作成処理に戻る。
図8〜図12を参照して、次線分決定処理の内容について説明する。図8に示すように、CPU11はまず、注目糸色の線分のうち他の線分に接続されていない全ての線分について処理が完了したか否かを判断する(S31)。未処理の線分がある場合(S31:NO)、CPU11は、上述の優先順位に従って、候補線分LPの順位を特定する順位特定処理を行う(S32、図10および図11)。候補線分LPとは、注目糸色の線分のうち、次線分L2とするかどうかの判断対象として特定された線分である。
図10に示すように、順位特定処理では、CPU11はまず、注目糸色の線分のうち、次線分L2とするかどうかの判断がなされていない一の線分を候補線分LPとして設定する。そして、候補線分LPの二つの端点のうち、注目線分L1の終点により近い方の端点を候補線分LPの始点、他方の端点を候補線分LPの終点に設定する(S61)。CPU11は、S17(図7参照)で注目線分L1の角度θL1を算出したのと同じ方法で、候補線分LPの角度θLPを算出する(S62)。CPU11は、更に、注目線分L1と候補線分LPの線分データに基づき、注目線分L1の終点(以下、終点L1Tという)と、候補線分LPの始点(以下、始点LPSという)との距離dLPを算出する(S63)。なお、距離dLPは、第一距離d1と第二距離d2が上述のようにミリ単位で設定された場合、注目線分L1と候補線分LPが実際の縫目に変換された時のミリ単位の距離で算出される。
続いてCPU11は、上述の予め設定された優先順位(図6参照)では、候補線分LPの順位が何位であるかを特定する処理を行う(S64〜S108)。以下の説明では、図12に示す線分P1P2が注目線分L1とされており、線分P1P2と同じ色の線分P3P4、P5P6、P7P8、およびP9P10が存在する例を使用する。なお、図12の領域A〜Dは、図4の例と同一条件で設定されたものである。また、線分P1P2、P3P4、P5P6、P7P8、およびP9P10の夫々の角度は、0度、30度、−165度、−80度、および30度である。角度差範囲1〜3は、第一閾値θ1および第二閾値θ2が45度に設定されているとする。
図12に示すように、線分P3P4、P5P6、およびP7P8の始点P3、P5、P7は、夫々、線分P1P2の終点P2から第一距離d1以内にある。また、線分P1P2と線分P2P3(終点P2と始点P3を結ぶ線分)とがなす角度α1はθ3より大きいので、始点P3は領域A内にある。線分P1P2と線分P2P5(終点P2と始点P5を結ぶ線分)とがなす角度α2はθ4より小さいので、始点P5は領域B内にある。線分P1P2と線分P2P7(終点P2と始点P7を結ぶ線分)とがなす角度α3は、θ4より大きくθ3より小さいので、始点P7は領域C内にある。線分P9P10は、線分P1P2の終点P2から第二距離d2以内且つ第一距離d1より離れた位置に始点P9を有する。線分P1P2と線分P2P9(終点P2と始点P9を結ぶ線分)とがなす角度α4はθ3より大きいので、始点P9は領域D内にある。
図10に示すように、CPU11は、距離dLPが第一距離d1より大きいか否かを判断する(S64)。図12の線分P3P4、P5P6、P7P8の何れかが候補線分LPである場合、CPU11は、距離dLPは第一距離d1より大きくない(S64:NO)。このような場合、CPU11は、注目線分L1の角度θL1と候補線分LPの角度θLPとの角度差の絶対値(|θL1−θLP|)を算出し、絶対値が第一閾値θ1よりも大きいか否かを判断する(S65)。
例えば、図12の線分P3P4が候補線分LPである場合、線分P1P2と線分P3P4の角度差の絶対値は30度である。この角度差は、第一閾値θ1である45度より大きくない(S65:NO)。このような場合、CPU11は、候補線分LPの始点LPSが領域A内にあるか否かを判断する(S66)。線分P3P4が候補線分LPである場合、始点P3は領域A内にある(S66:YES)。この場合、角度差範囲1と領域Aの組合せに該当するので、CPU11は、優先順位(図6参照)に従って、候補線分LPの順位Pに1を設定し、RAM12に記憶する(S67)。
候補線分LPの始点LPSが領域A内にはなく(S66:NO)、領域B内にある場合(S68:YES)、角度差範囲1と領域Bの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに2を設定し、RAM12に記憶する(S69)。候補線分LPの始点LPSが領域B内にもなく(S68:NO)、領域C内にある場合、角度差範囲1と領域Cの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに3を設定し、RAM12に記憶する(S70)。
角度θL1と角度θLPとの角度差の絶対値が第一閾値θ1より大きい場合(S65:YES)、CPU11は、角度差の絶対値が、180度から第二閾値θ2を引いた値(180−θ2)より小さいか否かを判断する(S81)。例えば、図12の線分P5P6が候補線分LPである場合、線分P1P2と線分P5P6の角度差の絶対値は165度である。この角度差は、180度から第二閾値θ2である45度を引いた135度より小さくない(S81:NO)。このような場合、CPU11は、候補線分LPの始点LPSが領域B内にあるか否かを判断する(S82)。線分P5P6が候補線分LPである場合、始点P5は領域B内にある(S82:YES)。この場合、角度差範囲2と領域Bの組合せに該当するので、CPU11は、候補線分LPの順位Pに4を設定し、RAM12に記憶する(S83)。
候補線分LPの始点LPSが領域B内にはなく(S82:NO)、領域A内にある場合(S84:YES)、角度差範囲2と領域Aの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに5を設定し、RAM12に記憶する(S85)。候補線分LPの始点LPSが領域A内にもなく(S84:NO)、領域C内にある場合、角度差範囲2と領域Cの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに6を設定し、RAM12に記憶する(S86)。
例えば、図12の線分P7P8が候補線分LPである場合、線分P1P2と線分P7P8の角度差の絶対値は80度である。この角度差は、180度から第二閾値θ2である45度を引いた135度より小さい(S81:YES)。このような場合、CPU11は、候補線分LPの始点LPSが領域A内にあるか否かを判断する(S91)。始点LPSが領域A内にある場合(S91:YES)、角度差範囲3と領域Aの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに7を設定し、RAM12に記憶する(S92)。
線分P7P8が候補線分LPである場合、始点P7は領域A内にはなく(S91:NO)、領域C内にあるので(S93:YES)、角度差範囲3と領域Cの組合せに該当する。このような場合、CPU11は、候補線分LPの順位Pに8を設定し、RAM12に記憶する(S94)。候補線分LPの始点LPSが領域C内にもなく(S93:NO)、領域B内にある場合、角度差範囲3と領域Bの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに9を設定し、RAM12に記憶する(S95)。
距離dLPが第一距離d1より大きい場合(S64:YES)、CPU11は、距離dLPが第二距離d2よりも大きいか否かを判断する(S101)。例えば、図12の線分P9P10が候補線分LPである場合、距離dLPは、第一距離d1より大きく且つ第二距離d2以下である(S101:NO)。このような場合、CPU11は、候補線分LPの始点LPSが領域D内にあるか否かを判断する(S102)。線分P9P10が候補線分LPである場合、始点P9は領域D内にある(S102:YES)。このような場合、CPU11は、角度θL1と角度θLPとの角度差の絶対値が第一閾値θ1より大きいか否か判断する(S103)。
線分P9P10が候補線分LPである場合、線分P1P2と線分P9P10の角度差の絶対値は30度である。この角度差は、第一閾値θ1である45度より大きくない(S103:NO)。この場合、角度差範囲1と領域Dの組合せに該当するので、CPU11は、候補線分LPの順位Pに10を設定し、RAM12に記憶する(S104)。
角度θL1と角度θLPとの角度差の絶対値が第一閾値θ1より大きい場合(S103:YES)、CPU11は、角度差の絶対値が、180度から第二閾値θ2を引いた値(180−θ2)より小さいか否かを判断する(S105)。角度差の絶対値が(180−θ2)より小さくない場合(S105:NO)、角度差範囲2と領域Dの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに11を設定し、RAM12に記憶する(S106)。角度差の絶対値が(180−θ2)より小さい場合(S105:NO)、角度差範囲3と領域Dの組合せに該当する。よって、CPU11は、候補線分LPの順位Pに12を設定し、RAM12に記憶する(S107)。
距離dLPが第二距離d2よりも大きい場合(S101:YES)、候補線分LPの始点LPSは、領域A〜Dの何れにもない。よって、CPU11は、候補線分LPの順位Pに13を設定し、RAM12に記憶する(S108)。CPU11は、上述の処理で、予め設定された優先順位に従って、候補線分LPの順位Pとして1〜13までの何れかの数値を設定した後、順位特定処理を終了し、図8の次線分決定処理に戻る。
CPU11は、順位特定処理で特定された候補線分LPの順位Pの値が、次線分L2の順位PL2の値より小さいか否かを判断する(S33)。最初の処理で、次線分L2の順位PL2の値が、未設定であることを示す初期値の場合には、CPU11は、順位Pの値は順位PL2の値より小さいと判断する(S33:YES)。この場合、CPU11は、候補線分LPを次線分L2に決定し、次線分L2の線分データをRAM12に記憶する(S48)。CPU11は、候補線分LPの順位Pの値を、次線分L2の順位PL2の値として設定し、候補線分LPの角度θLPを示す値を、次線分LPの角度θL2を示す値として設定し、距離dLPを、距離dL2として設定する(S49)。CPU11は、S31の処理に戻る。
CPU11は、全ての線分の処理が完了していなければ(S31:NO)、順位特定処理を行って、新たな候補線分LPを設定して、その順位Pを特定する(S32)。この場合、S33では、先の処理で決定された次線分L2の順位PL2よりも候補線分LPの順位Pが高いか否かが判断される。次線分L2の順位PL2と候補線分LPの順位Pは、優先度が高いほど小さい値をとるので、候補線分LPの順位Pの値が次線分L2の順位PL2の値より小さい場合(S33:YES)、CPU11は、候補線分LPを次線分L2として決定する。そして、RAM12に記憶された線分データを、新たに決定された次線分L2の線分データに更新する(S48)。CPU11は、上述のようにS49の処理を行った後、S31の処理に戻る。
候補線分LPの順位Pの値が次線分L2の順位PL2の値より小さくない場合(S33:NO)、CPU11は、候補線分LPの順位Pの値が次線分L2の順位PL2の値が等しいか否か、つまり、候補線分LPと次線分L2が同じ順位か否かを判断する(S34)。二つの値が等しくない場合(S34:NO)、先の処理で決定された次線分L2の順位PL2よりも候補線分LPの順位Pの方が低い。よって、次線分L2を更新する必要はないため、CPU11は、S31の処理に戻る。
候補線分LPの順位Pの値が次線分L2の順位PL2の値が等しい場合(S34:YES)、候補線分LPと次線分L2は同じ順位である。よって、CPU11は、順位Pに応じて適宜次線分L2を更新する処理を行う(S35〜S47)。
具体的には、順位Pの値が3より大きくない場合(S35:NO)、つまり、順位Pが1〜3の何れかの値をとる場合、注目線分L1と候補線分LPの角度差は、角度差範囲1に属する。従って、より自然な縫目を形成するためには、注目線分L1と角度が近い、つまり、角度差の絶対値がより小さい線分を次線分L2とすることが好ましい。よって、CPU11は、先の処理で算出された注目線分L1の角度θL1、次線分L2の角度θL2、および候補線分LPの角度θLPから、角度θL1と角度θLPの角度差の絶対値(|θL1−θLP|)と、角度θL1と角度θL2の角度差の絶対値(|θL1−θL2|)とを算出する。
角度θL1と角度θLPの角度差の絶対値が、角度θL1と角度θL2の角度差の絶対値よりも小さい場合(S36:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。角度θL1と角度θLPの角度差の絶対値が角度θL1と角度θL2の角度差の絶対値よりも小さくない場合(S36:NO)、次線分L2を更新する必要はないため、CPU11はS31の処理に戻る。
順位Pの値が3より大きく(S35:YES)、6より大きくない場合(S37:NO)、つまり、順位Pが4〜6の何れかの値をとる場合、注目線分L1と候補線分LPの角度差は、角度差範囲2に属する。従って、より自然な縫目を形成するためには、進行方向が注目線分L1とは逆方向に近い、つまり、角度差の絶対値がより180度に近い線分を次線分L2とすることが好ましい。よって、CPU11は、180度から、角度θL1と角度θLPの角度差の絶対値を引いた値の絶対値(|180−|θL1−θLP||)と、180度から、角度θL1と角度θL2の角度差の絶対値を引いた値の絶対値(|180−|θL1−θL2||)とを算出する。
|180−|θL1−θLP||が、|180−|θL1−θL2||よりも小さい場合(S38:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。|180−|θL1−θLP||が、|180−|θL1−θL2||よりも小さくない場合(S38:NO)、次線分L2を更新する必要はないため、CPU11はS31の処理に戻る。
順位Pの値が6より大きく(S37:YES)、9より大きくない場合(S39:NO)、つまり、順位Pが6〜9の何れかの値をとる場合、注目線分L1と候補線分LPの角度差は、角度差範囲3に属する。従って、より自然な縫目を形成するためには、進行方向が注目線分L1の垂直方向に近い、つまり、角度差の絶対値がより90度に近い線分を次線分L2とすることが好ましい。よって、CPU11は、90度から角度θL1と角度θLPの角度差の絶対値を引いた値の絶対値(|90−|θL1−θLP||)と、90度から角度θL1と角度θL2の角度差の絶対値を引いた値の絶対値(|90−|θL1−θL2||)とを算出する。
|90−|θL1−θLP||が、|90−|θL1−θL2||よりも小さい場合(S40:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。|90−|θL1−θLP||が、|90−|θL1−θL2||よりも小さくない場合(S40:NO)、次線分L2を更新する必要はないため、CPU11はS31の処理に戻る。
順位Pの値が9より大きく(S39:YES)、10である場合(S41:YES)、注目線分L1と候補線分LPの角度差は、角度差範囲1に属する。よって、CPU11は、|θL1−θLP|が、|θL1−θL2|よりも小さい場合(S42:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。|θL1−θLP|が|θL1−θL2|よりも小さくない場合(S42:NO)、CPU11はS31の処理に戻る。
順位Pの値が10ではなく(S41:YES)、11である場合(S43:YES)、注目線分L1と候補線分LPの角度差は、角度差範囲2に属する。よって、|180−|θL1−θLP||が、|180−|θL1−θL2||よりも小さい場合(S44:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。|180−|θL1−θLP||が、|180−|θL1−θL2||を引いた値の絶対値よりも小さくない場合(S44:NO)、CPU11はS31の処理に戻る。
順位Pの値が11ではなく(S43:YES)、12である場合(S45:YES)、注目線分L1と候補線分LPの角度差は、角度差範囲3に属する。よって、|90−|θL1−θLP||が、|90−|θL1−θL2||よりも小さい場合(S46:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。|90−|θL1−θLP||が、|90−|θL1−θL2||よりも小さくない場合(S46:NO)、CPU11はS31の処理に戻る。
順位Pの値が12ではない場合(S45:YES)、順位Pの値は13である。従って、より自然な縫目を形成するためには、注目線分L1の終点により近い始点を有する線分を次線分L2とすることが好ましい。よって、距離dLPが距離dL2より小さい場合(S47:YES)、CPU11は、候補線分LPを次線分L2として決定する(S48)。距離dLPが距離dL2より小さくない場合(S47:NO)、CPU11はS31の処理に戻る。CPU11は、上述の処理を繰り返し、注目糸色の全ての線分の処理を完了すると(S31:YES)、次線分決定処理を終了し、図7の線分接続処理に戻る。
以上に説明した通り、本実施形態では、CPU11は、注目線分L1の終点L1Tと候補線分LPの始点LPSとの距離、注目線分L1と候補線分LPの角度差、および注目線分L1と、終点L1Tと始点LPSを結ぶ線分とがなす角度に基づく優先順位(図6参照)に従って、元画像に対応する領域に配置された複数の線分を順次接続する。従って、刺繍模様を自然に表現できる連続した縫目を形成するための刺繍データを作成することができる。
一般的に、第一の縫目の後の針落ち点と、第二の縫目の先の針落ち点とがある程度以上離れている場合、これら二つの縫目を連続して縫製するのは刺繍模様の見栄えに影響するため好ましくない。よって、これら二つの縫目の間は、後で切断除去される渡り糸で接続される。渡り糸が多くなるほど縫製品質は低下するので、渡り糸の発生はできるだけ抑えることが好ましい。本実施形態の線分接続処理によれば、角度がそれほど近くない複数の線分が近接した位置にある場合には、終点L1Tと始点LPSとの距離が所定範囲内にあり、且つ、注目線分L1と候補線分LPの角度差が所定範囲内にある線分を接続する方法に比べ、優先順位に従って、終点L1Tと始点LPSとの距離が所定範囲内にあるより多くの線分を接続できる。その結果、刺繍縫製時の渡り糸を低減することができる。
なお、本実施形態では、連続してより多くの縫目を形成するので、針数は増える可能性がある。しかし、一方で、渡り糸が発生する場合、CPU11は、刺繍データ作成処理(図3のS6)において、第一の縫目の後の針落ち点に針を刺した後に止め縫い動作を実行する処理をミシン2に実行させる刺繍データを作成する。止め縫い動作には、針棒35の上下動の停止および再開等が含まれるため、針数が若干増加しても、止め縫い動作に要する時間と相殺されるので、刺繍模様の縫製全体にかかる時間としてはほぼ変わらない。つまり、作業効率を低下させることなく、渡り糸を低減することができる。
上記実施形態には、種々の変更を加えることができる。例えば、特定の線分(注目線分L1)に接続される他の一の線分(次線分L2)を決定する時の優先順位は、必ずしも上記実施形態で挙げられた例(図6参照)に限られない。具体的には、上述の三つの条件(特定の線分の終点と他の線分の始点との間の距離、特定の線分と他の線分との角度差、および、特定の線分と、特定の線分の終点と他の線分の始点を結ぶ線分とがなす角)について、上記実施形態とは異なる複数の距離範囲、複数の角度差範囲、および複数の角度範囲が設定されてもよい。また、複数の距離範囲、複数の角度差範囲、および複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して、上記実施形態とは異なる優先順位が設定されてもよい。
例えば、上記実施形態では、第一距離d1より大きく且つ第二距離d2以下の距離範囲と第三閾値θ3以上の角度範囲の組合せに対する順位は10〜12位である。この順位は、第一距離d1より大きく且つ第二距離d2以下の距離範囲とその他の2種類の角度範囲の組合せの順位(13位)より高い。また、第一距離d1より大きく且つ第二距離d2以下の距離範囲とその他の2種類の角度範囲との組合せの順位は、第二距離d2より大きい距離範囲を含む全ての組合せと同じ13位である。
これに対し、例えば図13に示すように、距離範囲と角度範囲の組合せに対応する領域を、領域A〜Fの6種類に増やしてもよい。この場合、第一距離d1より大きく且つ第二距離d2以下の距離範囲と第三閾値θ3以上の角度範囲の組合せが領域Dに対応する。第一距離d1より大きく且つ第二距離d2以下の距離範囲と第四閾値θ4以下の角度範囲の組合せが領域Eに対応する。第一距離d1より大きく且つ第二距離d2以下の距離範囲と第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲の組合せが領域Fに対応する。そして、領域A〜Fと、3種類の角度差範囲とから夫々一つを組み合わせる場合の複数の組合せに対して、上記実施形態と同様の考え方で優先順位が設定されればよい。更に、特定の線分の終点(図13の例では、線分P1P2の終点P2)から、第一距離d1より近い距離内の領域Gを設定し、角度差範囲および角度範囲にかかわらず、領域G内に始点を有する他の線分の順位を最も高くしてもよい。
また、例えば、距離範囲は、第一距離d1以下の距離範囲と、第二距離d1より大きい距離範囲の2種類のみが設定されてもよい。同様に、角度差範囲については、角度差の絶対値が第一閾値θ1以下の角度差範囲と、第一閾値θ1より大きい角度差範囲の2種類のみが設定されてもよい。角度範囲については、第三閾値θ3以上の角度範囲と、第三閾値θ3未満の角度範囲の2種類のみが設定されてもよい。
この場合、例えば、距離範囲については第一距離d1以下の距離範囲の優先度をより高くし、角度差範囲については、角度差の絶対値が第一閾値θ1以下の角度差範囲の優先度をより高くすればよい。そして、角度範囲については、上記実施形態で説明した理由から、角度差の絶対値が第一閾値θ1以下の角度差範囲では、第三閾値θ3以上の角度範囲の優先度をより高くし、角度差の絶対値が第一閾値θ1より大きい角度差範囲では、第三閾値θ3未満の角度範囲の優先度をより高くすると好ましい。
距離範囲については、必ずしも特定の線分の終点から他の線分の始点までの距離が同一の距離範囲(特定の線分の終点を中心とする円)として設定する必要はない。例えば、図14に示すように、線分P1P2の終点P2から線分P1P2の進行方向に離間した点を中心とする楕円を描き、上記実施形態と同様、3種類の角度範囲に応じて楕円を領域A3、B3、C3の3種類の領域に区分してもよい。この場合、多少終点P2から遠くても、線分P1P2の進行方向により近い位置に始点を有する線分を優先して次の線分として決定することができる。
また、図15に示すように、線分P1P2の終点P2を中心とする長方形を描き、矩形状の領域A4、B4、C4の3種類の領域に区分してもよい。この場合、例えば、線分P1P2を通る直線Lからの距離が距離d3以内の領域を、終点P2に対して線分P1P2の進行方向にある領域A4と、終点P2に対して領域A2の反対側にある領域B4とし、線分P1P2を通る直線Lからの距離が距離d4以内の領域のうち、領域A4およびB4以外の領域を領域C4とすればよい。この場合、領域A4、B4、C4が全て矩形状であるため、他の線分の始点がどの領域内にあるか算出するための時間を短縮化することができる。
上記実施形態では、注目線分L1との角度差の絶対値が角度差範囲3内にあり、且つ、順位が同じ複数の候補線分LP(順位が7〜9位および12位の何れかである複数の線分)については、注目線分L1との角度差の絶対値が90度に最も近い候補線分LPが、次線分L2として決定されている(S40:YES→S48、またはS46:YES→S48)。この方法に代えて、注目線分L1との角度差が角度差範囲3内にあり、且つ、順位が同じ複数の候補線分LPについては、注目線分L1と、終点L1Tと始点LPSを結ぶ線分とがなす角度と、注目線分L1の角度との角度差が最も小さい線分を優先してもよい。または、注目線分L1と、終点L1Tと始点LPSを結ぶ線分とがなす角度と、候補線分LPの角度との角度差が最も小さい線分を優先してもよい。
上記実施形態では、第三閾値θ3未満且つ第四閾値θ4より大きい角度範囲に対応する領域として、領域C1およびC2には優先順位は設定されておらず、いずれも同じ領域Cとして扱われる。また、角度差がθ1より大きく(180−θ2)より小さい範囲および(−180+θ2)より大きく−θ1より小さい範囲は何れも、角度差範囲3として扱われる。これに対し、角度差がθ1より大きく(180−θ2)より小さい範囲、および(−180+θ2)より大きく−θ1より小さい範囲との関係で、領域C1およびC2に別個の優先順位を設定してもよい。
例えば、注目線分L1との角度差がθ1より大きく(180−θ2)より小さい範囲内にある候補線分LPが複数ある場合、始点LPSが領域C2にある候補線分LPよりも、始点LPSが領域C1にある候補線分LPを優先すればよい。逆に、注目線分L1との角度差が(−180+θ2)より大きく−θ1より小さい範囲内にある候補線分LPが複数ある場合、始点LPSが領域C1にある候補線分LPよりも、始点LPSが領域C2にある候補線分LPを優先すればよい。
上記実施形態のS5の線分接続処理では、注目線分L1に対して、S3(図3参照)で元画像に対応する領域全体に配置された、他の線分に未接続の全ての線分を候補線分LPとして、処理が行われる。これに代えて、S5の線分接続処理は、特開2010−131272号公報(米国特許出願公開第2010/0145494号明細書)に開示される、分割領域毎に複数の線分を接続する処理に適用されてもよい。つまり、他の線分に未接続の、各分割領域に割り当てられた線分のみを候補線分LPとして、S5の線分接続処理が行われてもよい。この場合、元画像では離れた位置にある同じ色の線分が接続されるのを抑制できるので、渡り糸の発生を更に抑制することができる。
1 刺繍データ作成装置
3 ミシン
11 CPU
15 HDD
3 ミシン
11 CPU
15 HDD
Claims (8)
- 複数の画素の集合体である画像の画像データに基づいて、前記画像に対応する領域に、始点と終点の二つの端点を夫々有する複数の線分を配置する線分配置手段と、
前記線分配置手段によって配置された前記複数の線分を順次接続する線分接続手段と、
前記線分接続手段によって順次接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成する刺繍データ作成手段とを備え、
前記線分接続手段は、
前記複数の線分のうち、他の線分と接続されていない終点を有する線分を第一線分として特定し、
二つの端点のいずれも他の線分と接続されていない少なくとも一の第二線分について、前記二つの端点のうち前記第一線分の前記終点により近い端点を始点として、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点との距離を算出し、
基準線に対する前記第一線分の角度である第一角度と、前記基準線に対する前記少なくとも一の第二線分の角度である第二角度との角度差を算出し、
前記第一線分と、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点とを結ぶ線分とがなす角度である第三角度を特定し、
複数の距離範囲、複数の角度差範囲、および複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して予め設定された優先順位に従って、前記少なくとも一の第二線分のうち、前記距離が属する距離範囲、前記角度差が属する角度差範囲、および前記第三角度が属する角度範囲の組合せに対応する順位が最も高い第二線分の前記始点を、前記第一線分の前記終点に接続する処理を、前記複数の線分が全て接続されるまで繰り返すことを特徴とする刺繍データ作成装置。 - 前記複数の距離範囲は、少なくとも、前記距離が第一距離以下の第一距離範囲と、前記距離が前記第一距離より大きい第二距離範囲とを含み、
前記優先順位は、前記第一距離範囲を含む組合せ、前記第二距離範囲を含む組合せの順に高い順位が設定されていることを特徴とする請求項1に記載の刺繍データ作成装置。 - 前記第二距離範囲は、前記距離が前記第一距離より大きく且つ第二距離以下である第三距離範囲と、前記距離が前記第二距離より大きい第四距離範囲とを含み、
前記優先順位は、前記第一距離範囲を含む組合せ、前記第三距離範囲を含む組合せ、前記第四距離範囲を含む組合せの順に高い順位が設定されていることを特徴とする請求項2に記載の刺繍データ作成装置。 - 前記複数の角度差範囲は、少なくとも、前記角度差の絶対値が第一閾値以下の第一角度差範囲と、前記絶対値が前記第一閾値より大きい第二角度差範囲とを含み、
前記優先順位は、前記複数の距離範囲のうち少なくとも前記第一距離範囲において、前記第一角度差範囲を含む組合せ、前記第二角度差範囲を含む組合せの順に高い順位が設定されていることを特徴とする請求項1〜3のいずれかに記載の刺繍データ作成装置。 - 前記第二角度差範囲は、前記絶対値が前記第一閾値より大きく且つ第二閾値より小さい第三角度差範囲と、前記絶対値が前記第二閾値以上である第四角度差範囲とを含み、
前記優先順位は、前記第一角度差範囲を含む組合せ、前記第四角度差範囲を含む組合せ、前記第三角度差範囲を含む組合せの順に高い順位が設定されていることを特徴とする請求項4に記載の刺繍データ作成装置。 - 前記複数の角度範囲は、少なくとも、前記第三角度が第三閾値以上の第一角度範囲と、前記第三角度が前記第三閾値未満の第二角度範囲とを含み、
前記優先順位は、前記複数の角度差範囲のうち少なくとも前記第一角度差範囲において、前記第一角度範囲を含む組合せ、前記第二角度範囲を含む組合せの順に高い順位が設定されていることを特徴とする請求項4または5に記載の刺繍データ作成装置。 - 前記第二角度範囲は、前記第三角度が前記第三閾値未満且つ第四閾値より大きい第三角度範囲と、前記第三角度が前記第四閾値以下の第四角度範囲とを含み、
前記優先順位は、前記第一角度差範囲において、前記第一角度範囲を含む組合せ、前記第四角度範囲を含む組合せ、前記第三角度範囲を含む組合せの順に高い順位が設定されていることを特徴とする請求項6に記載の刺繍データ作成装置。 - コンピュータ読み取り可能な指示を記憶する、非一時的なコンピュータ読み取り可能な媒体であって、前記指示は、
複数の画素の集合体である画像の画像データに基づいて、前記画像に対応する領域に、始点と終点の二つの端点を夫々有する複数の線分を配置するステップと、
配置された前記複数の線分を順次接続するステップと、
接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成するステップとを装置のプロセッサに実行させ、
前記複数の線分を順次接続するステップは、
前記複数の線分のうち、他の線分と接続されていない終点を有する線分を第一線分として特定するステップと、
二つの端点のいずれも他の線分と接続されていない少なくとも一の第二線分について、前記二つの端点のうち前記第一線分の前記終点により近い端点を始点として、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点との距離を算出するステップと、
基準線に対する前記第一線分の角度である第一角度と、前記基準線に対する前記少なくとも一の第二線分の角度である第二角度との角度差を算出するステップと、
前記第一線分と、前記第一線分の前記終点と前記少なくとも一の第二線分の前記始点とを結ぶ線分とがなす角度である第三角度を特定するステップと、
複数の距離範囲、複数の角度差範囲、および複数の角度範囲から夫々一つを組み合わせる場合の複数の組合せに対して予め設定された優先順位に従って、前記少なくとも一の第二線分のうち、前記距離が属する距離範囲、前記角度差が属する角度差範囲、および前記第三角度が属する角度範囲の組合せに対応する順位が最も高い第二線分の前記始点を、前記第一線分の前記終点に接続するステップとを、前記複数の線分が全て接続されるまで前記プロセッサに繰り返させることを特徴とするコンピュータ読み取り可能な媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013091700A JP2014212899A (ja) | 2013-04-24 | 2013-04-24 | 刺繍データ作成装置およびコンピュータ読取り可能な媒体 |
US14/244,005 US8903536B2 (en) | 2013-04-24 | 2014-04-03 | Apparatus and non-transitory computer-readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013091700A JP2014212899A (ja) | 2013-04-24 | 2013-04-24 | 刺繍データ作成装置およびコンピュータ読取り可能な媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014212899A true JP2014212899A (ja) | 2014-11-17 |
Family
ID=51789879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013091700A Pending JP2014212899A (ja) | 2013-04-24 | 2013-04-24 | 刺繍データ作成装置およびコンピュータ読取り可能な媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8903536B2 (ja) |
JP (1) | JP2014212899A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10515319B2 (en) * | 2016-12-16 | 2019-12-24 | Fetch Robotics, Inc. | System and method for computing a probability that an object comprises a target |
CN109667076A (zh) * | 2019-01-16 | 2019-04-23 | 北京大豪科技股份有限公司 | 花样制版方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001259268A (ja) | 2000-01-14 | 2001-09-25 | Brother Ind Ltd | 刺繍データ作成装置及び刺繍データ作成プログラムを記録した記録媒体 |
US6629015B2 (en) | 2000-01-14 | 2003-09-30 | Brother Kogyo Kabushiki Kaisha | Embroidery data generating apparatus |
JP2007275105A (ja) * | 2006-04-03 | 2007-10-25 | Brother Ind Ltd | 刺繍データ作成装置、刺繍データ作成プログラム、及びコンピュータ読み取り可能な記録媒体 |
JP2009125337A (ja) * | 2007-11-26 | 2009-06-11 | Brother Ind Ltd | 刺繍データ作成装置、刺繍データ作成プログラム、及び刺繍データ作成プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2010131272A (ja) | 2008-12-05 | 2010-06-17 | Brother Ind Ltd | 刺繍データ作成装置および刺繍データ作成プログラム |
JP2011136061A (ja) * | 2009-12-28 | 2011-07-14 | Brother Industries Ltd | 刺繍データ作成装置及び刺繍データ作成プログラム |
JP2013100621A (ja) * | 2011-11-09 | 2013-05-23 | Brother Ind Ltd | カットデータ作成装置、カットデータ作成プログラム、およびミシン |
-
2013
- 2013-04-24 JP JP2013091700A patent/JP2014212899A/ja active Pending
-
2014
- 2014-04-03 US US14/244,005 patent/US8903536B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8903536B2 (en) | 2014-12-02 |
US20140324209A1 (en) | 2014-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8271123B2 (en) | Embroidery data generating apparatus and non-transitory computer-readable medium storing embroidery data generating program | |
JP4915434B2 (ja) | 刺繍データ作成装置及び刺繍データ作成プログラム | |
US8065030B2 (en) | Embroidery data generating device and computer-readable medium storing embroidery data generating program | |
US9043009B2 (en) | Non-transitory computer-readable medium and device | |
JP2001259268A (ja) | 刺繍データ作成装置及び刺繍データ作成プログラムを記録した記録媒体 | |
JP2012100842A (ja) | 刺繍データ作成装置、刺繍データ作成プログラム、および刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体 | |
US7715940B2 (en) | Embroidery data processing device and computer program product | |
US11851793B2 (en) | Non-transitory computer-readable medium and method of generating embroidery data | |
JP2014212899A (ja) | 刺繍データ作成装置およびコンピュータ読取り可能な媒体 | |
US8897909B2 (en) | Embroidery data generation apparatus and computer program product | |
JPH07136357A (ja) | 刺繍データ作成装置 | |
US9080268B2 (en) | Device and non-transitory computer-readable medium | |
WO2017130734A1 (ja) | ミシン及び縫製データ編集プログラム | |
WO2017169206A1 (ja) | 縫製データ生成プログラム及び縫製データ生成装置 | |
JP2014213060A (ja) | 刺繍データ生成装置、刺繍データ生成プログラム、及びコンピュータ読取り可能な媒体 | |
JP2013192579A (ja) | 刺繍データ作成装置、刺繍データ作成プログラムおよび刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体 | |
JP2014083339A (ja) | 刺繍データ作成装置およびコンピュータ読取り可能な媒体 | |
US8733261B2 (en) | Apparatus and non-transitory computer-readable medium | |
JP2019010364A (ja) | 縫製データ生成プログラム及びミシン | |
JP3969159B2 (ja) | 刺繍データ作成装置、記憶媒体、及びプログラム | |
JP2924257B2 (ja) | 刺繍データ作成装置 | |
JP2861580B2 (ja) | 刺繍データ作成装置 | |
JP2002263386A (ja) | 刺繍データ作成システムおよび刺繍データ作成プログラム | |
JPH05103885A (ja) | 刺繍ミシンのための刺繍データ処理装置 | |
US8897908B2 (en) | Sewing data creation apparatus, sewing data creation method, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20141219 |