問題タブ [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.
line - big data-set: 少しずつデータをファイルに書き込みますか? または継続的に?
.ppm
単純なパラメーターのセットから画像ファイルを作成するプロトタイプ コードが動作しています。
目的は、非常に大きな画像 (100000 * 100000 ピクセルのようなもの) を作成し、そこから大判レーザー プリンターで高解像度の壁紙を印刷することです。
私が抱えている問題は、高さ/幅が 22000 ピクセルを超えるとプログラムがクラッシュすることです。
私のプログラムでは、すべてのデータがdeque
計算中に保存され、最後にdeque
ファイルにエクスポートされます。
プログラムは行ごとにデータを作成します。つまり、各行の後deque
に、画像の 1 行のデータセットが入力されます。
deque
行が処理されるたびに をファイルに書き込み、deque
次の行を開始する前に をクリアすることはできますか??
ここに私のコードがあります:
image - Floyd-Steinberg-Dithering はどのように機能しますか?
現在、Java で Floyd-Steinberg-Dithering アルゴリズムを実装しようとしています。数回失敗した後、ウィキペディアにリストされている疑似コードを読んだ後、質問に出くわしました。
私が達成しようとしているのは、画像を 16 色のパレットに押しつぶすことです。しかし、ピクセルにエラーを追加した後、パレットにも存在しない完全に新しい色を作成していませんか?
しかし、最後に画像全体を強制的にカラー パレットに戻せば、これで十分でしょうか?
前もって感謝します!
java - Java ディザリングが機能しない
Floyd-Steinberg アルゴリズムを Java で実装しようとしていますが、まだエラーがありますか?! 私のコードでは解決できません。これを解決する方法についてアドバイスがあるかもしれません。
ここに方法があります
実際の問題は、それが白黒であり、ディザリングされていないことです。つまり、グレースケールはありません。
私の入力はこれです:http://www.directupload.net/file/d/3985/spd2k9wq.png
私の出力は次のとおりです。http://www.directupload.net/file/d/3985/s24rq7qo.png
「ディザリングされた」画像は過度にディザリングされており、ほとんど黒くなっていることに注意してください。
image-processing - 順序付きディザリングの CIE-L*a*b* 色空間でどの色が「低い」および/または「高い」かを識別する方法は?
sRGB をCIE-L*a*b*色空間に変換する関数をいくつか実装しました。
さて、それをディザリングに使用したいと思いますが、どの色が「低い」色で、どの色が「高い」色であるかを正確に識別する方法がわかりません。
1 次元の色空間 (グレー スケール) でディザリングする場合は簡単です。誤差拡散ディザリングを使用する場合、使用するディザリング マトリックスの種類 (Floyd-Steinberg など) に応じて、パレットから最も近いグレー スケール値を計算し、周囲のピクセルに誤差を追加します。これは 1 次元なので、非常に簡単です。値は 1 つだけです。しかし、これで 3 次元の色空間ができました。各座標に個別に誤差を追加するだけでよいでしょうか?
(現時点では、これが私にとって意味のある唯一の方法です。)
順序付けされたディザマトリックスでディザリングする場合、事態はさらに複雑になります。順序付けられたディザ マトリックスは、しきい値を定義します。このためには、ディザリングしようとしている現在のピクセルに関して、パレットの「低い」ピクセル値と「高い」ピクセル値を知る必要があります。ここで、両方のピクセルまでの距離を計算します。ディザ マトリックスからのしきい値によって、隣接するピクセルとの間のどの値を決定した後、ピクセルはより低いピクセルまたはより高いピクセルにディザリングされます。
(もちろん、実際の実装は、パレットのグレースケールカラー値の量に対して適切に選択されたマトリックスを使用することにより、それを計算するよりも最適です。また、等間隔のカラー値を持つパレットを選択するなど)
これも、1 次元の色空間では非常に簡単です。しかし、CIE-L*a*b* では、「より高い」または「より低い」値自体はありません。
輝度だけを使用してしきい値マトリックスを適用するのはかなり間違っているようです。パレットに同じ輝度の 2 つの色があるかもしれません。
ocr - ディザリングされた画像を検出するアルゴリズム
g4 で圧縮された Tiff 画像が適切な OCR 出力を生成するかどうかを検出しようとしています。現在、ディザリングされた Tiff の OCR 結果は貧弱です。したがって、OCR エンジンに Tiff を送信する前に、画像がディザリングされているかどうかを確認したいと思います。Tiff がディザリングされている場合、Ghostscript を使用してディザリングを実行していました。
画像がディザリングされているかどうかを判断するアルゴリズムはありますか?