ようこそゲスト さん ユーザー登録 ログイン

フルカラー(約1670万色)で表現された画像を4096色に美しく減色できる方法・ツールなどを教えてください。
4096色というのは、RGB24bitカラーのうち、16進数で下の位が0になる値を指します。つまり#*0*0*0(*は0~Fの値)の色となります。
Photoshopや減色ツールなどでは、パレットカラーを256色しか持つことが出来ず、4096色への減色が出来ませんでした。それとも、私が知らないだけで実は出来たりするのでしょうか? フルカラー(約1670万色)で表現された画像を4096色に美しく減色できる方法・ツールなどを教えてください。 4096色というのは、RGB24bitカラーのうち、16進数で下の位が0に.. を含むブックマーク

  • clean_view あなたも質問に答えられます! ウォッチリストに追加 twitterアイコンTwitterでつぶやく
  • 状態:終了 いるか
  • 回答数:1 / 20件
  • 回答ポイント:100ポイント
  • 登録:2006-05-10 11:55:30
  • 終了:2006-05-10 15:59:17
  • カテゴリー:コンピュータコンピュータ ウェブ制作ウェブ制作

1 回答者:i_kumagoro 2006-05-10 14:01:25 満足! 100ポイント

#RRGGBB のR,G,Bで1桁目と2桁目を同じ数字になると思います(さもなくば白が白にならない)が、それは置いておきます。

ImageMagickのconvertコマンドを使用すれば任意の色数への減色が可能です。コンソール(ターミナル、コマンドプロンプト)から

convert source.fine -dither -map color4096.png dest.file

の様にして使います。

source.fileは変換元のファイル名

dest.fileは変換先のファイル名

color4096.png は減色時に使用するカラーを含んだ画像で、今回の場合は、ここに4096色使った画像を指定します。

その様な画像が用意できない場合はこっちに用意したものをお使い下さい。

もしくは、ViXの様な16色モノクロに減色できるツールがあれば、

  1. photoshop上からRGBのチャンネルごとにグレイスケールの画像で保存。
  2. それぞれ16色モノクロに減色。
  3. photoshop上で再度カラー画像に合成。

でも、かなり面倒ですが可能だとは思います。

質問者:clean_view 2006-05-10 15:57:48

1桁目と2桁目は同じ数字でなくて、2桁目が0の色に限定されます。しかし、この4096色のパレットは、リンクしていただいたものと同じように、64x64のサイズでこちらで持っていたので、問題ありませんでした。結果的に、ImageMagickで、私の質問の内容のとおり、減色できました。また、Photoshopで、RGBそれぞれ16色モノクロ分解してやるのも、アクションを組んでみたりしてトライしてみました。こちらは#*0*0*0の色の制限にすることは出来ませんでしたが、減色は出来ました。現時点では、完璧なご回答だったと思います。いろいろ世界が拓けました。ありがとうございました!

おとなり質問

この質問・回答へのコメント

解決して何よりです。

既にされている事でしたら蛇足になってしまいますが、4096色のパレットがおっしゃるように#*0*0*0になっているという事でしたら、減色前にレベル補正をかけた方が良い結果が得られると思います。

回答でも少し触れましたが、おっしゃるようなパレットでは最も明るい色が#F0F0F0になってしまい、元の画像にこれより上のレベルの階調で表現されている部分が減色時に白飛びしてしまいます。

具体的にはレベル補正で出力レベルを0-240にせばめる事で、理論上は減色時の白飛びがなくなります。

RGBに分解する方法も、理論上は(こればっかりですみません)最後に出力レベルを0-240にする事で#*0*0*0のパレットに入るはずです。

この質問・回答へのトラックバックこの質問・回答へのトラックバック