問題タブ [quantization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
97 参照

java - Java での画像の逆量子化により、画像上で赤、緑、または青のランダム ポイントが得られます。

私はJavaと画像処理に非常に慣れていません。私は8 * 8ブロックのDCT(離散コサイン変換)を取り、次に量子化を行い、後で逆量子化とそれに続くIDCTによって元の画像を取得しようとしています。

しかし、最終的にデコードされた画像には、画像の一部の領域に緑、赤、青のポイントがランダムに表示されますが、元の画像コンテンツはすべて保持されます。Math.round 関数を使用しないと元の画像が正しく表示されるため、これは量子化プロセス中の丸めと関係があることを知っています。私は実際の理由を理解できませんでした.添付された画像の違いを見ることができます

コードスニペット:

元の画像 復号化された画像

0 投票する
1 に答える
4028 参照

javascript - XMLHttpRequest を使用して RGB 画像のドミナント カラーを生成する

読者への注意: これは長い質問ですが、質問を理解するには背景が必要です。

色の量子化技術は、画像の主要な色を取得するために一般的に使用されます。色の量子化を行うよく知られたライブラリの 1 つは、 Modified Median Cut Quantization ( MMCQ ) および octree quantization (OQ)による Leptonica です。@lokesh による Github のColor-thiefは、MMCQ アルゴリズムの JavaScript での非常に単純な実装です。

技術的には、<img/>HTML 要素の画像は次の要素に基づいてい<canvas/>ます。

TVML後で見るように、これが の問題です。

私が最近知った別の実装は、この記事Using imagemagick, awk and kmeans to finddominant colors in imagesにリンクされており、Using python to generate awesome linux desktop theme にリンクしています。著者は、 Python と k-means を使用して、そこで使用されている画像の支配的な色を見つける方法に関する記事を投稿しました (これらすべてのリンクについては申し訳ありませんが、履歴をたどっています...)。

著者は非常に生産的で、ここに投稿する JavaScript バージョンも追加しました: Using JavaScript and k-means to find thedominant colors in images

この場合、MMCQ (または OQ) アルゴリズムではなく K-Means を使用して、画像の主要な色を生成しています。問題は、画像も同様でなければならないということです:

その後

これは、Canvas に 2D 画像描画 API を公開する getContext() メソッドがあるためです - Canvas 2D API の紹介を参照してください。

このコンテキスト ctx が画像処理関数に渡されます

したがって、コンテキストを介してキャンバスに画像を描画し、画像データを取得できます。

もう 1 つの優れたソリューションは CoffeeScript のColorTunesにありますが、これも次のように使用しています。

しかし、待ってください、 には<canvas/>要素がありませんTVML!

もちろん、Objective-C ColorCubeDominantColorなどのネイティブ ソリューションがあります。これは K-means を使用しています。

そして、 CocoaControls の@AaronBrethostによる非常に素晴らしく再利用可能な ColorArt です。

これはネイティブから JavaScriptCore へのブリッジを介して TVML アプリケーションで使用できるという事実にもかかわらず - TVML/JavaScriptCore を UIKit/Objective-C (Swift) にブリッジする方法を参照してください。

私の目的は、これをTVJSand で完全に機能させることですTVML

最も単純な MMCQ JavaScript 実装はキャンバスを必要としません。Nick RabinowitzによるMMCQ の基本的な Javascript ポート (変更された中央値カット量子化)を参照してください。ただし、画像の RGB 配列が必要です。

これは HTML から取得されたもので<canvas/>あり、それが理由です。

[質問] HTML5 を使用せずに RGB 画像のドミナント カラーを生成する<canvas/>方法ByteArrayXMLHttpRequest?

[更新] この質問をColor-Thief github リポジトリに投稿し、RGB 配列の計算を最新のコードベースに適合させました。私が試した解決策はこれでした

しかし、正しいRGBカラー配列は返されません。

[更新] すべての提案のおかげで、私はそれを機能させました。完全な例がGithubで利用できるようになりました。

0 投票する
1 に答える
629 参照

neural-network - 自己組織化マップと線形ベクトル量子化

自己組織化マップは、分類よりもクラスタリング (次元削減) に適しています。ただし、SOM は微調整のために線形ベクトル量子化で使用されます。しかし、LVQ は教師あり学習法です。そのため、LVQ で SOM を使用するには、ラベル付けされたトレーニング データ セットを LVQ に提供する必要があります。しかし、SOM はクラスタリングのみを行い、分類は行わないため、データにラベルを付けることができないため、SOM を LVQ の入力として使用するにはどうすればよいでしょうか?

LVQは SOMのクラスターを微調整しますか?
LVQ で使用する前に、ラベル付けされた入力を LVQ で使用できるように入力を分類できるように、SOM を別の分類アルゴリズムにかける必要がありますか?

0 投票する
0 に答える
216 参照

php - ビット画像を 24 ビット RGB から 8 ビット RGB に減らしますが、結果の画像は tinypng.com と同じように美しくありません

imagetruecolortopallete を使用してビット イメージを 24 ビット RGB から 8 ビット RGB に縮小しますが、結果のイメージは tinypng.com と同じように美しくありません。どうすればよいですか?

元の画像 24 ビット RGB

私のコードによる画像8ビットRGB変換

24ビット

8ビット不良

tinypng.comによる画像8ビットRGB変換

8ビットOK

[Spektre]: 画像全体ではなく申し訳ありませんが、ソース リンクが遅すぎる/不安定であることに我慢できませんでした (3 回目のダウンロード試行後、20 分ほどかかりました ...)

0 投票する
1 に答える
1697 参照

c# - 量子化(画像の減色)

C# で画像を 10 色に量子化しようとしていますが、量子化された画像の描画に問題があります。マッピング テーブルを作成しましたが、正しいです。元の画像のコピーを作成し、色を変更しています。マッピングテーブルに基づくピクセル、私は以下のコードを使用しています:

0 投票する
1 に答える
978 参照

javascript - D3 量子化カラー スケールが正しい色分布を示さない

幅広い値の可能性があるデータセットを指定して、適切なカラー パレットを取得する方法を理解しようとしています。(githubの貢献ヒートマップを考えてください)

値は動的であるため、使用できるかどうかはわかりませんd3.scale.threshold

データセットを量子化:

次のカラー スケールを使用していますが、色を付ける必要がある 41 の要素のうち、最初の 4 つだけが色を持ち、それ以外はすべて #eeeeee (灰色) に設定されています。

クオンタイズ出力:


アップデート:

次のセットでは、変位値を使用しても期待どおりに機能しないようです。

分位データセット:

次のカラー スケールを使用します。

変位値出力:

すべての値 > 0 には色があり、すべての 0 は #eeeeee になると思います。

私が間違っていることは何ですか?

0 投票する
1 に答える
66 参照

java - 純白を薄める色量子化

私は単純な量子化関数を持っています

それが行うことは、色をより詳細な色に減らしてから拡張することです。これにより、人為的にパレットが制限され、ディザフィルターに使用されます。関数を介した画像はこれを生成します

In: 量子化されていないヒュー ホイール Out: 量子化されたヒュー ホイール

結果として、これはほぼ完璧です。白が灰色に縮小されていることを除いて、原因はアルゴリズムで分割された色のフローリングであることを理解していますが、これを修正する方法がわかりません。提案をいただければ幸いです

ここに画像の説明を入力

ここに画像の説明を入力