私は、不特定の色の深さと大きさの画像があります。
これをn色のパレットに圧縮するにはどのような方法がありますか?
私のgoogle-fuはこれに弱いです。画像からカラーパレットを作成する方法は?
0
A
答えて
1
よくある最も単純なアプローチは、画像を見て、ピクセルの色をintにマッピングする辞書を作成することです。各ピクセルについて、その色が辞書内にある場合、そのカウントをインクリメントする。表示されていない場合は、カウント1で追加します。これにより、画像に各色が表示される回数が表示されます。
次に、countでソートすると、イメージ内で256の最も一般的な色が見つかります。これらの色があなたのパレットを構成します。
次に、画像をもう一度繰り返します。各ピクセルについて、そのピクセルの色に最も近いパレットカラーを見つけ、そのピクセルのインデックスをそのパレットインデックスに設定します。
これは良い「初回」ですが、色が多い画像ではパレットを見つけるのがうまくいかないかもしれません。ディクショナリ段階では、非常によく似ている色がたくさんあることを避けるために、「非常に近い」色を組み合わせることが望ましいかもしれません。
より良い結果を得るには、ditheringのテクニックを参照してください。
1
この問題は、色の量子化と呼ばれます。例えば、pngquantを参照してください。
アルゴリズムを探している場合は、Median Cut、Octtree、K-Means、Linde-Buzo-Gray、NeuQuantを検索します。理想的にはGoogle Scholarでは、定期的な結果は有料壁を隠すことによってスパムされます。
関連する問題
- 1. FFmpegの画像からカラーパレットを生成
- 2. 非画像データからグレースケール画像を作成する方法
- 3. iOSからJPEG画像を一から作成する方法
- 4. テキストファイルからサムネイル画像を作成する方法は?
- 5. 3D画像から2Dカットを作成する方法は?
- 6. カラーパレットを作成する
- 7. png画像からTFRecordsファイルを作成する方法
- 8. 複数のカスタムコンテナからドッカー画像を作成する方法
- 9. 3D画像から2D平面カットを作成する方法
- 10. Androidの画像リストからビデオを作成する方法
- 11. dailymotionビデオからサムネイル画像を作成する方法
- 12. Phonegap javascriptの画像ファイルからファイルオブジェクトを作成する方法...?
- 13. タイル画像からAnimationDrawableを動的に作成する方法
- 14. titleView画像からボタンとセグを作成する方法
- 15. 2つの画像で画像を作成する方法
- 16. ブロブから画像を作成する
- 17. グラフィックスから画像を作成する
- 18. 画像からビデオを作成する
- 19. DIVから画像を作成する
- 20. ロスレスの方法でJPEG画像からピラミッドタイルTIFFを作成する方法
- 21. 2つの画像から画像を作成する
- 22. 画像URLから画像ファイルオブジェクトを作成する
- 23. numpy配列から作成した画像を保存する方法は?
- 24. 複数のサイズの画像からサムネイルを作成する方法は?
- 25. Python3のピクセル値のリストから画像を作成する方法は?
- 26. Android画面画像から画像をキャプチャまたは作成する
- 27. PHPで画像から動画を作成するには?
- 28. 画像をトリミングする方法/画像をアップロードする前にユーザーから画像をプレビューする方法は?
- 29. 画像から切り取った画像を作成/保存する方法は?
- 30. tm_fillのカラーパレットを作成する