刺繍データ作成装置、刺繍データ作成プログラム、および刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体
【課題】ユーザが準備可能な糸色から元の画像を表現するのに適した糸色を選択して刺繍データを作成することが可能な刺繍データ作成装置を提供する。
【解決手段】ユーザが準備可能なN色の使用可能糸色を特定する情報が取得される(S11)。N色のうち、実際にミシンによる刺繍縫製に使用される使用糸色の数Mが設定される(S12)。N色の使用可能糸色のうち1色で、または2色の混色表現で表現可能な表現可能色のリストが作成される(S13)。表現可能色を代表色として、刺繍データの元となる画像が減色され(S14)、減色後の画像における各表現可能色の使用頻度が算出される(S15)。N色からM色を選ぶ全ての組合せが特定され(S21)、各組合せで表現可能な表現可能色の使用頻度の合計値が算出される(S31)。合計値が最大となる組合せに対応するM色の使用可能糸色が、使用糸色として決定される(S32)。
【解決手段】ユーザが準備可能なN色の使用可能糸色を特定する情報が取得される(S11)。N色のうち、実際にミシンによる刺繍縫製に使用される使用糸色の数Mが設定される(S12)。N色の使用可能糸色のうち1色で、または2色の混色表現で表現可能な表現可能色のリストが作成される(S13)。表現可能色を代表色として、刺繍データの元となる画像が減色され(S14)、減色後の画像における各表現可能色の使用頻度が算出される(S15)。N色からM色を選ぶ全ての組合せが特定され(S21)、各組合せで表現可能な表現可能色の使用頻度の合計値が算出される(S31)。合計値が最大となる組合せに対応するM色の使用可能糸色が、使用糸色として決定される(S32)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、刺繍縫製可能なミシンによって刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置、刺繍データ作成プログラム、および刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体に関する。
【背景技術】
【0002】
刺繍縫製可能なミシンによって写真等の画像のデータに基づく図柄を刺繍縫製するための刺繍データ作成装置が知られている。例えば、特許文献1に開示されている刺繍データ作成装置によれば、イメージスキャナ装置で読み込まれた画像から取得された画像データに基づいて画像内の各部の角度特徴とその強度が算出され、算出された角度特徴とその強度に従って線分が配置される。そして、各線分に対応する糸色が決定され、同じ糸色の線分が接続された後、線分のデータが縫目を示すデータに変換されることで、刺繍データが作成される。各線分に対応する糸色は、刺繍模様を縫製する際に実際に使用する糸色として予め決定された、n色の使用糸色の中から選択される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−273859号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
写真等の画像を刺繍の図柄で表現する場合、刺繍糸や針の太さには限界があり、画素のような細かい表現はできない。また、ユーザが準備可能な糸色には限りがあり、通常、100色程度と考えられる。糸交換の回数等を考慮すると、実際に使用する糸色の数は更に限定され、10色程度とするのが現実的である。従って、100色程度の糸色から、元の画像を表現するのに最も適した10色程度の糸色を選択することが重要である。特許文献1の刺繍データ作成装置では、n色の使用糸色は、元画像の色がn色に減色された後、ユーザが準備可能な糸色の中から、減色後のn色に夫々近い色が選択されることで決定される。この方法では、準備可能な糸色が、色空間において十分均一に分布しており、元画像の減色後のn色の全てについて、いずれかの糸色が十分近いところにあれば、n色の適切な使用糸色が決定できるが、準備可能な糸色が常にそのような状況にあるとは限らない。
【0005】
本発明は、ユーザが準備可能な糸色から元の画像を表現するのに適した糸色を選択して刺繍データを作成することが可能な刺繍データ作成装置、刺繍データ作成プログラム、および刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第一の態様に係る刺繍データ作成装置は、複数の画素の集合体である画像の画像データに基づいて、ミシンにより刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置であって、糸色数設定手段と、表現可能色特定手段と、第一使用頻度算出手段と、使用糸色決定手段とを備えている。前記糸色数設定手段は、前記ミシンによる刺繍縫製で実際に使用される複数の糸色である複数の使用糸色の数を、設定数として設定する。前記表現可能色特定手段は、前記ミシンによる刺繍縫製に使用可能な複数の糸色である複数の使用可能糸色と、各々が前記複数の使用可能糸色のうち2色の中間的な色である少なくとも一の中間色とを、複数の表現可能色として特定する。前記第一使用頻度算出手段は、前記表現可能色特定手段によって特定された前記複数の表現可能色を代表色として減色した前記画像における前記複数の表現可能色の各々の使用頻度を、第一使用頻度として算出する。前記使用糸色決定手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色のうち、前記糸色数設定手段によって設定された前記設定数の使用可能糸色を、前記複数の使用糸色として決定する。
【0007】
使用可能糸色のうち1色のみを用いてある領域を縫製した場合、その領域の色は使用可能糸色となる。一方、使用可能糸色のうち2色による混色表現を用いてある領域を縫製した場合、その領域の色は、その2色の中間的な中間色に近似する。本発明の刺繍データ作成装置では、複数の使用可能糸色と、複数の使用可能糸色のうち2色の中間色とが表現可能色として特定され、表現可能色を代表色として元となる画像を減色した場合の各表現可能色の使用頻度(第一使用頻度)が算出される。よって、元の画像に、使用可能糸色そのものに近い色がなかったとしても、中間色に近い色が多く含まれれば、その中間色の第一使用頻度は高くなる。従って、表現可能色の第一使用頻度に基づいて、複数の使用可能糸色から使用糸色を決定することで、使用可能糸色のうち1色だけでなく2色を用いて混色表現をする場合を含めて、元の画像を表現するのに適した使用糸色を選択することができる。
【0008】
前記使用糸色決定手段は、第一決定手段と、第一合計値算出手段と、第二決定手段とを含んでもよい。前記第一決定手段は、前記複数の使用可能糸色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が最も高い前記表現可能色に対応する使用可能糸色を、使用糸色として決定する。前記第一合計値算出手段は、前記複数の表現可能色の前記第一使用頻度に基づき、既に使用糸色として決定された使用可能糸色である決定糸色を除く前記複数の使用可能糸色の各々について、前記使用可能糸色の前記第一使用頻度と、前記使用可能糸色と前記決定糸色の中間色の前記第一使用頻度の合計値を、第一合計値として算出する。前記第二決定手段は、前記決定糸色を除く前記複数の使用可能糸色のうち、前記第一合計値算出手段によって算出された前記第一合計値が最大となる使用可能糸色を、使用糸色として決定する。前記第一合計値算出手段および前記第二決定手段は、前記使用糸色の数が前記設定数に達するまで、順に処理を繰り返してもよい。
【0009】
この場合、まず、第一使用頻度が最も高い表現可能色に対応する使用可能糸色、すなわち、1色の使用可能糸色または2色の使用可能糸色が使用糸色として決定される。その後、残りの使用可能糸色から、単独で使用される場合および決定された使用糸色との混色表現に使用される場合の使用頻度が最も高くなる使用可能糸色、つまり、第一合計値が最大となる使用可能糸色を使用糸色として決定する処理が、使用糸色が設定数に達するまで繰り返される。従って、第一合計値を算出する必要がある糸色の組合せの数を抑制しつつ、使用可能糸色の1色または2色の混色表現で元の画像を表現するのに適した使用糸色を選択することができる。
【0010】
前記使用糸色決定手段は、第二合計値算出手段と、第三決定手段とを含んでもよい。前記第二合計値算出手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色から前記設定数の前記使用可能糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第二合計値として算出する。前記第三決定手段は、前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記使用可能糸色を、前記複数の使用糸色として決定する。
【0011】
この場合、設定数の使用可能糸色を選出する組合せ全てのうち、第一使用頻度の合計値(第二合計値)が最大となる組合せに含まれる使用可能糸色が、使用糸色として決定される。従って、元の画像の色に最も近い色を表現できる使用糸色を選択することができる。
【0012】
前記使用糸色決定手段は、前記第二合計値算出手段と前記第三決定手段に加え、表現可能色選択手段と、第一候補選択手段とを更に含んでもよい。前記表現可能色選択手段は、前記複数の表現可能色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が高い順に、所定数の表現可能色を選択する。前記第一候補選択手段は、前記複数の使用可能糸色のうち、前記表現可能色選択手段によって選択された前記所定数の表現可能色の各々を1色または2色で表現するために必要な複数の使用可能糸色を、複数の第一候補糸色として選択する。この場合、前記第二合計値算出手段は、前記第一候補選択手段によって選択された前記複数の第一候補糸色から前記設定数の第一候補糸色を選出する組合せ毎に、前記第二合計値を算出してもよい。前記第三決定手段は、前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記第一候補糸色を、前記複数の使用糸色として決定してもよい。
【0013】
この場合、組み合せに使用される使用可能糸色が、第一使用頻度が高い方から所定数の表現可能色に応じて絞り込まれるので、組合せの数を低減できる。従って、元の画像の色に近い色を表現できる使用糸色をより効率的に選択することができる。
【0014】
前記使用糸色決定手段は、第二使用頻度算出手段と、第二候補選択手段と、第三合計値算出手段と、第四決定手段とを含んでもよい。前記第二使用頻度算出手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色の各々の使用頻度である第二使用頻度を算出する。前記第二候補選択手段は、前記複数の使用可能糸色のうち、前記第二使用頻度算出手段によって算出された前記第二使用頻度が高い順に、所定数の使用可能糸色を、所定数の第二候補糸色として選択する。前記第三合計値算出手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記第二候補選択手段によって選択された前記所定数の第二候補糸色から前記設定数の第二候補糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第三合計値として算出する。前記第四決定手段は、前記第三合計値算出手段によって算出された前記第三合計値が最大となる組合せに含まれる前記設定数の前記第二候補糸色を、前記複数の使用糸色として決定する。
【0015】
この場合、使用可能糸色と中間色を含む表現可能色の第一使用頻度から、表現可能色を表現する使用可能糸色各々の使用頻度(第二使用頻度)が算出される。そして、組み合せに使用される使用可能糸色が、第二使用頻度が高い方から所定数に絞り込まれるので、組合せの数を低減できる。従って、元の画像の色に近い色を表現できる使用糸色を効率的に選択することができる。
【0016】
前記表現可能色特定手段は、各々が前記複数の使用可能糸色のうち色空間における距離が閾値以上となる2色の中間的な色を、前記少なくとも一の中間色として特定した上で、前記複数の表現可能色を特定してもよい。2色の糸色の色空間における距離がある程度近い場合、これらの2色の糸で混色表現を行っても、元の2色と近い中間色に近似するだけで、混色表現を行う効果が低い。従って、閾値未満の中間色は表現可能色から除外することで、混色表現を行う効果がより高い使用糸色を選択することができる。
【0017】
前記表現可能色特定手段は、前記複数の使用可能糸色のうち2色の有彩色の中間的な色が灰色である場合、前記灰色を除いて前記少なくとも一の中間色を特定した上で、前記複数の表現可能色を特定してもよい。2色の有彩色の糸で混色表現を行っても、実際には灰色に近似した色を表現するのは難しいため、混色表現を行う効果が低い。従って、このような有彩色の混色による灰色を表現可能色から除外することで、混色表現を行う効果がより高い使用糸色を選択することができる。
【0018】
本発明の第二の態様に係る刺繍データ作成プログラムは、前記第一の態様に係る刺繍データ作成装置の各種処理手段として、刺繍データ作成装置のコンピュータを機能させるためのプログラムである。したがって、刺繍データ作成プログラムがコンピュータによって実行されることにより、第一の態様に係る刺繍データ作成装置と同様の効果を奏することができる。
【0019】
本発明の第三の態様に係るコンピュータ読取り可能な媒体は、前記第二の態様に係る刺繍データ作成プログラムを記憶している。したがって、媒体に記憶された刺繍データ作成プログラムがコンピュータによって実行されることにより、第一の態様に係る刺繍データ作成装置と同様の効果を奏することができる。
【図面の簡単な説明】
【0020】
【図1】刺繍データ作成装置1の電気的構成を示すブロック図である。
【図2】ミシン3の外観図である。
【図3】刺繍データ作成装置1で実行されるメイン処理のフローチャートである。
【図4】メイン処理で行われる第一実施形態の糸色決定処理のフローチャートである。
【図5】表現可能色リストの一例を示す説明図である。
【図6】組合せに対応する使用頻度の合計値の算出例の説明図である。
【図7】第二実施形態の糸色決定処理のフローチャートである。
【図8】第三実施形態の糸色決定処理のフローチャートである。
【図9】使用可能糸色に対応する使用頻度の合計値の算出例の説明図である。
【図10】第四実施形態の糸色決定処理のフローチャートである。
【図11】第四実施形態の糸色決定処理のフローチャートであって、図10の続きである。
【図12】表現可能色リスト作成処理のフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について、図面を参照して説明する。
【0022】
<第1実施形態>
図1〜図6を参照して、第一実施形態について説明する。まず、刺繍データ作成装置1の構成について、図1を参照して説明する。刺繍データ作成装置1は、後述のミシン3(図2参照)によって刺繍模様を縫製するのに使用される刺繍データを作成する装置である。本実施形態の刺繍データ作成装置1は、写真等の画像に基づく図柄を刺繍縫製するための刺繍データを作成することができる。
【0023】
刺繍データ作成装置1は、例えば、所謂パーソナルコンピュータ等の汎用型の装置である。図2に示すように、刺繍データ作成装置1は、刺繍データ作成装置1の制御を司るコントローラであるCPU11を備えている。CPU11には、RAM12と、ROM13と、入出力(I/O)インタフェイス14とが接続されている。RAM12は、各種のデータを一時的に記憶する。ROM13は、BIOS等を記憶する。I/Oインタフェイス14は、データの受け渡しの仲介を行う。I/Oインタフェイス14には、ハードディスク装置(HDD)15、入力機器であるマウス22、ビデオコントローラ16、キーコントローラ17、CD−ROMドライブ18、メモリカードコネクタ23、およびイメージスキャナ装置25が接続されている。また、図1には図示されていないが、刺繍データ作成装置1は、外部機器やネットワークとの接続のための外部インタフェイスを備えていてもよい。
【0024】
ビデオコントローラ16には、表示機器であるディスプレイ24が接続され、キーコントローラ17には、入力機器であるキーボード21が接続されている。CD−ROMドライブ18には、CD−ROM54を挿入することができる。例えば、刺繍データ作成プログラムのセットアップ時には、刺繍データ作成プログラムを記憶するCD−ROM54がCD−ROMドライブ18に挿入される。そして、刺繍データ作成プログラムが読み込まれ、HDD15のプログラム記憶エリア153に記憶される。メモリカードコネクタ23には、メモリカード55を接続して、メモリカード55の情報の読み取り及びメモリカード55に情報の書き込みを行うことができる。本実施形態で刺繍データ作成の元となる画像は、例えばイメージスキャナ装置25を介して刺繍データ作成装置1に読み込まれる。
【0025】
HDD15の記憶エリアについて説明する。図1に示すように、HDD15は、画像データ記憶エリア151、刺繍データ記憶エリア152、プログラム記憶エリア153、および設定値記憶エリア154を含む複数の記憶エリアを有する。画像データ記憶エリア151には、刺繍データ作成の元となる画像等、各種画像の画像データが記憶される。刺繍データ記憶エリア152には、本実施形態の刺繍データ作成処理によって作成された刺繍データが記憶される。プログラム記憶エリア153には、後述する刺繍データ作成プログラム等、刺繍データ作成装置1で行われる各種処理のためのプログラムが記憶される。設定値記憶エリア154には、各種処理で使用される各種設定値が記憶される。
【0026】
図2を参照して、刺繍データ作成装置1で作成された刺繍データに基づいて刺繍模様を縫製することが可能なミシン3について、簡単に説明する。図2に示すように、ミシン3は、ベッド部30、脚柱部36、アーム部38、および頭部39を有する。ベッド部30は、縫製者に対して左右方向に長い、ミシン3の土台部である。脚柱部36は、ベッド部30の右端部から上方へ延びる。アーム部38は、ベッド部30に対向して脚柱部36の上端から左方へ延びる。頭部39は、アーム部38の左端に連結する部位である。ベッド部30の上方には、刺繍が施される加工布を保持する刺繍枠41を配置可能である。
【0027】
刺繍縫製時には、刺繍枠41は、ベッド部30上に配置されるY方向駆動部42、および本体ケース43内に収容されたX方向駆動機構(図示せず)によって、ミシン3に固有のX・Y座標系で示される針落ち点に移動される。刺繍枠41が移動されるのと合わせて、縫針44が装着された針棒35及び釜機構(図示せず)が駆動されることにより、加工布上に刺繍模様が形成される。なお、Y方向駆動部42、X方向駆動機構、針棒35等は、刺繍データに基づき、ミシン3に内蔵されたマイクロコンピュータ等を含む制御装置(図示せず)によって制御される。
【0028】
ミシン3の脚柱部36の側面には、メモリカード55を着脱可能なメモリカードスロット37が搭載されている。例えば、刺繍データ作成装置1で作成された刺繍データは、メモリカードコネクタ23を介してメモリカード55に記憶される。その後、メモリカード55がミシン3のメモリカードスロット37に装着され、記憶された刺繍データが読み出されて、ミシン3に刺繍データが記憶される。ミシン3の制御装置(図示せず)は、メモリカード55から読み出された刺繍データに基づいて、上記の要素による刺繍模様の縫製動作を制御する。このようにして、刺繍データ作成装置1で作成された刺繍データに基づき、ミシン3を用いて刺繍模様を縫製することができる。
【0029】
以下に、図3〜図6を参照して、第1実施形態の刺繍データ作成装置1で行われるメイン処理について説明する。図3に示すメイン処理は、ユーザが処理を開始する指示を入力すると、HDD15のプログラム記憶エリア153に記憶された刺繍データ作成プログラムが起動されることで開始され、CPU11がこのプログラムを実行することにより行われる。
【0030】
図3に示すように、まず、刺繍データ作成の元となる画像(以下、元画像という)の画像データが刺繍データ作成装置1に入力される(S1)。画像データの入力方法は特に限定されないが、例えば、イメージスキャナ装置25によって写真や図柄が読み込まれ、取得された画像データが用いられる。その他、予めHDD15の画像データ記憶エリア151に記憶された画像データや、CD−ROM114、メモリカード55、CD−R等の外部記憶媒体に記憶された画像データが入力されてもよい。
【0031】
元画像を構成する複数の画素の各々について、その角度特徴と角度特徴の強度が算出される(S2)。角度特徴は、画像中の色の連続性の高い方向を示す情報であり、角度特徴の強度は、色の変化の大きさを示す情報である。
【0032】
角度特徴およびその強度は、いかなる方法で算出されてもよいが、例えば、特開2001−259268に詳述されている方法を用いて算出することができる。よって、ここでは詳細な説明は省略し、概略のみを説明する。まず、元画像を構成する複数の画素のうち1つを注目画素として、注目画素とその周囲の所定数の画素を注目領域とする。注目領域内の各画素の色に関する属性値(例えば、輝度値)に基づいて、注目領域内における色の連続性の高い方向が特定され、注目画素の角度特徴とされる。また、注目領域内における色の変化の大きさを示す値が算出されて、注目画素の角度特徴の強度とされる。このように角度特徴およびその強度を算出する処理が、元画像を構成する画素の全てについて、順に行われる。各画素の角度特徴とその強度を示すデータは、RAM12の所定の記憶エリアに記憶される。なお、複数の画素を注目画素として、同様の処理が行われてもよい。また、角度特徴およびその強度は、上記の方法以外に、PrewittのオペレータやSobelのオペレータを用いて算出されてもよい。
【0033】
算出された角度特徴および角度特徴の強度に基づいて、線分を配置する処理が行われ、線分を特定するデータ(以下、線分データという)がRAM12に記憶される(S3)。角度特徴および角度特徴の強度に基づく線分の配置は、いかなる方法で行われてもよいが、例えば、特開2001−259268に詳述されている方法を用いて行われる。よって、ここでは詳細な説明は省略し、概略のみを説明する。まず、元画像を構成する各画素を中心として、予め設定された長さを有し、S2で算出された角度特徴が示す方向に伸びる線分が配置され、その線分を特定するデータが作成される。ただし、画像全体としての特徴が効果的に反映されるように、元画像を構成する複数の画素のうち、S2で算出された角度特徴の強度が所定の閾値よりも大きい画素についてのみ、対応する線分が配置される。一方、角度特徴の強度が閾値以下だった画素については、周囲の画素の角度特徴を加味して算出された新たな角度特徴に基づいて線分が配置される。線分は、最終的に縫目に変換して、元画像を表現するため、特開2001−259268に記載されているように、できるだけ元の画像全体を覆うように、また、できるだけ重なり無く配置される。
【0034】
続いて、糸色決定処理が行われる(S4、図4)。糸色決定処理は、ミシン3による刺繍縫製のためにユーザが準備可能な複数の糸の色、つまり、ミシン3で使用可能な複数の糸の色のうち、実際に使用される複数の糸の色を決定する処理である。図4を参照して、糸色決定処理の詳細について説明する。なお、以下の説明では、ミシン3で使用可能な糸色を、使用可能糸色といい、ミシン3での刺繍縫製に実際に使用される糸色を、使用糸色という。
【0035】
図4に示すように、糸色決定処理では、まず、N色の使用可能糸色を特定する情報が取得され、RAM12に記憶される(S11)。本実施形態では、使用可能糸色を特定する情報は、少なくともRGB値を含むものとする。RGB値の他に、糸番号等を含んでもよい。使用可能糸色を特定する情報は、予めHDD15の設定値記憶エリア154に記憶された情報が取得されてもよいし、ユーザによって入力された情報が取得されてもよい。N色の使用可能糸色のうち、実際に使用される使用糸色の数Mが設定される(S12)。使用糸色の数Mは、使用可能糸色の総数Nより小さい整数である。使用糸色の数Mは、例えば、糸交換の回数等を考慮して予め定められ、HDD15の設定値記憶エリア154に記憶された値が設定されてもよいし、ユーザによって入力された値が設定されてもよい。設定された使用糸色の数M(以下、設定数Mという)は、RAM12に記憶される。
【0036】
S11で取得されたN色の使用可能糸色のRGB値に基づき、N色の使用可能糸色のうち1色または2色で表現可能な色(以下、表現可能色という)が複数特定され、夫々のRGB値が算出される。そして、特定された複数の表現可能色と、表現可能色を表現するのに必要な使用可能糸色と、後述する使用頻度とが対応づけられたリスト(以下、表現可能色リストという)が作成され、RAM12に記憶される(S13)。
【0037】
本実施形態では、限られた数の色の糸でできるだけ多くの色を表現するために、2色の糸による混色表現を行うことを前提として、使用糸色が決定される。2色の糸による混色表現を用いてある領域を縫製した場合、その領域の色は、その2色の中間的な色である中間色に近似する。従って、N色の使用可能糸色のうち2色の混色表現を利用すれば、使用可能糸色N色と、N色のうち2色の中間色少なくとも1色が表現可能である。この場合の表現可能色の数N1は、計算式N1=N(N+1)/2で求められる。
【0038】
なお、以下の説明および参照する図では、表現可能色のうち、使用可能糸色cxと使用可能糸色cyの2色の中間色を、c[xy]のように表記する。また、表現可能色のうち、使用可能糸色cxそのものは、使用可能糸色cxと使用可能糸色cxの中間色と同等であるから、c[xx]と表記する。また、本実施形態では、簡単のため、ある領域を混色表現する場合、2色の糸が同一割合で使用されるものと仮定する。よって、使用可能糸色cxのRGB値を(rx,gx,bx)、使用可能糸色cyのRGB値を(ry,gy,by)とすると、中間色c[xy]のRGB値は、((rx+ry)/2,(gx+gy)/2,(bx+by)/2)と算出される。
【0039】
図5に例示する表現可能色リストは、使用可能糸色が、c1、c2、c3およびc4の4色である場合に作成されるリストである。なお、実際には、使用可能糸色は通常100色程度、使用糸色は10色程度であると考えられるが、以下では、説明の簡単化のため、使用可能糸色が4色、使用糸色が2色の例を用いる場合がある。図5の表現可能色リストの例では、表現可能色の数N1は、10(=4(4+1)/2)である。
【0040】
前述のように、10色の表現可能色のうち、c[11]、c[22]、c[33]、c[44]の4色は、夫々、使用可能糸色c1、c2、c3、c4そのものであり、c1同士、c2同士、c3同士、c4同士の組合せに対応する。よって、表現可能色リストには、対応する使用可能糸色として、夫々、これら4色の同色同士の組合せが記憶される。一方、c[12]、c[13]、c[14]、c[23]、c[24]、c[34]の6色は、使用可能糸色c1、c2、c3、c4のうち異なる2色の組合せの中間色である。よって、表現可能色リストには、対応する使用可能糸色として、各組合せを構成する異なる2色が記憶される。また、各表現可能色に対応付けて、後述するS15の処理で算出される各表現可能色の使用頻度が記憶されるが、S13の段階では、全ての表現可能色について、初期値のゼロ(0)が記憶される。なお、図5は、S15で算出された使用頻度が記憶された例である。なお、図示はされていないが、表現可能色リストには、各使用可能糸色および各表現可能色のRGB値も含まれる。
【0041】
特定されたN1色の表現可能色を代表色として、元画像が減色される(S14)。すなわち、元画像を構成する複数の画素の各々の色が、その色に最も近い代表色に置き換えられる。具体的には、各画素のRGB値とN1色の表現可能色のRGB値とのRGB空間での距離が夫々求められ、各画素のRGB値が、距離が最小となる表現可能色のRGB値に置き換えられる。なお、ある画素のRGB値を(Rt、Gt、Bt)とし、ある表現可能色のRGB値を(Ra、Ga、Ba)とした場合、その空間距離dは、以下の式で求められる。
d=√{(Rt−Ra)2+(Gt−Ga)2+(Bt−Ba)2}
【0042】
その後、各表現可能色の使用頻度が算出され、S13でRAM12に用意された表現可能色リストに記憶される(S15)。例えば、減色処理で各表現可能色に置き換えられた画素の数がカウントされ、使用頻度として用いられる。前述の4色の例では、10色の表現可能色の各々について、例えば、図5に示すように、使用頻度が算出され、記憶される。
【0043】
続いて、N色の使用可能糸色からM色を選ぶ全ての組合せが特定され、組合せを特定する情報がRAM12に記憶される(S21)。このときの組合せの総数は、N!/{M!(N−M)!}である。よって、前述の例の4色の使用可能糸色c1、c2、c3、c4から2色を選ぶ場合、その組合せは、(c1,c2),(c1,c3),(c1,c4),(c2,c3),(c2,c4),(c3,c4)の6通りである。このように、組合せが特定されると、各組合せで表現可能な表現可能色が特定され、その使用頻度の合計値が算出される(S31)。算出された合計値は、組合せを特定する情報と対応付けてRAM12に記憶される。
【0044】
例えば、図6に示すように、組合せ(c1,c2)を構成する使用可能糸色c1、c2のうち1色または2色で表現可能な表現可能色は、c[11]、c[12]、c[22]の3色である。図5に示すように、c[11]、c[12]、c[22]の使用頻度が、夫々、10、5、7である場合、組合せ(c1,c2)に対応する使用頻度の合計値は、22となる。同様にして、他の5通りの組合せ(c1,c3),(c1,c4),(c2,c3),(c2,c4),(c3,c4)についても使用頻度の合計値を算出すると、図6に示すように、夫々、31、14、32、14、26となる。
【0045】
S31で算出された使用頻度の合計値に基づき、使用糸色が決定され、使用糸色を特定する情報がRAM12に記憶される(S32)。具体的には、S31で全ての組合せについて算出された使用頻度の合計値のうち、最大値となる使用頻度に対応する組合せの使用可能糸色が、使用糸色として決定される。各組合せに含まれる使用可能糸色はM色であるから、これにより、設定数Mの使用糸色を決定することができる。図6に示す例では、使用頻度の最大値32に対応する組合せは(c2,c3)であるから、使用可能糸色c2およびc3の2色が、使用糸色として決定されることになる。使用糸色が決定されると、CPU11は、図4に示す糸色決定処理を終了し、図3に示すメイン処理に戻る。
【0046】
図3に示すように、メイン処理では、糸色決定処理(S4)に続き、S3で配置された線分の色を決定する配色処理が行われる(S5)。具体的には、線分の各々について、前述のように決定されたM色の使用糸色から、元画像の色を反映した1色が選択され、その線分の色として決定される。元画像の色を反映した1色を選択する方法として、例えば、特開2001−259268に詳述されている方法を採用することができる。
【0047】
具体的には、元画像を構成する複数の画素を順に注目画素として、次の処理が行われる。元画像において、注目画素を中心とする所定の範囲が、元画像の色を参照する範囲(参照領域)として設定される。そして、元画像の参照領域内の色の平均値と、注目画素を中心とする参照領域と同じサイズの領域に配置された線分に対して既に決定された色の平均値が等しくなるように、注目画素に対応する線分の色が決定される。つまり、元画像の色と既に決定された線分の色とに基づいて、線分の各々の色が決定されていく。線分の色は、使用糸色から選択されるので、ここで決定される色は、実際の縫目の色となる。
【0048】
配色された複数の線分のうち、同じ使用糸色の線分を順に接続して、使用糸色毎の線分データを作成する処理が行われる(S6)。例えば、まず、ある使用糸色の複数の線分のうち、元画像の最も左端に近い線分が、接続順が1番目の線分とされる。この線分の2つの端点のうち一方が始点とされ、他方が終点とされる。次に、同じ使用糸色の他の線分のうち、1番目の線分の終点に最も近い位置にある端点を有する線分が、接続先である2番目の線分とされる。同様にして、順に、既に接続された線分の終点に、同じ色の線分の最も近い位置にある端点を接続していく。その後、使用糸色毎に接続された線分群を、近い端点同士で接続することにより、全ての線分が接続される。そして、接続された全ての線分の端点の位置(座標)、接続順、および使用糸色を示すデータである接続線分データが作成される。
【0049】
接続線分データに基づき、刺繍データが作成される(S7)。具体的には、線分の端点の座標が、ミシン3に固有の座標系の座標に変換されることで、針落ち点の座標が算出される。また、線分の接続順が針落ち点の縫い順とされる。これにより、針落ち点の座標と、縫い順と、使用糸色を示す刺繍データが作成される。刺繍データの作成が終了すると、図3に示す刺繍データ作成処理は終了する。
【0050】
以上に説明したように、第一実施形態の刺繍データ作成装置1によれば、N色の使用可能糸色と、N色の使用可能糸色のうち2色の中間色とが表現可能色として特定される。そして、表現可能色を代表色として元画像を減色した場合の各表現可能色の使用頻度が算出される。よって、元画像に、使用可能糸色そのものに近い色がなかったとしても、中間色に近い色が多く含まれれば、その中間色の使用頻度は高くなる。従って、使用可能糸色のうち1色だけでなく2色を用いて混色表現をする場合を含めて、元画像の色を表現するのに適した使用糸色を選択することができる。特に、本実施形態では、N色の使用可能糸色から、M色を選ぶ組合せ全てのうち、使用頻度の合計値が最大となる組合せに含まれるM色の使用可能糸色が、M色の使用糸色として決定される。従って、元画像の色に最も近い色を表現できる使用糸色を選択することができる。
【0051】
第一実施形態において、図4の糸色決定処理のS12で、使用糸色の数Mを設定するCPU11は、本発明の「糸色数設定手段」に相当する。S13で表現可能色リストを作成するCPU11は、「表現可能色特定手段」に相当する。S15で、「第一使用頻度」である各表現可能色の使用頻度を算出するCPU11は、「第一使用頻度算出手段」に相当する。S31〜S32の処理を行うCPU11は、「使用糸色決定手段」に相当する。そのうちS31で、各組合せに対応する使用頻度の合計値(第二合計値)を算出するCPU11は、「第二合計値算出手段」に相当する。S32で、使用糸色を決定するCPU11は、「第三決定手段」に相当する。
【0052】
<第二実施形態>
以下に、図5〜図7を参照して、第二実施形態について説明する。第二実施形態および後述する第三、第四実施形態に係る刺繍データ作成装置1およびミシン3の構成は、第一実施形態と同一であるため、以下ではその説明は省略する。また、第二実施形態および後述する第三、第四実施形態におけるメイン処理は、第一実施形態の処理とは、糸色決定処理(図3のS4、図4)の内容において異なるのみである。従って、以下では、第一実施形態の処理と同一部分については同一のステップ番号を付して説明を省略または簡略化し、第一実施形態とは異なる処理の詳細について説明する。
【0053】
図7に示すように、第二実施形態の糸色決定処理は、使用可能糸色を特定する情報が取得され、N1色の表現可能色が特定されて、元画像における各表現可能色の使用頻度が算出されるまでの処理(S11〜S15)は、第一実施形態の処理(図4参照)と同じである。その後、第一実施形態では、N色の使用可能糸色のうちM色を選ぶ全ての組合せが特定されるが、第二実施形態では、組合せの数を減らすために、組合せの対象となる使用可能糸色の数を絞り込むことが試みられる。具体的には、まず、S15で算出された使用頻度が高い順に、N1(=N(N+1)/2)色の表現可能色のうち、M1色の表現可能色が選択される(S16)。なお、M1は、N1よりも小さい整数である。数M1は、予め定められ、HDD15の設定値記憶エリア154に記憶された値が使用されてもよいし、ユーザによって入力された値が使用されてもよい。
【0054】
続いて、N色の使用可能糸色のうち、選択されたM1色の表現可能色を1色または2色で表現するために必要な使用可能糸色が、候補糸色として選択され、その情報がRAM12に記憶される(S17)。候補糸色の数N2は、M1色が全て中間色であり、且つ、中間色の元となる使用可能糸色が全て異なる場合に、最大値であるM1の2倍の値をとる。ただし、候補糸色の数N2は使用可能糸色の総数N以下である。よって、S16で選択される表現可能色の数M1を使用可能糸色の総数Nの二分の一未満とすれば(M1<N/2)、確実に候補糸色の数N2をNよりも減らすことができる。例えば、使用可能糸色の総数Nが100色の場合、表現可能色の数N1は、5,050色となる。使用頻度が高い順に、5,050色の表現可能色から選択される表現可能色の数M1を10とすれば、これら10色の表現可能色に対応する候補糸色の数N2は、最大で20色となる。
【0055】
また、選択されたM1色の表現可能色が、同じ使用可能糸色を含む場合にも、候補糸色の数N2を、Nよりも減らすことができる場合がある。例えば、図5に示す10色の表現可能色から、使用頻度が高い順に、c[33]、c[11]、c[23]の3色が選択された場合、候補糸色はc1、c2、c3の3色である。つまり、候補糸色の数N2は3であるから、使用可能糸色の総数Nである4よりも小さくなる。
【0056】
N2色の候補糸色からM色を選ぶ全ての組合せが特定され、その情報がRAM12に記憶される(S22)。このときの組合せの総数は、N2!/{M!(N2−M)!}である。例えば、候補糸色を絞り込まずに、100色の使用可能糸色全てから10色を選ぶ組合せは、17.3兆通りある。一方、上記の例のように表現可能色を絞り込むことで、100色の使用可能糸色を20色の候補糸色まで絞り込めれば、使用糸色の設定数Mが10の場合、その組合せは184,756通りとなる。つまり、組合せの数を大幅に低減できる。
【0057】
組合せが特定されたら、第一実施形態と同様、各組合せで表現可能な表現可能色が特定され、その使用頻度の合計値が算出される(S31)。そして、使用頻度の合計値のうち、最大値となる使用頻度に対応する組合せの使用可能糸色が、使用糸色として決定され(S32)、図7に示す糸色決定処理は終了する。
【0058】
以上に説明したように、第二実施形態の糸色決定処理では、組合せに使用される使用可能糸色の数Nを、N1色の表現可能色のうち、使用頻度が高い方からM1色の表現可能色に応じて、Nよりも小さい数N2まで減らすことができる場合がある。この場合、N2色からM色を選ぶ組合せの数は、N色の使用可能糸色からM色を選ぶ組合せの数よりも少ない。組合せの数が低減されれば、使用糸色を決定するための計算時間が低減できる。具体的には、S22で組合せを特定するための計算時間や、S31で各組み合わせに対応する使用頻度の合計値の計算時間を低減することができる。特に、使用可能糸色の総数Nと設定数Mとの差が大きい場合には、組合せの数の低減効果は顕著である。このように、第二実施形態の糸色決定処理によれば、元画像の色に近い色を表現できる使用糸色を、より効率的に選択することができる。
【0059】
第二実施形態において、図7に示す糸色決定処理のS16で、M1色の表現可能色を選択するCPU11は、「表現可能色選択手段」に相当する。S17で、M1色の表現可能色に対応するN2色の候補糸色(第一候補糸色)を選択するCPU11は、「第一候補選択手段」に相当する。
【0060】
<第三実施形態>
以下に、図5、図8および図9を参照して、第三実施形態について説明する。前述の通り、以下では、主として、第一実施形態とは異なる糸色決定処理の詳細について説明する。
【0061】
図8に示すように、第三実施形態の糸色決定処理も、使用可能糸色を特定する情報が取得され、N1色の表現可能色が特定されて、元画像における各表現可能色の使用頻度が算出されるまでの処理(S11〜S15)は、第一実施形態の処理(図4参照)と同じである。その後、第三実施形態では、第二実施形態と同様、組合せの対象となる使用可能糸色を絞り込むことが試みられる。ただし、第三実施形態では、使用可能糸色を絞り込む方法が、第二実施形態とは異なっている。
【0062】
具体的には、まず、S15で算出されたN1色の表現可能色の使用頻度に基づき、N色の使用可能糸色各々の使用頻度が算出される(S18)。例えば、S15で、図5に示すように、10色の表現可能色の使用頻度が算出されたとする。この場合、c1、c2、c3、c4の4色の使用可能糸色の使用頻度は、夫々、次のように算出できる。使用可能糸色c1は、4色の表現可能色c[11]、c[12]、c[13]、c[14]に使用され、夫々の使用頻度は、10、5、6、1である。これら4色のうち、c[11]はc1とc1の中間色と同等であるから、本実施形態では、c1は2回使用されるとみなされる。よって、c1の使用頻度は、32(=10+10+5+6+1)と算出される。同様にして、c2、c3、c4の使用頻度は、図9に示すように、夫々、33、54、19と算出される。
【0063】
算出された使用頻度が高い順に、N色の使用可能糸色のうちN3色が、候補糸色として選択され、その情報がRAM12に記憶される(S19)。なお、候補糸色の数N3は、設定数M以上、且つ、使用可能糸色の総数N未満の整数である。数N3は、予め定められ、HDD15の設定値記憶エリア154に記憶された値が使用されてもよいし、ユーザによって入力された値が使用されてもよい。図9の例で4色の使用可能糸色のうち3色が候補糸色として選択される場合、使用頻度54、33、32に対応するc3、c2、c1が選択される。
【0064】
続いて、N3色の候補糸色からM色を選ぶ全ての組合せが特定され、その情報がRAM12に記憶される(S23)。このときの組合せの総数は、N3!/{M!(N3−M)!}である。よって、例えば、表現可能色の使用頻度に基づいて算出された使用可能糸色の使用頻度に基づき、100色の使用可能糸色を20色の候補糸色まで絞り込めば、使用糸色の設定数Mが10の場合、その組合せは184,756通りとなる。従って、第二実施形態と同様、候補糸色の数を絞り込むことで、計算時間を低減することができる。
【0065】
なお、第二実施形態では、候補糸色の数N2は、使用頻度に基づいて絞り込まれたM1色の表現可能色が同じ使用可能糸色を含む割合に応じて変動する。つまり、M1色の表現可能色が全て異なる使用可能糸色2色の中間色の場合等には、候補糸色の数N2は、使用可能糸色の総数Nから変動しない可能性がある。例えば、c1、c2、c3、c4の4色の使用可能糸色に対応する10色の表現可能色のうち、使用頻度が高い2色の表現可能色としてc[12]およびc[34]が選択された場合、候補糸色は、c1、c2、c3、c4の4色になるため、使用可能糸色と変わりない。本実施形態では、N色の使用可能糸色から、使用頻度の高い順に候補糸色をN3色選ぶことができるので、より確実に、候補糸色の数N3を減らすことができる。その結果、組合せの数を確実に減らすことができる。
【0066】
組合せが特定されたら、第一実施形態と同様、各組合せで表現可能な表現可能色が特定され、その使用頻度の合計値が算出される(S31)。そして、使用頻度の合計値のうち、最大値となる使用頻度に対応する組合せの使用可能糸色が、使用糸色として決定され(S32)、図8に示す糸色決定処理は終了する。
【0067】
以上に説明したように、第三実施形態の糸色決定処理では、N1色の表現可能色の使用頻度に基づき、N色の使用可能糸色各々の使用頻度が算出される。そして、組み合せに使用される使用可能糸色が、算出された使用頻度が高い方から順に、N色よりも少ないN3色に絞り込まれるので、組合せの数を確実に低減できる。なお、S19で選択される候補糸色の数N3を減らすほど、S23およびS31における計算時間を低減することができる。例えば、候補糸色の数N3を使用糸色の設定数Mと同一にすれば、N3色の候補糸色からM色を選ぶ組合せは1通りだけとなるので、S23では、組合せを特定するための計算時間は不要となる。更に、S31では、この1通りの組合せについてのみ、使用頻度の合計値が算出されるので、N色からM色を選ぶ全ての組合せについて合計値が算出される場合に比べ、計算時間が低減される。このように、第三実施形態の糸色決定処理によれば、元画像の色に近い色を表現できる使用糸色を効率的に選択することができる。
【0068】
第三実施形態において、図8に示す糸色決定処理のS18で、「第二使用頻度」である各使用可能糸色の使用頻度を算出するCPU11は、「第二使用頻度算出手段」に相当する。S19で、使用頻度が高いN3色の候補糸色(第二候補糸色)を選択するCPU11は、「第二候補選択手段」に相当する。S31で、各組合せに対応する使用頻度の合計値(第三合計値)を算出するCPU11は、「第三合計値算出手段」に相当する。S32で、使用糸色を決定するCPU11は、「第四決定手段」に相当する。
【0069】
<第四実施形態>
以下に、図10〜図11を参照して、第四実施形態について説明する。前述の通り、以下では、主として、第一実施形態とは異なる糸色決定処理の詳細について説明する。
【0070】
図10に示すように、第四実施形態の糸色決定処理も、使用可能糸色を特定する情報が取得され、N1色の表現可能色が特定されて、元画像における各表現可能色の使用頻度が算出されるまでの処理(S11〜S15)は、第一実施形態の処理(図4参照)と同じである。その後、第二実施形態および第三実施形態では、組合せの対象となる使用可能糸色が絞り込まれた後、そのうちM色を選ぶ全ての組合せ毎に、使用頻度の合計値が算出され、合計値が最大となる組合せに対応する使用可能糸色が使用糸色として決定される。一方、第四実施形態では、まず、2色または1色の使用糸色が決定され、残りの使用可能糸色のうち、既に決定されている使用糸色とあわせて使用した場合に、最も使用頻度が高くなる使用可能糸色が、M色に達するまで、1色ずつ順に使用糸色として追加されていく。
【0071】
具体的には、まず、既に決定された使用糸色の数をカウントする変数T1にゼロ(0)が設定される(S41)。続いて、S15で算出された使用頻度が最大である表現可能色c[hi]が特定される(S42)。そして、この色に対応する使用可能糸色chおよびciが使用糸色として決定され、これらを特定する情報がRAM12に記憶される(S43)。なお、hおよびiは、いずれも1からNまでの整数のうちいずれか一つである。前述したように、表現可能色は、使用可能糸色のうち1色または2色で表現される色である。hとiが同一の場合には(S44:YES)、c[hi]は、同じ使用可能糸色同士の中間色を意味し、使用可能糸色のうちの1色に他ならない。よって、この場合、使用糸色として決定されたのは1色であるから、変数T1に1が加算される(S45)。一方、hとiが同一でない場合には(S44:NO)、c[hi]は、2色の使用可能糸色の中間色を意味する。よって、この場合、使用糸色として決定されたのは2色であるから、変数T1に2が加算される(S46)。
【0072】
図11に示すように、続いて、第一注目糸色ciT1を表す変数iT1に1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第一注目糸色ciT1に設定される(S51)。なお、変数iT1は1からNまでの整数である。第一注目糸色ciT1は、使用可能糸色のうち、既に決定された使用糸色に加えて使用糸色とするか否かが判断される対象となる1色である。
【0073】
第一注目糸色ciT1の使用頻度の合計値を示す変数SUM[iT1]にゼロ(0)が設定され、変数iT1の値と対応付けてRAM12に記憶される(S52)。第一注目糸色ciT1を示す情報が、決定された使用糸色の情報としてRAM12に記憶されているか否かが判断される(S53)。第一注目糸色ciT1が既に使用糸色とされている場合は(S53:YES)、この色の処理は完了している。よって、変数iT1が、使用可能糸色の総数N未満であるか否かが判断される(S60)。変数iT1がN未満である場合(S60:YES)、まだ第一注目糸色ciT1とされていない未処理の使用可能糸色が残っている。よって、変数iT1に1が加算されて(S61)、次の使用可能糸色が第一注目糸色ciT1とされ、処理はS52に戻る。
【0074】
S53において、第一注目糸色ciT1が使用糸色とされていないと判断された場合は(S53:NO)、第二注目糸色ciT2を表す変数iT2に1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第二注目糸色ciT2に設定される(S54)。なお、変数iT2は1からNまでの整数である。本実施形態では、第二注目糸色ciT2が、既に決定された使用糸色か、第一注目糸色ciT1と同色の場合に、第一注目糸色ciT1と第二注目糸色ciT2との混色表現が考慮される。そこで、まず、変数iT2と変数iT1とが同一か否か、つまり、第一注目糸色ciT1と第二注目糸色ciT2は同じ色であるか否かが判断される(S55)。
【0075】
変数iT2と変数iT1とが同一の場合(S55:YES)、RAM12に記憶されている第一注目糸色ciT1の使用頻度の合計値を示す変数SUM[iT1]に、図10のS15で算出されたN1色の表現可能色の使用頻度のうち、第一注目糸色ciT1と第二注目糸色ciT2の中間色c[iT1iT2]の使用頻度が加算され、変数SUM[iT1]が更新される(S57)。なお、この場合の中間色c[iT1iT2]は、まだ使用糸色とされていない使用可能糸色のうちの1色である。変数SUM[iT1]が更新されると、処理はS58に進む。
【0076】
変数iT2が変数iT1とは同一でない場合(S55:NO)、第二注目糸色ciT2が、既に決定された使用糸色としてRAM12に記憶されているか否かが判断される(S56)。第二注目糸色ciT2が使用糸色とされている場合は(S56:YES)、RAM12に記憶されている変数SUM[iT1]に、第一注目糸色ciT1と第二注目糸色ciT2の中間色c[iT1iT2]の使用頻度が加算され、変数SUM[iT1]が更新される(S57)。なお、この場合の中間色c[iT1iT2]は、まだ使用糸色とされていない使用可能糸色のうちの1色と、既に決定された使用糸色の1色との中間色である。変数SUM[iT1]が更新されると、処理はS58に進む。
【0077】
第二注目糸色ciT2が使用糸色とされていない場合は(S56:NO)、使用頻度が変数SUM[iT1]に加算されることなく、処理はS58に進む。S58では、変数iT2が、使用可能糸色の総数N未満であるか否かが判断される。変数iT2が、N未満である場合(S58:YES)、まだ第二注目糸色ciT2とされていない未処理の使用可能糸色が残っている。よって、変数iT2に1が加算されて(S59)、次の使用可能糸色が第二注目糸色ciT2とされ、処理はS55に戻る。
【0078】
前述のようにして、S55〜S59の処理が繰り返され、変数iT2が、使用可能糸色の総数N未満ではなくなると(S58:NO)、変数iT1が、使用可能糸色の総数N未満であるか否かが判断される(S60)。変数iT1がN未満の場合(S60:YES)、変数iT1に1が加算されて(S61)、次の使用可能糸色が第一注目糸色ciT1とされ、処理はS52に戻る。この時点で、RAM12には、処理が完了した第一注目糸色ciT1および既に決定されている使用糸色のうち1色または2色で表現可能な表現可能色の使用頻度の合計値が記憶されていることになる。
【0079】
前述のようにしてS52〜S61の処理が繰り返され、順に、まだ使用糸色とされていない使用可能糸色および既に決定されている使用糸色のうち1色または2色で表現可能な表現可能色の使用頻度の合計値が算出され、RAM12に記憶されていく。なお、この過程で、第一注目糸色ciT1を示す変数iT1の方が第二注目糸色ciT2を示す変数iT2よりも大きくなった場合(iT1>iT2)、S57では、RAM12に記憶されている変数SUM[iT1]には、中間色c[iT2iT1]の使用頻度が加算されればよい。
【0080】
N色の使用可能糸色全てが第一注目糸色ciT1とされて、変数iT1がN未満でなくなると(S60:NO)、変数iT1の値に夫々対応付けてRAM12に記憶されている変数SUM[iT1]のうち、最大値が特定され、対応する使用可能糸色ciT1が、使用糸色として決定され、その情報がRAM12に記憶される(S62)。使用糸色の数を示す変数T1に1が加算される(S63)。変数T1が設定数(使用糸色の数)M未満の場合は(S64:YES)、処理はS51に戻り、再び1色目の使用可能糸色c1が第一注目糸色とされる(S51)。そして、前述のようにして、残りの使用可能糸色のうち、既に決定されたT1色の使用糸色とあわせて使用した場合に、最も使用頻度が高くなる使用可能糸色を使用糸色として決定する処理が繰り返される(S51〜S64)。その結果、既に決定された使用糸色の数T1が、設定数Mに達し、M未満でなくなると(S64:NO)、図10および図11に示す糸色決定処理は終了する。
【0081】
図5に示すように、c1、c2、c3、c4の4色の使用可能糸色について各表現可能色に対応する使用頻度が算出された後、2色の使用糸色を決定する例を、本実施形態の糸色決定処理に適用すると、次のようになる。まず、最大使用頻度(15)の表現可能色c[33]に対応する使用可能糸色c3、c3が使用糸色として決定される(図10のS43)。c[33]は、同じ色同士の中間色に相当するので(S44:YES)、決定された使用糸色の数T1は、1とされる(S45)。
【0082】
第一注目糸色c1は使用糸色ではないので(図11のS53:NO)、第二注目糸色c1が設定される(S54)。S55〜S59の1巡目の処理では、第一注目糸色c1と第二注目糸色c1は同じ色なので(S55:YES)、表現可能色c[11]の使用頻度10が、使用頻度の合計値(SUM[1])として記憶される(S57)。2巡目の処理では、第二注目糸色c2は、第一注目糸色c1と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は更新されない。3巡目の処理では、第二注目糸色c3は、既に決定された使用糸色なので(S56:YES)、1巡目で算出された使用頻度10に、表現可能色c[13]の使用頻度6が加算され、使用頻度の合計値が16に更新される(S57)。4巡目の処理では、第二注目糸色c4は、第一注目糸色c1と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は更新されない。
【0083】
次に設定される第一注目糸色c2も使用糸色ではないので(S53:NO)、第二注目糸色c1が設定される(S54)。S55〜S59の1巡目の処理では、第二注目糸色c1は、第一注目糸色c2と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は算出されない。2巡目の処理では、第二注目糸色c2は、第一注目糸色c2と同じ色なので(S55:YES)、表現可能色c[22]の使用頻度7が、使用頻度の合計値(SUM[2])として記憶される(S57)。3巡目の処理では、第二注目糸色c3は、既に決定された使用糸色なので(S56:YES)、2巡目で算出された使用頻度7に、表現可能色c[23]の使用頻度10が加算され、使用頻度の合計値が17に更新される(S57)。4巡目の処理では、第二注目糸色c4は、第一注目糸色c2と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は更新されない。
【0084】
次に設定される第一注目糸色c3は使用糸色なので(S53:YES)、すぐに次の第一注目糸色c4が設定される(S61)。第一注目糸色c4は使用糸色ではないので(S53:NO)、第二注目糸色c1が設定される(S54)。S55〜S59の1巡目の処理では、第二注目糸色c1は、第一注目糸色c4と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は算出されない。2巡目の処理では、第二注目糸色c2も、第二注目糸色c4と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は算出されない。3巡目の処理では、第二注目糸色c3は、既に決定された使用糸色なので(S56:YES)、表現可能色c[34]の使用頻度8が使用頻度の合計値(SUM[4])として記憶される(S57)。4巡目の処理では、第二注目糸色c4は、第一注目糸色c4と同じ色なので(S55:YES)、3巡目で算出された使用頻度8に、表現可能色c[44]の使用頻度3が加算され、使用頻度の合計値が11に更新される(S57)。
【0085】
c1〜c4の4色全てが第一注目糸色とされたので(S60:NO)、使用頻度の合計値SUM[1]、SUM[2]、SUM[4]の値16、17、11が比較され、最大値17に対応する使用可能糸色c2が、新たに使用糸色として決定される(S62)。決定された使用糸色の数T1が2となり(S63)、設定数Mに達するので(S64:NO)、糸色決定処理は終了する。このようにして、2色の使用糸色c3、c2が順に決定されることになる。
【0086】
以上に説明したように、第四実施形態の糸色決定処理では、まず、N色の使用可能糸色のうち、使用頻度が最も高い表現可能色に対応する1色または2色の使用可能糸色が、使用糸色として決定される。その後、残りの使用可能糸色から、単独で使用される場合および既に決定された使用糸色との混色表現に使用される場合の使用頻度の合計値が最も高くなる使用可能糸色を使用糸色として決定する処理が、使用糸色が設定数Mに達するまで繰り返される。
【0087】
例えば、使用頻度の合計値を算出する必要がある組合せは、最初に使用糸色として1色が決定された場合、2色目を決定する処理では(N−1)通り、3色目を決定する処理では(N−2)通り、のようになり、M色目を決定する処理では、(N−M+1)通りとなる。従って、使用頻度の合計値を算出する必要がある組合せの総数は、(M−2){(N−2)+(N−M+1)}/2である。例えば、100色の使用可能糸色から10色の使用糸色を決定する場合、この組合せの数は、756となる。従って、N色からM色を選ぶ組合せについて合計値が算出される場合(17.3兆通り)や、N色よりも少ない数の候補糸色からM色を選ぶ組合せについて合計値が算出される場合(184,756通り)よりも、組合せ数を大幅に低減することができる。このように、第四実施形態の糸色決定処理によれば、使用頻度の合計値を算出する必要がある使用可能糸色の組合せの数を抑制しつつ、使用可能糸色の1色または2色の混色表現で元の画像を表現するのに適した使用糸色を選択することができる。
【0088】
なお、第四実施形態の糸色決定処理では、第二実施形態および第三実施形態のように候補糸色を選択する必要がなく、また、中間色を含む使用頻度の合計値が算出されているので、より画像全体を表現するのに適した使用糸色を選択することができる。
【0089】
第四実施形態において、図10および図11に示す糸色決定処理のS43で、使用頻度が最も高い表現可能色に対応する使用可能糸色を使用糸色として決定する算出するCPU11は、「第一決定出手段」に相当する。S57で、既に決定された使用糸色以外の使用可能糸色の各々について、使用頻度の合計値(第一合計値)を算出するCPU11は、「第一合計値算手段」に相当する。S62で、使用頻度の合計値が最大となる使用可能糸色を、使用糸色として決定するCPU11は、「第二決定手段」に相当する。
【0090】
本発明は上記実施形態に限定されるものではなく、種々の変更が可能である。例えば、上記実施形態では、表現可能色がどのような色になるかは考慮せず、一律で、N1(=N(N+1)/2)色の表現可能色が特定され、表現可能色リストが作成されている。しかしながら、混色表現の効果が低いと考えられる中間色は、表現可能色リストに含めない処理が行われてもよい。図12を参照して、この場合に行われる表現可能色リスト作成処理について説明する。図12に示す表現可能色リスト作成処理は、第一実施形態〜第四実施形態の糸色決定処理(図4、図7、図8、図10)のS13の処理に代えて行われればよい。
【0091】
図12に示すように、まず、第一使用可能糸色ciを表す変数iに1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第一使用可能糸色ciに設定される(S81)。なお、変数iは1からNまでの整数である。更に、第二使用可能糸色cjを表す変数jに1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第二使用可能糸色cjに設定される(S82)。なお、変数jは1からNまでの整数である。第一使用可能糸色ciおよび第二使用可能糸色cjは、使用可能糸色のうち、これらの中間色を表現可能色リストに含めるか否か、つまり、これら2色の混色表現を行うか否かが判断される2色である。
【0092】
変数iと変数jとが同一であるか否かが判断される(S83)。最初の処理では、変数iと変数jはいずれも1で同一である(S83:YES)。つまり、第一使用可能糸色c1および第二使用可能糸色c1は同じ使用可能糸色である。この場合、中間色c[ij]、つまりc[11]は使用可能糸色c1そのものであるから、c[11]と、対応する使用可能糸色c1、c1が、表現可能色リスト(図5参照)に追加される(S93)。変数jが、使用可能糸色の総数N未満か否か、つまり、第一使用可能糸色ciと全ての使用可能糸色の組み合わせが処理されたか否かが判断される(S94)。変数jがN未満であれば(S94:YES)、変数jに1が加算され(S95)、処理はS83に戻る。
【0093】
変数jが変数iとは同一でない場合(S83:NO)、第一使用可能糸色ciおよび第二使用可能糸色cjは異なる2色の使用可能糸色である。この場合、第一使用可能糸色ciと第二使用可能糸色cjとのRGB空間における距離dijが算出される(S84)。なお、第一使用可能糸色ciのRGB値を(Ri、Gi、Bi)とし、第二使用可能糸色cjのRGB値を(Rj、Gj、Bj)とした場合、その空間距離dijは、以下の式で求められる。
dij=√{(Ri−Rj)2+(Gi−Gj)2+(Bi−Bj)2}
【0094】
算出された距離dijが所定の閾値d1未満か否かが判断される(S84)。閾値d1は、予め設定され、HDD15の設定値記憶エリア154に記憶されている。閾値d1は、例えば、異なる2色が人間の目にはある程度似ていると認識される範囲の限界値を、RGB空間における距離で表したものが採用されればよい。距離dijが閾値d1未満の場合(S85:YES)、第一使用可能糸色ciと第二使用可能糸色cjとはある程度似た色であるから、これら2色の中間色は、第一使用可能糸色ciと第二使用可能糸色cjの各々に更に似た色となるはずである。従って、これら2色で混色表現を行う効果は低いと考えられるため、中間色c[ij]は表現可能色リストに追加されることなく、処理はS94に進む。距離dijが閾値d1未満ではない場合(S84:NO)、中間色c[ij]が特定される(S86)。具体的には、第一実施形態のS13の処理について説明したように、第一使用可能糸色ciと第二使用可能糸色cjの夫々のRGB値から、中間色c[ij]のRGB値が算出される。
【0095】
続いて、中間色c[ij]が、有彩色2色から得られる灰色であるか否かを判断する処理が行われる(S87〜S92)。計算上は灰色の中間色が得られても、実際には、2色の有彩色の糸で混色表現を行っても灰色に近似した色を表現するのは難しい。つまり、混色表現を行う効果が低いと考えられる。従って、中間色c[ij]が有彩色2色から得られる灰色と判断された場合には、中間色c[ij]を表現可能色リストには含めず、そうでない場合には、表現可能色リストに含める処理が行われる。
【0096】
一般的には、次の4つの条件が全て満たされる場合、有彩色2色の中間色は計算上実質的に灰色である。第一の条件は、2色のRGB値が同一ではないことである。第二の条件は、RGB空間における中央値(127.5,127.5,127.5)と、中間色との距離がある程度近いことである。第三および第四の条件は、2色のうち一方の色のRGB値の最大値および最小値の差がある程度大きいこと、および、他方の色のRGB値の最大値および最小値の差もある程度大きいことである。なお、前述のS83の処理により、第一の条件を満たす場合にのみ、S87以降の処理が行われるので、S87〜S92では、第二、第三、第四の条件について、順に判断が行われる。
【0097】
まず、中間色c[ij]とRGB空間における中央値(127.5,127.5,127.5)との距離dcが算出され(S87)、距離dcが所定の閾値d2よりも大きいか否かが判断される(S88)。RGB空間における中央値(127.5,127.5,127.5)は、灰色に対応する。閾値d2は、予め設定され、HDD15の設定値記憶エリア154に記憶されている。閾値d2は、閾値d1と同様に定められればよい。閾値d1と閾値d2とは同一でも異なっても構わない。距離dcが所定の閾値d2よりも大きい場合(S88:YES)、第二の条件が満たされておらず、中間色c[ij]はそれほど灰色に近い色ではない。よって、中間色c[ij]が表現可能色リストに追加され(S93)、処理はS94に進む。
【0098】
距離dcが所定の閾値d2未満でない場合(S88:NO)、第二の条件は満たされており、中間色c[ij]はある程度灰色に近い色である。更に、第一使用可能糸色ciのRGB値の最大値と最小値の差diが算出され(S89)、差diが閾値d3未満か否かが判断される(S90)。閾値d3は、予め設定され、HDD15の設定値記憶エリア154に記憶されている。無彩色の場合、RGB値の全ての値は同一であり、有彩色の場合、RGB値は少なくとも2つが互いに異なる値をとる。つまり、RGB値の最大値と最小値に差がある場合、その色は有彩色である。ただし、その差が微小であれば、無彩色に近い色となるので、閾値d3として、例えば、有彩色であると明確に認識できる程度の距離が設定されればよい。差diが閾値d3未満の場合(S90:YES)、第三の条件が満たされておらず、第一使用可能糸色ciは無彩色とみなせる。よって、中間色c[ij]が表現可能色リストに追加され(S93)、処理はS94に進む。
【0099】
差diが閾値d3未満でない場合(S90:NO)、第三の条件は満たされており、第一使用可能糸色ciは有彩色とみなせる。よって、更に、第二使用可能糸色cjのRGB値の最大値と最小値の差djが算出され(S91)、差djが閾値d3未満か否かが判断される(S92)。差djが閾値d3未満の場合(S92:YES)、第四の条件が満たされておらず、第二使用可能糸色cjは無彩色とみなせるので、中間色c[ij]が表現可能色リストに追加され(S93)、処理はS94に進む。差djが閾値d3未満でない場合(S92:NO)、第四の条件は満たされており、第二使用可能糸色cjは有彩色とみなせる。この場合、前述の4つの条件が全て満たされていることになるので、中間色c[ij]は表現可能色リストに追加されることなく、処理はS94に進む。
【0100】
S94では、変数jが使用可能糸色の総数N未満であれば(S94:YES)、変数jに1が加算され(S95)、処理はS83に戻る。そして、変数jがNに達するまで、前述のようにS83〜S95の処理が繰り返される。変数jがNに達し、第一使用可能糸色ciと全ての使用可能糸色の組み合わせが処理されると(S94:NO)、変数iが使用可能糸色の総数N未満か否かが判断される(S96)。変数iがN未満であれば(S96:YES)、変数iに1が加算され(S97)、処理はS82に戻る。そして、変数iがNに達するまで、前述のようにS82〜S97の処理が繰り返される。変数jがNに達し、全ての使用可能糸色が第一使用可能糸色ciとして処理されると(S97:NO)、図12に示す表現可能色リスト作成処理は終了する。このように、図12に示す表現可能色リスト作成処理によれば、ある程度の混色表現の効果が得られる中間色のみを表現可能色リストに含めることができるので、元画像の色を表現するのに更に適した使用糸色を決定することができる。
【0101】
上記実施形態に、更に他の変更が加えられてもよい。例えば、図8に示す第三実施形態の糸色決定処理のS19において、N色の使用可能糸色から、使用頻度の高い順にN3色の候補糸色を選択する際、既に選択された候補糸色からRGB空間において所定距離以内にある使用可能糸色は候補糸色としない処理が行われてもよい。この場合、選択される候補糸色同士が一定の距離を保つので、元画像全体の色を表現するのにより適した使用糸色を決定することができる。また、図10および図11に示す第四実施形態の糸色決定処理で、同様の処理を行ってもよい。具体的には、図11のS56とS57の間に、第一注目糸色ciT1と第二注目糸色ciT2との距離が所定距離を超えるか否かを判断するステップを追加し、この距離が所定距離を超える場合にはS57に進んで使用頻度の合計値を更新し、超えない場合にはそのままS58に進む処理とすればよい。
【符号の説明】
【0102】
1 刺繍データ作成装置
3 ミシン
11 CPU
【技術分野】
【0001】
本発明は、刺繍縫製可能なミシンによって刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置、刺繍データ作成プログラム、および刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体に関する。
【背景技術】
【0002】
刺繍縫製可能なミシンによって写真等の画像のデータに基づく図柄を刺繍縫製するための刺繍データ作成装置が知られている。例えば、特許文献1に開示されている刺繍データ作成装置によれば、イメージスキャナ装置で読み込まれた画像から取得された画像データに基づいて画像内の各部の角度特徴とその強度が算出され、算出された角度特徴とその強度に従って線分が配置される。そして、各線分に対応する糸色が決定され、同じ糸色の線分が接続された後、線分のデータが縫目を示すデータに変換されることで、刺繍データが作成される。各線分に対応する糸色は、刺繍模様を縫製する際に実際に使用する糸色として予め決定された、n色の使用糸色の中から選択される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−273859号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
写真等の画像を刺繍の図柄で表現する場合、刺繍糸や針の太さには限界があり、画素のような細かい表現はできない。また、ユーザが準備可能な糸色には限りがあり、通常、100色程度と考えられる。糸交換の回数等を考慮すると、実際に使用する糸色の数は更に限定され、10色程度とするのが現実的である。従って、100色程度の糸色から、元の画像を表現するのに最も適した10色程度の糸色を選択することが重要である。特許文献1の刺繍データ作成装置では、n色の使用糸色は、元画像の色がn色に減色された後、ユーザが準備可能な糸色の中から、減色後のn色に夫々近い色が選択されることで決定される。この方法では、準備可能な糸色が、色空間において十分均一に分布しており、元画像の減色後のn色の全てについて、いずれかの糸色が十分近いところにあれば、n色の適切な使用糸色が決定できるが、準備可能な糸色が常にそのような状況にあるとは限らない。
【0005】
本発明は、ユーザが準備可能な糸色から元の画像を表現するのに適した糸色を選択して刺繍データを作成することが可能な刺繍データ作成装置、刺繍データ作成プログラム、および刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第一の態様に係る刺繍データ作成装置は、複数の画素の集合体である画像の画像データに基づいて、ミシンにより刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置であって、糸色数設定手段と、表現可能色特定手段と、第一使用頻度算出手段と、使用糸色決定手段とを備えている。前記糸色数設定手段は、前記ミシンによる刺繍縫製で実際に使用される複数の糸色である複数の使用糸色の数を、設定数として設定する。前記表現可能色特定手段は、前記ミシンによる刺繍縫製に使用可能な複数の糸色である複数の使用可能糸色と、各々が前記複数の使用可能糸色のうち2色の中間的な色である少なくとも一の中間色とを、複数の表現可能色として特定する。前記第一使用頻度算出手段は、前記表現可能色特定手段によって特定された前記複数の表現可能色を代表色として減色した前記画像における前記複数の表現可能色の各々の使用頻度を、第一使用頻度として算出する。前記使用糸色決定手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色のうち、前記糸色数設定手段によって設定された前記設定数の使用可能糸色を、前記複数の使用糸色として決定する。
【0007】
使用可能糸色のうち1色のみを用いてある領域を縫製した場合、その領域の色は使用可能糸色となる。一方、使用可能糸色のうち2色による混色表現を用いてある領域を縫製した場合、その領域の色は、その2色の中間的な中間色に近似する。本発明の刺繍データ作成装置では、複数の使用可能糸色と、複数の使用可能糸色のうち2色の中間色とが表現可能色として特定され、表現可能色を代表色として元となる画像を減色した場合の各表現可能色の使用頻度(第一使用頻度)が算出される。よって、元の画像に、使用可能糸色そのものに近い色がなかったとしても、中間色に近い色が多く含まれれば、その中間色の第一使用頻度は高くなる。従って、表現可能色の第一使用頻度に基づいて、複数の使用可能糸色から使用糸色を決定することで、使用可能糸色のうち1色だけでなく2色を用いて混色表現をする場合を含めて、元の画像を表現するのに適した使用糸色を選択することができる。
【0008】
前記使用糸色決定手段は、第一決定手段と、第一合計値算出手段と、第二決定手段とを含んでもよい。前記第一決定手段は、前記複数の使用可能糸色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が最も高い前記表現可能色に対応する使用可能糸色を、使用糸色として決定する。前記第一合計値算出手段は、前記複数の表現可能色の前記第一使用頻度に基づき、既に使用糸色として決定された使用可能糸色である決定糸色を除く前記複数の使用可能糸色の各々について、前記使用可能糸色の前記第一使用頻度と、前記使用可能糸色と前記決定糸色の中間色の前記第一使用頻度の合計値を、第一合計値として算出する。前記第二決定手段は、前記決定糸色を除く前記複数の使用可能糸色のうち、前記第一合計値算出手段によって算出された前記第一合計値が最大となる使用可能糸色を、使用糸色として決定する。前記第一合計値算出手段および前記第二決定手段は、前記使用糸色の数が前記設定数に達するまで、順に処理を繰り返してもよい。
【0009】
この場合、まず、第一使用頻度が最も高い表現可能色に対応する使用可能糸色、すなわち、1色の使用可能糸色または2色の使用可能糸色が使用糸色として決定される。その後、残りの使用可能糸色から、単独で使用される場合および決定された使用糸色との混色表現に使用される場合の使用頻度が最も高くなる使用可能糸色、つまり、第一合計値が最大となる使用可能糸色を使用糸色として決定する処理が、使用糸色が設定数に達するまで繰り返される。従って、第一合計値を算出する必要がある糸色の組合せの数を抑制しつつ、使用可能糸色の1色または2色の混色表現で元の画像を表現するのに適した使用糸色を選択することができる。
【0010】
前記使用糸色決定手段は、第二合計値算出手段と、第三決定手段とを含んでもよい。前記第二合計値算出手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色から前記設定数の前記使用可能糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第二合計値として算出する。前記第三決定手段は、前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記使用可能糸色を、前記複数の使用糸色として決定する。
【0011】
この場合、設定数の使用可能糸色を選出する組合せ全てのうち、第一使用頻度の合計値(第二合計値)が最大となる組合せに含まれる使用可能糸色が、使用糸色として決定される。従って、元の画像の色に最も近い色を表現できる使用糸色を選択することができる。
【0012】
前記使用糸色決定手段は、前記第二合計値算出手段と前記第三決定手段に加え、表現可能色選択手段と、第一候補選択手段とを更に含んでもよい。前記表現可能色選択手段は、前記複数の表現可能色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が高い順に、所定数の表現可能色を選択する。前記第一候補選択手段は、前記複数の使用可能糸色のうち、前記表現可能色選択手段によって選択された前記所定数の表現可能色の各々を1色または2色で表現するために必要な複数の使用可能糸色を、複数の第一候補糸色として選択する。この場合、前記第二合計値算出手段は、前記第一候補選択手段によって選択された前記複数の第一候補糸色から前記設定数の第一候補糸色を選出する組合せ毎に、前記第二合計値を算出してもよい。前記第三決定手段は、前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記第一候補糸色を、前記複数の使用糸色として決定してもよい。
【0013】
この場合、組み合せに使用される使用可能糸色が、第一使用頻度が高い方から所定数の表現可能色に応じて絞り込まれるので、組合せの数を低減できる。従って、元の画像の色に近い色を表現できる使用糸色をより効率的に選択することができる。
【0014】
前記使用糸色決定手段は、第二使用頻度算出手段と、第二候補選択手段と、第三合計値算出手段と、第四決定手段とを含んでもよい。前記第二使用頻度算出手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色の各々の使用頻度である第二使用頻度を算出する。前記第二候補選択手段は、前記複数の使用可能糸色のうち、前記第二使用頻度算出手段によって算出された前記第二使用頻度が高い順に、所定数の使用可能糸色を、所定数の第二候補糸色として選択する。前記第三合計値算出手段は、前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記第二候補選択手段によって選択された前記所定数の第二候補糸色から前記設定数の第二候補糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第三合計値として算出する。前記第四決定手段は、前記第三合計値算出手段によって算出された前記第三合計値が最大となる組合せに含まれる前記設定数の前記第二候補糸色を、前記複数の使用糸色として決定する。
【0015】
この場合、使用可能糸色と中間色を含む表現可能色の第一使用頻度から、表現可能色を表現する使用可能糸色各々の使用頻度(第二使用頻度)が算出される。そして、組み合せに使用される使用可能糸色が、第二使用頻度が高い方から所定数に絞り込まれるので、組合せの数を低減できる。従って、元の画像の色に近い色を表現できる使用糸色を効率的に選択することができる。
【0016】
前記表現可能色特定手段は、各々が前記複数の使用可能糸色のうち色空間における距離が閾値以上となる2色の中間的な色を、前記少なくとも一の中間色として特定した上で、前記複数の表現可能色を特定してもよい。2色の糸色の色空間における距離がある程度近い場合、これらの2色の糸で混色表現を行っても、元の2色と近い中間色に近似するだけで、混色表現を行う効果が低い。従って、閾値未満の中間色は表現可能色から除外することで、混色表現を行う効果がより高い使用糸色を選択することができる。
【0017】
前記表現可能色特定手段は、前記複数の使用可能糸色のうち2色の有彩色の中間的な色が灰色である場合、前記灰色を除いて前記少なくとも一の中間色を特定した上で、前記複数の表現可能色を特定してもよい。2色の有彩色の糸で混色表現を行っても、実際には灰色に近似した色を表現するのは難しいため、混色表現を行う効果が低い。従って、このような有彩色の混色による灰色を表現可能色から除外することで、混色表現を行う効果がより高い使用糸色を選択することができる。
【0018】
本発明の第二の態様に係る刺繍データ作成プログラムは、前記第一の態様に係る刺繍データ作成装置の各種処理手段として、刺繍データ作成装置のコンピュータを機能させるためのプログラムである。したがって、刺繍データ作成プログラムがコンピュータによって実行されることにより、第一の態様に係る刺繍データ作成装置と同様の効果を奏することができる。
【0019】
本発明の第三の態様に係るコンピュータ読取り可能な媒体は、前記第二の態様に係る刺繍データ作成プログラムを記憶している。したがって、媒体に記憶された刺繍データ作成プログラムがコンピュータによって実行されることにより、第一の態様に係る刺繍データ作成装置と同様の効果を奏することができる。
【図面の簡単な説明】
【0020】
【図1】刺繍データ作成装置1の電気的構成を示すブロック図である。
【図2】ミシン3の外観図である。
【図3】刺繍データ作成装置1で実行されるメイン処理のフローチャートである。
【図4】メイン処理で行われる第一実施形態の糸色決定処理のフローチャートである。
【図5】表現可能色リストの一例を示す説明図である。
【図6】組合せに対応する使用頻度の合計値の算出例の説明図である。
【図7】第二実施形態の糸色決定処理のフローチャートである。
【図8】第三実施形態の糸色決定処理のフローチャートである。
【図9】使用可能糸色に対応する使用頻度の合計値の算出例の説明図である。
【図10】第四実施形態の糸色決定処理のフローチャートである。
【図11】第四実施形態の糸色決定処理のフローチャートであって、図10の続きである。
【図12】表現可能色リスト作成処理のフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について、図面を参照して説明する。
【0022】
<第1実施形態>
図1〜図6を参照して、第一実施形態について説明する。まず、刺繍データ作成装置1の構成について、図1を参照して説明する。刺繍データ作成装置1は、後述のミシン3(図2参照)によって刺繍模様を縫製するのに使用される刺繍データを作成する装置である。本実施形態の刺繍データ作成装置1は、写真等の画像に基づく図柄を刺繍縫製するための刺繍データを作成することができる。
【0023】
刺繍データ作成装置1は、例えば、所謂パーソナルコンピュータ等の汎用型の装置である。図2に示すように、刺繍データ作成装置1は、刺繍データ作成装置1の制御を司るコントローラであるCPU11を備えている。CPU11には、RAM12と、ROM13と、入出力(I/O)インタフェイス14とが接続されている。RAM12は、各種のデータを一時的に記憶する。ROM13は、BIOS等を記憶する。I/Oインタフェイス14は、データの受け渡しの仲介を行う。I/Oインタフェイス14には、ハードディスク装置(HDD)15、入力機器であるマウス22、ビデオコントローラ16、キーコントローラ17、CD−ROMドライブ18、メモリカードコネクタ23、およびイメージスキャナ装置25が接続されている。また、図1には図示されていないが、刺繍データ作成装置1は、外部機器やネットワークとの接続のための外部インタフェイスを備えていてもよい。
【0024】
ビデオコントローラ16には、表示機器であるディスプレイ24が接続され、キーコントローラ17には、入力機器であるキーボード21が接続されている。CD−ROMドライブ18には、CD−ROM54を挿入することができる。例えば、刺繍データ作成プログラムのセットアップ時には、刺繍データ作成プログラムを記憶するCD−ROM54がCD−ROMドライブ18に挿入される。そして、刺繍データ作成プログラムが読み込まれ、HDD15のプログラム記憶エリア153に記憶される。メモリカードコネクタ23には、メモリカード55を接続して、メモリカード55の情報の読み取り及びメモリカード55に情報の書き込みを行うことができる。本実施形態で刺繍データ作成の元となる画像は、例えばイメージスキャナ装置25を介して刺繍データ作成装置1に読み込まれる。
【0025】
HDD15の記憶エリアについて説明する。図1に示すように、HDD15は、画像データ記憶エリア151、刺繍データ記憶エリア152、プログラム記憶エリア153、および設定値記憶エリア154を含む複数の記憶エリアを有する。画像データ記憶エリア151には、刺繍データ作成の元となる画像等、各種画像の画像データが記憶される。刺繍データ記憶エリア152には、本実施形態の刺繍データ作成処理によって作成された刺繍データが記憶される。プログラム記憶エリア153には、後述する刺繍データ作成プログラム等、刺繍データ作成装置1で行われる各種処理のためのプログラムが記憶される。設定値記憶エリア154には、各種処理で使用される各種設定値が記憶される。
【0026】
図2を参照して、刺繍データ作成装置1で作成された刺繍データに基づいて刺繍模様を縫製することが可能なミシン3について、簡単に説明する。図2に示すように、ミシン3は、ベッド部30、脚柱部36、アーム部38、および頭部39を有する。ベッド部30は、縫製者に対して左右方向に長い、ミシン3の土台部である。脚柱部36は、ベッド部30の右端部から上方へ延びる。アーム部38は、ベッド部30に対向して脚柱部36の上端から左方へ延びる。頭部39は、アーム部38の左端に連結する部位である。ベッド部30の上方には、刺繍が施される加工布を保持する刺繍枠41を配置可能である。
【0027】
刺繍縫製時には、刺繍枠41は、ベッド部30上に配置されるY方向駆動部42、および本体ケース43内に収容されたX方向駆動機構(図示せず)によって、ミシン3に固有のX・Y座標系で示される針落ち点に移動される。刺繍枠41が移動されるのと合わせて、縫針44が装着された針棒35及び釜機構(図示せず)が駆動されることにより、加工布上に刺繍模様が形成される。なお、Y方向駆動部42、X方向駆動機構、針棒35等は、刺繍データに基づき、ミシン3に内蔵されたマイクロコンピュータ等を含む制御装置(図示せず)によって制御される。
【0028】
ミシン3の脚柱部36の側面には、メモリカード55を着脱可能なメモリカードスロット37が搭載されている。例えば、刺繍データ作成装置1で作成された刺繍データは、メモリカードコネクタ23を介してメモリカード55に記憶される。その後、メモリカード55がミシン3のメモリカードスロット37に装着され、記憶された刺繍データが読み出されて、ミシン3に刺繍データが記憶される。ミシン3の制御装置(図示せず)は、メモリカード55から読み出された刺繍データに基づいて、上記の要素による刺繍模様の縫製動作を制御する。このようにして、刺繍データ作成装置1で作成された刺繍データに基づき、ミシン3を用いて刺繍模様を縫製することができる。
【0029】
以下に、図3〜図6を参照して、第1実施形態の刺繍データ作成装置1で行われるメイン処理について説明する。図3に示すメイン処理は、ユーザが処理を開始する指示を入力すると、HDD15のプログラム記憶エリア153に記憶された刺繍データ作成プログラムが起動されることで開始され、CPU11がこのプログラムを実行することにより行われる。
【0030】
図3に示すように、まず、刺繍データ作成の元となる画像(以下、元画像という)の画像データが刺繍データ作成装置1に入力される(S1)。画像データの入力方法は特に限定されないが、例えば、イメージスキャナ装置25によって写真や図柄が読み込まれ、取得された画像データが用いられる。その他、予めHDD15の画像データ記憶エリア151に記憶された画像データや、CD−ROM114、メモリカード55、CD−R等の外部記憶媒体に記憶された画像データが入力されてもよい。
【0031】
元画像を構成する複数の画素の各々について、その角度特徴と角度特徴の強度が算出される(S2)。角度特徴は、画像中の色の連続性の高い方向を示す情報であり、角度特徴の強度は、色の変化の大きさを示す情報である。
【0032】
角度特徴およびその強度は、いかなる方法で算出されてもよいが、例えば、特開2001−259268に詳述されている方法を用いて算出することができる。よって、ここでは詳細な説明は省略し、概略のみを説明する。まず、元画像を構成する複数の画素のうち1つを注目画素として、注目画素とその周囲の所定数の画素を注目領域とする。注目領域内の各画素の色に関する属性値(例えば、輝度値)に基づいて、注目領域内における色の連続性の高い方向が特定され、注目画素の角度特徴とされる。また、注目領域内における色の変化の大きさを示す値が算出されて、注目画素の角度特徴の強度とされる。このように角度特徴およびその強度を算出する処理が、元画像を構成する画素の全てについて、順に行われる。各画素の角度特徴とその強度を示すデータは、RAM12の所定の記憶エリアに記憶される。なお、複数の画素を注目画素として、同様の処理が行われてもよい。また、角度特徴およびその強度は、上記の方法以外に、PrewittのオペレータやSobelのオペレータを用いて算出されてもよい。
【0033】
算出された角度特徴および角度特徴の強度に基づいて、線分を配置する処理が行われ、線分を特定するデータ(以下、線分データという)がRAM12に記憶される(S3)。角度特徴および角度特徴の強度に基づく線分の配置は、いかなる方法で行われてもよいが、例えば、特開2001−259268に詳述されている方法を用いて行われる。よって、ここでは詳細な説明は省略し、概略のみを説明する。まず、元画像を構成する各画素を中心として、予め設定された長さを有し、S2で算出された角度特徴が示す方向に伸びる線分が配置され、その線分を特定するデータが作成される。ただし、画像全体としての特徴が効果的に反映されるように、元画像を構成する複数の画素のうち、S2で算出された角度特徴の強度が所定の閾値よりも大きい画素についてのみ、対応する線分が配置される。一方、角度特徴の強度が閾値以下だった画素については、周囲の画素の角度特徴を加味して算出された新たな角度特徴に基づいて線分が配置される。線分は、最終的に縫目に変換して、元画像を表現するため、特開2001−259268に記載されているように、できるだけ元の画像全体を覆うように、また、できるだけ重なり無く配置される。
【0034】
続いて、糸色決定処理が行われる(S4、図4)。糸色決定処理は、ミシン3による刺繍縫製のためにユーザが準備可能な複数の糸の色、つまり、ミシン3で使用可能な複数の糸の色のうち、実際に使用される複数の糸の色を決定する処理である。図4を参照して、糸色決定処理の詳細について説明する。なお、以下の説明では、ミシン3で使用可能な糸色を、使用可能糸色といい、ミシン3での刺繍縫製に実際に使用される糸色を、使用糸色という。
【0035】
図4に示すように、糸色決定処理では、まず、N色の使用可能糸色を特定する情報が取得され、RAM12に記憶される(S11)。本実施形態では、使用可能糸色を特定する情報は、少なくともRGB値を含むものとする。RGB値の他に、糸番号等を含んでもよい。使用可能糸色を特定する情報は、予めHDD15の設定値記憶エリア154に記憶された情報が取得されてもよいし、ユーザによって入力された情報が取得されてもよい。N色の使用可能糸色のうち、実際に使用される使用糸色の数Mが設定される(S12)。使用糸色の数Mは、使用可能糸色の総数Nより小さい整数である。使用糸色の数Mは、例えば、糸交換の回数等を考慮して予め定められ、HDD15の設定値記憶エリア154に記憶された値が設定されてもよいし、ユーザによって入力された値が設定されてもよい。設定された使用糸色の数M(以下、設定数Mという)は、RAM12に記憶される。
【0036】
S11で取得されたN色の使用可能糸色のRGB値に基づき、N色の使用可能糸色のうち1色または2色で表現可能な色(以下、表現可能色という)が複数特定され、夫々のRGB値が算出される。そして、特定された複数の表現可能色と、表現可能色を表現するのに必要な使用可能糸色と、後述する使用頻度とが対応づけられたリスト(以下、表現可能色リストという)が作成され、RAM12に記憶される(S13)。
【0037】
本実施形態では、限られた数の色の糸でできるだけ多くの色を表現するために、2色の糸による混色表現を行うことを前提として、使用糸色が決定される。2色の糸による混色表現を用いてある領域を縫製した場合、その領域の色は、その2色の中間的な色である中間色に近似する。従って、N色の使用可能糸色のうち2色の混色表現を利用すれば、使用可能糸色N色と、N色のうち2色の中間色少なくとも1色が表現可能である。この場合の表現可能色の数N1は、計算式N1=N(N+1)/2で求められる。
【0038】
なお、以下の説明および参照する図では、表現可能色のうち、使用可能糸色cxと使用可能糸色cyの2色の中間色を、c[xy]のように表記する。また、表現可能色のうち、使用可能糸色cxそのものは、使用可能糸色cxと使用可能糸色cxの中間色と同等であるから、c[xx]と表記する。また、本実施形態では、簡単のため、ある領域を混色表現する場合、2色の糸が同一割合で使用されるものと仮定する。よって、使用可能糸色cxのRGB値を(rx,gx,bx)、使用可能糸色cyのRGB値を(ry,gy,by)とすると、中間色c[xy]のRGB値は、((rx+ry)/2,(gx+gy)/2,(bx+by)/2)と算出される。
【0039】
図5に例示する表現可能色リストは、使用可能糸色が、c1、c2、c3およびc4の4色である場合に作成されるリストである。なお、実際には、使用可能糸色は通常100色程度、使用糸色は10色程度であると考えられるが、以下では、説明の簡単化のため、使用可能糸色が4色、使用糸色が2色の例を用いる場合がある。図5の表現可能色リストの例では、表現可能色の数N1は、10(=4(4+1)/2)である。
【0040】
前述のように、10色の表現可能色のうち、c[11]、c[22]、c[33]、c[44]の4色は、夫々、使用可能糸色c1、c2、c3、c4そのものであり、c1同士、c2同士、c3同士、c4同士の組合せに対応する。よって、表現可能色リストには、対応する使用可能糸色として、夫々、これら4色の同色同士の組合せが記憶される。一方、c[12]、c[13]、c[14]、c[23]、c[24]、c[34]の6色は、使用可能糸色c1、c2、c3、c4のうち異なる2色の組合せの中間色である。よって、表現可能色リストには、対応する使用可能糸色として、各組合せを構成する異なる2色が記憶される。また、各表現可能色に対応付けて、後述するS15の処理で算出される各表現可能色の使用頻度が記憶されるが、S13の段階では、全ての表現可能色について、初期値のゼロ(0)が記憶される。なお、図5は、S15で算出された使用頻度が記憶された例である。なお、図示はされていないが、表現可能色リストには、各使用可能糸色および各表現可能色のRGB値も含まれる。
【0041】
特定されたN1色の表現可能色を代表色として、元画像が減色される(S14)。すなわち、元画像を構成する複数の画素の各々の色が、その色に最も近い代表色に置き換えられる。具体的には、各画素のRGB値とN1色の表現可能色のRGB値とのRGB空間での距離が夫々求められ、各画素のRGB値が、距離が最小となる表現可能色のRGB値に置き換えられる。なお、ある画素のRGB値を(Rt、Gt、Bt)とし、ある表現可能色のRGB値を(Ra、Ga、Ba)とした場合、その空間距離dは、以下の式で求められる。
d=√{(Rt−Ra)2+(Gt−Ga)2+(Bt−Ba)2}
【0042】
その後、各表現可能色の使用頻度が算出され、S13でRAM12に用意された表現可能色リストに記憶される(S15)。例えば、減色処理で各表現可能色に置き換えられた画素の数がカウントされ、使用頻度として用いられる。前述の4色の例では、10色の表現可能色の各々について、例えば、図5に示すように、使用頻度が算出され、記憶される。
【0043】
続いて、N色の使用可能糸色からM色を選ぶ全ての組合せが特定され、組合せを特定する情報がRAM12に記憶される(S21)。このときの組合せの総数は、N!/{M!(N−M)!}である。よって、前述の例の4色の使用可能糸色c1、c2、c3、c4から2色を選ぶ場合、その組合せは、(c1,c2),(c1,c3),(c1,c4),(c2,c3),(c2,c4),(c3,c4)の6通りである。このように、組合せが特定されると、各組合せで表現可能な表現可能色が特定され、その使用頻度の合計値が算出される(S31)。算出された合計値は、組合せを特定する情報と対応付けてRAM12に記憶される。
【0044】
例えば、図6に示すように、組合せ(c1,c2)を構成する使用可能糸色c1、c2のうち1色または2色で表現可能な表現可能色は、c[11]、c[12]、c[22]の3色である。図5に示すように、c[11]、c[12]、c[22]の使用頻度が、夫々、10、5、7である場合、組合せ(c1,c2)に対応する使用頻度の合計値は、22となる。同様にして、他の5通りの組合せ(c1,c3),(c1,c4),(c2,c3),(c2,c4),(c3,c4)についても使用頻度の合計値を算出すると、図6に示すように、夫々、31、14、32、14、26となる。
【0045】
S31で算出された使用頻度の合計値に基づき、使用糸色が決定され、使用糸色を特定する情報がRAM12に記憶される(S32)。具体的には、S31で全ての組合せについて算出された使用頻度の合計値のうち、最大値となる使用頻度に対応する組合せの使用可能糸色が、使用糸色として決定される。各組合せに含まれる使用可能糸色はM色であるから、これにより、設定数Mの使用糸色を決定することができる。図6に示す例では、使用頻度の最大値32に対応する組合せは(c2,c3)であるから、使用可能糸色c2およびc3の2色が、使用糸色として決定されることになる。使用糸色が決定されると、CPU11は、図4に示す糸色決定処理を終了し、図3に示すメイン処理に戻る。
【0046】
図3に示すように、メイン処理では、糸色決定処理(S4)に続き、S3で配置された線分の色を決定する配色処理が行われる(S5)。具体的には、線分の各々について、前述のように決定されたM色の使用糸色から、元画像の色を反映した1色が選択され、その線分の色として決定される。元画像の色を反映した1色を選択する方法として、例えば、特開2001−259268に詳述されている方法を採用することができる。
【0047】
具体的には、元画像を構成する複数の画素を順に注目画素として、次の処理が行われる。元画像において、注目画素を中心とする所定の範囲が、元画像の色を参照する範囲(参照領域)として設定される。そして、元画像の参照領域内の色の平均値と、注目画素を中心とする参照領域と同じサイズの領域に配置された線分に対して既に決定された色の平均値が等しくなるように、注目画素に対応する線分の色が決定される。つまり、元画像の色と既に決定された線分の色とに基づいて、線分の各々の色が決定されていく。線分の色は、使用糸色から選択されるので、ここで決定される色は、実際の縫目の色となる。
【0048】
配色された複数の線分のうち、同じ使用糸色の線分を順に接続して、使用糸色毎の線分データを作成する処理が行われる(S6)。例えば、まず、ある使用糸色の複数の線分のうち、元画像の最も左端に近い線分が、接続順が1番目の線分とされる。この線分の2つの端点のうち一方が始点とされ、他方が終点とされる。次に、同じ使用糸色の他の線分のうち、1番目の線分の終点に最も近い位置にある端点を有する線分が、接続先である2番目の線分とされる。同様にして、順に、既に接続された線分の終点に、同じ色の線分の最も近い位置にある端点を接続していく。その後、使用糸色毎に接続された線分群を、近い端点同士で接続することにより、全ての線分が接続される。そして、接続された全ての線分の端点の位置(座標)、接続順、および使用糸色を示すデータである接続線分データが作成される。
【0049】
接続線分データに基づき、刺繍データが作成される(S7)。具体的には、線分の端点の座標が、ミシン3に固有の座標系の座標に変換されることで、針落ち点の座標が算出される。また、線分の接続順が針落ち点の縫い順とされる。これにより、針落ち点の座標と、縫い順と、使用糸色を示す刺繍データが作成される。刺繍データの作成が終了すると、図3に示す刺繍データ作成処理は終了する。
【0050】
以上に説明したように、第一実施形態の刺繍データ作成装置1によれば、N色の使用可能糸色と、N色の使用可能糸色のうち2色の中間色とが表現可能色として特定される。そして、表現可能色を代表色として元画像を減色した場合の各表現可能色の使用頻度が算出される。よって、元画像に、使用可能糸色そのものに近い色がなかったとしても、中間色に近い色が多く含まれれば、その中間色の使用頻度は高くなる。従って、使用可能糸色のうち1色だけでなく2色を用いて混色表現をする場合を含めて、元画像の色を表現するのに適した使用糸色を選択することができる。特に、本実施形態では、N色の使用可能糸色から、M色を選ぶ組合せ全てのうち、使用頻度の合計値が最大となる組合せに含まれるM色の使用可能糸色が、M色の使用糸色として決定される。従って、元画像の色に最も近い色を表現できる使用糸色を選択することができる。
【0051】
第一実施形態において、図4の糸色決定処理のS12で、使用糸色の数Mを設定するCPU11は、本発明の「糸色数設定手段」に相当する。S13で表現可能色リストを作成するCPU11は、「表現可能色特定手段」に相当する。S15で、「第一使用頻度」である各表現可能色の使用頻度を算出するCPU11は、「第一使用頻度算出手段」に相当する。S31〜S32の処理を行うCPU11は、「使用糸色決定手段」に相当する。そのうちS31で、各組合せに対応する使用頻度の合計値(第二合計値)を算出するCPU11は、「第二合計値算出手段」に相当する。S32で、使用糸色を決定するCPU11は、「第三決定手段」に相当する。
【0052】
<第二実施形態>
以下に、図5〜図7を参照して、第二実施形態について説明する。第二実施形態および後述する第三、第四実施形態に係る刺繍データ作成装置1およびミシン3の構成は、第一実施形態と同一であるため、以下ではその説明は省略する。また、第二実施形態および後述する第三、第四実施形態におけるメイン処理は、第一実施形態の処理とは、糸色決定処理(図3のS4、図4)の内容において異なるのみである。従って、以下では、第一実施形態の処理と同一部分については同一のステップ番号を付して説明を省略または簡略化し、第一実施形態とは異なる処理の詳細について説明する。
【0053】
図7に示すように、第二実施形態の糸色決定処理は、使用可能糸色を特定する情報が取得され、N1色の表現可能色が特定されて、元画像における各表現可能色の使用頻度が算出されるまでの処理(S11〜S15)は、第一実施形態の処理(図4参照)と同じである。その後、第一実施形態では、N色の使用可能糸色のうちM色を選ぶ全ての組合せが特定されるが、第二実施形態では、組合せの数を減らすために、組合せの対象となる使用可能糸色の数を絞り込むことが試みられる。具体的には、まず、S15で算出された使用頻度が高い順に、N1(=N(N+1)/2)色の表現可能色のうち、M1色の表現可能色が選択される(S16)。なお、M1は、N1よりも小さい整数である。数M1は、予め定められ、HDD15の設定値記憶エリア154に記憶された値が使用されてもよいし、ユーザによって入力された値が使用されてもよい。
【0054】
続いて、N色の使用可能糸色のうち、選択されたM1色の表現可能色を1色または2色で表現するために必要な使用可能糸色が、候補糸色として選択され、その情報がRAM12に記憶される(S17)。候補糸色の数N2は、M1色が全て中間色であり、且つ、中間色の元となる使用可能糸色が全て異なる場合に、最大値であるM1の2倍の値をとる。ただし、候補糸色の数N2は使用可能糸色の総数N以下である。よって、S16で選択される表現可能色の数M1を使用可能糸色の総数Nの二分の一未満とすれば(M1<N/2)、確実に候補糸色の数N2をNよりも減らすことができる。例えば、使用可能糸色の総数Nが100色の場合、表現可能色の数N1は、5,050色となる。使用頻度が高い順に、5,050色の表現可能色から選択される表現可能色の数M1を10とすれば、これら10色の表現可能色に対応する候補糸色の数N2は、最大で20色となる。
【0055】
また、選択されたM1色の表現可能色が、同じ使用可能糸色を含む場合にも、候補糸色の数N2を、Nよりも減らすことができる場合がある。例えば、図5に示す10色の表現可能色から、使用頻度が高い順に、c[33]、c[11]、c[23]の3色が選択された場合、候補糸色はc1、c2、c3の3色である。つまり、候補糸色の数N2は3であるから、使用可能糸色の総数Nである4よりも小さくなる。
【0056】
N2色の候補糸色からM色を選ぶ全ての組合せが特定され、その情報がRAM12に記憶される(S22)。このときの組合せの総数は、N2!/{M!(N2−M)!}である。例えば、候補糸色を絞り込まずに、100色の使用可能糸色全てから10色を選ぶ組合せは、17.3兆通りある。一方、上記の例のように表現可能色を絞り込むことで、100色の使用可能糸色を20色の候補糸色まで絞り込めれば、使用糸色の設定数Mが10の場合、その組合せは184,756通りとなる。つまり、組合せの数を大幅に低減できる。
【0057】
組合せが特定されたら、第一実施形態と同様、各組合せで表現可能な表現可能色が特定され、その使用頻度の合計値が算出される(S31)。そして、使用頻度の合計値のうち、最大値となる使用頻度に対応する組合せの使用可能糸色が、使用糸色として決定され(S32)、図7に示す糸色決定処理は終了する。
【0058】
以上に説明したように、第二実施形態の糸色決定処理では、組合せに使用される使用可能糸色の数Nを、N1色の表現可能色のうち、使用頻度が高い方からM1色の表現可能色に応じて、Nよりも小さい数N2まで減らすことができる場合がある。この場合、N2色からM色を選ぶ組合せの数は、N色の使用可能糸色からM色を選ぶ組合せの数よりも少ない。組合せの数が低減されれば、使用糸色を決定するための計算時間が低減できる。具体的には、S22で組合せを特定するための計算時間や、S31で各組み合わせに対応する使用頻度の合計値の計算時間を低減することができる。特に、使用可能糸色の総数Nと設定数Mとの差が大きい場合には、組合せの数の低減効果は顕著である。このように、第二実施形態の糸色決定処理によれば、元画像の色に近い色を表現できる使用糸色を、より効率的に選択することができる。
【0059】
第二実施形態において、図7に示す糸色決定処理のS16で、M1色の表現可能色を選択するCPU11は、「表現可能色選択手段」に相当する。S17で、M1色の表現可能色に対応するN2色の候補糸色(第一候補糸色)を選択するCPU11は、「第一候補選択手段」に相当する。
【0060】
<第三実施形態>
以下に、図5、図8および図9を参照して、第三実施形態について説明する。前述の通り、以下では、主として、第一実施形態とは異なる糸色決定処理の詳細について説明する。
【0061】
図8に示すように、第三実施形態の糸色決定処理も、使用可能糸色を特定する情報が取得され、N1色の表現可能色が特定されて、元画像における各表現可能色の使用頻度が算出されるまでの処理(S11〜S15)は、第一実施形態の処理(図4参照)と同じである。その後、第三実施形態では、第二実施形態と同様、組合せの対象となる使用可能糸色を絞り込むことが試みられる。ただし、第三実施形態では、使用可能糸色を絞り込む方法が、第二実施形態とは異なっている。
【0062】
具体的には、まず、S15で算出されたN1色の表現可能色の使用頻度に基づき、N色の使用可能糸色各々の使用頻度が算出される(S18)。例えば、S15で、図5に示すように、10色の表現可能色の使用頻度が算出されたとする。この場合、c1、c2、c3、c4の4色の使用可能糸色の使用頻度は、夫々、次のように算出できる。使用可能糸色c1は、4色の表現可能色c[11]、c[12]、c[13]、c[14]に使用され、夫々の使用頻度は、10、5、6、1である。これら4色のうち、c[11]はc1とc1の中間色と同等であるから、本実施形態では、c1は2回使用されるとみなされる。よって、c1の使用頻度は、32(=10+10+5+6+1)と算出される。同様にして、c2、c3、c4の使用頻度は、図9に示すように、夫々、33、54、19と算出される。
【0063】
算出された使用頻度が高い順に、N色の使用可能糸色のうちN3色が、候補糸色として選択され、その情報がRAM12に記憶される(S19)。なお、候補糸色の数N3は、設定数M以上、且つ、使用可能糸色の総数N未満の整数である。数N3は、予め定められ、HDD15の設定値記憶エリア154に記憶された値が使用されてもよいし、ユーザによって入力された値が使用されてもよい。図9の例で4色の使用可能糸色のうち3色が候補糸色として選択される場合、使用頻度54、33、32に対応するc3、c2、c1が選択される。
【0064】
続いて、N3色の候補糸色からM色を選ぶ全ての組合せが特定され、その情報がRAM12に記憶される(S23)。このときの組合せの総数は、N3!/{M!(N3−M)!}である。よって、例えば、表現可能色の使用頻度に基づいて算出された使用可能糸色の使用頻度に基づき、100色の使用可能糸色を20色の候補糸色まで絞り込めば、使用糸色の設定数Mが10の場合、その組合せは184,756通りとなる。従って、第二実施形態と同様、候補糸色の数を絞り込むことで、計算時間を低減することができる。
【0065】
なお、第二実施形態では、候補糸色の数N2は、使用頻度に基づいて絞り込まれたM1色の表現可能色が同じ使用可能糸色を含む割合に応じて変動する。つまり、M1色の表現可能色が全て異なる使用可能糸色2色の中間色の場合等には、候補糸色の数N2は、使用可能糸色の総数Nから変動しない可能性がある。例えば、c1、c2、c3、c4の4色の使用可能糸色に対応する10色の表現可能色のうち、使用頻度が高い2色の表現可能色としてc[12]およびc[34]が選択された場合、候補糸色は、c1、c2、c3、c4の4色になるため、使用可能糸色と変わりない。本実施形態では、N色の使用可能糸色から、使用頻度の高い順に候補糸色をN3色選ぶことができるので、より確実に、候補糸色の数N3を減らすことができる。その結果、組合せの数を確実に減らすことができる。
【0066】
組合せが特定されたら、第一実施形態と同様、各組合せで表現可能な表現可能色が特定され、その使用頻度の合計値が算出される(S31)。そして、使用頻度の合計値のうち、最大値となる使用頻度に対応する組合せの使用可能糸色が、使用糸色として決定され(S32)、図8に示す糸色決定処理は終了する。
【0067】
以上に説明したように、第三実施形態の糸色決定処理では、N1色の表現可能色の使用頻度に基づき、N色の使用可能糸色各々の使用頻度が算出される。そして、組み合せに使用される使用可能糸色が、算出された使用頻度が高い方から順に、N色よりも少ないN3色に絞り込まれるので、組合せの数を確実に低減できる。なお、S19で選択される候補糸色の数N3を減らすほど、S23およびS31における計算時間を低減することができる。例えば、候補糸色の数N3を使用糸色の設定数Mと同一にすれば、N3色の候補糸色からM色を選ぶ組合せは1通りだけとなるので、S23では、組合せを特定するための計算時間は不要となる。更に、S31では、この1通りの組合せについてのみ、使用頻度の合計値が算出されるので、N色からM色を選ぶ全ての組合せについて合計値が算出される場合に比べ、計算時間が低減される。このように、第三実施形態の糸色決定処理によれば、元画像の色に近い色を表現できる使用糸色を効率的に選択することができる。
【0068】
第三実施形態において、図8に示す糸色決定処理のS18で、「第二使用頻度」である各使用可能糸色の使用頻度を算出するCPU11は、「第二使用頻度算出手段」に相当する。S19で、使用頻度が高いN3色の候補糸色(第二候補糸色)を選択するCPU11は、「第二候補選択手段」に相当する。S31で、各組合せに対応する使用頻度の合計値(第三合計値)を算出するCPU11は、「第三合計値算出手段」に相当する。S32で、使用糸色を決定するCPU11は、「第四決定手段」に相当する。
【0069】
<第四実施形態>
以下に、図10〜図11を参照して、第四実施形態について説明する。前述の通り、以下では、主として、第一実施形態とは異なる糸色決定処理の詳細について説明する。
【0070】
図10に示すように、第四実施形態の糸色決定処理も、使用可能糸色を特定する情報が取得され、N1色の表現可能色が特定されて、元画像における各表現可能色の使用頻度が算出されるまでの処理(S11〜S15)は、第一実施形態の処理(図4参照)と同じである。その後、第二実施形態および第三実施形態では、組合せの対象となる使用可能糸色が絞り込まれた後、そのうちM色を選ぶ全ての組合せ毎に、使用頻度の合計値が算出され、合計値が最大となる組合せに対応する使用可能糸色が使用糸色として決定される。一方、第四実施形態では、まず、2色または1色の使用糸色が決定され、残りの使用可能糸色のうち、既に決定されている使用糸色とあわせて使用した場合に、最も使用頻度が高くなる使用可能糸色が、M色に達するまで、1色ずつ順に使用糸色として追加されていく。
【0071】
具体的には、まず、既に決定された使用糸色の数をカウントする変数T1にゼロ(0)が設定される(S41)。続いて、S15で算出された使用頻度が最大である表現可能色c[hi]が特定される(S42)。そして、この色に対応する使用可能糸色chおよびciが使用糸色として決定され、これらを特定する情報がRAM12に記憶される(S43)。なお、hおよびiは、いずれも1からNまでの整数のうちいずれか一つである。前述したように、表現可能色は、使用可能糸色のうち1色または2色で表現される色である。hとiが同一の場合には(S44:YES)、c[hi]は、同じ使用可能糸色同士の中間色を意味し、使用可能糸色のうちの1色に他ならない。よって、この場合、使用糸色として決定されたのは1色であるから、変数T1に1が加算される(S45)。一方、hとiが同一でない場合には(S44:NO)、c[hi]は、2色の使用可能糸色の中間色を意味する。よって、この場合、使用糸色として決定されたのは2色であるから、変数T1に2が加算される(S46)。
【0072】
図11に示すように、続いて、第一注目糸色ciT1を表す変数iT1に1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第一注目糸色ciT1に設定される(S51)。なお、変数iT1は1からNまでの整数である。第一注目糸色ciT1は、使用可能糸色のうち、既に決定された使用糸色に加えて使用糸色とするか否かが判断される対象となる1色である。
【0073】
第一注目糸色ciT1の使用頻度の合計値を示す変数SUM[iT1]にゼロ(0)が設定され、変数iT1の値と対応付けてRAM12に記憶される(S52)。第一注目糸色ciT1を示す情報が、決定された使用糸色の情報としてRAM12に記憶されているか否かが判断される(S53)。第一注目糸色ciT1が既に使用糸色とされている場合は(S53:YES)、この色の処理は完了している。よって、変数iT1が、使用可能糸色の総数N未満であるか否かが判断される(S60)。変数iT1がN未満である場合(S60:YES)、まだ第一注目糸色ciT1とされていない未処理の使用可能糸色が残っている。よって、変数iT1に1が加算されて(S61)、次の使用可能糸色が第一注目糸色ciT1とされ、処理はS52に戻る。
【0074】
S53において、第一注目糸色ciT1が使用糸色とされていないと判断された場合は(S53:NO)、第二注目糸色ciT2を表す変数iT2に1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第二注目糸色ciT2に設定される(S54)。なお、変数iT2は1からNまでの整数である。本実施形態では、第二注目糸色ciT2が、既に決定された使用糸色か、第一注目糸色ciT1と同色の場合に、第一注目糸色ciT1と第二注目糸色ciT2との混色表現が考慮される。そこで、まず、変数iT2と変数iT1とが同一か否か、つまり、第一注目糸色ciT1と第二注目糸色ciT2は同じ色であるか否かが判断される(S55)。
【0075】
変数iT2と変数iT1とが同一の場合(S55:YES)、RAM12に記憶されている第一注目糸色ciT1の使用頻度の合計値を示す変数SUM[iT1]に、図10のS15で算出されたN1色の表現可能色の使用頻度のうち、第一注目糸色ciT1と第二注目糸色ciT2の中間色c[iT1iT2]の使用頻度が加算され、変数SUM[iT1]が更新される(S57)。なお、この場合の中間色c[iT1iT2]は、まだ使用糸色とされていない使用可能糸色のうちの1色である。変数SUM[iT1]が更新されると、処理はS58に進む。
【0076】
変数iT2が変数iT1とは同一でない場合(S55:NO)、第二注目糸色ciT2が、既に決定された使用糸色としてRAM12に記憶されているか否かが判断される(S56)。第二注目糸色ciT2が使用糸色とされている場合は(S56:YES)、RAM12に記憶されている変数SUM[iT1]に、第一注目糸色ciT1と第二注目糸色ciT2の中間色c[iT1iT2]の使用頻度が加算され、変数SUM[iT1]が更新される(S57)。なお、この場合の中間色c[iT1iT2]は、まだ使用糸色とされていない使用可能糸色のうちの1色と、既に決定された使用糸色の1色との中間色である。変数SUM[iT1]が更新されると、処理はS58に進む。
【0077】
第二注目糸色ciT2が使用糸色とされていない場合は(S56:NO)、使用頻度が変数SUM[iT1]に加算されることなく、処理はS58に進む。S58では、変数iT2が、使用可能糸色の総数N未満であるか否かが判断される。変数iT2が、N未満である場合(S58:YES)、まだ第二注目糸色ciT2とされていない未処理の使用可能糸色が残っている。よって、変数iT2に1が加算されて(S59)、次の使用可能糸色が第二注目糸色ciT2とされ、処理はS55に戻る。
【0078】
前述のようにして、S55〜S59の処理が繰り返され、変数iT2が、使用可能糸色の総数N未満ではなくなると(S58:NO)、変数iT1が、使用可能糸色の総数N未満であるか否かが判断される(S60)。変数iT1がN未満の場合(S60:YES)、変数iT1に1が加算されて(S61)、次の使用可能糸色が第一注目糸色ciT1とされ、処理はS52に戻る。この時点で、RAM12には、処理が完了した第一注目糸色ciT1および既に決定されている使用糸色のうち1色または2色で表現可能な表現可能色の使用頻度の合計値が記憶されていることになる。
【0079】
前述のようにしてS52〜S61の処理が繰り返され、順に、まだ使用糸色とされていない使用可能糸色および既に決定されている使用糸色のうち1色または2色で表現可能な表現可能色の使用頻度の合計値が算出され、RAM12に記憶されていく。なお、この過程で、第一注目糸色ciT1を示す変数iT1の方が第二注目糸色ciT2を示す変数iT2よりも大きくなった場合(iT1>iT2)、S57では、RAM12に記憶されている変数SUM[iT1]には、中間色c[iT2iT1]の使用頻度が加算されればよい。
【0080】
N色の使用可能糸色全てが第一注目糸色ciT1とされて、変数iT1がN未満でなくなると(S60:NO)、変数iT1の値に夫々対応付けてRAM12に記憶されている変数SUM[iT1]のうち、最大値が特定され、対応する使用可能糸色ciT1が、使用糸色として決定され、その情報がRAM12に記憶される(S62)。使用糸色の数を示す変数T1に1が加算される(S63)。変数T1が設定数(使用糸色の数)M未満の場合は(S64:YES)、処理はS51に戻り、再び1色目の使用可能糸色c1が第一注目糸色とされる(S51)。そして、前述のようにして、残りの使用可能糸色のうち、既に決定されたT1色の使用糸色とあわせて使用した場合に、最も使用頻度が高くなる使用可能糸色を使用糸色として決定する処理が繰り返される(S51〜S64)。その結果、既に決定された使用糸色の数T1が、設定数Mに達し、M未満でなくなると(S64:NO)、図10および図11に示す糸色決定処理は終了する。
【0081】
図5に示すように、c1、c2、c3、c4の4色の使用可能糸色について各表現可能色に対応する使用頻度が算出された後、2色の使用糸色を決定する例を、本実施形態の糸色決定処理に適用すると、次のようになる。まず、最大使用頻度(15)の表現可能色c[33]に対応する使用可能糸色c3、c3が使用糸色として決定される(図10のS43)。c[33]は、同じ色同士の中間色に相当するので(S44:YES)、決定された使用糸色の数T1は、1とされる(S45)。
【0082】
第一注目糸色c1は使用糸色ではないので(図11のS53:NO)、第二注目糸色c1が設定される(S54)。S55〜S59の1巡目の処理では、第一注目糸色c1と第二注目糸色c1は同じ色なので(S55:YES)、表現可能色c[11]の使用頻度10が、使用頻度の合計値(SUM[1])として記憶される(S57)。2巡目の処理では、第二注目糸色c2は、第一注目糸色c1と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は更新されない。3巡目の処理では、第二注目糸色c3は、既に決定された使用糸色なので(S56:YES)、1巡目で算出された使用頻度10に、表現可能色c[13]の使用頻度6が加算され、使用頻度の合計値が16に更新される(S57)。4巡目の処理では、第二注目糸色c4は、第一注目糸色c1と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は更新されない。
【0083】
次に設定される第一注目糸色c2も使用糸色ではないので(S53:NO)、第二注目糸色c1が設定される(S54)。S55〜S59の1巡目の処理では、第二注目糸色c1は、第一注目糸色c2と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は算出されない。2巡目の処理では、第二注目糸色c2は、第一注目糸色c2と同じ色なので(S55:YES)、表現可能色c[22]の使用頻度7が、使用頻度の合計値(SUM[2])として記憶される(S57)。3巡目の処理では、第二注目糸色c3は、既に決定された使用糸色なので(S56:YES)、2巡目で算出された使用頻度7に、表現可能色c[23]の使用頻度10が加算され、使用頻度の合計値が17に更新される(S57)。4巡目の処理では、第二注目糸色c4は、第一注目糸色c2と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は更新されない。
【0084】
次に設定される第一注目糸色c3は使用糸色なので(S53:YES)、すぐに次の第一注目糸色c4が設定される(S61)。第一注目糸色c4は使用糸色ではないので(S53:NO)、第二注目糸色c1が設定される(S54)。S55〜S59の1巡目の処理では、第二注目糸色c1は、第一注目糸色c4と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は算出されない。2巡目の処理では、第二注目糸色c2も、第二注目糸色c4と同じ色でも、既に決定された使用糸色でもないので(S55:NO、S56:NO)、使用頻度の合計値は算出されない。3巡目の処理では、第二注目糸色c3は、既に決定された使用糸色なので(S56:YES)、表現可能色c[34]の使用頻度8が使用頻度の合計値(SUM[4])として記憶される(S57)。4巡目の処理では、第二注目糸色c4は、第一注目糸色c4と同じ色なので(S55:YES)、3巡目で算出された使用頻度8に、表現可能色c[44]の使用頻度3が加算され、使用頻度の合計値が11に更新される(S57)。
【0085】
c1〜c4の4色全てが第一注目糸色とされたので(S60:NO)、使用頻度の合計値SUM[1]、SUM[2]、SUM[4]の値16、17、11が比較され、最大値17に対応する使用可能糸色c2が、新たに使用糸色として決定される(S62)。決定された使用糸色の数T1が2となり(S63)、設定数Mに達するので(S64:NO)、糸色決定処理は終了する。このようにして、2色の使用糸色c3、c2が順に決定されることになる。
【0086】
以上に説明したように、第四実施形態の糸色決定処理では、まず、N色の使用可能糸色のうち、使用頻度が最も高い表現可能色に対応する1色または2色の使用可能糸色が、使用糸色として決定される。その後、残りの使用可能糸色から、単独で使用される場合および既に決定された使用糸色との混色表現に使用される場合の使用頻度の合計値が最も高くなる使用可能糸色を使用糸色として決定する処理が、使用糸色が設定数Mに達するまで繰り返される。
【0087】
例えば、使用頻度の合計値を算出する必要がある組合せは、最初に使用糸色として1色が決定された場合、2色目を決定する処理では(N−1)通り、3色目を決定する処理では(N−2)通り、のようになり、M色目を決定する処理では、(N−M+1)通りとなる。従って、使用頻度の合計値を算出する必要がある組合せの総数は、(M−2){(N−2)+(N−M+1)}/2である。例えば、100色の使用可能糸色から10色の使用糸色を決定する場合、この組合せの数は、756となる。従って、N色からM色を選ぶ組合せについて合計値が算出される場合(17.3兆通り)や、N色よりも少ない数の候補糸色からM色を選ぶ組合せについて合計値が算出される場合(184,756通り)よりも、組合せ数を大幅に低減することができる。このように、第四実施形態の糸色決定処理によれば、使用頻度の合計値を算出する必要がある使用可能糸色の組合せの数を抑制しつつ、使用可能糸色の1色または2色の混色表現で元の画像を表現するのに適した使用糸色を選択することができる。
【0088】
なお、第四実施形態の糸色決定処理では、第二実施形態および第三実施形態のように候補糸色を選択する必要がなく、また、中間色を含む使用頻度の合計値が算出されているので、より画像全体を表現するのに適した使用糸色を選択することができる。
【0089】
第四実施形態において、図10および図11に示す糸色決定処理のS43で、使用頻度が最も高い表現可能色に対応する使用可能糸色を使用糸色として決定する算出するCPU11は、「第一決定出手段」に相当する。S57で、既に決定された使用糸色以外の使用可能糸色の各々について、使用頻度の合計値(第一合計値)を算出するCPU11は、「第一合計値算手段」に相当する。S62で、使用頻度の合計値が最大となる使用可能糸色を、使用糸色として決定するCPU11は、「第二決定手段」に相当する。
【0090】
本発明は上記実施形態に限定されるものではなく、種々の変更が可能である。例えば、上記実施形態では、表現可能色がどのような色になるかは考慮せず、一律で、N1(=N(N+1)/2)色の表現可能色が特定され、表現可能色リストが作成されている。しかしながら、混色表現の効果が低いと考えられる中間色は、表現可能色リストに含めない処理が行われてもよい。図12を参照して、この場合に行われる表現可能色リスト作成処理について説明する。図12に示す表現可能色リスト作成処理は、第一実施形態〜第四実施形態の糸色決定処理(図4、図7、図8、図10)のS13の処理に代えて行われればよい。
【0091】
図12に示すように、まず、第一使用可能糸色ciを表す変数iに1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第一使用可能糸色ciに設定される(S81)。なお、変数iは1からNまでの整数である。更に、第二使用可能糸色cjを表す変数jに1が設定されてRAM12に記憶され、N色の使用可能糸色のうち1色目の使用可能糸色c1が、第二使用可能糸色cjに設定される(S82)。なお、変数jは1からNまでの整数である。第一使用可能糸色ciおよび第二使用可能糸色cjは、使用可能糸色のうち、これらの中間色を表現可能色リストに含めるか否か、つまり、これら2色の混色表現を行うか否かが判断される2色である。
【0092】
変数iと変数jとが同一であるか否かが判断される(S83)。最初の処理では、変数iと変数jはいずれも1で同一である(S83:YES)。つまり、第一使用可能糸色c1および第二使用可能糸色c1は同じ使用可能糸色である。この場合、中間色c[ij]、つまりc[11]は使用可能糸色c1そのものであるから、c[11]と、対応する使用可能糸色c1、c1が、表現可能色リスト(図5参照)に追加される(S93)。変数jが、使用可能糸色の総数N未満か否か、つまり、第一使用可能糸色ciと全ての使用可能糸色の組み合わせが処理されたか否かが判断される(S94)。変数jがN未満であれば(S94:YES)、変数jに1が加算され(S95)、処理はS83に戻る。
【0093】
変数jが変数iとは同一でない場合(S83:NO)、第一使用可能糸色ciおよび第二使用可能糸色cjは異なる2色の使用可能糸色である。この場合、第一使用可能糸色ciと第二使用可能糸色cjとのRGB空間における距離dijが算出される(S84)。なお、第一使用可能糸色ciのRGB値を(Ri、Gi、Bi)とし、第二使用可能糸色cjのRGB値を(Rj、Gj、Bj)とした場合、その空間距離dijは、以下の式で求められる。
dij=√{(Ri−Rj)2+(Gi−Gj)2+(Bi−Bj)2}
【0094】
算出された距離dijが所定の閾値d1未満か否かが判断される(S84)。閾値d1は、予め設定され、HDD15の設定値記憶エリア154に記憶されている。閾値d1は、例えば、異なる2色が人間の目にはある程度似ていると認識される範囲の限界値を、RGB空間における距離で表したものが採用されればよい。距離dijが閾値d1未満の場合(S85:YES)、第一使用可能糸色ciと第二使用可能糸色cjとはある程度似た色であるから、これら2色の中間色は、第一使用可能糸色ciと第二使用可能糸色cjの各々に更に似た色となるはずである。従って、これら2色で混色表現を行う効果は低いと考えられるため、中間色c[ij]は表現可能色リストに追加されることなく、処理はS94に進む。距離dijが閾値d1未満ではない場合(S84:NO)、中間色c[ij]が特定される(S86)。具体的には、第一実施形態のS13の処理について説明したように、第一使用可能糸色ciと第二使用可能糸色cjの夫々のRGB値から、中間色c[ij]のRGB値が算出される。
【0095】
続いて、中間色c[ij]が、有彩色2色から得られる灰色であるか否かを判断する処理が行われる(S87〜S92)。計算上は灰色の中間色が得られても、実際には、2色の有彩色の糸で混色表現を行っても灰色に近似した色を表現するのは難しい。つまり、混色表現を行う効果が低いと考えられる。従って、中間色c[ij]が有彩色2色から得られる灰色と判断された場合には、中間色c[ij]を表現可能色リストには含めず、そうでない場合には、表現可能色リストに含める処理が行われる。
【0096】
一般的には、次の4つの条件が全て満たされる場合、有彩色2色の中間色は計算上実質的に灰色である。第一の条件は、2色のRGB値が同一ではないことである。第二の条件は、RGB空間における中央値(127.5,127.5,127.5)と、中間色との距離がある程度近いことである。第三および第四の条件は、2色のうち一方の色のRGB値の最大値および最小値の差がある程度大きいこと、および、他方の色のRGB値の最大値および最小値の差もある程度大きいことである。なお、前述のS83の処理により、第一の条件を満たす場合にのみ、S87以降の処理が行われるので、S87〜S92では、第二、第三、第四の条件について、順に判断が行われる。
【0097】
まず、中間色c[ij]とRGB空間における中央値(127.5,127.5,127.5)との距離dcが算出され(S87)、距離dcが所定の閾値d2よりも大きいか否かが判断される(S88)。RGB空間における中央値(127.5,127.5,127.5)は、灰色に対応する。閾値d2は、予め設定され、HDD15の設定値記憶エリア154に記憶されている。閾値d2は、閾値d1と同様に定められればよい。閾値d1と閾値d2とは同一でも異なっても構わない。距離dcが所定の閾値d2よりも大きい場合(S88:YES)、第二の条件が満たされておらず、中間色c[ij]はそれほど灰色に近い色ではない。よって、中間色c[ij]が表現可能色リストに追加され(S93)、処理はS94に進む。
【0098】
距離dcが所定の閾値d2未満でない場合(S88:NO)、第二の条件は満たされており、中間色c[ij]はある程度灰色に近い色である。更に、第一使用可能糸色ciのRGB値の最大値と最小値の差diが算出され(S89)、差diが閾値d3未満か否かが判断される(S90)。閾値d3は、予め設定され、HDD15の設定値記憶エリア154に記憶されている。無彩色の場合、RGB値の全ての値は同一であり、有彩色の場合、RGB値は少なくとも2つが互いに異なる値をとる。つまり、RGB値の最大値と最小値に差がある場合、その色は有彩色である。ただし、その差が微小であれば、無彩色に近い色となるので、閾値d3として、例えば、有彩色であると明確に認識できる程度の距離が設定されればよい。差diが閾値d3未満の場合(S90:YES)、第三の条件が満たされておらず、第一使用可能糸色ciは無彩色とみなせる。よって、中間色c[ij]が表現可能色リストに追加され(S93)、処理はS94に進む。
【0099】
差diが閾値d3未満でない場合(S90:NO)、第三の条件は満たされており、第一使用可能糸色ciは有彩色とみなせる。よって、更に、第二使用可能糸色cjのRGB値の最大値と最小値の差djが算出され(S91)、差djが閾値d3未満か否かが判断される(S92)。差djが閾値d3未満の場合(S92:YES)、第四の条件が満たされておらず、第二使用可能糸色cjは無彩色とみなせるので、中間色c[ij]が表現可能色リストに追加され(S93)、処理はS94に進む。差djが閾値d3未満でない場合(S92:NO)、第四の条件は満たされており、第二使用可能糸色cjは有彩色とみなせる。この場合、前述の4つの条件が全て満たされていることになるので、中間色c[ij]は表現可能色リストに追加されることなく、処理はS94に進む。
【0100】
S94では、変数jが使用可能糸色の総数N未満であれば(S94:YES)、変数jに1が加算され(S95)、処理はS83に戻る。そして、変数jがNに達するまで、前述のようにS83〜S95の処理が繰り返される。変数jがNに達し、第一使用可能糸色ciと全ての使用可能糸色の組み合わせが処理されると(S94:NO)、変数iが使用可能糸色の総数N未満か否かが判断される(S96)。変数iがN未満であれば(S96:YES)、変数iに1が加算され(S97)、処理はS82に戻る。そして、変数iがNに達するまで、前述のようにS82〜S97の処理が繰り返される。変数jがNに達し、全ての使用可能糸色が第一使用可能糸色ciとして処理されると(S97:NO)、図12に示す表現可能色リスト作成処理は終了する。このように、図12に示す表現可能色リスト作成処理によれば、ある程度の混色表現の効果が得られる中間色のみを表現可能色リストに含めることができるので、元画像の色を表現するのに更に適した使用糸色を決定することができる。
【0101】
上記実施形態に、更に他の変更が加えられてもよい。例えば、図8に示す第三実施形態の糸色決定処理のS19において、N色の使用可能糸色から、使用頻度の高い順にN3色の候補糸色を選択する際、既に選択された候補糸色からRGB空間において所定距離以内にある使用可能糸色は候補糸色としない処理が行われてもよい。この場合、選択される候補糸色同士が一定の距離を保つので、元画像全体の色を表現するのにより適した使用糸色を決定することができる。また、図10および図11に示す第四実施形態の糸色決定処理で、同様の処理を行ってもよい。具体的には、図11のS56とS57の間に、第一注目糸色ciT1と第二注目糸色ciT2との距離が所定距離を超えるか否かを判断するステップを追加し、この距離が所定距離を超える場合にはS57に進んで使用頻度の合計値を更新し、超えない場合にはそのままS58に進む処理とすればよい。
【符号の説明】
【0102】
1 刺繍データ作成装置
3 ミシン
11 CPU
【特許請求の範囲】
【請求項1】
複数の画素の集合体である画像の画像データに基づいて、ミシンにより刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置であって、
前記ミシンによる刺繍縫製で実際に使用される複数の糸色である複数の使用糸色の数を、設定数として設定する糸色数設定手段と、
前記ミシンによる刺繍縫製に使用可能な複数の糸色である複数の使用可能糸色と、各々が前記複数の使用可能糸色のうち2色の中間的な色である少なくとも一の中間色とを、複数の表現可能色として特定する表現可能色特定手段と、
前記表現可能色特定手段によって特定された前記複数の表現可能色を代表色として減色した前記画像における前記複数の表現可能色の各々の使用頻度を、第一使用頻度として算出する第一使用頻度算出手段と、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色のうち、前記糸色数設定手段によって設定された前記設定数の使用可能糸色を、前記複数の使用糸色として決定する使用糸色決定手段と、
を備えた刺繍データ作成装置。
【請求項2】
前記使用糸色決定手段は、
前記複数の使用可能糸色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が最も高い前記表現可能色に対応する使用可能糸色を、使用糸色として決定する第一決定手段と、
前記複数の表現可能色の前記第一使用頻度に基づき、既に使用糸色として決定された使用可能糸色である決定糸色を除く前記複数の使用可能糸色の各々について、前記使用可能糸色の前記第一使用頻度と、前記使用可能糸色と前記決定糸色の中間色の前記第一使用頻度の合計値を、第一合計値として算出する第一合計値算出手段と、
前記決定糸色を除く前記複数の使用可能糸色のうち、前記第一合計値算出手段によって算出された前記第一合計値が最大となる使用可能糸色を、使用糸色として決定する第二決定手段とを含み、
前記第一合計値算出手段および前記第二決定手段は、前記使用糸色の数が前記設定数に達するまで、順に処理を繰り返すことを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項3】
前記使用糸色決定手段は、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色から前記設定数の前記使用可能糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第二合計値として算出する第二合計値算出手段と、
前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記使用可能糸色を、前記複数の使用糸色として決定する第三決定手段とを含むことを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項4】
前記使用糸色決定手段は、
前記複数の表現可能色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が高い順に、所定数の表現可能色を選択する表現可能色選択手段と、
前記複数の使用可能糸色のうち、前記表現可能色選択手段によって選択された前記所定数の表現可能色の各々を1色または2色で表現するために必要な複数の使用可能糸色を、複数の第一候補糸色として選択する第一候補選択手段とを更に含み、
前記第二合計値算出手段は、前記第一候補選択手段によって選択された前記複数の第一候補糸色から前記設定数の第一候補糸色を選出する組合せ毎に、前記第二合計値を算出し、
前記第三決定手段は、前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記第一候補糸色を、前記複数の使用糸色として決定することを特徴とする請求項3に記載の刺繍データ作成装置。
【請求項5】
前記使用糸色決定手段は、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色の各々の使用頻度である第二使用頻度を算出する第二使用頻度算出手段と、
前記複数の使用可能糸色のうち、前記第二使用頻度算出手段によって算出された前記第二使用頻度が高い順に、所定数の使用可能糸色を、所定数の第二候補糸色として選択する第二候補選択手段と、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記第二候補選択手段によって選択された前記所定数の第二候補糸色から前記設定数の第二候補糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第三合計値として算出する第三合計値算出手段と、
前記第三合計値算出手段によって算出された前記第三合計値が最大となる組合せに含まれる前記設定数の前記第二候補糸色を、前記複数の使用糸色として決定する第四決定手段とを含むことを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項6】
前記表現可能色特定手段は、各々が前記複数の使用可能糸色のうち色空間における距離が閾値以上となる2色の中間的な色を、前記少なくとも一の中間色として特定した上で、前記複数の表現可能色を特定することを特徴とする請求項1〜5のいずれかに記載の刺繍データ作成装置。
【請求項7】
前記表現可能色特定手段は、前記複数の使用可能糸色のうち2色の有彩色の中間的な色が灰色である場合、前記灰色を除いて前記少なくとも一の中間色を特定した上で、前記複数の表現可能色を特定することを特徴とする請求項1〜6のいずれかに記載の刺繍データ作成装置。
【請求項8】
請求項1〜7のいずれかに記載の刺繍データ作成装置の各種処理手段として、刺繍データ作成装置のコンピュータを機能させるための刺繍データ作成プログラム。
【請求項9】
請求項8に記載の刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体。
【請求項1】
複数の画素の集合体である画像の画像データに基づいて、ミシンにより刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置であって、
前記ミシンによる刺繍縫製で実際に使用される複数の糸色である複数の使用糸色の数を、設定数として設定する糸色数設定手段と、
前記ミシンによる刺繍縫製に使用可能な複数の糸色である複数の使用可能糸色と、各々が前記複数の使用可能糸色のうち2色の中間的な色である少なくとも一の中間色とを、複数の表現可能色として特定する表現可能色特定手段と、
前記表現可能色特定手段によって特定された前記複数の表現可能色を代表色として減色した前記画像における前記複数の表現可能色の各々の使用頻度を、第一使用頻度として算出する第一使用頻度算出手段と、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色のうち、前記糸色数設定手段によって設定された前記設定数の使用可能糸色を、前記複数の使用糸色として決定する使用糸色決定手段と、
を備えた刺繍データ作成装置。
【請求項2】
前記使用糸色決定手段は、
前記複数の使用可能糸色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が最も高い前記表現可能色に対応する使用可能糸色を、使用糸色として決定する第一決定手段と、
前記複数の表現可能色の前記第一使用頻度に基づき、既に使用糸色として決定された使用可能糸色である決定糸色を除く前記複数の使用可能糸色の各々について、前記使用可能糸色の前記第一使用頻度と、前記使用可能糸色と前記決定糸色の中間色の前記第一使用頻度の合計値を、第一合計値として算出する第一合計値算出手段と、
前記決定糸色を除く前記複数の使用可能糸色のうち、前記第一合計値算出手段によって算出された前記第一合計値が最大となる使用可能糸色を、使用糸色として決定する第二決定手段とを含み、
前記第一合計値算出手段および前記第二決定手段は、前記使用糸色の数が前記設定数に達するまで、順に処理を繰り返すことを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項3】
前記使用糸色決定手段は、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色から前記設定数の前記使用可能糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第二合計値として算出する第二合計値算出手段と、
前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記使用可能糸色を、前記複数の使用糸色として決定する第三決定手段とを含むことを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項4】
前記使用糸色決定手段は、
前記複数の表現可能色のうち、前記第一使用頻度算出手段によって算出された前記第一使用頻度が高い順に、所定数の表現可能色を選択する表現可能色選択手段と、
前記複数の使用可能糸色のうち、前記表現可能色選択手段によって選択された前記所定数の表現可能色の各々を1色または2色で表現するために必要な複数の使用可能糸色を、複数の第一候補糸色として選択する第一候補選択手段とを更に含み、
前記第二合計値算出手段は、前記第一候補選択手段によって選択された前記複数の第一候補糸色から前記設定数の第一候補糸色を選出する組合せ毎に、前記第二合計値を算出し、
前記第三決定手段は、前記第二合計値算出手段によって算出された前記第二合計値が最大となる組合せに含まれる前記設定数の前記第一候補糸色を、前記複数の使用糸色として決定することを特徴とする請求項3に記載の刺繍データ作成装置。
【請求項5】
前記使用糸色決定手段は、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記複数の使用可能糸色の各々の使用頻度である第二使用頻度を算出する第二使用頻度算出手段と、
前記複数の使用可能糸色のうち、前記第二使用頻度算出手段によって算出された前記第二使用頻度が高い順に、所定数の使用可能糸色を、所定数の第二候補糸色として選択する第二候補選択手段と、
前記第一使用頻度算出手段によって算出された前記第一使用頻度に基づき、前記第二候補選択手段によって選択された前記所定数の第二候補糸色から前記設定数の第二候補糸色を選出する組合せ毎に、前記複数の表現可能色のうち、前記組合せで表現可能な表現可能色の第一使用頻度の合計値を、第三合計値として算出する第三合計値算出手段と、
前記第三合計値算出手段によって算出された前記第三合計値が最大となる組合せに含まれる前記設定数の前記第二候補糸色を、前記複数の使用糸色として決定する第四決定手段とを含むことを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項6】
前記表現可能色特定手段は、各々が前記複数の使用可能糸色のうち色空間における距離が閾値以上となる2色の中間的な色を、前記少なくとも一の中間色として特定した上で、前記複数の表現可能色を特定することを特徴とする請求項1〜5のいずれかに記載の刺繍データ作成装置。
【請求項7】
前記表現可能色特定手段は、前記複数の使用可能糸色のうち2色の有彩色の中間的な色が灰色である場合、前記灰色を除いて前記少なくとも一の中間色を特定した上で、前記複数の表現可能色を特定することを特徴とする請求項1〜6のいずれかに記載の刺繍データ作成装置。
【請求項8】
請求項1〜7のいずれかに記載の刺繍データ作成装置の各種処理手段として、刺繍データ作成装置のコンピュータを機能させるための刺繍データ作成プログラム。
【請求項9】
請求項8に記載の刺繍データ作成プログラムを記憶したコンピュータ読取り可能な媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−239772(P2012−239772A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−115301(P2011−115301)
【出願日】平成23年5月24日(2011.5.24)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月24日(2011.5.24)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】
[ Back to top ]