趣味のプロジェクトとして、画像ビットマップを指定するとクロスステッチ パターンを PDF として作成するプログラムを作成します。Mac で Cocoa/Objective C を使用します。
ソース ビットマップは通常 24bpp 画像ですが、数百万色の利用可能な色のうち、クロスステッチ スレッドとして存在するのはごくわずかです。スレッドにはさまざまな種類があります。DMC は最も広く利用されており、さまざまな Web サイトから RGB 値としてほぼすべての範囲を利用できます。たとえば、これが1 つです。
DMC# Name R G B
----- ------------------ --- --- ---
blanc White 255 255 255
208 Lavender - vy dk 148 91 128
209 Lavender - dk 206 148 186
210 Lavender - md 236 207 225
211 Lavender - lt 243 218 228
...etc...
私の最初の問題は、画像内のピクセルからの RGB の開始点から、DMC セットから利用可能な最も近い色を選択することです。最も近い DMC 色を数学的に見つけ、それが色としてもぴったり合うことを確認する最良の方法は何ですか?
私は Cocoa を使用しますが、投稿するコードには疑似コード (または Java も!) を自由に使用してください。