問題タブ [jpeg]

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

java - jpeg ファイルの FFC4 (DHT) ヘッダーからハフマン木を作成するには?

私はこれを自分で解決できると思っていましたが、まったく前進していないようです。

わかりました、背景:

jpg ファイルの FFC4、DHT (Define Huffman Table) ヘッダーによって提供される情報からコードのハフマン ツリーを作成する必要があります。DHT ヘッダーは、ハフマン テーブルを次のように定義します。

1) 一連の 16 バイト。各バイトは、n ビットのハフマン コードを持つシンボルの数を定義します。ここで、n は一連のバイトの位置です。(それは意味がありましたか?!!) たとえば、16 進数の生データは次のとおりです。

00 01 05 01 01 01 ... 00

この意味は:

2) 16 バイトのリストの後に、実際のシンボル自体が続きます。例えば:

00 01 02 03 04 05 06 07 08 09 0A 0B

3) 2 つの部分を組み合わせると、
1 ビットの 00 コード。
2 ビットの 01 コード: リストから最初のシンボルを取得: 00
3 ビットの 05 コード: リストから次の 5 つのシンボルを取得: 01 02 03 04 05
.. など

4) 最後に、上記の情報から実際のハフマン コードを計算する必要があります。あなたが数学の天才なら、特定のビット長で新しいコードごとに適切なビット数で 2 進数をインクリメントするだけで、これらのコードを計算できることにすでに気づいているかもしれません。ビット長が増えたら、単純に 2 進数をインクリメントしてから 2 倍にして続行します。これらの二分木を手で描いてみると、誰の目にも明らかです...

5) これは、ハフマン コードを作成し、それらを配列に格納するために使用したコードです: (最初に 1 のデータを読み取り、それを配列に入れます: dhtBitnum)

ハフマン コードを生成して順番に保存したら、2) で参照するシンボルを順番に追加するだけです。これはそれほどエレガントではないかもしれませんが、少なくとも機能しているようで、正しいテーブルを作成します。

6) 誰かがまだこれに従っているなら、あなたはメダルに値します。

7) 問題は、配列を毎回検索するのではなく、後で jpg 画像データを効率的にデコードできるように、この情報をバイナリ ツリーに格納することです。残念ながら、上記の jpg ヘッダーで提供される情報から直接これを行うためのクリーンで効率的な方法を見つけることはできません。
私が考えることができる唯一の方法は、最初に上記のようにハフマンコードを作成し、次にコードをある種のアドレスとして使用して、必要に応じてノードを作成し、シンボルを適切な場所に保存する方法を実装することです。しかし、これは私が必要とする情報を複製しているようなラウンドアバウトな方法のように思えます.もっと良くて簡単な方法があるに違いありません.

8) 誰かが私のとりとめのないことを理解していれば、いくつかの提案に非常に感謝しています. これは非常に具体的な問題であることは承知していますが、上記の情報が誰かの役に立てば幸いです。私はまだこれに非常に慣れていないので、私の無知を許してください。理解しやすいコードは特に大歓迎です!

0 投票する
3 に答える
1205 参照

php - 無料のツールやrtfをjpgに変換する方法を知っている人はいますか

ユーザーに表示する必要のあるRTFファイルがあります。ブラウザに表示したい場合は、変換する必要があることを知っています。ImageMagickを使用してJPGをPDFに変換する、使用している他のコードを利用できるように、JPGに変換できるようにしたいと思います。ImageMagickはPDFをJPGに変換しますが、RTFは変換しません:(私はWindowsボックスでPHPを使用しています。

****アップデート****

RTFをPDFに変換する方法を理解し、ImageMagickを使用してそれをJPGに変換して表示します。私は最初にPDFに行かなければならないという事実が好きではありませんが、それは機能するので、私はそれに固執するつもりです。回答してくれたすべての人に感謝します。

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

python - JPEG 用の Python PIL のビルドは問題ないように見えますが、セルフテストに失敗します

私はFedora Core 6(64ビット)を使用しています

「yum install libjpeg-devel」の後、PIL をダウンロードしてビルドしました。次のメッセージが表示されます。

--- JPEG サポート OK

JPEG は正常にビルドされたように見えますが、selftest.py を実行すると、次のようになります。

IOError: デコーダ jpeg が利用できません

正しくビルドされているように見えるのに、セルフテストに失敗するのはなぜですか?

0 投票する
8 に答える
23607 参照

java - さまざまな形式の画像をピクセルごとに比較する簡単な方法(ツール?)?

さて、私は今Javaで基本的なロスレスjpegジョイナーを書いていますが、それが生成するファイルを元のファイルと比較したいと思います。

私は16進エディタでしか比較できませんが、2つの画像を比較して「差分マップ」を作成できる、ソフトウェアまたはJavaベース(今のところこれ以上コーディングする気がないのでソフトウェアが望ましい)の簡単な方法を知っている人はいますか? 「ピクセルが同じではないところの?

ありがとう。

0 投票する
9 に答える
69279 参照

c++ - Linux の C++ で JPEG および PNG ピクセルを読み取るにはどうすればよいですか?

画像処理を行っていますが、JPEG および PNG 画像の各ピクセル値を個別に読み取りたいと考えています。

私の展開シナリオでは、(ターゲット コンピューターへのアクセスが制限されているため) サード パーティのライブラリを使用するのは面倒ですが、JPEG/PNG を読み取るための標準の C または C++ ライブラリはないと想定しています...

したがって、ライブラリを使用しない方法を知っている場合は素晴らしいです。そうでない場合でも、回答は大歓迎です!

0 投票する
5 に答える
14191 参照

java - JavaでロスレスJPEG回転(90/180/270度)?

画像を劣化させることなく、JPEGファイルを90度ずつ回転させるためのJavaライブラリはありますか?

0 投票する
3 に答える
1307 参照

java - Java での画像/アイコンのスケーリング

私が取り組んでいるプロジェクトは、モニターの解像度が変更されたときにサイズを変更する必要があります。レガシ コードやその他の問題により、解像度が変更されたときにすべてのコンポーネントを適切なサイズにスケーリングするカスタム ライブラリを使用してこれを行います。

ただし、プロジェクトで使用されている画像/アイコンの一部を拡大縮小すると、ぼやけたり、ぼやけたり、エイリアスが発生したりします。ほとんどの場合、それらはすべてラスター gif であるためです。

この問題を軽減するために有効であると考えられる解決策の 1 つは、ベクター画像を使用して、その場でラスター画像に変換する (そしてパフォーマンス向上のためにキャッシュする) ことです。

皆さんはどう思いますか?これは良い方法でしょうか?または、選択した方法に代わるより良い方法はありますか?

これがより良い方法である場合、誰かがsvg変換を行ってjpgまたはpng(できれば)にする方法へのポインタを与えることができます。利用可能な (そして商用利用可能な) ライブラリは?

ありがとう

0 投票する
6 に答える
1405 参照

delphi - 難読化された画像

私はいくつかの画像を配布し、他の人が私のプログラムを使用していない限りそれらを見ることができないようにしたいです。私の意図は、他の画像ビューアがそれ以上読み取れないようにヘッダーを変更するJPGファイルを使用することです。たとえば、JPGの魔法の署名である7〜10バイトを削除できます。後で、私のプログラムはヘッダーを再構築し、JPGファイルを表示します。

質問:「壊れた」JPGファイルを読み取ったり、ヘッダーを復元したり、適切なファイルをディスクに保存したり、「適切な」JPGファイルとして再ロードしたりせずに、その場でこれを行うにはどうすればよいですか。