問題タブ [dithering]

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 投票する
0 に答える
67 参照

line - big data-set: 少しずつデータをファイルに書き込みますか? または継続的に?

.ppm単純なパラメーターのセットから画像ファイルを作成するプロトタイプ コードが動作しています。

目的は、非常に大きな画像 (100000 * 100000 ピクセルのようなもの) を作成し、そこから大判レーザー プリンターで高解像度の壁紙を印刷することです。

私が抱えている問題は、高さ/幅が 22000 ピクセルを超えるとプログラムがクラッシュすることです。

私のプログラムでは、すべてのデータがdeque計算中に保存され、最後にdequeファイルにエクスポートされます。

プログラムは行ごとにデータを作成します。つまり、各行の後dequeに、画像の 1 行のデータセットが入力されます。

deque行が処理されるたびに をファイルに書き込み、deque次の行を開始する前に をクリアすることはできますか??

ここに私のコードがあります:

0 投票する
2 に答える
1083 参照

image - Floyd-Steinberg-Dithering はどのように機能しますか?

現在、Java で Floyd-Steinberg-Dithering アルゴリズムを実装しようとしています。数回失敗した後、ウィキペディアにリストされている疑似コードを読んだ後、質問に出くわしました。

私が達成しようとしているのは、画像を 16 色の​​パレットに押しつぶすことです。しかし、ピクセルにエラーを追加した後、パレットにも存在しない完全に新しい色を作成していませんか?

しかし、最後に画像全体を強制的にカラー パレットに戻せば、これで十分でしょうか?

前もって感謝します!

0 投票する
2 に答える
614 参照

java - Java ディザリングが機能しない

Floyd-Steinberg アルゴリズムを Java で実装しようとしていますが、まだエラーがありますか?! 私のコードでは解決できません。これを解決する方法についてアドバイスがあるかもしれません。

ここに方法があります

実際の問題は、それが白黒であり、ディザリングされていないことです。つまり、グレースケールはありません。

私の入力はこれです:http://www.directupload.net/file/d/3985/spd2k9wq.png

私の出力は次のとおりです。http://www.directupload.net/file/d/3985/s24rq7qo.png

「ディザリングされた」画像は過度にディザリングされており、ほとんど黒くなっていることに注意してください。

0 投票する
2 に答える
265 参照

image-processing - 順序付きディザリングの CIE-L*a*b* 色空間でどの色が「低い」および/または「高い」かを識別する方法は?

sRGB をCIE-L*a*b*色空間に変換する関数をいくつか実装しました。

さて、それをディザリングに使用したいと思いますが、どの色が「低い」色で、どの色が「高い」色であるかを正確に識別する方法がわかりません。

1 次元の色空間 (グレー スケール) でディザリングする場合は簡単です。誤差拡散ディザリングを使用する場合、使用するディザリング マトリックスの種類 (Floyd-Steinberg など) に応じて、パレットから最も近いグレー スケール値を計算し、周囲のピクセルに誤差を追加します。これは 1 次元なので、非常に簡単です。値は 1 つだけです。しかし、これで 3 次元の色空間がで​​きました。各座標に個別に誤差を追加するだけでよいでしょうか?
(現時点では、これが私にとって意味のある唯一の方法です。)

順序付けされたディザマトリックスでディザリングする場合、事態はさらに複雑になります。順序付けられたディザ マトリックスは、しきい値を定義します。このためには、ディザリングしようとしている現在のピクセルに関して、パレットの「低い」ピクセル値と「高い」ピクセル値を知る必要があります。ここで、両方のピクセルまでの距離を計算します。ディザ マトリックスからのしきい値によって、隣接するピクセルとの間のどの値を決定した後、ピクセルはより低いピクセルまたはより高いピクセルにディザリングされます。
(もちろん、実際の実装は、パレットのグレースケールカラー値の量に対して適切に選択されたマトリックスを使用することにより、それを計算するよりも最適です。また、等間隔のカラー値を持つパレットを選択するなど)
これも、1 次元の色空間では非常に簡単です。しかし、CIE-L*a*b* では、「より高い」または「より低い」値自体はありません。

輝度だけを使用してしきい値マトリックスを適用するのはかなり間違っているようです。パレットに同じ輝度の 2 つの色があるかもしれません。

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

ocr - ディザリングされた画像を検出するアルゴリズム

g4 で圧縮された Tiff 画像が適切な OCR 出力を生成するかどうかを検出しようとしています。現在、ディザリングされた Tiff の OCR 結果は貧弱です。したがって、OCR エンジンに Tiff を送信する前に、画像がディザリングされているかどうかを確認したいと思います。Tiff がディザリングされている場合、Ghostscript を使用してディザリングを実行していました。

画像がディザリングされているかどうかを判断するアルゴリズムはありますか?