説明

刺繍データ作成装置及び刺繍データ作成プログラム

【課題】画像データに基づき、より自然な仕上がりの刺繍模様を形成する刺繍データを作成する刺繍データ作成装置及び刺繍データ作成プログラムを提供すること。
【解決手段】刺繍データ作成装置において、縫製に用いる使用糸色が取得される。第1線分データが作成される。展開データが作成される(S202,S204)。展開データが参照され、検出画素が検出される(S208,S210)。第2注目画素と延伸方向画素とに重なる第2線分を表す第2線分データが作成される(S220)。第2線分データに刺繍糸色が割り当てられる。接続線分データが作成される。第2線分データと第2線分データに割り当てられた刺繍糸色と接続線分データとに基づいて刺繍データが作成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、刺繍ミシンを用いて刺繍模様を縫製するための刺繍データを作成する刺繍データ作成装置、及び刺繍データ作成プログラムに関する。
【背景技術】
【0002】
従来、写真やイラスト等の画像から画像データを取得し、その画像データに基づいて刺繍模様を縫製するための刺繍データを作成する刺繍データ作成装置が知られている(例えば、特許文献1参照)。刺繍データ作成装置では、次の手順で刺繍データが作成される。まず、画像データに基づいて、縫目の形状と相対位置とを示す線分データが作成され、それぞれの線分データに縫目の色を示す糸色データが割り当てられる。続いて、同じ糸色データが割り当てられた線分データによって表される線分が複数ある場合、それらの線分を接続する接続線分を表す接続線分データが作成される。接続線分上に縫目を形成させた場合に、その縫目が後から縫製される縫目によって覆われる場合には、その接続線分上を走り縫いさせる針落ち点データが作成される。そして、縫製順序と、糸色と、針落ち点の相対位置と、縫目の種類とを指示する刺繍データが作成される。
【0003】
画像を刺繍模様で表現する際には、長さが長い縫目の割合が多い方が、長さが長い縫目の割合が少ない場合に比べ、見た目が美しく、刺繍模様として自然な仕上がりとなる。また、刺繍領域にほぼ等しい密度の縫目が形成される方が、刺繍領域に不均一な密度の縫目が形成される場合に比べ、見た目が美しく、刺繍模様として自然な仕上がりとなる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−259268号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の刺繍データ作成装置では、線分データは、線分データによって表される線分L1と重なる線分L2と、その画素の周囲にある周囲画素と重なる周囲線分L3とを十分に考慮して作成されなかった。このため、線分データと、接続線分データとに基づき刺繍データが作成された場合に、刺繍模様として不自然な仕上がりとなる場合があった。
【0006】
本発明は、上述の問題点を解決するためになされたものであり、画像データに基づき、より自然な仕上がりの刺繍模様を形成する刺繍データを作成する刺繍データ作成装置及び刺繍データ作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、第1態様の刺繍データ作成装置は、 複数の画素を含む画像を表す画像データに基づき、刺繍模様の縫製に用いられる刺繍データを作成する刺繍データ作成装置において、前記刺繍模様の縫製に用いる糸の色を使用糸色として取得する糸色取得手段と、少なくとも1の前記画素を含む第1注目画素を表現する第1線分データを、当該第1注目画素を表す注目画素データに基づいて作成する第1線分データ作成手段と、前記第1線分データ作成手段によって作成された前記第1線分データに基づき、前記第1線分データによって表される第1線分と重なる画素と、当該第1線分の延伸方向を表す角度データとを対応付けた展開データを作成する展開データ作成手段と、前記展開データにおける第2注目画素からみて、当該第2注目画素に対応する注目角度データが表す延伸方向にあり、かつ、当該注目角度データが示す角度と類似する角度を示す角度データが対応付けられた画素を、延伸方向画素として特定し、前記第2注目画素と前記延伸方向画素とに重なる第2線分を表す第2線分データを作成する第2線分データ作成手段と、前記糸色取得手段によって取得された前記使用糸色の中から、前記第2線分と重なる画素の色を表現する糸色を刺繍糸色として当該第2線分を表す前記第2線分データに割り当てる配色手段と、前記配色手段により割り当てられた前記刺繍糸色が同じである前記第2線分データによって表される同色線分が複数ある場合に、当該複数の同色線分を接続するための接続線分データを作成する接続線分データ作成手段と、前記第2線分データ作成手段によって作成された前記第2線分データと、前記配色手段によって当該第2線分データに割り当てられた前記刺繍糸色と、前記接続線分データ作成手段によって作成された前記接続線分データとに基づいて、縫製順序と、糸色データと、針落ち点データとを含む前記刺繍データを作成する刺繍データ作成手段とを備えている。
【0008】
第1態様の刺繍データ作成装置は、第2注目画素からみて注目角度データが表す延伸方向にある画素に対応付けられた角度データを考慮して、針落ち点データのもととなる第2線分データを作成することができる。例えば、類似する角度で伸びる2本の第1線分の一部が重なっているような場合に、2本の第1線分について接続線分を表す接続線分データが作成されると、2本の第1線分が必ずしも接続されるとは限らない。2本の第1線分が接続線分によって接続される場合であっても、2本の第1線分が重複する部分に接続線分が形成されることになるため、従来の刺繍データ作成装置では、重複部分に縫目が密集した不自然な刺繍模様を形成する刺繍データとなる可能性があった。これに対し、第1態様の刺繍データ作成装置は、類似する角度で伸びる2本の第1線分の一部が重なっているような場合には、2本の第1線分を1本の第2線分としてまとめることができる。したがって、第1態様の刺繍データ作成装置は、連続した(長さが長い)縫目の割合を増やすことができる。このため刺繍データ作成装置は、不連続(長さが短い)な縫目の割合が多い場合に比べ、見た目が美しく、自然な刺繍模様を縫製するための刺繍データを作成することができる。なお、注目角度データが示す角度と類似する角度には、少なくとも注目角度データが示す角度と同じ角度が含まれる。注目角度データが示す角度と類似する角度は、好ましくは、注目角度データが示す角度との差の絶対値が5度以下となる角度であることが好ましい。さらに好ましくは、注目角度データが示す角度との差の絶対値が3度以下となる角度であることが好ましい。特に好ましくは、注目角度データが示す角度との差の絶対値が1度以下となる角度であることが好ましい。
【0009】
第1態様の刺繍データ作成装置において、前記画像データに基づいて、前記画像データによって表される画像を分割して複数の第1分割領域を作成する第1分割手段と、前記第1分割手段によって作成された前記第1分割領域と、当該第1分割領域に含まれる画素との対応を表すデータを前記展開データに付与する第1対応付け手段とを備え、前記第2線分データ作成手段は、前記展開データを参照して、前記複数の画素の中から、前記第2注目画素からみて前記注目角度データが表す延伸方向にあり、かつ、当該検出画素と同じ前記第1分割領域である第1領域にある画素であって、当該注目角度データが示す角度と類似する角度を示す角度データが対応付けられた画素を前記延伸方向画素として特定して、前記第2線分データを作成してもよい。この場合の刺繍データ作成装置は、画像全体の色の変化を縫目によって適切に表した刺繍模様を形成するための刺繍データを作成することができる。
【0010】
第1態様の刺繍データ作成装置は、前記展開データ作成手段によって作成された前記展開データを参照して、前記複数の画素の中から、前記角度データが対応付けられなかった未設定画素を検出画素として検出する検出手段と、前記検出手段によって前記検出画素が検出された場合に、前記展開データに含まれる前記角度データのうちの、当該検出画素から所定距離内にある周囲画素に対応する角度データに基づき、当該検出画素に対応する角度データを設定して、前記展開データを更新する更新手段とを備え、前記第2線分データ作成手段は、前記更新手段によって前記展開データが更新された場合には、更新後の前記展開データである更新展開データを参照して、第2線分データを作成してもよい。
【0011】
この場合の刺繍データ作成装置は、未設定画素と重なる第2線分を表す第2線分データが作成されるので、第1線分の密度が小さい領域では、第1線分の密度に比べ、第2線分の密度を、大きくすることができる。したがって、刺繍データ作成装置は、縫目の密度が大きい領域と、縫目の密度が小さい領域との間の縫目の密度の差を低減させることにより、縫目の密度の差が大きい場合に比べ、自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0012】
第1態様の刺繍データ作成装置において、前記検出手段は、前記第2注目画素からみて、前記注目角度データが表す延伸方向にある画素を所定の順序で読み出して、前記未設定画素を前記検出画素として検出し、前記更新手段は、前記検出手段によって前記検出画素が検出された場合に、前記周囲画素うち、当該検出画素よりも前に読み出された画素に対応する角度データを、当該検出画素の角度データに設定して、前記展開データを更新してもよい。
【0013】
この場合の刺繍データ作成装置は、第1線分の端点を延長することによって、未設定画素と重なる線分を作成することができる。刺繍データ作成装置によって作成された刺繍データに基づいて刺繍模様を縫製すれば、連続した(長さが長い)縫目の割合を増やすことができる。このため刺繍データ作成装置は、不連続(長さが短い)な縫目の割合が多い場合に比べ、見た目が美しく、自然な刺繍模様を縫製するための刺繍データを作成することができる。
【0014】
第1態様の刺繍データ作成装置において、前記更新手段は、前記検出手段によって前記検出画素が検出された場合に、前記展開データを参照して、前記周囲画素に対応する周囲角度データの中から特定された特定周囲角度データであって、当該検出画素からみて当該周囲角度データが表す延伸方向にある画素のうちの、前記未設定画素又は前記周囲角度データと類似する角度を示す角度データと対応付けられた画素の数が最も多い特定周囲角度データを、当該検出画素の角度データに設定して、前記展開データを更新してもよい。
【0015】
この場合の刺繍データ作成装置は、同様な方向に縫目が並ぶ割合を増やした刺繍模様を形成するための刺繍データを作成することができる。したがって、刺繍データ作成装置は、同様な方向に縫目が並ぶ割合が少ない場合に比べ、自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0016】
第1態様の刺繍データ作成装置において、前記画像データに基づいて、前記画像データによって表される画像を分割して複数の第2分割領域を作成する第2分割手段と、前記第2分割手段によって作成された前記第2分割領域と、当該第2分割領域に含まれる画素とを対応を示すデータを前記展開データに付与する第2対応付け手段とを備え、前記更新手段は、前記検出手段によって前記検出画素が検出された場合に、当該検出画素の前記周囲画素の中から、当該検出画素と同じ前記第2分割領域である第2領域の画素を領域画素として特定し、当該領域画素に対応する角度データに基づき、当該検出画素に対応する角度データを設定して、前記展開データを更新してもよい。この場合の刺繍データ作成装置は、画像全体の色の変化を縫目によって適切に表した刺繍模様を形成するための刺繍データを作成することができる。
【0017】
第1態様の刺繍データ作成装置において、前記展開データの前記角度データのうち、前記第2注目画素からみて前記注目角度データが表す延伸方向にある画素の角度データを参照角度データとして所定の順序で読み出して、前記参照角度データが表す延伸方向と、前記注目角度データが表す延伸方向とがなす角度のうち小さい方の角度の絶対値が0より大きく第1所定値よりも小さい場合に、当該参照角度データに対応付けられた画素を交点画素として特定する交点画素特定手段を備え、前記第2線分データ作成手段は、前記交点画素特定手段によって前記交点画素が特定された場合に、前記交点画素からみて前記参照角度データが表す延伸方向にあり、かつ、当該参照角度データと類似する角度を示す角度データが対応付けられた画素の数に応じて、前記交点画素において接続された、前記交点画素から前記参照角度データが表す延伸方向に伸びる線分と、前記交点画素から前記注目角度データが表す延伸方向とに伸びる線分とを表すデータを前記第2線分データとして作成してもよい。この場合の刺繍データ作成装置は、角度が類似する縫目を連続させた、刺繍模様としてより自然な縫目を形成する刺繍データを作成することができる。
【0018】
第1態様の刺繍データ作成装置において、前記第1線分データ作成手段によって作成された前記第1線分データのうちの注目線分データについて、前記複数の画素の中から、当該注目線分データによって表される注目線分との距離が第2所定値以下の画素を範囲内画素として特定し、特定された前記範囲内画素と対応付けられた前記角度データが示す角度と、前記注目線分の角度との差の絶対値を算出する算出手段と、前記算出手段によって算出された前記差の絶対値が第3所定値以上である場合に、前記注目線分データと、前記展開データに含まれる前記注目線分と重なる画素に対応付けられた前記注目線分の延伸方向を表す角度データとの少なくともいずれかを削除する削除手段とを備えてもよい。この場合の刺繍データ作成装置は、不自然な方向に伸びる縫目が形成されることを回避することで、より自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0019】
第1態様の刺繍データ作成装置において、前記複数の画素のうち、空間周波数成分が第4所定値よりも大きい高周波数領域以外の領域の画素を低周波数画素として抽出する抽出手段を備え、前記算出手段は、前記抽出手段によって抽出された前記低周波数画素を前記第2注目画素としてもよい。この場合の刺繍データ作成装置は、色の変化が少ない低周波領域の画素を表現する縫目の角度の違いを所定範囲に収めることで、より自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0020】
第2態様の刺繍データ作成プログラムは、第1態様の刺繍データ作成装置の各種処理手段として、刺繍データ作成装置に内蔵されたコンピュータを機能させる。第2態様の刺繍データ作成プログラムは、コンピュータに実行させることにより第1態様の刺繍データ作成装置の各種処理手段としての作用効果を奏することができる。
【図面の簡単な説明】
【0021】
【図1】刺繍データ作成装置1の物理的構成を示す全体構成図である。
【図2】刺繍データ作成装置1の電気的構成を示すブロック図である。
【図3】刺繍ミシン3の外観図である。
【図4】第1の実施形態のメイン処理のフローチャートである。
【図5】図4のメイン処理で取得される具体例1の画像である。
【図6】図4のメイン処理で、図5の画像を表す画像データに基づき作成された第1線分データによって表される第1線分を、第1線分の角度(傾き)に応じて線分の色を変えて示した説明図である。
【図7】図4のメイン処理で、図5の画像が領域分割されて作成された分割領域の説明図である。
【図8】図4のメイン処理で実行される第2線分データ作成処理のフローチャートである。
【図9】具体例2の、画像を構成する画素と、各画素が属する分割領域と、図4のメイン処理で作成された第1線分データによって表される第1線分の画像上の位置とを模式的に示す説明図である。
【図10】具体例2の第1展開データの説明図である。
【図11】具体例2の第2展開データの説明図である。
【図12】図8の第2線分データ作成処理において実行される端点処理のフローチャートである。
【図13】図12のS322の処理が実行された後の、具体例2の第2展開データの説明図である。
【図14】具体例2の、画像を構成する画素と、各画素が属する分割領域と、図4のメイン処理で作成された第2線分データによって表される第2線分の画像上の位置との対応を示す説明図である。
【図15】具体例3の、画像を構成する画素と、各画素が属する分割領域と、図4のメイン処理で作成された第1線分データによって表される第1線分の画像上の位置との対応を示す説明図である。
【図16】第2の実施形態のメイン処理で実行される未設定画素処理のフローチャートである。
【図17】図8のS80の処理が終了した時点での、具体例3の、第1展開データと第2展開データとの説明図である。
【図18】周囲画素を読み出す処理の説明図である。
【図19】具体例3の、画像を構成する画素と、各画素が属する分割領域と、第2の実施形態のメイン処理で作成された第2線分データによって表される第2線分の画像上の位置との対応を示す説明図である。
【図20】具体例4の、画像を構成する画素と、メイン処理で作成された第1線分データによって表される第1線分の画像上の位置とを模式的に示す説明図である。
【図21】第3の実施形態のメイン処理のフローチャートである。
【図22】図21のメイン処理で実行される削除処理のフローチャートである。
【図23】図22の削除処理で作成される具体例4の第1展開データの説明図である。
【図24】具体例1の画像から、空間周波数成分が所定値よりも大きい高周波数領域を抜き出した説明図である。
【図25】具体例1の、削除処理実行後の第1線分データによって表される第1線分を、第1線分の角度(傾き)に応じて線分の色を変えて示した説明図である。
【図26】具体例5の、画像を構成する画素と、メイン処理で作成された第1線分データによって表される第1線分の画像上の位置との対応を示す説明図である。
【図27】具体例5の第1展開データの説明図である。
【図28】第4の実施形態の端点処理のフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の第1から4の実施形態について、図面を参照して順に説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0023】
まず、第1から4の実施形態に共通する刺繍データ作成装置1の構成について、図1と図2とを参照して説明する。刺繍データ作成装置1は、後述の刺繍ミシン3(図3参照)によって縫製される刺繍模様のデータを作成する装置である。特に、刺繍データ作成装置1は、写真やイラスト等の画像から取得した画像データに基づき、その画像を表現する刺繍模様を縫製するための刺繍データを作成することができる。図1のように、刺繍データ作成装置1は、例えば、所謂パーソナルコンピュータ等の汎用型の装置である。刺繍データ作成装置1は、装置本体10と、装置本体10に接続されたキーボード21と、マウス22と、ディスプレイ24と、イメージスキャナ装置25とを備えている。
【0024】
次に、図2を参照して刺繍データ作成装置1の電気的構成について説明する。図2のように、刺繍データ作成装置1は、刺繍データ作成装置1の制御を司るコントローラであるCPU11を備えている。CPU11には、各種のデータを一時的に記憶するRAM12と、BIOS等を記憶したROM13と、データの受け渡しの仲介を行う入出力(I/O)インタフェイス14とが接続されている。I/Oインタフェイス14には、ハードディスク装置(HDD)15と、入力機器であるマウス22と、ビデオコントローラ16と、キーコントローラ17と、CD−ROMドライブ18と、メモリカードコネクタ23と、イメージスキャナ装置25とが接続されている。また、図2には図示されていないが、刺繍データ作成装置1は、外部機器やネットワークとの接続のための外部インタフェイスを備えていてもよい。
【0025】
HDD15は、刺繍データ記憶エリア160とプログラム記憶エリア161とを含む複数の記憶エリアを備える。刺繍データ記憶エリア160には、CPU11が実行する刺繍データ作成プログラムによって作成された刺繍データが記憶される。刺繍データは、刺繍ミシン3(図3参照)で刺繍縫製を行う際に使用されるデータであり、刺繍データには、縫製順序と、針落ち点データと、糸色データとが含まれる。プログラム記憶エリア161には、CPU11によって実行される刺繍データ作成プログラムを含む複数のプログラムが記憶されている。なお、刺繍データ作成装置1がHDD15を備えていない専用機である場合は、ROM13に刺繍データ作成プログラムが記憶される。
【0026】
HDD15には、上記の記憶エリアの他、刺繍データ作成プログラムに従いメイン処理が実行される過程で得られるデータが記憶される記憶エリアが複数設けられている。具体的には、HDD15は、画像データ記憶エリア151と、角度特徴データ記憶エリア152と、線分データ記憶エリア153と、分割領域記憶エリア154とを備える。またHDD15は、対応記憶エリア155と、展開データ記憶エリア156と、使用糸色記憶エリア157と、刺繍糸色記憶エリア159とを備える。さらにHDD15は、その他のデータ記憶エリア162を備える。その他のデータ記憶エリア162には、例えば、各種パラメータの初期値や設定値等がその他のデータとして記憶されている。
【0027】
ビデオコントローラ16には、情報を表示するディスプレイ24が接続され、キーコントローラ17には入力機器であるキーボード21が接続されている。CD−ROMドライブ18には、CD−ROM114を挿入することができる。例えば、刺繍データ作成プログラムの導入時には、刺繍データ作成装置1の制御プログラムである刺繍データ作成プログラムを記憶するCD−ROM114がCD−ROMドライブ18に挿入される。そして、刺繍データ作成プログラムがセットアップされ、HDD15のプログラム記憶エリア161に記憶される。また、メモリカードコネクタ23には、メモリカード115を接続して、情報の読み取りや書き込みを行うことができる。
【0028】
次に、図3を参照して、刺繍ミシン3について簡単に説明する。刺繍ミシン3は、刺繍データ作成装置1で作成された刺繍データに基づいて刺繍模様を縫製する。図3のように、刺繍ミシン3は、縫製者に対して左右方向に長いミシンベッド30と、ミシンベッド30の右端部から上方へ立設された脚柱部36と、脚柱部36の上端から左方へ延びるアーム部38と、アーム部38の左端に連結する頭部39とを有する。ミシンベッド30上には、刺繍が施される加工布(図示せず)を保持する刺繍枠41が配置される。そして、Y方向駆動部42と、本体ケース43内に収容されたX方向駆動機構(図示せず)とが刺繍枠41を装置固有のX・Y座標系(以下、「刺繍座標系」と言う。)で示される所定位置に移動させる。刺繍枠41が移動されるのと合わせて、縫い針44が装着された針棒35と、釜機構(図示せず)とが駆動されることにより、加工布上に刺繍模様が形成される。なお、Y方向駆動部42,X方向駆動機構、針棒35等は、刺繍ミシン3に内蔵されたマイクロコンピュータ等から構成される制御装置(図示せず)によって制御される。
【0029】
刺繍ミシン3の脚柱部36の側面には、メモリカード115を着脱可能なメモリカードスロット37が搭載されている。例えば、刺繍データ作成装置1で作成された刺繍データは、メモリカードコネクタ23を介してメモリカード115に記憶される。そして、メモリカード115がメモリカードスロット37に装着され、記憶された刺繍データが読み出されて、刺繍ミシン3に刺繍データが記憶される。刺繍ミシン3の制御装置(図示せず)は、メモリカード115から供給された刺繍データに基づいて、上記の要素による刺繍模様の縫製動作を制御する。このようにして、刺繍データ作成装置1で作成された刺繍データに基づき、刺繍ミシン3を用いて刺繍模様を縫製することができる。
【0030】
次に、第1の実施形態の刺繍データ作成装置1が画像データに基づき、刺繍データを作成する処理手順を、図4から図14を参照して説明する。図4に示す刺繍データ作成のメイン処理は、HDD15のプログラム記憶エリア161に記憶された刺繍データ作成プログラムに従って、CPU11が実行する。なお、説明を簡単にするため、従来技術(例えば、特開2001−259268号公報参照)と同様の処理については、説明を簡略化する。また、説明を簡単にするために、以下のように、画素及び線分を例示する。画像が備える複数の画素を、格子状のマス目として模式的に図示する。1画素を表すマス目を、一辺が1unitの正方形で表す。例えば、3unitは1mmに相当する。また、画素の画像上の位置を(X,Y)で表される画像座標系の座標を用いて表す。(X,Y)=(n,m)の画素は、n列m行の位置にある画素を指す。また、画素を表す第1線分の仮想的な配置を、格子状のマス目で表される画素と重ねて例示する。また、第1線分は、メイン処理で設定される長さとは異なる長さで図示される。画素の大きさは第1線分の長さに比べて十分に小さいとみなす。
【0031】
図4のように、第1の実施形態のメイン処理では、まず画像データが取得され、画像データ記憶エリア151に記憶される(S10)。S10で取得される画像データは、刺繍データを作成する対象となる画像を表すデータである。画像データは、複数の画素のそれぞれに対応した画素データを含む。各画素データは、画像を構成する2次元マトリクス状に配置された画素に対応している。画像データは、いかなる方法によって取得されてもよい。例えば、イメージスキャナ装置25によって画像を読み込むことで、画像データが取得されてもよい。また例えば、メモリカード等の外部記憶媒体に記憶されているファイルが画像データとして取得されてもよい。具体例1として、S10において、図5の写真の画像データが取得された場合を想定する。図5は白黒で表されているが、青色の帽子をかぶった金髪の少女の写真である。
【0032】
次に、S10において取得された画像データが表す画像(以下、単に「元画像」と言う。)について、第1注目画素の角度特徴と角度特徴の強度とが算出され、算出された角度特徴と角度特徴の強度とは、角度特徴データとして角度特徴データ記憶エリア152に記憶される(S20)。第1注目画素は、画像を構成する画素の中から、選択された1つの画素である。なお、隣接する複数の画素を第1注目画素としてもよい。角度特徴は、第1注目画素における明るさの変化の方向を示す。角度特徴の強度は、第1注目画素における明るさの変化の大きさを示す。角度特徴と角度特徴の強度との算出方法としては、公知の各種手法を採用することができ、その詳細な説明は省略する。S20において、元画像に含まれるすべての画素が第1注目画素として順に取得され、すべての画素について角度特徴と、角度特徴の強度とが算出される。
【0033】
次に、S20で算出された角度特徴データに基づいて、なるべく画像全体を埋めるように第1線分データが作成され、線分データ記憶エリア153に記憶される(S30)。第1線分データは、第1注目画素に設定された角度成分と長さ成分とを有する第1線分を表すデータである。第1線分の中心は、第1注目画素の中心と一致する。詳細には、S20において算出された第1注目画素の角度特徴が、第1線分データの角度成分に設定される。また、あらかじめ設定された固定値、又はユーザが入力した値が、第1線分データの長さ成分に設定される。第1線分データの長さ成分は、縫製可能な縫目の長さの最小単位を考慮して定められることが好ましく、例えば、3mmと設定される。本実施形態では、第1線分データによって表される第1線分は、第1注目画素を含む複数の画素と重なる。第1線分データの作成方法としては、公知の各種手法を採用することができ、その詳細な説明は省略する。例えば、S30において、角度特徴の強度が所定値以上の画素は第1線分データが作成され、角度特徴の強度が所定値より小さい画素は、第1線分データが作成されない。すなわち、第1線分データが作成される画素は、画像に含まれる一部の画素である。具体例1では、図6の各線分を表す第1線分データが作成される。図6と後述する図25とでは、線分の角度(傾き)に応じて線分の色を変えている。
【0034】
次に、使用糸色が取得され、取得された使用糸色は使用糸色記憶エリア157に記憶される(S40)。使用糸色は、S10で取得された画像データに基づき刺繍データ作成装置1で作成された刺繍データに従って、刺繍ミシン3を用いて刺繍模様を縫製する際に使用する予定の糸の色である。本実施形態では、使用可能な糸色の中から、画素データに基づき選択されたn色の糸色が使用糸色として取得される。使用可能な糸色とは、縫製に用いる糸色として、ユーザが準備可能な糸色であり、あらかじめ設定した固定値又はユーザが入力した値によって表される。例えば、使用可能な糸色として30色が設定されているとする。S40において、まず、元画像の色が使用糸色の数nに減色される。減色方法としては、例えば、メディアンカット法が用いられる。この処理において、例えば、図5の元画像の色が、10色に減色される。次に、減色された10色の各色に近い糸色が、30色の使用可能な糸色の中から、使用糸色として取得される。このように使用糸色を決定すれば、糸替えの回数と画像の色とを考慮して、使用可能な糸色の中から適切な使用糸色を決定することができる。なお、あらかじめ設定した固定値又はユーザが入力した値をそのまま使用糸色として決定してもよい。
【0035】
次に、画素データに基づいて元画像を分割するためのm色が決定され、決定されたm色はRAM12に記憶される(S50)。m色は、例えば、メディアンカット法を用いて決定される。m色は、画素データに基づき元画像を領域分割する際に用いられる。数mは、あらかじめ設定した固定値又はユーザが入力した値である。次に、画素データに基づき元画像が領域分割され、変換された画像データが分割領域記憶エリア154に記憶される(S60)。具体的には、各画素に設定されている色が、それぞれS50で決定されたm色の最も近い色と対応付けられる。微小領域ができる場合には、例えば、ノイズリダクションにより微小領域が他の分割領域に統合される。説明を簡単にするために、第1の実施形態では、減色された結果同じ色となった領域を同じ分割領域とする。S60の処理において、具体例1では、図5の元画像が図7のように領域分割される。次に、S60で作成された分割領域と、各分割領域に含まれる画素とが対応付けられ、画素と、分割領域との対応関係が対応記憶エリア155に記憶される(S70)。
【0036】
次に、第2線分データ作成処理が実行される(S80)。第2線分データ作成処理では、S30で作成された第1線分データに基づき第1展開データが作成され、この第1展開データに基づいて、第2線分データを作成する処理が実行される。図8を参照して、第2線分データ作成処理の詳細を説明する。
【0037】
図8のように、第2線分データ作成処理ではまず、第1展開データが作成され、作成された第1展開データは展開データ記憶エリア156に記憶される(S202)。S202では、図4のS30で作成された第1線分データによって表される第1線分と重なる画素が特定され、第1線分が重なる画素に、第1線分の角度(画像座標上の傾き)を示す角度データが対応付けられる。本実施形態のように、第1線分データの長さ成分に、1つの画素の大きさよりも大きな値が設定されている場合、第1線分は第1注目画素以外の画素とも重なる。S202の処理によって、第1線分と重なるすべての画素と、第1線分データとが対応付けられる。
【0038】
S202において、第1線分と画素との位置関係が図9のようである場合を具体例2として想定する。なお、図9では、説明を簡単にするために各第1線分の長さ成分は、縫製可能な縫目の長さの最小単位を表していない。具体例2では、S202において、図10のように、第1展開データが作成される。図10の画素と対応付けられた数字は、角度データである。角度データは、第1線分が画像座標系のX軸プラス方向となす角度のうち反時計回りの角度で表され、0から180度のいずれかの値をとる。角度データが対応付けられた画素と重なる第1線分の延伸方向は、第2注目画素p1からみて、角度データが示す角度と、角度データが示す角度と180度異なる角度とが示す方向である。いずれの第1線分とも重ならない画素には、角度データが未設定であることを示す−1が設定される。さらに、図10の第1展開データには、図4のS60で作成された分割領域に基づき、各画素が属する分割領域V11と、V12と、V13とを表すデータが付与される。
【0039】
次に、第2展開データが作成され、作成された第2展開データは展開データ記憶エリア156に記憶される(S204)。S204で作成される第2展開データは、図11のように、画像が含む各画素の角度データに−1が設定されたデータである。次に、呼出順序が最初の第2注目画素p1が設定され、設定された第2注目画素p1はRAM12に記憶される(S206)。本実施形態では、画像中の位置に応じて、画素の呼出順序が左から右、上から下の順であると定められている。具体例2では、S206で第2注目画素p1に図10の左上(X,Y)=(1,1)の画素が設定される。
【0040】
次に、展開データ記憶エリア156の第1展開データが参照され、第2注目画素p1に対応する角度データ(以下、「注目角度データ」と言う。)が設定されているか否かが判断される(S208)。S208では、第1展開データにおいて、第2注目画素p1に対応付けられたデータが、−1である場合には、注目角度データが設定されていないと判断される。第1展開データにおいて、第2注目画素p1に対応付けられたデータが、0以上である場合には、注目角度データが設定されていると判断される。注目角度データが設定されていない場合(S208:No)、後述するS222の処理を行う。
【0041】
具体例2では、図10のように(X,Y)=(1,1)の画素には、角度データとして0が対応付けられているので(S208:Yes)、第2展開データが参照され、第2展開データにおいて、注目角度データが設定されていないか否かが判断される(S210)。S210では、S208と同様に、第2展開データにおいて、第2注目画素p1に対応付けられたデータが−1である場合には、注目角度データが設定されていないと判断される(S210:Yes)。第2展開データにおいて、第2注目画素p1に対応付けられたデータが、0以上である場合には、注目角度データが設定されていると判断され(S210:No)、後述するS222の処理が実行される。
【0042】
具体例2では、図11のように第2展開データにおいて、(X,Y)=(1,1)の画素には−1が対応付けられている(S210:Yes)。したがって、第1展開データが参照され、第2注目画素p1の領域Regが特定され、特定された領域RegはRAM12に記憶される(S212)。具体例2では、(X,Y)=(1,1)の画素の領域RegとしてV11が特定される。次に、第2注目画素p1の角度θが取得され、取得された角度θはRAM12に記憶される(S214)。第2注目画素p1の角度θは、注目角度データによって表される。具体例2では、角度θとして0度が取得される。
【0043】
次に、S214で取得されたθについての端点処理(S216)と、θ+180度についての端点処理(S218)とが実行される。端点処理によって、第2注目画素p1からみて、延伸方向にあり、かつ、θと同じ角度を示す角度データが対応付けられた画素が延伸方向画素として特定される。θについての端点処理(S216)と、θ+180度についての端点処理(S218)とによって、第2注目画素p1と重なる第1線分に基づき作成される第2線分の端点と重なる画素が特定される。角度θと角度θ+180度とは、第2注目画素p1と重なる第1線分の延伸方向を表す。θについての端点処理(S216)と、θ+180度についての端点処理(S218)とは基本的に同様の処理であるので、θについての端点処理(S216)を例に、端点処理を説明する。
【0044】
図12のように、端点処理ではまず、角度φが設定され、設定された角度φはRAM12に記憶される(S302)。図8のS216で実行される端点処理では、角度φに角度θが設定される。S218で実行される端点処理では、角度φに角度θ+180度が設定される。次に、第2注目画素p1が現在の画素p2に設定され、設定された現在の画素p2はRAM12に記憶される(S304)。次に、次の画素p3が取得され、取得された次の画素p3はRAM12に記憶される(S306)。次の画素p3は、現在の画素p2から、S302で設定された角度φ方向に画素1つ分移動した位置にある画素である。S306では、第2注目画素p1からみて、角度φが示す方向にある画素が第2注目画素p1からの距離が近い順に読み出される。なお、第2注目画素p1からみて、角度φが示す方向にあるn番目の画素の特定方法は、第2注目画素p1と、角度φとに応じて適宜定められればよい。例えば、第2注目画素p1から角度φ方向に画素n個分移動した場合の画像座標系の座標がどの画素に含まれるかに従って、上記n番目の画素が特定されてもよい。より具体的には、角度φに角度θが設定されている場合、第2注目画素p1から上記n番目の画素までの移動量mは、角度φに応じて以下のように定めてもよい。角度φが0度以上45度未満の場合には、移動量mは(xn,yntanφ)である。角度φが45度以上90度未満の場合には、移動量mは(xn/tanφ,yn)である。角度φが90度以上135度未満の場合には、移動量mは(−xn/tanφ,yn)である。角度φが135度以上180度以下の場合には、移動量mは(−xn,yntanφ)である。角度φに角度θ+180度が設定されている場合も、同様に移動量mが設定されればよい。具体例2では、現在の画素p2(X,Y)=(1,1)から、角度0度方向に画素1つ分移動した位置にある(X,Y)=(2,1)の画素が、次の画素p3に設定される。
【0045】
次に、次の画素p3が画像からはみ出しているか否かが判断される(S308)。具体例2の(X,Y)=(2,1)の画素は画像からはみ出していないので(S308:Yes)、次の画素p3が、図8のS212で設定された領域Regと同じ領域の画素(領域画素)であるか否かが判断される(S310)。具体例2の(X,Y)=(2,1)の画素は、S212で設定された領域V11と同じ領域の画素であるので(S310:Yes)、第2展開データが参照され、第2展開データにおいて、次の画素p3に対応する角度データが設定されていないか否かが判断される(S312)。S312では、図8のS210の処理と同様に判断される。図11のように、具体例2の(X,Y)=(2,1)の画素は、第2展開データにおいて角度データが設定されていないので(S312:Yes)、第1展開データが参照され、次の画素p3が第1展開データに設定されているか否かが判断される(S314)。
【0046】
S314は、第1展開データにおいて角度データが対応付けられなかった画素である未設定画素を検出画素として検出する処理である。S314の処理は図8のS208と同様である。具体例2の(X,Y)=(2,1)の画素は、第1展開データにおいて角度データが設定されているので(S314:Yes)、次の画素p3に対応付けられた角度データが示す角度が図8のS214で取得された角度θ(注目角度データが示す角度)と一致しないか否かが判断される(S316)。具体例2の(X,Y)=(2,1)の画素に対応付けられた角度データが示す角度は0度であり、S214で取得された角度0度と同じである(S316:No)。したがって、第2展開データにおける、現在の画素p2に対応する角度データとして、図8のS214で取得された角度θを表す角度データが設定され、第2展開データが更新される(S318)。更新された第2展開データは、展開データ記憶エリア156に記憶される。次に、現在の画素p2に次の画素p3が設定され、設定された現在の画素p2はRAM12に記憶される(S320)。次に、処理はS306に戻る。
【0047】
現在の画素p2が具体例2の(X,Y)=(2,1)の画素である場合、S314において、次の画素p3は第1展開データにおいて角度データが設定されていないと判断され(S314:No)、前述のS318の処理が実行される。この場合のS318は、S314の処理によって検出された検出画素に、角度データを設定する処理である。具体的には、検出画素の角度データに、図8のS214で取得された角度θを表す角度データが設定される(S318)。角度θを表す角度データは、検出画素の直前に現在の画素p2として読み出された画素に対応付けられた角度データと同じである。したがって、本実施形態では、検出画素から√2unit(一辺が1unitの正方形のマスで表される画素の対角の長さ)以内の距離にある画素と対応付けられた角度データに基づき、検出画素の角度データが設定される。
【0048】
現在の画素p2が具体例2の(X,Y)=(4,1)の画素である場合、S316において、不一致であると判断される(S316:YES)。この場合、S318と同様の処理が実行される(S322)。具体例2では、第2注目画素p1が(X,Y)=(1,1)の場合、S322の処理によって、第2展開データは図13のように更新される。次に、現在の画素p2の座標が一方の端点ptn(n=1,2)としてRAM12に記憶される(S324)。具体例2では、(X,Y)=(4,1)が一方の端点pt1としてRAM12に記憶される。図8のS218で実行される端点処理では、S322において端点pt2が記憶される。S308で次の画素p2が画像からはみ出している場合(S308:No)と、S310で次の画素p2が領域Reg内の画素ではない場合(S310:No)と、S312で次の画素p3は第2展開データに設定されている場合(S312:No)とには、前述のS322の処理が実行される。
【0049】
具体例2において、S218で実行される端点処理では、現在の画素p2に(X,Y)=(1,1)が設定された場合、S308において、次の画素p3(X,Y)=(0,1)は画像からはみ出ていると判断され(S308:No)、(X,Y)=(1,1)が端点pt2としてRAM12に記憶される。S324の次に端点処理は終了し、処理は図8の第2線分データ作成処理に戻る。
【0050】
図8のS218の次に、S216で設定された端点pt1と、S218で設定された端点pt2とを結ぶ第2線分を表す第2線分データが作成され、作成された第2線分データは線分データ記憶エリア153に記憶される(S220)。具体例2では、S216で設定された端点pt1(X,Y)=(4,1)と、S218で設定された端点pt2(X,Y)=(1,1)とを結ぶ第2線分を表す第2線分データが作成される。第2線分データによって表される第2線分と重なる画素は、第2注目画素p1及び延伸方向画素である。延伸方向画素は、第2注目画素p1からみて、注目角度データが示す延伸方向にある画素であって、注目角度データと同じ角度データが対応付けられた画素である。第2線分と重なる延伸方向画素と第2注目画素p1とによって形成される画素領域は連続した1つの領域である。
【0051】
次に、元画像のすべての画素が第2注目画素p1として設定されたか否かが判断される(S222)。設定されていない画素がある場合(S222:No)、次の順序の画素が第2注目画素p1に設定され、設定された第2注目画素p1はRAM12に記憶される(S224)。次に、処理はS208に戻る。すべての画素が第2注目画素p1として設定された場合(S222:Yes)、第2線分データ作成処理が終了され、処理は図4のメイン処理に戻る。第2線分データ作成処理によって、具体例2では、図14の第2線分を表す第2線分データが作成される。図14では、すべての画素がいずれかの第2線分と重なっている。
【0052】
S80の次に、S80で作成された第2線分データについて、刺繍糸色が決定され、第2線分データと、刺繍糸色との対応が刺繍糸色記憶エリア159に記憶される(S90)。第2線分データに対応する刺繍糸色を決定する方法は、公知の方法が用いられればよい。具体的には、まず、線分データ記憶エリア153が参照され、第2線分データが順に読み出される。次に、画像データ記憶エリア151が参照され、読み出された第2線分データと対応する画素データに基づき、S40で取得された使用糸色の中から第2線分データに割り当てられる刺繍糸色が決定される。
【0053】
次に、線分データ記憶エリア153と刺繍糸色記憶エリア159とが参照され、接続線分データが作成され、作成された接続線分データは線分データ記憶エリア153に記憶される(S100)。接続線分データは、同じ刺繍糸色が割り当てられた第2線分データによって表される複数の第2線分を接続するためのデータである。第2線分を接続する方法としては、公知の各種手法が採用されればよい。例えば、k番目の第2線分の一端を開始点とし他端を終了点とする。第2線分の終了点に最も近接する端点を有する他の第2線分が検索される。検索された第2線分をk+1番目の第2線分とする。そして、k番目の第2線分と、k+1番目の第2線分とを接続する線分を表す接続線分データが作成される。以上の処理が、同一糸色に対応するすべての第2線分データについて実行され、各第2線分データが互いに近接する端点同士で接続されるような接続順序が設定されればよい。なお、接続線分データには、接続する第2線分データに割り当てられた刺繍糸色が割り当てられる。
【0054】
次に、線分データ記憶エリア153に記憶されている第2線分データ及び接続線分データと、刺繍糸色記憶エリア159に記憶されている刺繍糸色とに基づいて、刺繍ミシン3で使用される刺繍データが作成され、刺繍データ記憶エリア160に記憶される(S110)。刺繍データは、縫製順序と、糸色データと、針落ち点データとを有する。刺繍データの作成は、公知の各種手法を採用すればよい。例えば、同一刺繍糸色毎に第2線分データによって表される第2線分の始点と、終点とが、縫目(ステッチ)位置の始点と、終点とを表す刺繍座標系の座標に変換される。縫目位置の始点と、終点とは、縫製順に糸色と対応付けて記憶される。また、接続線分データによって特定される接続線分の始点と、終点とが、走り縫い又は渡り糸の始点と終点とに変換される接続線分処理が実行される。走り縫い又は渡り糸の縫目の始点と終点とは刺繍座標系の座標に変換され、変換された座標は縫製順に糸色と対応付けて記憶される。S110に続いて、メイン処理は終了する。
【0055】
上記第1の実施形態のメイン処理において、図4のS40の処理を実行するCPU11は、本発明の糸色取得手段として機能する。S20で算出された第1注目画素の角度特徴と角度特徴の強度とに基づき、S30で第1線分データを作成するCPU11は、本発明の第1線分データ作成手段として機能する。S60の処理を実行するCPU11は、本発明の第1分割手段として機能する。S70と図8のS202との処理を実行するCPU11は、本発明の第1対応付け手段として機能する。図8の第2線分データ作成処理において、S30で作成された第1線分データに基づき、第1展開データと第2展開データとを作成する(S202,S204)CPU11は、本発明の展開データ作成手段として機能する。第1と第2展開データとを参照して、複数の画素の中から、角度データが対応付けられなかった未設定画素を検出画素として検出するCPU11は、本発明の検出手段として機能する。検出画素が検出された場合に(S210:Yes)、検出画素よりも前に読み出された周囲画素に対応する角度データに基づき、検出画素に対応する角度データを設定して、第2展開データを更新する(S318)CPU11は、本発明の更新手段として機能する。S216とS218とによって延伸方向画素を特定し、第2注目画素と延伸方向画素とに重なる第2線分を表す第2線分データを作成する(S220)CPU11は、本発明の第2線分データ作成手段として機能する。図4のS90を実行するCPU11は、本発明の配色手段として機能する。S100を実行するCPU11は、本発明の接続線分データ作成手段として機能する。S110の処理を実行するCPU11は、本発明の刺繍データ作成手段として機能する。
【0056】
第1の実施形態の刺繍データ作成装置1は、次のいずれかの場合に、2つの第1線分が同じ分割領域内の線分であることを条件に、2つの第1線分を接続した第2線分を表す第2線分データを作成する。1つ目の場合は、同一の延伸方向に伸びる2つの第1線分の一部が重なっている場合である。2つ目の場合は、同一の延伸方向に伸びる2つの第1線分の間にある画素が未設定画素のみである場合である。さらに刺繍データ作成装置1は、第1線分の端点を、第1線分の延伸方向に延長することによって、未設定画素と重なる第2線分を作成する。図14のように、具体例2では、例えば、(X,Y)=(1,1)から(X,Y)=(2,1)に伸びる線分が延長され、(X,Y)=(1,1)から(X,Y)=(4,1)に伸びる第2線分が作成された。また具体例2では、(X,Y)=(1,2)において0度の角度で伸びる線分と、(X,Y)=(3,2)から(X,Y)=(8,2)に伸びる線分とが接続され、(X,Y)=(1,2)から(X,Y)=(8,2)に伸びる第2線分が作成された。したがって、刺繍データ作成装置1によって作成された刺繍データに基づいて刺繍模様を縫製すれば、連続した(長さが長い)縫目の割合を増やすことができる。また、従来の刺繍データ作成装置では、例えば、同じ角度(傾き)で伸びる2本の第1線分の一部が重なっているような場合に、2本の第1線分について接続線分を表す接続線分データが作成されると、2本の第1線分が必ずしも接続されるとは限らない。2本の第1線分が接続線分によって接続される場合であっても、2本の第1線分が重複する部分に接続線分が形成されることになるため、重複部分に縫目が密集した不自然な刺繍模様を形成する刺繍データとなる可能性があった。これに対し、刺繍データ作成装置1は、同じ角度で伸びる2本の第1線分の一部が重なっているような場合には、2本の第1線分を1本の第2線分としてまとめることができる。このため、刺繍データ作成装置1によれば、不連続(長さが短い)な縫目の割合が多い場合に比べ、見た目が美しく、自然な刺繍模様を形成する刺繍データ得ることができる。
【0057】
刺繍データ作成装置1は、未設定画素と重なる第2線分を表す第2線分データを作成するので、第1線分の密度が小さい領域では、第1線分の密度に比べ、第2線分の密度を、大きくすることができる。図14のように、具体例2では、すべての画素がいずれかの第2線分と重なるように第2線分が作成された。したがって、刺繍データ作成装置1は、縫目の密度が大きい領域と、縫目の密度が小さい領域との間の縫目の密度の差を低減させることにより、縫目の密度の差が大きい場合に比べ、自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0058】
第2線分データによって表される第2線分は、画像に含まれる画素の色の変化の方向を示す。角度データが示す角度が同じであるか否かにのみ基づき第2線分が作成された場合、異なる分割領域を横切る第2線分を表す第2線分データが作成される可能性がある。この場合、異なる分割領域間の色が大きく異なる場合には、第2線分データに対応する縫目が周りの縫目の色と大きく異なり、刺繍模様の仕上がりを悪化させる可能性がある。したがって、色の変化が大きい画像では、第1の実施形態のように、未設定画素に対応付ける角度データは、未設定画素の周囲の画素であって、同じ分割領域の画素に対応付けられた角度データが設定されることが好ましい。刺繍データ作成装置1は、第2注目画素p1からみて、角度φが示す方向にある画素が第2注目画素p1からの距離が近い順に読み出して、第2注目画素p1と同じ分割領域内の未設定画素の角度データを設定する。刺繍データ作成装置1によって作成される第2線分データによって表される1つの第2線分と重なる画素について着目すると、各画素は同じ分割領域の画素である。したがって、刺繍データ作成装置1は、第2注目画素と同じ分割領域に含まれる延伸方向画素を順に読み出して第2線分データが作成することによって、画像全体の色の変化を縫目によって適切に表した刺繍模様を形成するための刺繍データを作成することができる。
【0059】
ところで、図4のS30で作成された第1線分データによって表される第1線分が、図15に示す線分である場合、第1の実施形態のメイン処理によって未設定画素に対応する角度データが更新されない。このような場合、第2の実施形態のメイン処理が実行されてもよい。以下、第2の実施形態のメイン処理について説明する。第2の実施形態のメイン処理は、HDD15のプログラム記憶エリア161に記憶された刺繍データ作成プログラムに従って、CPU11が実行する。
【0060】
図示しないが、第2の実施形態のメイン処理は、図4のS80と、S90と間に未設定画素処理が実行される点で第1の実施形態のメイン処理と異なる。第1の実施形態のメイン処理と同様な処理については説明を省略し、第1の実施形態のメイン処理と異なる未設定画素処理を、図16を参照して説明する。具体例3として、図4のS30で作成された第1線分データによって表される第1線分が図15に示される線分である場合を想定する。
【0061】
図16の未設定画素処理では、S80の処理では角度データが設定されなかった未設定画素に、角度データが設定される。S80が実行された後の、具体例3の第1展開データと第2展開データとは、図17で示される。なお、第2展開データには、分割領域を表すデータは付与されていなくてもよい。未設定画素処理ではまず、dx(n)、dy(n)が設定され、設定されたdx(n)、dy(n)がRAM12に記憶される(S402)。S402では、第2注目画素p1から√2unit内にある画素である周囲画素p4を順に取得する処理において、図18のように3×3の画素群が想定される。図18の画素群に含まれる各画素には、左から右、上から下の順で0から8のIDが割り振られている。S402で設定されるdx(n)、dy(n)は、IDが4の画素を第2注目画素p1とした場合の、第2注目画素p1に対するn番目の画素の位置を特定する処理に用いられる。S402では、dx(n)=(−1,0,1,−1,0,1,−1,0,1)、dy(n)=(−1,−1,−1,0,0,0,1,1,1)と設定される。
【0062】
次に、図8のS206と同様に、最初の第2注目画素p1が設定され、設定された第2注目画素p1はRAM12に記憶される(S404)。次に、第2展開データが参照され、第2展開データにおいて、注目角度データが設定されていないか否かが判断される(S406)。S406で参照される第2展開データは、S80の処理で作成及び更新されたデータである。S406では、図8のS210の処理と同様に判断される。S406は、S80の処理を経た後における未設定画素を検出画素として検出するための処理である。注目角度データが第2展開データにおいて設定されている場合(S406:No)、後述するS440の処理が実行される。第2注目画素p1が図17の(X,Y)=(5,4)の画素である場合、第2注目画素p1に対応する角度データが第2展開データに設定されていないので(S406:Yes)、パラメータが設定され、設定されたパラメータはRAM12に記憶される(S408)。S408では、nに0が設定され、Lmaxに0が設定される。nは、第2注目画素p1の周囲画素p4を順に読み出すための変数である。Lmaxは、注目角度データに、周囲画素p4に対応付けられた角度データが設定された場合の第2線分の長さの最大値を取得するために用いられる変数である。
【0063】
次に、n番目の周囲画素p4が設定され、設定された周囲画素p4がRAM12に記憶される(S412)。具体例3の(X,Y)=(5,4)の画素が第2注目画素p1である場合、n=0では、(X,Y)=(4,3)の画素が周囲画素p4に設定される。次に、周囲画素p4が、画像からはみ出していないか否かが判断される(S414)。(X,Y)=(4,3)の画素は、画像からはみ出していないので(S414:Yes)、第2展開データが参照され、第2展開データにおいて周囲画素p4に対応する角度データ(周囲角度データ)が設定されているか否かが判断される(S416)。(X,Y)=(4,3)の画素に対応する角度データは第2展開データに設定されているので(S416:Yes)、第2展開データが参照され、周囲角度データが示す角度θとして45度が取得され、取得された角度θはRAM12に記憶される(S418)。
【0064】
次に、端点処理が実行される(S422)。端点処理は、図8のS216とS218との処理と同様な処理である。ただしS422では、第2展開データを更新する処理である図12のS318とS322とは実行されない。S422によって、2つの端点pt1とpt2とが取得される。現在の画素p2が(X,Y)=(5,4)であり、S418で角度θとして45度が取得された具体例3では、端点pt1(X,Y)=(5,4)と、端点pt2(X,Y)=(3,6)が取得される。次に、S422で取得された端点pt1と端点pt2とを結ぶ線分の長さLtが算出され、算出されたLtはRAM12に記憶される(S424)。Ltの長さの算出方法は適宜設定可能である。本実施形態では、画素が1unit×1unitの正方形であると想定し、端点pt1の画素の中心と、端点pt2の画素の中心とを結ぶ長さをLtとする。具体例3では、Ltとして、2√2unitが算出される。
【0065】
次に、S424で算出されたLtがLmaxよりも大きいか否かが判断される(S426)。LtがLmaxよりも大きい場合(S426:Yes)、パラメータが更新され、更新されたパラメータはRAM12に記憶される(S428)。S428では、端点pt11に端点pt1が設定され、端点pt12に端点pt2が設定される。pt11と、pt12とは、第2注目画素p1と重なる第2線分データの両端の候補を表す。θmにS418で取得されたθが設定される。θmは、第2注目画素p1に対応する角度データ(特定周囲角度データ)によって表される角度の候補を示す。LmaxにS424で算出されたLtが設定される。
【0066】
S414で周囲画素p4が画像からはみ出している場合(S414:No)と、S416で第2展開データにおいて角度データが未設定である場合(S416:No)と、LtがLmax以下である場合(S426:No)と、S428とのいずれかの次に、S430の処理が実行される。S430では、nが8よりも小さいか否かが判断される(S430)。nが8よりも小さい場合には(S430:Yes)、nがインクリメントされ、インクリメントされたnはRAM12に記憶される(S436)。次にnが4である場合には(S438:Yes)、処理はS436に戻る。nが4である場合の画素は、第2注目画素p1に相当する。S438の処理によって、n=4の画素は周囲画素p4として設定されない。nが4ではない場合には(S438:No)、処理はS412に戻る。
【0067】
S430において、nが8である場合(S430:No)、S428で設定されたパラメータに基づき、第2展開データが更新され、更新された第2展開データは展開データ記憶エリア156に記憶される(S432)。S432では、S428で設定された2つの端点pt11とpt12とを両端とする線分と重なる画素に、角度θmを表す特定周囲角度データが設定され、第2展開データが更新される。次に、第2線分データが作成され、作成された第2線分データは線分データ記憶エリア153に記憶される(S434)。S434の処理は、図8のS220と同様の処理であり、S428で設定された2つの端点pt11とpt12とを両端とする第2線分を表す第2線分データが作成される。
【0068】
次に、すべての画素が第2注目画素p1に設定されたか否かが判断され(S440)、第2注目画素p1として設定されていない画素がある場合には(S440:No)、次の順序の画素が第2注目画素p1に設定され、設定された第2注目画素p1はRAM12に記憶される(S442)。次に、処理はS406に戻る。S440において、すべての画素が第2注目画素p1として設定された場合には(S440:Yes)、未設定画素処理は終了する。具体例3において、第2の実施形態のメイン処理が実行された場合、S80の第2線分データ作成処理と、未設定画素処理とによって、図19の第2線分を表す第2線分データが作成される。図19では、すべての画素がいずれかの第2線分と重なっている。図4のメイン処理のS90と、S100と、S110との処理は、S80で作成された第2線分データと、上述の未設定画素処理で作成された第2線分データとに対して実行される。
【0069】
上記第2の実施形態の図16のS432で、周囲画素p4に対応する角度データである周囲角度データの中から特定された特定周囲角度データを未設定画素の角度データに設定して、第2展開データを更新するCPU11は、本発明の更新手段として機能する。
【0070】
第2の実施形態の刺繍データ作成装置1は、第1線分を第1線分の延伸方向に伸ばすことによって、未設定画素と重なる第2線分を表す第2線分データを作成することができなかった場合に、次の処理を実行する。すなわち、刺繍データ作成装置1は、未設定画素に対応する角度データに、特定周囲角度データを設定する。これにより、刺繍データ作成装置1は、同様な方向に縫目が並ぶ割合を増やした刺繍模様を形成するための刺繍データを作成することができる。したがって、刺繍データ作成装置1は、同様な方向に縫目が並ぶ割合が少ない場合に比べ、自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0071】
具体例3では、領域V11内の未設定画素に対しては、図19のように、45度の角度を有する第2線分を表す第2線分データが作成される。領域V12内の未設定画素に対しては、図19のように、0度の角度を有する第2線分を表す第2線分データが作成される。領域V13内の未設定画素に対しては、図19のように、135度の角度を有する第2線分を表す第2線分データが作成される。刺繍データ作成装置1によって作成される1つの第2線分と重なる画素について着目すると、各画素は同じ分割領域の画素である。したがって、刺繍データ作成装置1は、画像全体の色の変化を縫目によって適切に表した刺繍模様を形成するための刺繍データを作成することができる。
【0072】
ところで、第1注目画素の角度特徴に基づき、第1線分データの角度成分が決定される場合、第1線分データによって表される第1線分は、図20の線分101のように、周囲の第1線分の角度との角度の差が大きい、不自然な方向に伸びる線分となる場合がある。輪郭を表す画素群等、色の変化が比較的大きい領域の画素群では、周囲の線分の角度と大きく異なる角度を有する線分によって、その色の変化を表現することがある。しかしながら、色の変化が比較的小さい領域の画素群では、周囲の線分に対して大きく異なる方向に伸びる線分が作成された場合には、その線分に対応する縫目によって刺繍模様の外観が不自然となる可能性がある。このような場合には、図21の第3の実施形態のメイン処理が実行されてもよい。以下、第3の実施形態のメイン処理を説明する。第3の実施形態のメイン処理は、HDD15のプログラム記憶エリア161に記憶された刺繍データ作成プログラムに従って、CPU11が実行する。
【0073】
図21において、図4の第1の実施形態のメイン処理と同様の処理には、同じステップ番号が付与されている。図21のように、第3の実施形態のメイン処理は、S30とS40との間に、S35の削除処理が実行される点で、第1の実施形態のメイン処理と異なる。第1の実施形態と同様の処理については説明を省略し、以下、第1の実施形態とは異なるS35の処理について説明する。具体例4として、S30において図20の線分を表す第1線分データが作成された場合を想定する。
【0074】
S35では、S30で作成された第1線分データの内、所定条件を満たす第1線分データを削除する処理が実行される。所定条件とは、以下の2つの条件の双方を満たす条件である。1つ目の条件は、第1線分データが、空間周波数成分が所定値よりも大きい高周波数領域以外の領域の画素と重なる第1線分を表すデータであることである。2つ目の条件は、第1線分データによって表される第1線分の角度(傾き)と、その第1線分と垂直な方向の距離が所定距離dn内に配置される他の第1線分の角度(傾き)との差の総和が所定値以上となる第1線分データである。削除処理の詳細を図22を参照して説明する。
【0075】
図22のように、削除処理ではまず、S30で作成された第1線分データに基づき、第1展開データが作成され、作成された第1展開データはRAM12に記憶される(S502)。具体例4では、図23のように、第1展開データが作成される。次に、図21のS10で取得された画像データに基づき、各画素の空間周波数成分が算出され、画素と算出された空間周波数成分との対応関係がRAM12に記憶される(S504)。空間周波数成分は、色に関する属性値の違いを表す。隣接する画素との属性値の違いが大きい画素ほど、隣接する画素との属性値の違いが小さい画素に比べ、空間周波数成分が大きい。空間周波数成分の算出方法は、公知の方法を採用可能である。空間周波数成分は、例えば、特開2002−263386号公報に記載された方法によって算出される。
【0076】
次に、閾値dnが設定され、設定された閾値dnはRAM12に記憶される(S506)。閾値dnは、注目線分と角度を比較する線分の位置範囲を定める。閾値dnは、縫目の最小単位を考慮して適宜定められ、本実施形態では、閾値dnに1mmが設定されている。本実施形態では、閾値dnは、縫目の最小単位3mmよりも短い。次に、Sumに0が設定され、設定されたSumはRAM12に記憶される(S508)。Sumは、Δαの総和を算出するためのパラメータである。Δαは、角度α1と、角度α2との差の絶対値である。角度α1は、後述するS512で取得される注目線分データL1によって表される注目線分L2の角度である。角度α2は、注目線分L2と垂直な方向の距離がdn以内の範囲にある画素(以下、「範囲内画素p5」と言う。)に対応付けられた角度データが示す角度である。次に、閾値Stが設定され、設定された閾値StはRAM12に記憶される(S510)。閾値Stは、Sumと比較され、注目線分L2を表す注目線分データL1を削除するか否かの判断基準となる。閾値Stは、S506で設定される閾値dnと、第1線分データによって表される第1線分の密度とを含む条件を考慮して決定される。本実施形態では、閾値Stとして540度が予め設定されている。次に、取得順序が最初の第1線分データが注目線分データL1に設定され、取得された注目線分データL1はRAM12に記憶される(S512)。注目線分データL1は、S30で作成された第1線分データが順に読み出されたデータである。注目線分データL1の取得順序は、注目線分データL1に対応する第1注目画素の取得順序と同じである。S512では、(X,Y)=(1,1)に対応する第1線分データが、注目線分データL1に設定される。
【0077】
次に、S512で取得された注目線分データL1によって表される注目線分L2と重なる画素(図23中、縦線で網掛けした画素)が高周波数領域以外の領域の画素であるか否かが判断される(S514)。高周波数領域であるか否かを定める空間周波数成分の閾値は、画像の色の変化を考慮して予め設定される。本実施形態では、空間周波数成分の最大値を100、最小値を0として正規化して、50を空間周波数成分の閾値とする。空間周波数成分の閾値は、ユーザがメイン処理実行毎に設定してもよい。具体例1では、図24の黒の領域は高周波数領域とされ、図24の白の領域は高周波数領域以外の領域である。図24のように、高周波数領域は、顔の輪郭など、色の変化が大きい領域である。注目線分L2と重なる画素が高周波数領域以外の領域の画素である場合(S514:Yes)、範囲内画素p5が順に読み出される(S516)。具体例4では、図23の範囲100の内部の画素(図23中、横線で網掛けした画素)が、左から右、上から下の順に範囲内画素p5として読み出される。次に、Δαが算出され、算出されたΔαはRAM12に記憶される(S518)。S512で取得された注目線分データL1によって表される注目線分L2が、図20の線分101である場合角度α1は135度である。S516で読み出された範囲内画素p5が図21の(X,Y)=(5,2)の画素である場合、角度α2は45度である。この場合、Δαは90度である。
【0078】
次に、SumとS518で算出されたΔαとの和が算出され、算出結果はSumとしてRAM12に記憶される(S520)。次に、すべての範囲内画素p5がS516で読み出されたか否かが判断される(S522)。読み出されていない範囲内画素p5がある場合には(S522:No)、処理はS516に戻り、次の順序の範囲内画素p5が読み出される(S516)。すべての範囲内画素p5が読み出された場合(S522:Yes)、SumがStよりも大きいか否かが判断される(S524)。具体例4では、Sumは1170度であり、Stの540度よりも大きいので(S524:Yes)、S512で取得された注目線分データL1に対応する第1線分データが、線分データ記憶エリア153から削除される(S526)。S526ではさらに、注目線分L2と重なる画素に対応付けられた角度データのうち、注目線分L2の延伸方向を表す角度データが、第1展開データから削除される。
【0079】
S516で注目線分L2と重なる画素が、高周波数領域の画素である場合(S514:No)と、S524でSumがSt以下である場合(S524:No)と、S526とのいずれかの次に、S528の処理が実行される。S528では、すべての第1線分データが、S512又はS530で注目線分データL1として設定されたか否かが判断される(S528)。注目線分データL1として設定されていない第1線分データがある場合には(S528:No)、次の順序の第1線分データが注目線分データL1に設定され、設定された注目線分データL1はRAM12に記憶される(S530)。次に、処理はS514に戻る。すべての第1線分データが取得された場合には(S528:Yes)、削除処理は終了する。具体例1について、S30で図6の線分を表す第1線分データが作成され、S35で削除処理が実行された場合、図25の線分が削除されずに残される。図5と、図25とを比較すると、例えば、図5の左上部分の帽子を表現する線分の一部が図25では削除されている。
【0080】
上記第3の実施形態のメイン処理において、図22のS514の処理を実行するCPU11は、本発明の抽出手段として機能する。S516からS522の処理を実行するCPU11は、本発明の算出手段として機能する。S526の処理を実行するCPU11は、本発明の削除手段として機能する。
【0081】
第3の実施形態の刺繍データ作成装置1は、高周波数領域以外の、色の変化が比較的少ない領域を表現する縫目が、周囲の縫目の延伸方向と大きく異なる不自然な方向に伸びる縫目となることを回避した刺繍データを作成する。一方で、刺繍データ作成装置1は、色の変化が比較的大きい領域については、周囲の縫目の延伸方向と大きく異なる場合にも、そのような縫目が形成されることを許容した刺繍データを作成する。したがって、刺繍データ作成装置1は、色の変化が大きい高周波数領域についてはその変化を表す縫目によって適切に表現し、色の変化が小さい領域(高周波数領域以外の領域)についてはノイズが縫目に現れることを回避した刺繍データを作成することができる。すなわち、刺繍データ作成装置1は、より自然な仕上がりの刺繍模様を形成する刺繍データを作成することができる。
【0082】
ところで、第1の実施形態の刺繍データ作成装置1では、図8の第2線分データ作成処理において、同じ角度で重なる第1線分については、それらの第1線分をつなげた第2線分を作成する処理が実行されていた。これに対し、第4の実施形態のように、交差する第1線分の角度の差が所定範囲である場合は、それらの第1線分をつなげる処理が実行されてもよい。以下、図26から図28を参照して、第4の実施形態のメイン処理について説明する。第4の実施形態のメイン処理は、HDD15のプログラム記憶エリア161に記憶された刺繍データ作成プログラムに従って、CPU11が実行する。
【0083】
第4の実施形態のメイン処理は、図示しないが図4のS80で実行される第2線分データ作成処理のS216からS220において第1の実施形態のメイン処理とは異なり、他の処理は同様である。以下、第1の実施形態のメイン処理と同様の処理については説明を省略し、第1の実施形態のメイン処理と異なる処理について説明する。第1の実施形態と同様のメイン処理のS30において、図26に示す線分210を表す第1線分データと、線分220を表す第1線分データとが作成された具体例5を想定する。具体例5では、第2線分データ作成処理のS202において、図27のように第1展開データが作成される。本実施形態では、図27のように、複数の第1線分が重なる画素に対しては、画素と重なる複数の第1線分に対応する複数の角度データが対応付けられるものとする。
【0084】
S216とS218とでは、図28の端点処理が実行される。図28では、図12の端点処理と同様の処理には、同じステップ番号が付与されている。図28のように、第4の実施形態の端点処理は、S318からS322の処理に代えて、S604からS624の処理が実行される点で、図12の第1の実施形態の端点処理と異なる。第1の実施形態の端点処理と同様な処理については説明を簡略化又は省略し、以下、S316の処理と、第1の実施形態の端点処理と異なるS604からS624の処理とについて説明する。
【0085】
S316では、図8のS214で設定される角度θをθ1とし、次の画素p3に対応付けられた角度データが示す角度をθ2とした場合に、角度θ1と、角度θ2とが、不一致であるか否かが判断される(S316)。具体例5の(X,Y)=(1,1)の画素であり、次の画素p3が(X,Y)=(1,2)の画素である場合θ1は175度であり、θ2は19度と175度とである。次の画素p3に複数の角度が設定されている場合には、複数の角度のそれぞれがθ1と比較される。θ1が175度、θ2が19度の場合(S316:Yes)、Δθがθtより小さいか否かが判断される(S602)。Δθは、交差する第1線分がなす角度の内、90度以下となる方の角度を表す。θ2とθ1との差の絶対値が90度以下の場合には、Δθにθ2とθ1との差の絶対値が設定される。θ2とθ1との差の絶対値が90度より大きい場合には、Δθにθ2とθ1との差の絶対値からさらに180を差し引いた値の絶対値が設定される。θtは、周囲に配置される縫目の角度と大きく異なる縫目によって、刺繍模様が不自然な仕上がりとなることを想定した場合の、縫目の角度の差の許容量を考慮して適宜定められる閾値であり、本実施形態では、25度と定められている。前述の具体例5では、Δθは、0度と、24度とである。複数のΔθが取得された場合には、例えば、Δθが0でない値が参照される。
【0086】
Δθがθt以上である場合(S602:No)、後述するS622の処理が実行される。具体例5のΔθは24度であり、θtとして設定された25度よりもより小さいので(S602:Yes)、第1展開データが参照され、端点処理が実行される(S604)。端点処理では、図12の端点処理と同様な処理によって、図26の線分210と交差する線分220の端点のうち、交点からみてθ2+180方向にある端点を特定する処理が実行される。ただし、S604では、図12の第2展開データを更新するS318とS322との処理は実行されない。またS604では、図12のS316において、1つの画素に複数の角度データが対応付けられている場合には、例えば、Δθが0でない値が参照される。S604の端点処理によって、交点200を含む画素(以下、「交点画素」と言う。)(X,Y)=(2,1)と、端点221を含む画素(以下、「端点画素」と言う。)(X,Y)=(1,2)とが特定される。
【0087】
次に、S604で特定された交点画素から、端点画素までの距離Ltが算出され、算出されたLtはRAM12に記憶される(S606)。距離Ltの長さの算出方法は適宜定められればよい。例えば、交点画素の中心と、端点画素の中心とを結ぶ線分の長さが距離Ltとされてもよい。また交点画素と、画素の大きさに対する第1線分の長さが短い場合等には、例えば、交点画素と、端点画素とのX座標の差ΔXと、角度θ2とに基づき算出されるΔX/cosθ2が距離Ltとされてもよい。次に、S606で算出されたLtが、閾値Lnよりも小さいか否かが判断される(S608)。閾値Lnは、第1線分の長さ成分と、縫製可能な縫目の長さとを考慮して適宜定められる。例えば、第1線分の長さの1/4から1/3の長さのいずれかが、閾値Lnとして設定される。LtがLnよりも小さい場合には(S608:Yes)、次の画素p3が交点画素としてRAM12に記憶される(S614)。次に、角度θ2が現在の角度θ1に設定され、設定された現在の角度θ1がRAM12に記憶される(S616)。具体例5では、現在の角度θ1に19度が設定される。S314において、次の画素p3が第1展開データに設定されていない場合(S314:No)と、S316において次の画素p3に対応付けられた角度データが示す角度と図8のS214で取得された角度θとが一致する場合(S316:No)と、S608でLtがLn以上である場合には(S608:No)と、S616とのいずれかの次に、S618の処理が実行される。S618では、図12のS318の処理と同様に第2展開データが更新される。次に、現在の画素p2に、次の画素p3が設定され、設定された現在の画素p2はRAM12に記憶される(S620)。次に、処理はS306に戻る。具体例5では、繰り返し実行される処理によって、矢印202で表される方向に存在する画素が、順に次の画素p3として設定される。
【0088】
S308で次の画素p3が画像からはみ出している場合(S308:No)と、S310で次の画素p3がRegと同じ領域ではない場合(S310:No)と、S312で次の画素p3が第2展開データに設定されていない場合と(S312:No)と、S602でΔθがθt以上である場合(S602:No)とのいずれかの場合には、S622の処理が実行される。現在の画素p2に、具体例5の(X,Y)=(5,1)の画素が設定された場合、次の画素p3は、画像からはみ出しているので(S308:No)、次に、現在の画素p2が端点として記憶される(S622)。次に、端点処理は終了し、処理は図8の第2線分データ作成処理に戻る。図8の第2線分データ作成処理のS220では、S614で交点が記憶された場合には、S624でと記憶された一方の端点画素とS614の交点画素とを結ぶ線分と、交点画素と他方の端点画素とを結ぶ線分とで構成される線分群を表す第2線分データが作成される。具体例5では、端点211を含む画素と交点200を含む画素とを結ぶ線分と、交点200を含む画素と端点222を含む画素とを結ぶ線分とで構成される線分群を表す第2線分データが作成される。S220で線分群を表す第2線分データが作成された場合、その第2線分データによって表される線分群は連続しているとみなされる。
【0089】
上記第4の実施形態の刺繍データ作成装置1において、図28のS602からS614の処理を実行するCPU11は、本発明の交点画素特定手段として機能する。また、図8のS220と同様な処理において、S614で交点が記憶された場合に、S624でと記憶された一方の端点とS614の交点とを結ぶ線分と、交点と他方の端点とを結ぶ線分とで構成される線分群を表す第2線分データを作成するCPU11は、本発明の第2線分データ記憶手段として機能する。
【0090】
第4の実施形態の刺繍データ作成装置1は、角度(傾き)が類似する2つの第1線分を、その交点で接続した線分を表す第2線分データを作成する。これによって、連続した(長さが長い)縫目の割合が多い、刺繍模様としてより自然な縫目を形成する刺繍データを作成することができる。
【0091】
なお、本発明の刺繍データ作成装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。例えば、以下の(A)から(H)の変形を適宜加えてもよい。
【0092】
(A)上記実施形態では、パーソナルコンピュータを刺繍データ作成装置1としているが、刺繍データ作成プログラムをミシン(例えば、刺繍ミシン3)に記憶させ、ミシン(例えば、刺繍ミシン3)において刺繍データを作成してもよい。
【0093】
(B)図4のS30における第1線分データの作製方法は適宜変更可能である。上記実施形態では、図4のメイン処理において、画素データから計算された角度特徴データに基づいて第1線分データを作成していたが、他の公知の第1線分データ作製方法に従い作成されてもよい。例えば、特開2000−288275号公報に記載された縫目データを第1線分データとしてもよい。
【0094】
(C)図4のS60における分割領域の作製方法は適宜変更可能である。上記実施形態では、元画像を減色処理することにより、分割領域を決定していた。減色方法としては、メディアンカット法を一例として挙げたが、例えば、均等量子化法、細分化量子化法等が採用されてもよい。同様に、上記実施形態では、説明を簡単にするために、同じ色に減色された画素は同じ分割領域に属するとしていたが、これに限定されない。例えば、同じ色に減色された画素が連続している領域を同じ分割領域としてもよい。
【0095】
(D)展開データの作製方法及び内容は適宜変更可能である。展開データは、第1線分データによって表される第1線分と重なる画素と、第1線分の延伸方向を表す角度データとが対応付けられたデータであればよい。例えば、上記実施形態と同様の第1展開データに、第2線分データが作成されたか否かを示すデータが付与されたデータが、展開データとして作成されてもよい。
【0096】
(E)未設定画素を検出画素として検出する方法は、適宜変更可能である。例えば、図12のS306において、次の画素p3は、第2注目画素p1からみて角度φが示す延伸方向にある画素が第2注目画素p1からの距離が近い順に読み出されていたが、次の画素p3を読み出す所定の順序は、これに限定されない。例えば、第2注目画素p1からみて角度φが示す延伸方向にある画素が第2注目画素p1からの距離が近い順に所定個(例えば、1個)置きに読み出されてもよい。また例えば、未設定画素が少ない画像を表す画像データに基づき刺繍データが作成される場合等では、未設定画素を検出画素として検出する処理は適宜省略されてよい。
【0097】
(F)展開データとしての第2展開データの更新方法は適宜変更可能である。例えば、所定条件を満たす検出画素にのみ、検出画素に対応する角度データを設定する処理が実行されてもよい。例えば、第2線分の密度が所定範囲に収まる場合には、検出画素が検出された場合にも、検出画素に対応する角度データを設定する処理が実行されなくてもよい。すなわち、第2線分と重ならない画素があってもよい。また、未設定画素が少ない画像を表す画像データに基づき刺繍データが作成される場合等では、展開データを更新する処理は適宜省略されてよい。
【0098】
(G)第2線分データの作成方法は適宜変更可能である。例えば以下の(G−1)から(G−6)の変形を加えてもよい。
【0099】
(G−1)上記実施形態では、第2線分データによって表される第2線分と重なる画素は、すべて同一の分割領域の画素であったが、例えば、第2線分と重なる所定割合の画素又は所定数の画素が、他の画素と異なる分割領域の画素であってもよい。
【0100】
(G−2)第2線分が短すぎる場合には、第2線分を縫目によって表現できない。第2線分に対応する縫目は同じ色の縫目となるため、第2線分の長さが第2線分の周囲に配置される線分に比べて過剰に長い場合には、刺繍模様が不自然な仕上がりになる場合がある。このような場合には、例えば、第2線分データは、第2線分が所定の範囲の長さの線分となる場合に作成されてもよい。
【0101】
(G−3)上述のような事態が発生することを回避することができる。また例えば、刺繍データ作成装置1は、図12の端点処理のS310において、次の画素p3が第2注目画素p1と同じ領域か否かを判断していたが、これに限定されない。例えば、刺繍データ作成装置1は、色の変化が小さい画像を表す画像データに基づき刺繍データが作成される場合には、S310の処理を省略してもよい。
【0102】
(G−4)第1の実施形態では、異なる分割領域にある画素と重なる第1線分は、同じ角度を示す第1線分でも接続しないとしたが、これに限定されない。例えば、次のように第2線分データが作成されてもよい。刺繍データ作成装置は、類似する角度を有する第1線分を接続した線分を表す線分データを作成してから、各画素が属する分割領域に従って、線分データによって表される線分を切断する。刺繍データ作成装置は、切断の結果作成された第2線分を表す第2線分データを作成する。この場合、第1線分を接続した線分を切断するか否かを、切断の結果作成された第2線分の長さに応じて決定してもよい。
【0103】
(G−5)上記実施形態では、延伸方向画素と第2注目画素p1とによって形成される画素領域は1つの連続した領域であったが、複数の離れた領域であってもよい。第2線分と重なる延伸方向画素と第2注目画素p1とによって形成される画素領域が、複数の離れた領域となる場合、各領域間の距離は短い方が好ましい。また、上記実施形態は、延伸方向画素の角度データが示す角度は、第2注目画素が示す角度と同じであったが、延伸方向画素の角度データが示す角度は、第2注目画素が示す角度と類似する角度であってもよい。類似する角度の範囲は、線分の延伸方向が同じであると判断できる許容値を考慮して、適宜定められればよい。
【0104】
(G−6)周囲画素と重なる第1線分と同じ角度を有する線分が、未設定画素と重なる第2線分として作成される場合、未設定画素と異なる分割領域に含まれる画素の角度データが特定周囲画素データと特定される場合がある。この場合、異なる分割領域間の色が大きく異なる場合には、第2線分データに対応する縫目が、分割領域内の色の変化の方向を適切に表すことができない可能性がある。このような場合には、図16のS414と、S416との間に、周囲画素p4がS404で設定される第2注目画素p1と同じ分割領域の画素であるか否かを判断する処理が実行されてもよい。この場合、周囲画素p4がS404で設定される第2注目画素p1と同じ分割領域の画素である場合にS416の処理が実行され、周囲画素p4がS404で設定される第2注目画素p1と同じ分割領域の画素ではない場合に、S430の処理が実行されればよい。このようにすれば、周囲画素p4の中の、第2注目画素p1と同じ分割領域にある画素に対応付けられた角度データに基づき、第2注目画素p1の角度データが設定される。このため、この場合の刺繍データ作成装置は、画像全体の色の変化を縫目によってより適切に表した刺繍模様を形成するための刺繍データを作成することができる。この場合の、S60の処理を実行するCPU11は、本発明の第2分割手段として機能する。S70と図8のS202との処理を実行するCPU11は、本発明の第2対応付け手段として機能する。
【0105】
(H)図22の削除処理は適宜変更可能である。例えば、注目線分データL1によって表される注目線分L2と交差する線分とがなす角度の内小さい方の角度が、閾値(例えば、30度)である場合に、Sumを算出してもよい。この場合には、注目線分L2と交差する線分の数と、注目線分L2と交差する線分とがなす角度とを考慮して、注目線分データL1を削除するか否かを判断することができる。例えば、注目線分データL1によって表される注目線分L2と交差する交差線分と、注目線分L2とがなす角度の内小さい方の角度が閾値以上となる交差線分の数に応じて、注目線分L2に対応する注目線分データが削除されてもよい。また例えば、必要に応じて図22のS504及びS514の処理を省略してもよい。この場合、刺繍データ作成装置は、S504及びS514を実行する場合に比べ、削除処理を簡単にすることができる。また、刺繍データ作成装置は、刺繍模様全体にわたって、類似する方向を有する縫目を形成する刺繍データを作成できる。
【符号の説明】
【0106】
1 刺繍データ作成装置
3 刺繍ミシン
10 装置本体
11 CPU
12 RAM
13 ROM
15 HDD

【特許請求の範囲】
【請求項1】
複数の画素を含む画像を表す画像データに基づき、刺繍模様の縫製に用いられる刺繍データを作成する刺繍データ作成装置において、
前記刺繍模様の縫製に用いる糸の色を使用糸色として取得する糸色取得手段と、
少なくとも1の前記画素を含む第1注目画素を表現する第1線分データを、当該第1注目画素を表す注目画素データに基づいて作成する第1線分データ作成手段と、
前記第1線分データ作成手段によって作成された前記第1線分データに基づき、前記第1線分データによって表される第1線分と重なる画素と、当該第1線分の延伸方向を表す角度データとを対応付けた展開データを作成する展開データ作成手段と、
前記展開データにおける第2注目画素からみて、当該第2注目画素に対応する注目角度データが表す延伸方向にあり、かつ、当該注目角度データが示す角度と類似する角度を示す角度データが対応付けられた画素を、延伸方向画素として特定し、前記第2注目画素と前記延伸方向画素とに重なる第2線分を表す第2線分データを作成する第2線分データ作成手段と、
前記糸色取得手段によって取得された前記使用糸色の中から、前記第2線分と重なる画素の色を表現する糸色を刺繍糸色として当該第2線分を表す前記第2線分データに割り当てる配色手段と、
前記配色手段により割り当てられた前記刺繍糸色が同じである前記第2線分データによって表される同色線分が複数ある場合に、当該複数の同色線分を接続するための接続線分データを作成する接続線分データ作成手段と、
前記第2線分データ作成手段によって作成された前記第2線分データと、前記配色手段によって当該第2線分データに割り当てられた前記刺繍糸色と、前記接続線分データ作成手段によって作成された前記接続線分データとに基づいて、縫製順序と、糸色データと、針落ち点データとを含む前記刺繍データを作成する刺繍データ作成手段と
を備えたことを特徴とする刺繍データ作成装置。
【請求項2】
前記画像データに基づいて、前記画像データによって表される画像を分割して複数の第1分割領域を作成する第1分割手段と、
前記第1分割手段によって作成された前記第1分割領域と、当該第1分割領域に含まれる画素との対応を表すデータを前記展開データに付与する第1対応付け手段と
を備え、
前記第2線分データ作成手段は、前記展開データを参照して、前記複数の画素の中から、前記第2注目画素からみて前記注目角度データが表す延伸方向にあり、かつ、当該検出画素と同じ前記第1分割領域である第1領域にある画素であって、当該注目角度データが示す角度と類似する角度を示す角度データが対応付けられた画素を前記延伸方向画素として特定して、前記第2線分データを作成することを特徴とする請求項1に記載の刺繍データ作成装置。
【請求項3】
前記展開データ作成手段によって作成された前記展開データを参照して、前記複数の画素の中から、前記角度データが対応付けられなかった未設定画素を検出画素として検出する検出手段と、
前記検出手段によって前記検出画素が検出された場合に、前記展開データに含まれる前記角度データのうちの、当該検出画素から所定距離内にある周囲画素に対応する角度データに基づき、当該検出画素に対応する角度データを設定して、前記展開データを更新する更新手段と
を備え、
前記第2線分データ作成手段は、前記更新手段によって前記展開データが更新された場合には、更新後の前記展開データである更新展開データを参照して、第2線分データを作成することを特徴とする請求項1又は2に記載の刺繍データ作成装置。
【請求項4】
前記検出手段は、前記第2注目画素からみて、前記注目角度データが表す延伸方向にある画素を所定の順序で読み出して、前記未設定画素を前記検出画素として検出し、
前記更新手段は、前記検出手段によって前記検出画素が検出された場合に、前記周囲画素うち、当該検出画素よりも前に読み出された画素に対応する角度データを、当該検出画素の角度データに設定して、前記展開データを更新することを特徴とする請求項3に記載の刺繍データ作成装置。
【請求項5】
前記更新手段は、前記検出手段によって前記検出画素が検出された場合に、前記展開データを参照して、前記周囲画素に対応する周囲角度データの中から特定された特定周囲角度データであって、当該検出画素からみて当該周囲角度データが表す延伸方向にある画素のうちの、前記未設定画素又は前記周囲角度データと類似する角度を示す角度データと対応付けられた画素の数が最も多い特定周囲角度データを、当該検出画素の角度データに設定して、前記展開データを更新することを特徴とする請求項3又は4に記載の刺繍データ作成装置。
【請求項6】
前記画像データに基づいて、前記画像データによって表される画像を分割して複数の第2分割領域を作成する第2分割手段と、
前記第2分割手段によって作成された前記第2分割領域と、当該第2分割領域に含まれる画素とを対応を示すデータを前記展開データに付与する第2対応付け手段と
を備え、
前記更新手段は、前記検出手段によって前記検出画素が検出された場合に、当該検出画素の前記周囲画素の中から、当該検出画素と同じ前記第2分割領域である第2領域の画素を領域画素として特定し、当該領域画素に対応する角度データに基づき、当該検出画素に対応する角度データを設定して、前記展開データを更新することを特徴とする請求項3から5のいずれかに記載の刺繍データ作成装置。
【請求項7】
前記展開データの前記角度データのうち、前記第2注目画素からみて前記注目角度データが表す延伸方向にある画素の角度データを参照角度データとして所定の順序で読み出して、前記参照角度データが表す延伸方向と、前記注目角度データが表す延伸方向とがなす角度のうち小さい方の角度の絶対値が0より大きく第1所定値よりも小さい場合に、当該参照角度データに対応付けられた画素を交点画素として特定する交点画素特定手段を備え、
前記第2線分データ作成手段は、前記交点画素特定手段によって前記交点画素が特定された場合に、前記交点画素からみて前記参照角度データが表す延伸方向にあり、かつ、当該参照角度データと類似する角度を示す角度データが対応付けられた画素の数に応じて、前記交点画素において接続された、前記交点画素から前記参照角度データが表す延伸方向に伸びる線分と、前記交点画素から前記注目角度データが表す延伸方向に伸びる線分とを表すデータを前記第2線分データとして作成することを特徴とする請求項1から6のいずれかに記載の刺繍データ作成装置。
【請求項8】
前記第1線分データ作成手段によって作成された前記第1線分データのうちの注目線分データについて、前記複数の画素の中から、当該注目線分データによって表される注目線分との距離が第2所定値以下の画素を範囲内画素として特定し、特定された前記範囲内画素と対応付けられた前記角度データが示す角度と、前記注目線分の角度との差の絶対値を算出する算出手段と、
前記算出手段によって算出された前記差の絶対値が第3所定値以上である場合に、前記注目線分データと、前記展開データに含まれる前記注目線分と重なる画素に対応付けられた前記注目線分の延伸方向を表す角度データとの少なくともいずれかを削除する削除手段と
を備えることを特徴とする請求項1から7のいずれかに記載の刺繍データ作成装置。
【請求項9】
前記複数の画素のうち、空間周波数成分が第4所定値よりも大きい高周波数領域以外の領域の画素を低周波数画素として抽出する抽出手段を備え、
前記算出手段は、前記抽出手段によって抽出された前記低周波数画素を前記第2注目画素とすることを特徴とする請求項8に記載の刺繍データ作成装置。
【請求項10】
請求項1から9のいずれかに記載の刺繍データ作成装置の各種処理手段として、刺繍データ作成装置に内蔵されたコンピュータを機能させるための刺繍データ作成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図25】
image rotate


【公開番号】特開2011−136061(P2011−136061A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2009−298409(P2009−298409)
【出願日】平成21年12月28日(2009.12.28)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】