(57)【要約】【課題】特定の色で表されるのが前提の特定対象物を含む画像を表現するのに適した糸色を選択して刺繍データを作成することが可能な刺繍データ作成装置を提供する。【解決手段】刺繍データ作成装置のＣＰＵは、画像データに基づいて、元画像に対応する領域に複数の線分を配置する。ＣＰＵは、画像が人間の顔を含む場合、実際に縫製に使用される使用糸色のうち、画像に占める顔領域の比率に応じて、基準肌色に近い肌用糸色を少なくとも１色決定する。ＣＰＵは、注目線分Ｌｉが顔領域内にあり（Ｓ５３：ＹＥＳ）、ＲＧＢ空間における注目線分色Ａｉと基準肌色との距離ｄｉが、第一閾値ｒ２より小さい場合（Ｓ５６：ＹＥＳ）、肌用糸色のうち最も注目線分色Ａｉに近い色を、使用糸色として注目線分Ｌｉに割り当てる（Ｓ６６）。注目線分Ｌｉが顔領域内になければ（Ｓ５３：ＮＯ）、注目線分色Ａｉと最も近い使用糸色を割り当てる（Ｓ５４）。【選択図】図７
2014213107.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素の集合体である画像の画像データを取得する画像取得手段と、
前記画像取得手段によって取得された前記画像データが表す前記画像が特定対象物を含む場合、前記画像に対して前記特定対象物が占める比率を算出する比率算出手段と、
前記比率算出手段によって算出された前記比率に応じて、ミシンによる刺繍縫製で実際に使用される複数の糸色のうち、前記特定対象物に対応する部分の縫製に使用される少なくとも一の糸色である特定糸色を決定する第一糸色決定手段と、
前記画像データに基づいて、前記複数の糸色のうち、前記少なくとも一の特定糸色以外の少なくとも一の糸色であるその他の糸色を決定する第二糸色決定手段と、
前記画像データに基づいて、前記画像に対応する領域である第一領域に、複数の線分を配置する線分配置手段と、
前記線分配置手段によって配置された前記複数の線分の各々について、対応する縫目の縫製に使用される糸色として、前記複数の糸色のうち一の糸色を割り当てる糸色割当て手段と、
前記線分配置手段によって配置された前記複数の線分を、前記糸色割当て手段によって割り当てられた前記糸色毎に順次接続する線分接続手段と、
前記線分接続手段によって順次接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成する刺繍データ作成手段とを備え、
前記糸色割当て手段は、
前記複数の線分のうち、前記第一領域中の前記特定対象物が占める第二領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記少なくとも一の特定糸色の一つを優先的に割当て、
前記複数の線分のうち、前記第一領域中の前記第二領域以外の領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記複数の糸色のうち一つを割り当てることを特徴とする刺繍データ作成装置。
【請求項２】
前記第一糸色決定手段は、
前記複数の糸色の数である糸色総数および前記比率に基づいて、前記少なくとも一の特定糸色の数である特定糸色数を設定し、
前記少なくとも一の特定糸色の候補となる複数の糸色のうち、前記特定糸色数の糸色を、前記少なくとも一の特定糸色として決定することを特徴とする請求項１に記載の刺繍データ作成装置。
【請求項３】
前記第一糸色決定手段は、前記比率が閾値を超える場合、前記特定糸色数を予め設定した上限に設定することを特徴とする請求項２に記載の刺繍データ作成装置。
【請求項４】
前記第一糸色決定手段は、前記複数の糸色のうち、色空間において前記特定対象物の代表的な色である基準色から第一範囲にある少なくとも一の糸色を、前記少なくとも一の特定糸色として決定することを特徴とする請求項１〜３の何れかに記載の刺繍データ作成装置。
【請求項５】
前記糸色割当て手段は、
前記複数の線分のうち前記第二領域に配置された前記線分に対応する画素の色が、前記色空間において前記基準色から前記第一範囲よりも広い第二範囲内にある場合、前記少なくとも一の特定糸色の一つを前記線分に割当て、
前記画素の色が前記第二範囲内にない場合、前記複数の糸色のうち一つを前記第二領域に配置された前記線分に割り当てることを特徴とする請求項４に記載の刺繍データ作成装置。
【請求項６】
前記糸色割当て手段は、
前記画像データに基づいて、前記第一領域を、領域代表色を夫々有する複数の分割領域に分割し、
前記複数の線分の各々を、前記第一領域内で配置された位置に応じて、前記複数の分割領域の一つに対応付け、
前記複数の分割領域のうち、前記第二領域の少なくとも一部と重なり、且つ、前記領域代表色が前記色空間において前記基準色から前記第一範囲よりも広い第二範囲内にある分割領域に対して、前記領域代表色に基づいて、前記少なくとも一の特定糸色のうち少なくとも一つを領域糸色として割当て、
前記複数の分割領域のうち、前記第二領域と重ならない分割領域と、前記第二領域の少なくとも一部と重なり、且つ、前記領域代表色が前記色空間において前記基準色から前記第二範囲内にない分割領域の各々に対して、前記領域代表色に基づいて、前記複数の糸色のうち少なくとも一つを前記領域糸色として割当て、
前記複数の線分の各々に対して、前記対応付け手段によって対応付けられた前記分割領域に割り当てられた前記少なくとも一の領域糸色の一つを割り当てることを特徴とする請求項４に記載の刺繍データ作成装置。
【請求項７】
前記糸色割当て手段は、前記少なくとも一の特定糸色のうち、前記色空間において前記領域代表色から第三範囲内にある特定糸色を、前記領域糸色として割り当てることを特徴とする請求項６に記載の刺繍データ作成装置。
【請求項８】
前記糸色割当て手段は、
前記画像データに基づいて、前記線分配置手段によって配置された前記複数の線分の各々に対して、前記複数の糸色のうち、所定数の糸色の一つを割当て、
前記所定数の糸色が、色空間において前記特定対象物の代表的な色である基準色から第一範囲内になく且つ前記第一範囲より広い第二範囲内にある糸色である置換え候補糸色を少なくとも一つ含む場合、前記複数の線分のうち、前記第二領域に配置された前記少なくとも一の線分に夫々割り当てられた前記少なくとも一の置換え候補糸色の各々を、前記少なくとも一の特定糸色の一つに置き換え、
前記第一糸色決定手段は、前記複数の糸色のうち、前記色空間において前記第一範囲内にある少なくとも一の糸色を、前記少なくとも一の特定糸色として決定することを特徴とする請求項１に記載の刺繍データ作成装置。
【請求項９】
前記糸色割当て手段は、
前記所定数および前記比率に基づいて、前記少なくとも一の特定糸色の数の上限である特定糸色上限を設定し、
前記少なくとも一の置換え候補糸色のうち置き換えられた糸色の数が、前記特定糸色上限に達しない間、前記少なくとも一の置換え候補糸色を、前記第二領域に配置された前記少なくとも一の線分に割り当てられた数が多い順に、前記少なくとも一の特定糸色に順次置き換えることを特徴とする請求項８に記載の刺繍データ作成装置。
【請求項１０】
前記特定対象物は人間の顔であり、
前記少なくとも一の特定糸色は、少なくとも一の肌色を含むことを特徴とする請求項１〜９の何れかに記載の刺繍データ作成装置。
【請求項１１】
コンピュータ読み取り可能な指示を記憶する、非一時的なコンピュータ読み取り可能な媒体であって、前記指示は、
複数の画素の集合体である画像の画像データを取得するステップと、
取得された前記画像データが表す前記画像が特定対象物を含む場合、前記画像に対して前記特定対象物が占める比率を算出するステップと、
算出された前記比率に応じて、ミシンによる刺繍縫製で実際に使用される複数の糸色のうち、前記特定対象物に対応する部分の縫製に使用される少なくとも一の糸色である特定糸色を決定するステップと、
前記画像データに基づいて、前記複数の糸色のうち、前記少なくとも一の特定糸色以外の少なくとも一の糸色であるその他の糸色を決定するステップと、
前記画像データに基づいて、前記画像に対応する領域である第一領域に、複数の線分を配置するステップと、
配置された前記複数の線分の各々について、対応する縫目の縫製に使用される糸色として、前記複数の糸色のうち一の糸色を割り当てるステップと、
配置された前記複数の線分を、割り当てられた前記糸色毎に順次接続するステップと、
順次接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成するステップとを装置のプロセッサに実行させ、
前記糸色を割り当てるステップは、
前記複数の線分のうち、前記第一領域中の前記特定対象物が占める第二領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記少なくとも一の特定糸色の一つを優先的に割当てるステップと、
前記複数の線分のうち、前記第一領域中の前記第二領域以外の領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記複数の糸色のうち一つを割り当てるステップとを含むことを特徴とするコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミシンによって刺繍縫製を行うための刺繍データを作成する刺繍データ作成装置およびコンピュータ読取り可能な媒体に関する。
【背景技術】
【０００２】
ミシンによって写真等の画像のデータに基づく図柄を刺繍縫製するための刺繍データ作成装置が知られている。例えば、特許文献１に開示されている刺繍データ作成装置によれば、次の手順で刺繍データが作成される。まず、画像データに基づいて線分が配置される。各線分に対応する糸色が決定され、同じ糸色の線分が接続される。線分のデータが縫目を示すデータに変換されることで、刺繍データが作成される。各線分に対応する糸色は、刺繍模様を縫製する際に実際に使用する糸色として予め決定されたｎ色の糸色の中から選択される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２７３８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
写真等の画像を刺繍の図柄で表現する場合、実際に使用する糸色の数ｎは、一般的に１０色程度である。特許文献１の刺繍データ作成装置では、元画像の色がＮ色に減色された後、ユーザが準備可能な糸色の中から、減色後のｍ色に夫々近いｎ色の糸色が使用糸色として選択される。これらｎ色で混色表現することで、より多くの色を含む元の画像を表現することができる。しかしながら、計算上は複数の色の混色で表現できる色であっても、刺繍糸の縫目で表現されると不自然な場合がある。例えば人間の顔のように、肌色であることが前提である部分に、緑色を用いた混色表現が行われると、元の画像が自然に表現できたとは言い難い。
【０００５】
本発明は、特定の色で表されるのが前提の特定対象物を含む画像を表現するのに適した糸色を選択して刺繍データを作成することが可能な刺繍データ作成装置およびコンピュータ読取り可能な媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第一の態様にかかる刺繍データ作成装置は、画像取得手段と、比率算出手段と、第一糸色決定手段と、第二糸色決定手段と、線分配置手段と、糸色割当て手段と、線分接続手段と、刺繍データ作成手段とを備える。前記画像取得手段は、複数の画素の集合体である画像の画像データを取得する。前記比率算出手段は、前記画像取得手段によって取得された前記画像データが表す前記画像が特定対象物を含む場合、前記画像に対して前記特定対象物が占める比率を算出する。前記第一糸色決定手段は、前記比率算出手段によって算出された前記比率に応じて、ミシンによる刺繍縫製で実際に使用される複数の糸色のうち、前記特定対象物に対応する部分の縫製に使用される少なくとも一の糸色である特定糸色を決定する。前記第二糸色決定手段は、前記画像データに基づいて、前記複数の糸色のうち、前記少なくとも一の特定糸色以外の少なくとも一の糸色であるその他の糸色を決定する。前記線分配置手段は、前記画像データに基づいて、前記画像に対応する領域である第一領域に、複数の線分を配置する。前記糸色割当て手段は、前記線分配置手段によって配置された前記複数の線分の各々について、対応する縫目の縫製に使用される糸色として、前記複数の糸色のうち一の糸色を割り当てる。前記線分接続手段は、前記線分配置手段によって配置された前記複数の線分を、前記糸色割当て手段によって割り当てられた前記糸色毎に順次接続する。前記刺繍データ作成手段は、前記線分接続手段によって順次接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成する。詳細には、前記糸色割当て手段は、前記複数の線分のうち、前記第一領域中の前記特定対象物が占める第二領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記少なくとも一の特定糸色の一つを優先的に割当て、前記複数の線分のうち、前記第一領域中の前記第二領域以外の領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記複数の糸色のうち一つを割り当てることを特徴とする。
【０００７】
かかる刺繍データ作成装置は、画像が特定対象物を含む場合、画像に対して特定対象物が占める比率に応じて、特定対象物に対応する部分の縫製に使用される少なくとも一の特定糸色を決定する。そして、画像に対応する第一領域に配置された線分のうち、特定対象物が占める第二領域に配置された線分については、少なくとも一の特定糸色の一つを優先的に割当てる。これにより、特定対象物に対応する部分の縫製に、特定糸色以外の糸色が使用されるのを防止することができる。従って、特定の色で表されるのが前提の特定対象物を含む画像を表現するのに適した糸色を選択して刺繍データを作成することができる。
【０００８】
本発明の第二の態様にかかるコンピュータ読取り可能な媒体は、コンピュータ読み取り可能な指示を記憶する、非一時的なコンピュータ読み取り可能な媒体である。前記指示は、複数の画素の集合体である画像の画像データを取得するステップと、取得された前記画像データが表す前記画像が特定対象物を含む場合、前記画像に対して前記特定対象物が占める比率を算出するステップと、算出された前記比率に応じて、ミシンによる刺繍縫製で実際に使用される複数の糸色のうち、前記特定対象物に対応する部分の縫製に使用される少なくとも一の糸色である特定糸色を決定するステップと、前記画像データに基づいて、前記複数の糸色のうち、前記少なくとも一の特定糸色以外の少なくとも一の糸色であるその他の糸色を決定するステップと、前記画像データに基づいて、前記画像に対応する領域である第一領域に、複数の線分を配置するステップと、配置された前記複数の線分の各々について、対応する縫目の縫製に使用される糸色として、前記複数の糸色のうち一の糸色を割り当てるステップと、配置された前記複数の線分を、割り当てられた前記糸色毎に順次接続するステップと、順次接続された前記複数の線分に対応する縫目のデータを、刺繍データとして作成するステップとを装置のプロセッサに実行させる。前記糸色を割り当てるステップは、前記複数の線分のうち、前記第一領域中の前記特定対象物が占める第二領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記少なくとも一の特定糸色の一つを優先的に割当てるステップと、前記複数の線分のうち、前記第一領域中の前記第二領域以外の領域に配置された少なくとも一の線分の各々に対して、前記画像データに基づいて、前記複数の糸色のうち一つを割り当てるステップとを含むことを特徴とする。
【０００９】
かかる媒体に記憶された指示が刺繍データ作成装置で実行されると、プロセッサは、画像が特定対象物を含む場合、画像に対して特定対象物が占める比率に応じて、特定対象物に対応する部分の縫製に使用される少なくとも一の特定糸色を決定する。そして、画像に対応する第一領域に配置された線分のうち、特定対象物が占める第二領域に配置された線分については、少なくとも一の特定糸色の一つを優先的に割当てる。これにより、特定対象物に対応する部分の縫製に、特定糸色以外の糸色が使用されるのを防止することができる。従って、特定の色で表されるのが前提の特定対象物を含む画像を表現するのに適した糸色を選択して刺繍データを作成することができる。
【図面の簡単な説明】
【００１０】
【図１】刺繍データ作成装置１の電気的構成を示すブロック図である。
【図２】ミシン３の外観図である。
【図３】刺繍データ作成処理のフローチャートである。
【図４】基準肌色Ｃと第一閾値ｒ１、第二閾値ｒ２の関係の説明図である。
【図５】使用糸色決定処理のフローチャートである。
【図６】元画像の一例を示す図である。
【図７】糸色割当て処理のフローチャートである。
【図８】別実施形態の刺繍データ作成処理のフローチャートである。
【図９】領域糸色割当て処理のフローチャートである。
【図１０】基準肌色Ｃと第一閾値ｒ１、第二閾値ｒ２、第三閾値ｒ３の関係の説明図である。
【図１１】他の別実施形態の使用糸色決定処理のフローチャートである。
【図１２】別実施形態の糸色割当て処理のフローチャートである。
【図１３】置換え糸色決定処理のフローチャートである。
【図１４】線分数算出処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図１〜図１４を参照して説明する。まず、図１を参照して、刺繍データ作成装置１の構成について説明する。刺繍データ作成装置１は、後述のミシン３（図２参照）によって刺繍模様の縫目を形成するための刺繍データを作成可能な装置である。本実施形態の刺繍データ作成装置１は、写真等の画像に基づく図柄を刺繍縫製するための刺繍データを作成することができる。
【００１２】
刺繍データ作成装置１は、刺繍データ作成専用の装置であってもよいし、所謂パーソナルコンピュータ等の汎用型の装置であってもよい。本実施形態では、汎用型の刺繍データ作成装置１を例示する。図１に示すように、刺繍データ作成装置１は、刺繍データ作成装置１の制御を司るコントローラであるＣＰＵ１１を備えている。ＣＰＵ１１には、ＲＡＭ１２と、ＲＯＭ１３と、入出力（Ｉ／Ｏ）インタフェイス１４とが接続されている。ＲＡＭ１２は、ＣＰＵ１１による演算処理で得られた演算結果等、各種のデータを一時的に記憶する。ＲＯＭ１３は、ＢＩＯＳ等を記憶する。
【００１３】
Ｉ／Ｏインタフェイス１４は、データの受け渡しの仲介を行う。Ｉ／Ｏインタフェイス１４には、ハードディスク装置（ＨＤＤ）１５、入力機器であるマウス２２、ビデオコントローラ１６、キーコントローラ１７、外部通信インタフェイス１８、メモリカードコネクタ２３、およびイメージスキャナ装置２５が接続されている。
【００１４】
ビデオコントローラ１６には、表示機器であるディスプレイ２４が接続され、キーコントローラ１７には、入力機器であるキーボード２１が接続されている。外部通信インタフェイス１８は、ネットワーク１１４への接続を可能とするインタフェイスである。刺繍データ作成装置１は、ネットワーク１１４を介して外部機器に接続することができる。メモリカードコネクタ２３には、メモリカード５５が接続可能である。刺繍データ作成装置１は、メモリカードコネクタ２３を介して、メモリカード５５のデータの読み取りおよびメモリカード５５へのデータの書き込みを行うことができる。
【００１５】
ＨＤＤ１５の記憶エリアについて説明する。図１に示すように、ＨＤＤ１５は、画像データ記憶エリア１５１、刺繍データ記憶エリア１５２、プログラム記憶エリア１５３、および設定値記憶エリア１５４を含む複数の記憶エリアを有する。画像データ記憶エリア１５１には、刺繍データ作成の元となる画像等、各種画像の画像データが記憶される。刺繍データ記憶エリア１５２には、本実施形態の刺繍データ作成処理によって作成された刺繍データが記憶される。プログラム記憶エリア１５３には、後述する刺繍データ作成プログラム等、刺繍データ作成装置１で行われる各種処理のためのプログラムが記憶される。設定値記憶エリア１５４には、各種処理で使用される設定値のデータが記憶される。
【００１６】
なお、刺繍データ作成プログラムは、ネットワーク１１４を介して外部から取得され、プログラム記憶エリア１５３に記憶されてもよい。刺繍データ作成装置１がＤＶＤドライブを備える場合、ＤＶＤ等の媒体に記憶された刺繍データ作成プログラムが読み込まれ、プログラム記憶エリア１５３に記憶されてもよい。
【００１７】
図２を参照して、刺繍データに基づいて刺繍模様を縫製することが可能なミシン３について、簡単に説明する。図２に示すように、ミシン３は、ベッド部３０、脚柱部３６、アーム部３８、および頭部３９を有する。ベッド部３０は、左右方向に長い、ミシン３の土台部である。脚柱部３６は、ベッド部３０の右端部から上方へ延びる。アーム部３８は、ベッド部３０に対向して脚柱部３６の上端から左方へ延びる。頭部３９は、アーム部３８の左端に連結する部位である。
【００１８】
刺繍縫製時には、ミシン３のユーザは、ベッド部３０上に配置されるキャリッジ４２に、加工布を保持する刺繍枠４１を装着する。刺繍枠４１は、キャリッジ４２に収容されたＹ方向移動機構（図示せず）および本体ケース４３内に収容されたＸ方向移動機構（図示せず）によって、ミシン３に固有のＸＹ座標系で示される針落ち点に移動される。刺繍枠４１が移動されるのと合わせて、縫針４４が装着された針棒３５および釜機構（図示せず）が駆動されることにより、加工布上に刺繍模様が形成される。なお、Ｙ方向移動機構、Ｘ方向駆動機構、針棒３５等は、刺繍データに基づき、ミシン３に内蔵されたＣＰＵ（図示せず）によって制御される。本実施形態の刺繍データは、刺繍模様の縫目を形成するための針落ち点の座標と、縫い順と、使用される刺繍糸の色を示すデータである。
【００１９】
ミシン３の脚柱部３６の側面には、メモリカード５５を着脱可能なメモリカードスロット３７が搭載されている。例えば、刺繍データ作成装置１で作成された刺繍データは、メモリカードコネクタ２３を介してメモリカード５５に記憶される。その後、メモリカード５５がミシン３のメモリカードスロット３７に装着され、記憶された刺繍データが読み出されて、ミシン３に刺繍データが記憶される。ミシン３のＣＰＵは、メモリカード５５から読み出された刺繍データに基づいて、上記の要素による刺繍模様の縫製動作を制御する。このようにして、ミシン３は、刺繍データ作成装置１で作成された刺繍データに基づいて刺繍模様を縫製することができる。
【００２０】
以下、図３〜図７を参照して、本実施形態の刺繍データ作成装置１で行われる刺繍データ作成処理について説明する。刺繍データ作成処理は、ユーザが処理を開始する指示を入力した場合に開始される。ＣＰＵ１１は、ＨＤＤ１５のプログラム記憶エリア１５３に記憶された刺繍データ作成プログラムを読み出し、プログラムに含まれる指示を実行することで以下の処理を行う。
【００２１】
図３に示すように、ＣＰＵ１１はまず、候補糸色データを取得する（Ｓ１）。候補糸色データとは、刺繍縫製に使用可能な複数の刺繍糸の色、つまり、刺繍縫製に実際に使用される糸の色の候補である複数の候補糸色を示すデータである。本実施形態では、候補糸色データは、少なくとも、糸の色をＲＧＢ値で示すデータを含み、例えば、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶されている。候補糸色の数は、一般的には数十色程度である。
【００２２】
ＣＰＵ１１は、複数の候補糸色の中から、基準色を設定し（Ｓ２）、次に、第一閾値ｒ１を設定する（Ｓ３）。基準色とは、近似色の範囲を規定するために使用される基準の色である。第一閾値ｒ１とは、基準色にある程度近似する色の範囲を規定する、色空間における基準色からの距離の閾値である。
【００２３】
本実施形態では、第一閾値ｒ１は、特定の対象物を縫製するのに使用される特定の糸色の範囲を設定するために使用される。例えば、人間の顔の肌部分の色として自然な色は、肌色と考えられる。従って、複数の異なる色の刺繍糸の縫目で混色表現が行われる場合、肌部分に肌色とはかけ離れた糸色（例えば、緑や水色）が混じると、不自然に見える可能性がある。そこで、本実施形態では、人間の顔の肌部分のように、特定の色で表されるのが前提の特定の対象物を含む画像を元にして刺繍データが作成される場合、特定の対象物に対応する部分の縫目には、特定の糸色を割り当てる処理が行われる。そのために、Ｓ２とＳ３で、基準色と第一閾値ｒ１が設定される。
【００２４】
本実施形態では、特定の対象物が人間の顔（特に、肌部分）であり、特定の糸色が肌色であると予め設定されている場合の刺繍データ作成処理を例示する。よって、Ｓ２では、ＣＰＵ１１は、基準色として、代表的な肌色である基準肌色Ｃを設定する。基準肌色Ｃは、複数の候補糸色の中からキーボード２１を介してユーザが指定した肌色であってもよいし、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶された肌色であってもよい。ＣＰＵ１１は、Ｓ２で設定した基準肌色ＣのＲＧＢ値をＲＡＭ１２に記憶する。また、第一閾値ｒ１も、ユーザが指定した値であってもよいし、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶された値であってもよい。ＣＰＵ１１は、Ｓ３で設定した第一閾値ｒ１の値をＲＡＭ１２に記憶する。
【００２５】
ＣＰＵ１１は、設定された基準肌色Ｃと第一閾値ｒ１に基づいて、複数の候補糸色の中から、ＲＧＢ空間における基準肌色Ｃとの距離が第一閾値ｒ１より小さい糸色を、肌用候補糸色として決定する（Ｓ４）。肌用候補糸色は、図４に示すように、ＲＧＢ空間において基準肌色Ｃから半径ｒ１の球内にある糸色（図４の例では糸色Ｃ１〜Ｃ５の５色）である。このように、基準肌色Ｃから所定範囲内にある糸色を肌用候補糸色とすることで、基準肌色Ｃに近い色を効率的に計算で特定することができる。肌用候補糸色の数は特に限定されない。ＣＰＵ１１は、決定した肌用候補糸色のＲＧＢ値をＲＡＭ１２に記憶する。なお、第一色のＲＧＢ値を（Ｒ１，Ｇ１，Ｂ１）とし、第一色とは異なる第二色のＲＧＢ値を（Ｒ２，Ｇ２，Ｂ２）とした場合、第一色と第二色のＲＧＢ空間における距離ｄは、以下の式で求めることができる。
ｄ＝√｛（Ｒ１−Ｒ２）２＋（Ｇ１−Ｇ２）２＋（Ｂ１−Ｂ２）２｝
【００２６】
ＣＰＵ１１は更に、第二閾値ｒ２を設定する（Ｓ５）。第二閾値ｒ２とは、特定の糸色（本実施形態では、肌色）が優先的に割り当てられる範囲を規定する、基準色（本実施形態では基準肌色Ｃ）からの距離の閾値である。第二閾値ｒ２も、ユーザが指定した値であってもよいし、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶された値であってもよい。但し、第二閾値ｒ２は、第一閾値ｒ１よりも大きい値である。図４に示すように、第二閾値ｒ２で規定される範囲は、ＲＧＢ空間において基準肌色Ｃから半径ｒ２の球内の領域に相当する。第二閾値ｒ２の範囲内にある色は、基準肌色Ｃにある程度近い色であると言い換えることもできる。ＣＰＵ１１は、Ｓ５で設定した第二閾値ｒ２の値をＲＡＭ１２に記憶する。
【００２７】
ＣＰＵ１１は、刺繍データ作成の元となる画像（以下、元画像という）の画像データをＲＡＭ１２に取得する（Ｓ６）。画像データの取得方法は特に限定されないが、例えば、イメージスキャナ装置２５によって写真や図柄等の画像が読み込まれ、取得された画像データが用いられる。その他、ＣＰＵ１１は、予めＨＤＤ１５の画像データ記憶エリア１５１に記憶された画像データを取得してもよいし、ネットワーク１１４を介して外部から画像データを取得してもよいし、メモリカード５５等の媒体に記憶された画像データを取得してもよい。本実施形態では、各画素の色をＲＧＢ値で示す画像データが取得される。
【００２８】
ＣＰＵ１１は、取得された画像データに基づいて、元画像を構成する複数の画素の各々について、角度特徴と角度特徴の強度を算出する（Ｓ７）。角度特徴は、画像中の色の連続性の高い方向を示す情報である。言い換えると、角度特徴は、ある画素の色を周囲の画素の色と比較した場合に、どの方向（角度）に、その画素の色がより連続しているかを示す情報である。角度特徴の強度は、色の変化の大きさを示す情報である。
【００２９】
ＣＰＵ１１は、角度特徴およびその強度をいかなる方法で算出してもよいが、例えば、特開２００１−２５９２６８号公報（米国特許出願公開第２００２／００３８１６２号明細書）に詳述されている方法を用いて算出することができる。簡単に説明すると、ＣＰＵ１１はまず、元画像を構成する複数の画素のうち１つを注目画素として、注目画素とその周囲の所定数（例えば８個）の画素を注目領域とする。ＣＰＵ１１は、注目領域内の各画素の色に関する属性値（例えば、輝度値）に基づいて、注目領域内における色の連続性の高い方向を特定し、注目画素の角度特徴とする。また、ＣＰＵ１１は、注目領域内における色の変化の大きさを示す値を算出して、注目画素の角度特徴の強度とする。ＣＰＵ１１は、角度特徴および角度特徴の強度を、上記の方法以外に、ＰｒｅｗｉｔｔのオペレータやＳｏｂｅｌのオペレータを用いて算出してもよい。
【００３０】
ＣＰＵ１１は、算出された角度特徴および角度特徴の強度に基づいて、元画像に対応する領域に、複数の線分を配置する処理を行う（Ｓ８）。各線分は、刺繍模様の縫目に対応し、針落ち点に相当する二つの端点を有する。Ｓ３で配置される線分は、ユーザがキーボード２１から入力した値、または予め定められ、ＨＤＤ１５の設定値記憶エリア１５４に記憶された値に応じた一定の長さを有する。ＣＰＵ１１は、配置された線分を特定するデータ（以下、線分データという）を、ＲＡＭ１２に記憶する。線分データは、例えば、元画像に対応する領域中に配置された全ての線分の端点の位置を示すＸＹ座標系の座標データである。
【００３１】
ＣＰＵ１１は、角度特徴および角度特徴の強度に基づく線分の配置をいかなる方法で行ってもよいが、例えば、特開２００１−２５９２６８号公報（米国特許出願公開第２００２／００３８１６２号明細書）に詳述されている方法を用いればよい。簡単に説明すると、ＣＰＵ１１はまず、角度特徴の強度が所定の閾値以上である画素の各々に対応する位置を中心とする線分を優先的に配置する。その後、ＣＰＵ１１は、既に配置された線分との重なりや、周囲の画素の角度特徴を考慮して、角度特徴の強度が所定の閾値未満の画素の各々に対応する位置を中心とする線分を配置する。
【００３２】
ＣＰＵ１１は、複数の候補糸色から、刺繍縫製に実際に使用される糸の糸色（以下、使用糸色という）を決定する使用糸色決定処理を行う（Ｓ１０および図５）。図５に示すように、使用糸色決定処理では、ＣＰＵ１１はまず、使用糸色の数である使用糸色数ｎを設定する（Ｓ３１）。使用糸色数ｎは、ユーザが指定した値であってもよいし、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶された値であってもよい。一般的には、使用糸色数ｎは１０色程度である。
【００３３】
ＣＰＵ１１は、Ｓ６で取得された元画像の画像データに基づき、元画像中の人間の顔を検出する処理を行う（Ｓ３２）。ＣＰＵ１１は、画像中の顔をいかなる方法で検出してもよい。例えば、ＣＰＵ１１は、予め大量の学習サンプルから得られた局所特徴量を統計的に機械学習することで作成された判別基準に従って、画像中の顔部分（以下、顔領域という）を検出することができる。かかる検出方法として様々な方法が周知であるため、ここでの詳細な説明は省略するが、例えば、局所的特徴量として、ＨａａｒＬｉｋｅ特徴、ＨＯＧ（Ｈｉｓｔｏｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔ）特徴等を採用できる。また、統計的学習手法としては、例えば、ＡｄａＢｏｏｓｔ、ニューラルネットワーク等による方法が採用できる。
【００３４】
ＣＰＵ１１は、Ｓ３２において元画像中で人間の顔を検出できた場合、元画像中の顔領域の位置を示すデータをＲＡＭ１２に記憶する。例えばＣＰＵ１１が、図６に示すように、元画像５１から矩形状の顔領域５２を検出した場合、ＣＰＵ１１は、顔領域５２の位置を示すデータとして、顔領域５２の左上の頂点Ｐ０を示す座標（Ｘ０，Ｙ０）、縦方向の画素数１４０、横方向の画素数１４０を記憶する。
【００３５】
ＣＰＵ１１は、人間の顔を検出しなかった場合（Ｓ３３：ＮＯ）、複数の候補糸色から、ｎ色の糸色を使用糸色として決定する（Ｓ３４）。この場合、ＣＰＵ１１は、いかなる方法でｎ色の使用糸色を決定してもよい。例えば、特開２００１−２５９２６８号公報（米国特許出願公開第２００２／００３８１６２号明細書）に記載されているように、ユーザが候補糸色から所望のｎ色の糸色を指定してもよい。また、特開２０１０−２７３８５９号公報（米国特許出願公開第２０１０／０３０５７４４号公報）に記載されているように、元画像の色を、メディアンカット法等を用いてｎ色に減色し、候補糸色のうち、減色後のｎ色の夫々に最も近い色ｎ色が使用糸色とされてもよい。
【００３６】
ＣＰＵ１１は、元画像中で人間の顔を検出した場合（Ｓ３３：ＹＥＳ）、元画像に対して顔領域が占める比率である顔領域比率Ｓを算出する（Ｓ３５）。図６の例では、元画像５１の画素数は、４３，２００（＝１８０×２４０）であり、顔領域５２の画素数は、１９，６００（＝１４０×１４０）であるから、顔領域比率Ｓは、４５．４％である。
【００３７】
ＣＰＵ１１は、顔領域比率Ｓに応じて、使用糸色数ｎのうち、顔領域に対応する糸色である顔用糸色の数ｋ（以下、顔用糸色数ｋという）を算出する（Ｓ３６）。具体的には、ＣＰＵ１１は、使用糸色数ｎに顔領域比率Ｓを乗じて得られる値（但し、少数点以下は四捨五入する）を顔用糸色数ｋとする。よって、顔領域比率Ｓが大きくなるほど、顔用糸色数ｋは増加する。図６の元画像５１が使用され、使用糸色数ｎが１０に設定された場合、顔用糸色数ｋは、５（４．５４の小数点以下を四捨五入した値）である。ＣＰＵ１１は、Ｓ３６で算出した顔用糸色数ｋの値をＲＡＭ１２に記憶する。
【００３８】
ＣＰＵ１１は、Ｓ３６で算出された顔用糸色数ｋが１以上である場合（Ｓ３７：ＮＯ）、そのままＳ３９の処理に進む。ＣＰＵ１１は、Ｓ３６で算出された顔用糸色数ｋが１より小さい、つまり０である場合（Ｓ３７：ＹＥＳ）、ＲＡＭ１２に記憶された顔用糸色数ｋを１に変更して（Ｓ３８）、Ｓ３９の処理に進む。ＣＰＵ１１は、顔用糸色数ｋに基づき、人間の顔のうち、肌の部分の縫製に優先的に使用される糸色である肌用糸色の数ｍ（以下、肌用糸色数ｍという）を算出する（Ｓ３９）。ＣＰＵ１１は、Ｓ３９で算出した肌用糸色数ｍの値をＲＡＭ１２に記憶する。
【００３９】
本実施形態では、ＣＰＵ１１は、顔用糸色数ｋに０．５を乗じて得られる値（但し、少数点以下は四捨五入する）を肌用糸色数ｍとする。上述の例では、肌用糸色数ｍは３（２．５の小数点以下を四捨五入した値）となる。本実施形態で顔用糸色数ｋに乗じる係数を０．５としたのは、人間の顔には、肌とは異なる色の目、口、眉毛が含まれるため、顔用糸色のうち半分を肌に割当て、残り半分を肌と異なる部分に割り当てればよいという考え方に基づく。しかしながら、係数は必ずしもこの例に限定されない。例えば、顔用糸色数ｋが大きくなるほど徐々に小さくなる係数が採用されてもよいし、ユーザによって指定された係数が使用されてもよい。
【００４０】
なお、Ｓ３７〜Ｓ３８の処理で、顔用糸色数ｋとして、必ず１以上の値が設定される。その結果、Ｓ３９の処理によって、肌用糸色数ｍも必ず１以上となる。これは、元画像に対して顔領域が非常に小さい場合でも、元画像中で人間の顔が検出された以上、肌色が使用糸色に決定されないという状況を回避するためである。
【００４１】
ＣＰＵ１１は、肌用糸色数ｍが７以下の場合（Ｓ４１：ＮＯ）、そのままＳ４３の処理に進む。ＣＰＵ１１は、肌用糸色数ｍが７より大きい場合（Ｓ４１：ＹＥＳ）、ＲＡＭ１２に記憶された肌用糸色数ｍを、上限値の７に変更する（Ｓ４２）。これは、例えば、使用糸色数ｍが５０に設定され、顔領域比率Ｓが８０％である場合、Ｓ３９で算出される肌用糸色数ｍは２０になるが、２０色も使用しなくても自然な肌色の表現は可能なので、使用糸色に肌色とは近似しない色を加えた方がよいという考え方に基づく。なお、上限値７は例示であって、他の値が設定されてもよい。また、上限値は、使用糸色数ｎに応じて変更されてもよいし、ユーザによって指定されてもよい。また、上限値は設定されなくてもよい。
【００４２】
ＣＰＵ１１は、Ｓ４（図３参照）で決定された肌用候補糸色の中からｍ色の肌用糸色を決定する（Ｓ４３）。ＣＰＵ１１は、決定した肌用糸色の夫々のＲＧＢ値をＲＡＭ１２に記憶する。本実施形態では、ＣＰＵ１１は、基準肌色Ｃおよび肌用候補糸色の間のＲＧＢ空間での距離に基づいてｍ色を選択するが、ユーザが指定したｍ色を採用してもよいし、肌用候補糸色からランダムにｍ色を選択してもよい。
【００４３】
図４に示すように、糸色Ｃ１〜Ｃ５の５色の肌用候補糸色が決定され、肌用糸色数ｍが３と決定された場合、例えばＣＰＵ１１は、次のように肌用糸色を決定する。まず、基準肌色ＣにＲＧＢ空間における距離が最も近い糸色Ｃ２が最初に選択される。残る４色のうち、糸色Ｃ２からの距離が最も遠い糸色Ｃ３が２色目として選択される。更に、糸色Ｃ２およびＣ３からの距離が最も遠い糸色Ｃ５が３色目として選択される。このように、すでに選択された色とできるだけ遠い色を選ぶことで、互いに近い色が複数選択された場合よりも広い範囲の色を表現することができる。
【００４４】
ＣＰＵ１１は、候補糸色のうち、決定された肌用糸色を除く糸色から、残りの顔用糸色を決定する（Ｓ４４）。肌用糸色は顔用糸色の一部であるから、残りの顔用糸色の数は、顔用糸色数ｋから肌用糸色数ｍを引いた数（ｋ−ｍ）である。例えば、ＣＰＵ１１は、元画像の色を、メディアンカット法等を用いてｎ色に減色し、肌用糸色以外の候補糸色のうち、顔領域内の減色後の画素の色からＲＧＢ空間において所定距離内にあり、且つ、すでに決定されている糸色からできるだけ遠い色を、（ｋ−ｍ）色選択すればよい。ＣＰＵ１１は、決定した顔用糸色の夫々のＲＧＢ値をＲＡＭ１２に記憶する。
【００４５】
ＣＰＵ１１は、候補糸色のうち、決定された顔用糸色を除く糸色から、残りの使用糸色を決定する（Ｓ４５）。残りの使用糸色は、使用糸色数ｎから顔用糸色数ｋを引いた数（ｎ−ｋ）である。ＣＰＵ１１は、Ｓ４４と同様、元画像の顔領域以外の部分の減色後の画素の色に基づき、すでに決定されている糸色からできるだけ遠い色を、（ｎ−ｋ）色選択すればよい。ＣＰＵ１１は、決定した残りの使用糸色の夫々のＲＧＢ値をＲＡＭ１２に記憶する。ＣＰＵ１１は、Ｓ４５で全ての使用糸色の決定を完了すると、使用糸色決定処理を終了し、図３の刺繍データ作成処理に戻る。
【００４６】
図３に示すように、ＣＰＵ１１は、使用糸色決定処理（Ｓ１０）に続いて、Ｓ８で配置された線分の各々に使用糸色のうち何れか１色を割り当てる糸色割当て処理を行う（Ｓ２０および図７）。図７に示すように、糸色割当て処理では、ＣＰＵ１１はまず、元画像に対応する領域に配置された全ての線分のうち未処理の一の線分を、処理対象である注目線分Ｌｉとして設定する（Ｓ５１）。ＣＰＵ１１は、例えば、全線分のうち、Ｘ座標とＹ座標が夫々ゼロに最も近い端点を有する線分を注目線分Ｌｉとすればよい。
【００４７】
ＣＰＵ１１は、注目線分Ｌｉの色である注目線分色Ａｉを特定する（Ｓ５２）。ＣＰＵ１１は、上述の通り、Ｓ８の処理で、一の画素に対応する位置を中心として所定の長さを有する線分を配置した場合、元画像において、線分の中心に対応する画素（以下、中心画素という）の色（ＲＧＢ値）を注目線分色Ａｉとして使用してもよい。あるいは、元画像において注目線分Ｌｉに対応する位置にある複数の画素のＲＧＢ値の平均値が使用されてもよい。
【００４８】
このほか、注目線分色Ａｉは、特開２００１−２５９２６８号公報（米国特許出願公開第２００２／００３８１６２号明細書）に詳述されている方法を用いて算出されてもよい。簡単に説明すると、ＣＰＵ１１は、元画像において、特定の画素を中心とする所定の範囲を、元画像の色が参照される範囲（参照領域）として設定する。ＣＰＵ１１は、元画像の参照領域内の色の平均値と、対応領域に配置された線分に対して既に決定された色の平均値が等しくなるように、特定の画素に対応する線分の色を決定する。対応領域は、特定の画素を中心とする参照領域と同じサイズの領域である。つまり、ＣＰＵ１１は、元画像の色と、既に決定された線分の色とに基づいて、注目線分色Ａｉを決定する。
【００４９】
ＣＰＵ１１は、注目線分Ｌｉが顔領域内にあるか否かを判断する（Ｓ５３）。例えば、ＣＰＵ１１は、ＲＡＭ１２に記憶された元画像中の顔領域の位置を示すデータと、注目線分Ｌｉの線分データとに基づき、注目線分Ｌｉの中心画素が顔領域内にあるか否かに基づいて判断を行えばよい。注目線分Ｌｉが顔領域内にない場合（Ｓ５３：ＮＯ）、あえて肌用糸色の１色を注目線分Ｌｉに割り当てる必要はない。よって、ＣＰＵ１１は、Ｓ１０（図３および図５参照）で決定されたｎ色の使用糸色のうち１色を、注目線分Ｌｉに対応する縫目の縫製に使用される使用糸色として注目線分Ｌｉに割り当てる（Ｓ５４）。ＣＰＵ１１は、例えば、ｎ色の使用糸色のうち、Ｓ５２で特定された注目線分色ＡｉにＲＧＢ空間での距離が最も近い糸色を、注目線分Ｌｉに割り当てればよい。ＣＰＵ１１は、注目線分Ｌｉの線分データに、割り当てられた使用糸色を示すデータを対応付け、ＲＡＭ１２に記憶する。
【００５０】
注目線分Ｌｉが顔領域内にある場合（Ｓ５３：ＹＥＳ）、ＣＰＵ１１は、ＲＧＢ空間における基準肌色Ｃと注目線分色Ａｉとの間の距離ｄｉを算出する（Ｓ５５）。ＣＰＵ１１は、距離ｄｉが、第二閾値ｒ２より小さいか否かを判断する（Ｓ５６）。上述の通り、第二閾値ｒ２は、基準肌色Ｃにある程度近い色の範囲であって、肌用糸色が優先的に割り当てられる範囲を規定する閾値である。距離ｄｉが第二閾値ｒ２以上である場合（Ｓ５６：ＮＯ）、つまり、図４に示す糸色Ｃ７のように、注目線分色Ａｉが基準肌色Ｃから半径ｒ２の球内にはない場合、注目線分色Ａｉは、基準肌色Ｃにそれほど似ていない色である。よって、あえて肌用糸色の１色を注目線分Ｌｉに割り当てる必要はない。よって、ＣＰＵ１１は、上述のように、ｎ色の使用糸色のうち１色を注目線分Ｌｉに割り当てる（Ｓ５４）。
【００５１】
ＣＰＵ１１は、Ｓ５４の処理の後、全ての線分に使用糸色を割り当てたか否かを判断する（Ｓ６５）。使用糸色が割り当てられていない線分が残っていれば（Ｓ６５：ＮＯ）、ＣＰＵ１１はＳ５１の処理に戻り、未処理の他の線分を注目線分Ｌｉに設定しなおす。
【００５２】
基準肌色Ｃと注目線分色Ａｉとの間の距離ｄｉが第二閾値より小さい場合（Ｓ５６：ＹＥＳ）、つまり、図４に示す色Ｃ９のように、注目線分色Ａｉが基準肌色Ｃから半径ｒ２の球内にある場合、注目線分色Ａｉは、基準肌色Ｃにある程度似た色である。この場合、注目線分Ｌｉは、顔領域中の肌部分に対応する線分であると考えられる。よって、ＣＰＵ１１は、Ｓ４３（図５参照）で決定されたｍ色の肌用糸色のうち注目線分色Ａｉに最も近い色を、注目線分Ｌｉに割り当てる処理を行う（Ｓ６０〜Ｓ６５）。
【００５３】
ＣＰＵ１１はまず、ＲＧＢ空間における注目線分色Ａｉとｍ色の肌用糸色との間の夫々の距離の最小値を特定するための値Ｄｍｉｎ、注目線分色Ａｉとの間の距離が最小値Ｄｍｉｎとなる肌用糸色を特定するための値Ｔｍｉｎとして、未設定であることを示す初期値を設定し、ＲＡＭ１２に記憶する（Ｓ６０）。ＣＰＵ１１は、ｍ色の肌用糸色のうち未処理の１色を、注目肌用糸色Ｔｊとして設定する（Ｓ６１）。
【００５４】
ＣＰＵ１１は、注目肌用糸色Ｔｊと注目線分色Ａｉとの間の距離Ｄｉｊを算出する（Ｓ６２）。ＣＰＵ１１は、距離Ｄｉｊが値Ｄｍｉｎより小さいか否かを判断する（Ｓ６３）。値Ｄｍｉｎが初期値の場合、ＣＰＵ１１は、距離Ｄｉｊは値Ｄｍｉｎより小さいと判断し（Ｓ６３：ＹＥＳ）、値Ｄｍｉｎを距離Ｄｉｊで更新し、値Ｔｍｉｎを注目肌用糸色Ｔｊを示す値で更新する（Ｓ６４）。ｍ色の肌用糸色の全てについて処理が完了していなければ（Ｓ６５：ＮＯ）、ＣＰＵ１１はＳ６１の処理に戻り、未処理の肌用糸色を注目肌用糸色Ｔｊに設定しなおす。
【００５５】
注目肌用糸色Ｔｊと注目線分色Ａｉとの距離Ｄｉｊが値Ｄｍｉｎより小さい場合（Ｓ６３：ＹＥＳ）、先に処理された肌用糸色よりも、注目肌用糸色Ｔｊの方が注目線分色Ａｉに近い色である。よって、ＣＰＵ１１は、値Ｄｍｉｎを距離Ｄｉｊで更新し、値Ｔｍｉｎを注目肌用糸色Ｔｊを示す値で更新する（Ｓ６４）。距離Ｄｉｊが値Ｄｍｉｎ以上の場合（Ｓ６３：ＮＯ）、注目肌用糸色Ｔｊは、先に処理された肌用糸色よりも注目線分色Ａｉから遠い色か、同程度に似た色である。よって、ＣＰＵ１１は、値Ｄｍｉｎおよび値Ｔｍｉｎを更新せず、そのままＳ６５の処理に進む。
【００５６】
ＣＰＵ１１は、ｍ色の肌用糸色の全てについて処理が完了していなければ（Ｓ６５：ＮＯ）、Ｓ６１〜Ｓ６５の処理を繰り返す。ｍ色の肌用糸色の全てについて処理が完了すると（Ｓ６５：ＹＥＳ）、ＣＰＵ１１は、値Ｔｍｉｎによって特定される肌用糸色、つまり、注目線分色Ａｉに最も近い肌用糸色を、注目線分Ｌｉに対応する使用糸色として割り当てる（Ｓ６６）。
【００５７】
図４の例で、注目線分色Ａｉが色Ｃ９である場合、３色の肌用糸色Ｃ２、Ｃ３およびＣ５を順に注目肌用糸色Ｔｊとする処理が行われると、最初の処理では、糸色Ｃ２を示す値が値Ｔｍｉｎとされる。２巡目の処理では、色Ｃ９と糸色Ｃ２との距離よりも、色Ｃ９と糸色Ｃ３との距離の方が長いので、値Ｔｍｉｎは更新されない。３巡目の処理では、色Ｃ９と糸色Ｃ２との距離よりも、色Ｃ９と糸色Ｃ５との距離の方が短いので、値Ｔｍｉｎは糸色Ｃ５を示す値に更新されて、全ての肌用糸色の処理が完了する。これにより、色Ｃ９の注目線分Ｌｉには、糸色Ｃ２、Ｃ３およびＣ５のうち、色Ｃ９に最も近い糸色Ｃ５が割り当てられる。
【００５８】
ＣＰＵ１１は、使用糸色を割り当てる処理が完了していない線分が残っている間（Ｓ６７：ＮＯ）、注目線分Ｌｉを新たに設定し、注目線分Ｌｉが顔領域内にあれば肌用糸色のうち１色を、顔領域内になければ全ての使用糸色から１色を、注目線分Ｌｉに割り当てる処理を繰り返す（Ｓ５１〜Ｓ６７）。全ての線分に使用糸色を割り当てる処理が完了すると（Ｓ６７：ＹＥＳ）、ＣＰＵ１１は糸色割当て処理を終了し、図３の刺繍データ作成処理に戻る。
【００５９】
図３に示すように、ＣＰＵ１１は、糸色割当て処理（Ｓ２０）に続き、線分を接続する処理を行う（Ｓ２１）。具体的には、ＣＰＵ１１は、複数の線分のうち、同じ使用糸色が割り当てられた線分を順に接続して、使用糸色毎の線分データを作成する。ＣＰＵ１１は、例えば、線分の２つの端点を夫々縫目の始点と終点として、最初の線分の終点から最も近い位置にある同じ色の他の線分の端点を次の縫目の始点とする処理を繰り返すことで、線分を接続すればよい。ＣＰＵ１１は、Ｓ２１で作成された使用糸色毎の線分データに基づき、刺繍データを作成する（Ｓ２２）。ＣＰＵ１１は、各線分の端点の座標をミシン３に固有のＸＹ座標系の座標に変換することで、針落ち点の座標を算出する。また、ＣＰＵ１１は、線分の接続順を針落ち点の縫い順とする。このようにして、ＣＰＵ１１は、針落ち点の座標と、縫い順と、使用糸色を示す刺繍データを作成した後、図３に示す刺繍データ作成処理を終了する。
【００６０】
以上に説明したように、本実施形態では、元画像が人間の顔を含む場合、ＣＰＵ１１は、画像に対して顔領域が占める比率に応じて、人間の顔の肌部分の縫製に使用される少なくとも一の肌用糸色を決定する。そして、画像に対応する領域に配置された線分のうち、肌部分に配置された線分については、少なくとも一の肌用糸色の一つを優先的に割当てる。これにより、人間の顔の肌部分の縫製に、肌用糸色以外の糸色が使用されるのを防止することができる。従って、本実施形態の刺繍データ作成処理によれば、肌色で表されるのが前提の人間の顔を含む画像を表現するのに適した糸色を選択して刺繍データを作成することができる。
【００６１】
以下、図８〜図１０を参照して、別の実施形態に係る刺繍データ作成処理について説明する。以下で説明する刺繍データ作成処理の一部は、上述の実施形態の刺繍データ作成処理（図３参照）と共通する。よって、図８では、図３の処理と同一内容のステップについては同一の記号を付す。また、以下では、上述の実施形態とは異なる処理の内容について、主に説明する。
【００６２】
図８に示すように、元画像の画像データに基づき線分を配置し、使用糸色を決定するまでのＳ１〜Ｓ１０の処理は、上述の実施形態と同一であり、図３を参照して説明した通りである。その後、ＣＰＵ１１は、元画像の色に基づいて元画像を複数の領域に分割し、複数の線分の各々を、分割後の複数の領域の何れかに対応付ける処理を行う（Ｓ１２〜Ｓ１４）。本実施形態では、Ｓ１２〜Ｓ１４の処理として、特開２０１０−２７３８５９号公報（米国特許出願公開第２０１０／０３０５７４４号公報）に、メイン処理のＳ５０〜Ｓ７０の処理として詳細が開示されている処理が採用される。
【００６３】
簡単に説明すると、ＣＰＵ１１はまず、元画像の色に基づいて、元画像をいくつの領域に分割するかを示す分割数Ｎを設定する（Ｓ１２）。分割数Ｎは、予め設定された値またはユーザが指定した値である。分割数Ｎは、使用糸色数ｎと同じである必要はないが、同程度であることが好ましい。ＣＰＵ１１は、元画像の画像データに基づいて、例えばメディアンカット法を用いて元画像の色をＮ色の代表色に減色することで、元画像をＮ個の領域に分割する（Ｓ１３）。減色後に同じ代表色を有する画素の集まりが、1個の領域となる。
【００６４】
ＣＰＵ１１は、Ｓ８で配置された線分の各々を、Ｎ個の領域のいずれかに対応付ける（Ｓ１４）。具体的には、各線分は、その中心画素を含む領域に対応付けられる。ＣＰＵ１１は、Ｎ個の領域の夫々について、元画像中の位置を示すデータ、代表色を示すデータ、その領域の線分の線分データとを対応付けてＲＡＭ１２に記憶する。
【００６５】
続いてＣＰＵ１１は、Ｎ個の領域の各々に、少なくとも一の領域糸色を割り当てる領域糸色割当て処理を行う（Ｓ１５および図９）。領域糸色は、その領域に対応付けられた線分に対応する縫目の縫製に使用される使用糸色の候補である。図９に示すように、ＣＰＵ１１はまず、第三閾値ｒ３を設定する（Ｓ７０）。第三閾値ｒ３は、領域の代表色にある程度近似する色の範囲を規定する、色空間における代表色からの距離の閾値である。第三閾値ｒ３は、ユーザが指定した値であってもよいし、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶された値であってもよい。
【００６６】
ＣＰＵ１１は、Ｎ個の領域のうち未処理の一の領域を、処理対象である注目領域Ｒｉとして設定し（Ｓ７１）、注目領域Ｒｉの代表色である注目領域色Ｃｉを特定する（Ｓ７２）。ＣＰＵ１１は、ＲＡＭ１２に記憶された注目領域Ｒｉの位置のデータと、顔領域の位置を示すデータとに基づき、注目領域Ｒｉの少なくとも一部が顔領域と重なるか否かを判断する（Ｓ７３）。
【００６７】
注目領域Ｒｉの少なくとも一部が顔領域と重なる場合（Ｓ７３：ＹＥＳ）、ＣＰＵ１１は、ＲＧＢ空間における基準肌色Ｃと注目領域色Ｃｉとの間の距離ｄｉを算出する（Ｓ７５）。距離ｄｉが第二閾値ｒ２より小さい場合（Ｓ７６：ＹＥＳ）、注目領域色Ｃｉは、基準肌色Ｃにある程度似た色である。この場合、注目領域Ｒｉは、顔領域中の肌部分に対応する領域であると考えられる。よって、ＣＰＵ１１は、ｍ色の肌用糸色のうち、ＲＧＢ空間において注目領域色Ｃｉから半径ｒ３の球内にある肌用糸色を、注目領域Ｒｉに領域糸色として割り当てる処理を行う（Ｓ８０〜Ｓ８６）。
【００６８】
ＣＰＵ１１はまず、ＲＧＢ空間における注目領域色Ｃｉとｍ色の肌用糸色との間の夫々の距離の最小値を特定するための値Ｄｍｉｎ、注目領域色Ｃｉとの間の距離が最小値Ｄｍｉｎとなる肌用糸色を特定するための値Ｔｍｉｎとして、未設定であることを示す初期値を設定し、ＲＡＭ１２に記憶する（Ｓ８０）。ＣＰＵ１１は、ｍ色の肌用糸色のうち未処理の１色を、注目肌用糸色Ｔｊとして設定する（Ｓ８１）。
【００６９】
ＣＰＵ１１は、注目肌用糸色Ｔｊと注目領域色Ｃｉとの間の距離Ｄｉｊを算出する（Ｓ８２）。ＣＰＵ１１は、距離Ｄｉｊが値Ｄｍｉｎより小さいか否かを判断する（Ｓ８３）。値Ｄｍｉｎが初期値の場合、ＣＰＵ１１は、距離Ｄｉｊは値Ｄｍｉｎより小さいと判断し（Ｓ８３：ＹＥＳ）、値Ｄｍｉｎを距離Ｄｉｊで更新し、値Ｔｍｉｎを注目肌用糸色Ｔｊを示す値で更新する（Ｓ８４）。ＣＰＵ１１は更に、距離Ｄｉｊが第三閾値ｒ３より小さいか否か、つまり、ＲＧＢ空間において、注目肌用糸色Ｔｊが注目領域色Ｃｉから半径ｒ３の球内にあるか否かを判断する（Ｓ８５）。
【００７０】
距離Ｄｉｊが第三閾値ｒ３より小さい場合（Ｓ８５：ＹＥＳ）、ＣＰＵ１１は、注目肌用糸色Ｔｊを、領域糸色として注目領域Ｒｉに割り当てる（Ｓ８６）。ＣＰＵ１１は、注目領域Ｒｉに割り当てられた領域糸色を示すデータを、ＲＡＭ１２に記憶する。距離Ｄｉｊが第三閾値ｒ３以上である場合（Ｓ８５：ＮＯ）、ＣＰＵ１１は、注目領域Ｒｉに領域糸色を割り当てることなく、Ｓ８７の処理に進む。
【００７１】
ｍ色の肌用糸色の全てについて処理が完了していなければ（Ｓ８７：ＮＯ）、ＣＰＵ１１はＳ８１の処理に戻り、未処理の肌用糸色を注目肌用糸色Ｔｊに設定しなおす。注目肌用糸色Ｔｊと注目領域色Ｃｉとの距離Ｄｉｊが値Ｄｍｉｎより小さい場合（Ｓ８３：ＹＥＳ）、先に処理された肌用糸色よりも、注目肌用糸色Ｔｊの方が注目領域色Ｃｉに近い色である。よって、ＣＰＵ１１は、値Ｄｍｉｎと値Ｔｍｉｎを更新する（Ｓ８４）。距離Ｄｉｊが値Ｄｍｉｎ以上の場合（Ｓ８３：ＮＯ）、注目肌用糸色Ｔｊは、先に処理された肌用糸色よりも注目領域色Ｃｉから遠い色か、同程度に似た色である。よって、ＣＰＵ１１は、値Ｄｍｉｎおよび値Ｔｍｉｎを更新せず、そのままＳ８５の処理に進む。
【００７２】
図１０に示す例では、基準肌色Ｃから半径ｒ１内にある肌用糸色Ｃ２、Ｃ３、Ｃ５のうち、肌用糸色Ｃ２およびＣ３は、色Ｃ１０を中心とする半径ｒ３の球内にある。色Ｃ１０は、基準肌色Ｃから半径ｒ２の球内にある。よって、色Ｃ１０が注目領域色Ｃｉであり、肌用糸色Ｃ２が最初の注目肌用糸色Ｔｊとされた場合、注目領域Ｃｉには最初の処理で肌用糸色Ｃ２が割り当てられる。次に肌用糸色Ｃ３が注目肌用糸色Ｔｊとされた場合、肌用糸色Ｃ３も色Ｃ１０から半径ｒ３の球内にあるので、肌用糸色Ｃ２に加え、肌用糸色Ｃ３も注目領域Ｃｉに割り当てられる。次に肌用糸色Ｃ５が注目肌用糸色Ｔｊとされた場合、肌用糸色Ｃ５は色Ｃ１０から半径ｒ３の球内にないので、肌用糸色Ｃ５は、注目領域Ｃｉに割り当てられない。このようにして、Ｓ８０〜Ｓ８６の処理で、基準肌色Ｃにある程度近い代表色を有する領域には、代表色にある程度近い肌用糸色が割り当てられる。
【００７３】
ＣＰＵ１１は、全肌用糸色の処理が完了すると（Ｓ８７：ＹＥＳ）、注目領域Ｒｉに割り当てられた領域糸色の数が０より大きいか否かを判断する（Ｓ９１）。上述の例のように、注目領域色Ｃｉから半径ｒ３の球内にある１以上の肌用糸色が注目領域Ｒｉに割り当てられた場合（Ｓ９１：ＹＥＳ）、ＣＰＵ１１は、そのままＳ９３の処理に進む。領域糸色の数が０である場合（Ｓ９１：ＮＯ）、注目領域Ｒｉは、顔領域と少なくとも一部が重なるにもかかわらず、領域糸色として肌用糸色が割り当てられていない状態である。よって、ＣＰＵ１１は、値Ｔｍｉｎが示す肌用糸色、つまり、注目領域色Ｃｉに最も近い肌用糸色を、領域糸色として注目領域Ｒｉに割り当て（Ｓ９２）、Ｓ９３の処理に進む。
【００７４】
注目領域Ｒｉの少なくとも一部が顔領域と重ならなければ（Ｓ７３：ＮＯ）、あえて肌用糸色を注目領域Ｒｉに割り当てる必要はない。また、距離ｄｉが第二閾値ｒ２以上の場合も（Ｓ７６：ＮＯ）、肌用糸色を注目領域Ｒｉに割り当てる必要はない。よって、このような場合、ＣＰＵ１１は、ｎ色の使用糸色のうち少なくとも１色を、領域糸色として注目領域Ｒｉに割り当て（Ｓ７４）、Ｓ９３の処理に進む。
【００７５】
本実施形態では、特開２０１０−２７３８５９号公報（米国特許出願公開第２０１０／０３０５７４４号公報）に詳細が開示されている領域糸色割当て処理が、Ｓ７４の処理として採用される。簡単に説明すると、ＣＰＵ１１は、ｍ色の肌用糸色をｎ色の使用糸色に代えて、上述のＳ８０〜Ｓ９２と同様の処理を行い、注目領域色Ｃｉから半径ｒ３の球内にある使用糸色を全て領域糸色とする。注目領域色Ｃｉから半径ｒ３の球内に使用糸色が１色もない場合には、ＣＰＵ１１は、注目領域色Ｃｉに最も近い使用糸色１色を領域糸色として割り当てる。
【００７６】
Ｎ個の領域の全ての処理が完了しない間（Ｓ９３：ＮＯ）、ＣＰＵ１１は、注目領域Ｒｉを新たに設定し、注目領域Ｒｉが顔領域内にあれば肌用糸色のうち少なくとも１色を、顔領域内になければ全ての使用糸色から少なくとも１色を領域糸色として注目領域Ｒｉに割り当てる処理を繰り返す（Ｓ７１〜Ｓ９３）。全ての領域に領域糸色を割り当てる処理が完了すると（Ｓ９３：ＹＥＳ）、ＣＰＵ１１は領域糸色割当て処理を終了し、図８の刺繍データ作成処理に戻る。
【００７７】
図８に示すように、ＣＰＵ１１は、領域糸色割当て処理（Ｓ１５）に続き、線分の各々に、領域糸色から１色を割り当てる処理を行う（Ｓ１６）。本実施形態では、Ｓ１６の処理として、特開２０１０−２７３８５９号公報（米国特許出願公開第２０１０／０３０５７４４号公報）に、メイン処理のＳ１３０の処理として詳細が開示されている処理が採用される。簡単に説明すると、ＣＰＵ１１は、Ｓ１４で領域に対応付けられた線分データと、Ｓ１５の領域糸色割当て処理で各領域に割り当てられた領域糸色のデータに基づき、各線分に対応する縫目を縫製するための使用糸色として、その線分が対応付けられた領域の領域糸色のうち１色を割り当てる。例えば、ＣＰＵ１１は、各線分の中心画素の色に最も近い領域糸色を割当てればよい。
【００７８】
全ての線分に対応する使用糸色を決定した後の、線分を接続する処理（Ｓ２１）および刺繍データを作成する処理（Ｓ２２）は、上述の実施形態と同一である。
【００７９】
以上に説明した通り、本実施形態では、元画像が夫々異なる代表色を有するＮ個の領域に分割され、配置された線分の各々は、Ｎ個の領域のいずれかに対応付けられる。更に、各領域の代表色に基づいて、各領域に対応付けられた線分に対応する使用糸色の候補として、各領域に、少なくとも一の領域糸色が割り当てられる。このとき、領域の少なくとも一部が顔領域と重なり、その領域の代表色が基準肌色Ｃから第二閾値ｒ２の範囲内にある場合には、その領域には少なくとも一の肌用糸色が割り当てられる。その結果、その領域に対応付けられた線分には、使用糸色として、肌用糸色が割り当てられる。これにより、人間の顔の肌部分の縫製に、肌用糸色以外の糸色が使用されるのを防止することができる。従って、本実施形態の刺繍データ作成処理によれば、肌色で表されるのが前提の人間の顔を含む画像を表現するのに適した糸色を選択して刺繍データを作成することができる。
【００８０】
また、本実施形態では、顔領域と少なくとも一部が重なる領域の代表色についてのみ、基準肌色Ｃから第二閾値ｒ２の範囲内にあるか否かが判断される。よって、顔領域内にある線分の色について基準肌色Ｃから第二閾値ｒ２の範囲内にあるか否かが判断される上述の実施形態に比べ、処理が早くなる。
【００８１】
以下、図１１〜図１４を参照して、更に別の実施形態に係る刺繍データ作成処理について説明する。以下で説明する刺繍データ作成処理は、最初の実施形態の刺繍データ作成処理（図３参照）と、使用糸色決定処理（Ｓ１０）および糸色割当て処理（Ｓ２０）の内容のみが異なる。よって、以下では、本実施形態の使用糸色決定処理および使用糸色決定処理の内容についてのみ説明する。
【００８２】
図１１に示すように、本実施形態の使用糸色決定処理では、ＣＰＵ１１はまず、使用糸色数ｎを設定する（Ｓ１８）。この処理は、最初の実施形態の図５のＳ３１の処理と同じである。続いてＣＰＵ１１は、候補糸色から、図５のＳ４４およびＳ４５の処理と同様の方法でｎ色の使用糸色を決定する（Ｓ１９）。具体的には、ＣＰＵ１１は、元画像の色を、メディアンカット法等を用いてｎ色に減色し、全ての候補糸色のうち、減色後のｎ色の各々からＲＧＢ空間において所定距離内にあり、且つ、すでに決定されている糸色からできるだけ遠い色を、順にｎ色選択する。
【００８３】
ＣＰＵ１１は更に、顔領域比率Ｓを算出し、顔領域比率Ｓに応じて肌用糸色ｍ色を決定する（Ｓ３５〜Ｓ４３）。この処理は、最初の実施形態の使用糸色決定処理で行われるのと同一であるため、説明は省略する。ＣＰＵ１１は、肌用糸色ｍ色を決定すると、使用糸色決定処理を終了する。
【００８４】
なお、本実施形態では、Ｓ１９で決定されるｎ色の使用糸色は、肌用糸色を含むとは限らない。Ｓ４３で決定されたｍ色の肌用糸色は、後述する糸色割当て処理（図１２参照）で、所定の条件を満たす線分の使用糸色の置換えに使用される色となる。ｍ色の肌用糸色は、全て使用糸色とされるとは限らず、ｍは、置換えられる使用糸色の数の上限値である。
【００８５】
図１２に示すように、本実施形態の糸色割当て処理では、ＣＰＵ１１はまず、元画像の色に基づいて、元画像に対応する領域に配置された線分の各々に、ｎ色の使用糸色の１色を割り当てる処理を行う（Ｓ１０１）。本実施形態では、Ｓ１０１では、特開２００１−２５９２６８号公報（米国特許出願公開第２００２／００３８１６２号明細書）に詳細が開示されている方法で各線分の色が決定された後、線分の色に応じて使用糸色が割り当てられる。具体的には、最初の実施形態の色割当て処理のＳ５１およびＳ５４（図７参照）に関して説明した通り、ＣＰＵ１１は、元画像の色と既に決定された線分の色に基づいて各線分の色を決定し、ｎ色の使用糸色のうち各線分の色に最も近い使用糸色を、その線分に割り当てる。ＣＰＵ１１は、割り当てた使用糸色を示すデータを各線分の線分データに対応付けてＲＡＭ１２に記憶する。
【００８６】
ＣＰＵ１１は、ｎ色の使用糸色のうち１色を、処理対象の注目糸色Ｂｉとして設定し（Ｓ１０２）、ＲＧＢ空間における基準肌色Ｃと注目糸色Ｂｉとの間の距離ｄｉを算出する（Ｓ１０３）。ＣＰＵ１１は、距離ｄｉが第二閾値ｒ２より小さく、且つ第一閾値ｒ１より大きいか否かを判断する（Ｓ１０４）。距離ｄｉが第二閾値ｒ２より小さく、且つ第一閾値ｒ１より大きい場合、注目糸色Ｂｉは、図４に示す基準肌色Ｃを中心とする半径ｒ２の球内、且つ、半径ｒ１の球外にあることを意味する。つまり、注目糸色Ｂｉは、肌用糸色とされる範囲内にはないが、基準肌色Ｃからある程度近い範囲にある色であるため、肌部分に割り当てられた可能性がある糸色である。
【００８７】
距離ｄｉが第二閾値ｒ２より小さいという第一の条件と、距離ｄｉが第一閾値ｒ１より大きいという第二の条件のうち、少なくとも一方が満たされない場合（Ｓ１０４：ＮＯ）、ＣＰＵ１１はそのままＳ１１１の処理に進む。一方、第一の条件と第二の条件の両方が満たされる場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ１１は、注目糸色Ｂｉを置き換える場合に使用される糸色を決定する置換え糸色決定処理を行う（Ｓ１０５および図１３）。
【００８８】
図１３に示すように、ＣＰＵ１１はまず、ＲＧＢ空間における注目糸色Ｂｉとｍ色の肌用糸色との間の夫々の距離の最小値を特定するための値Ｄｍｉｎ、注目糸色Ｂｉとの間の距離が最小値Ｄｍｉｎとなる肌用糸色を特定するための値Ｔｍｉｎとして、未設定であることを示す初期値を設定し、ＲＡＭ１２に記憶する（Ｓ１２１）。ＣＰＵ１１は、ｍ色の肌用糸色のうち未処理の１色を、注目肌用糸色Ｔｊとして設定する（Ｓ１２２）。
【００８９】
ＣＰＵ１１は、注目肌用糸色Ｔｊと注目糸色Ｂｉとの間の距離Ｄｉｊを算出する（Ｓ１２３）。値Ｄｍｉｎが初期値の場合、ＣＰＵ１１は、距離Ｄｉｊは値Ｄｍｉｎより小さいと判断し（Ｓ１２４：ＹＥＳ）、値Ｄｍｉｎを距離Ｄｉｊで更新し、値Ｔｍｉｎを注目肌用糸色Ｔｊを示す値で更新する（Ｓ１２５）。ｍ色の肌用糸色の全てについて処理が完了していなければ（Ｓ１２６：ＮＯ）、ＣＰＵ１１はＳ１２２の処理に戻り、未処理の肌用糸色を注目肌用糸色Ｔｊに設定しなおす。
【００９０】
注目肌用糸色Ｔｊと注目糸色Ｂｉとの距離Ｄｉｊが値Ｄｍｉｎより小さい場合（Ｓ１２４：ＹＥＳ）、先に処理された肌用糸色よりも、注目肌用糸色Ｔｊの方が注目糸色Ｂｉに近い色なので、ＣＰＵ１１は、値Ｄｍｉｎと値Ｔｍｉｎを更新する（Ｓ１２５）。距離Ｄｉｊが値Ｄｍｉｎ以上の場合（Ｓ１２４：ＮＯ）、注目肌用糸色Ｔｊは、先に処理された肌用糸色よりも注目糸色Ｂｉから遠い色か、同程度に似た色である。よって、ＣＰＵ１１は、そのままＳ１２５の処理に進む。
【００９１】
ＣＰＵ１１は、ｍ色の肌用糸色の全てについて処理が完了しない間は（Ｓ１２６：ＮＯ）、Ｓ１２２〜Ｓ１２６の処理を繰り返す。ｍ色の肌用糸色の全てについて処理が完了すると（Ｓ１２６：ＹＥＳ）、ＣＰＵ１１は、値Ｔｍｉｎによって特定される肌用糸色を、注目糸色Ｂｉが置き換えられる糸色である置換え糸色Ｓｉとして決定する（Ｓ１２７）。ＣＰＵ１１は、注目糸色Ｂｉと置換え糸色Ｓｉとを示すデータをＲＡＭ１２に記憶する。ＣＰＵ１１は、置換え糸色決定処理を終了し、図１２の糸色割当て処理に戻る。
【００９２】
図１２に示すように、ＣＰＵ１１は、置換え糸色決定処理（Ｓ１０５）の後、顔領域において、注目糸色Ｂｉが割り当てられた線分の数をカウントする線分数算出処理を行う（Ｓ１０６および図１４）。図１４に示すように、線分数算出処理において、ＣＰＵ１１はまず、顔領域内にある注目糸色Ｂｉが割り当てられた線分の数をカウントするための変数ＣｎｔＢｉの値を０に設定する（Ｓ１３１）。ＣＰＵ１１は、Ｓ１０１で割り当てられた使用糸色が注目糸色Ｂｉである線分のうち一つを、注目線分Ａｘとして設定する（Ｓ１３２）。
【００９３】
ＣＰＵ１１は、注目線分Ａｘの中心画素が顔領域内にあるかに基づき、注目線分Ａｘが顔領域内にある線分か否かを判断する（Ｓ１３３）。注目線分Ａｘが顔領域内になければ（Ｓ１３３：ＮＯ）、カウントする必要がないので、ＣＰＵ１１は、そのままＳ１３５の処理に進む。注目線分Ａｘが顔領域内にあれば（Ｓ１３３：ＹＥＳ）、注目線分Ａｘは、肌部分に対応する線分であると考えられる。よって、ＣＰＵ１１は、変数ＣｎｔＢｉの値に１を加算し（Ｓ１３４）、Ｓ１３５の処理に進む。
【００９４】
ＣＰＵ１１は、使用糸色が注目糸色Ｂｉである全ての線分について処理が完了しない間は（Ｓ１３５：ＮＯ）、Ｓ１３２〜Ｓ１３５の処理を繰り返し、顔領域において、注目糸色Ｂｉが割り当てられた線分の数をカウントする。全ての線分について処理が完了すると（Ｓ１３５：ＹＥＳ）、ＣＰＵ１１は、注目糸色Ｂｉと変数ＣｎｔＢｉの値を示すデータをＲＡＭ１２に記憶し、線分数算出処理を終了して、図１２の糸色割当て処理に戻る。
【００９５】
図１２に示すように、線分数算出処理（Ｓ１０６）の後、ＣＰＵ１１は、ｎ色の使用糸色の全てについて処理が完了したか否かを判断する（Ｓ１１１）。全ての使用糸色の処理が完了しない間（Ｓ１１１：ＮＯ）、ＣＰＵ１１は、各使用糸色が上述の第一の条件と第二の条件を満たせば、置換え糸色を決定し、顔領域内にあるその色の線分の数をカウントする処理を繰り返す（Ｓ１０２〜Ｓ１１１）。全ての使用糸色の処理が完了すると（Ｓ１１１：ＹＥＳ）、ＣＰＵ１１は、線分数算出処理（Ｓ１０６）で記憶された変数ＣｎｔＢｉの値を示すデータに基づき、Ｓ１０５で置換え糸色が決定された使用糸色を、変数ＣｎｔＢｉの値が大きい順、つまり、顔領域にある線分の数が多い順にソートする（１１２）。
【００９６】
ＣＰＵ１１は、ソート後の順位に基づき、置換え糸色が決定された使用糸色のうち、実際に糸色を置換える対象を決定する（Ｓ１１３）。具体的には、置換え糸色が決定された使用糸色の数がｍより大きい場合には、ＣＰＵ１１は、ソート後の順位が上位にあるｍ色を、置換え対象として決定する。置換え糸色が決定された使用糸色の数がｍ以下の場合には、ＣＰＵ１１は、置換え糸色が決定された使用糸色の全てを置換え対象として決定する。
【００９７】
ＣＰＵ１１は、置換え対象とされた使用糸色のうち１色を、注目糸色Ｂｉとして設定し（Ｓ１１４）、Ｓ１０１で割り当てられた使用糸色が注目糸色Ｂｉである線分のうち一つを、注目線分Ａｘとして設定する（Ｓ１１５）。ＣＰＵ１１は、注目線分Ａｘの中心画素が顔領域内にあるかに基づき、注目線分Ａｘが顔領域内にある線分か否かを判断する（Ｓ１１６）。注目線分Ａｘが顔領域内にある場合（Ｓ１１６：ＹＥＳ）、ＣＰＵ１１は、注目線分Ａｘに対応する使用糸色を、置換え糸色決定処理のＳ１２７（図１３参照）で、注目糸色Ｂｉに対して決定された置換え糸色Ｓｉに置き換える（Ｓ１１７）。具体的には、Ｓ１０１で注目線分Ａｘの線分データに対応付けられた使用糸色を示すデータを、置換え糸色を示すデータに変更する。注目線分Ａｘが顔領域内にない場合（Ｓ１１６：ＮＯ）、ＣＰＵ１１は、注目線分Ａｘの使用糸色を置き換えることなく、そのままＳ１１８の処理に進む。
【００９８】
使用糸色が注目糸色Ｂｉである未処理の線分が残っている間は（Ｓ１１８：ＮＯ）、ＣＰＵ１１は、注目線分Ａｘが顔領域内にあれば、その使用糸色を置換え糸色に置き換える処理を繰り返す（Ｓ１１５〜Ｓ１１８）。未処理の置換え対象が残っている間は（Ｓ１１９：ＮＯ）、ＣＰＵ１１は、各置換え対象の使用糸色が割り当てられた線分が顔領域内にあれば、使用糸色を置換え糸色に置き換える処理を繰り返す（Ｓ１１４〜Ｓ１１９）。全ての置換え対象について処理が完了すると（Ｓ１１９：ＹＥＳ）、ＣＰＵ１１は、図１２の糸色割当て処理を終了する。
【００９９】
なお、本実施形態では、最初に線分に割り当てられる使用糸色はｎ色であるが、そのうち最大ｍ色が肌用糸色に置き換えられる。このとき、ｎ色の使用糸色の中に、置換え糸色とされる全ての肌用糸色が元々含まれていれば、Ｓ１１７で使用糸色が置き換えられても、最終的な使用糸色の数はｎである。しかし、ｎ色の使用糸色の中に、置換え糸色とされる肌用糸色が含まれていない場合には、置き換えられた肌用糸色の数（上限ｍ）だけ、最終的な使用糸色の数が増加することになる。
【０１００】
以上に説明したように、本実施形態では、最初に全ての線分に対して使用糸色が決定される。その後、顔領域内にあり、且つ、肌色糸色ではないがそれに近い使用糸色が割り当てられた線分、つまり、人間の顔の肌部分に対応する線分の数が、使用糸色毎にカウントされる。そして、カウントされた線分の数が多い方からｍ色を上限として、顔領域内にあり、且つ、肌色糸色ではないがそれに近い使用糸色が割り当てられた線分の使用糸色が、最も近い肌用糸色に置き換えられる。これにより、人間の顔の肌部分の縫製に、肌用糸色以外の糸色が使用されるのを防止することができる。従って、本実施形態の刺繍データ作成処理によれば、肌色で表されるのが前提の人間の顔を含む画像を表現するのに適した糸色を選択して刺繍データを作成することができる。
【０１０１】
上記実施形態には、種々の変更を加えることができる。例えば、上述の実施形態は、人間の顔の肌部分を特定の対象物とする例であるが、特定の対象物は、特定の糸色で縫製されることが所望される他の対象物であってもよい。例えば、人間の顔の肌以外の部分でも、例えば、人間の目が特定の対象物とされ、青色が特定の糸色とされてもよい。人間の顔に限らず、木の葉の緑、空の青等が、特定の対象物と特定の糸色とされてもよい。また、例えば、複数の特定の対象物と、特定の対象物の夫々に対応する基準色とが互いに対応付けられたデータが、ＨＤＤ１５の設定値記憶エリア１５４に予め記憶されていてもよい。この場合、ＣＰＵ１１は、刺繍データ作成処理のＳ２（図３参照）において、ユーザが、キーボード２１を用いて指定した特定の対象物に対応する基準色のデータを読み出して、基準色を設定すればよい。あるいは、ＣＰＵ１１は、複数の候補糸色の中からユーザが選択した糸色を、基準色として設定してもよい。
【０１０２】
図５の使用糸色決定処理において、肌用糸色数ｍは、必ずしも顔領域比率Ｓに応じた数とされなくてもよい。例えば、ユーザが元画像をみて、適切と思われる値を指定してもよい。また、肌用糸色は、必ずしも基準肌色Ｃから第一閾値ｒ１の範囲内にある糸色である必要はなく、ユーザが指定した糸色であってもよい。
【０１０３】
上述の実施形態は、矩形状の顔領域内にある、基準肌色Ｃから第二閾値ｒ２の範囲内にある色の線分、または顔領域と少なくとも一部が重なり、且つ、代表色が基準肌色Ｃから第二閾値ｒ２の範囲内にある領域を、肌部分に対応する線分または領域とみなして処理を行う例である。しかしながら、肌部分に対応する線分または領域は、必ずしも上述の実施形態のような方法で特定される必要はない。例えば、顔検出時に検出された、目、鼻、口、眉毛、眼鏡等との相対距離から、肌部分に対応する線分または領域が特定されてもよい。
【０１０４】
図１１〜図１４に示す実施形態において、置換え対象となった使用糸色が割り当てられた線分については、顔領域内の線分だけでなく、元画像に対応する領域全体に配置された全線分の使用糸色が置き換えられてもよい。この場合、ｍ色が肌用糸色に置き換えられたとしても、最終的な使用糸色の数は、最初に線分に割り当てられる使用糸色の数ｎから増加することはない。
【０１０５】
画像データは、各画素の色をＲＧＢ値ではなく他の形式（例えば、色相、明度、彩度）で示すデータであってもよい。
【符号の説明】
【０１０６】
１  刺繍データ作成装置
３  ミシン
１１  ＣＰＵ
１５  ＨＤＤ
【図１】
2014213107.tif 000003
【図２】
2014213107.tif 000004
【図３】
2014213107.tif 000005
【図４】
2014213107.tif 000006
【図５】
2014213107.tif 000007
【図６】
2014213107.tif 000008
【図７】
2014213107.tif 000009
【図８】
2014213107.tif 000010
【図９】
2014213107.tif 000011
【図１０】
2014213107.tif 000012
【図１１】
2014213107.tif 000013
【図１２】
2014213107.tif 000014
【図１３】
2014213107.tif 000015
【図１４】
2014213107.tif 000016