問題タブ [turbojpeg]
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.
c++ - libjpeg-turboのTurboJPEGの使用例またはチュートリアル
libjpeg-turboの説明では、 TurboJPEG APIについて次のように説明しています。「このAPIは、libjpeg-turboをラップし、メモリ内のJPEG画像を圧縮および解凍するための使いやすいインターフェイスを提供します」。すばらしいですが、このAPIを使用した確かな例はありますか?メモリ内のかなりバニラのjpegを解凍しようとしています。
TurboJPEG APIを使用しているように見えるhttps://github.com/erlyvideo/jpeg/blob/master/c_src/jpeg.cなどのビットをいくつか見つけましたが、他に堅実で多様な例はありますか?
libjpeg-turboのソースは十分に文書化されているので、それは役に立ちます。
java - libjpeg-turbo java encode jpeg
Macにlibjpeg-turboをインストールし、eclipseプロジェクトにjarとlibsを追加しました。バッファリングされた画像からjpegbyte[]を作成しようとしています:
私が得るエラーは次のとおりです:java.lang.Exception:tjBufSize():無効な引数
カスタムロボットを使用して、タイプTYPE_3BYTE_BGRのバッファリングされたイメージを作成します。ImageIOを使用してbyte[]を作成できますが、速度が遅くなります。
Javaラッパーでいくつかのチュートリアルを見つけようとしましたが、bufferedimageからjpegをエンコードするチュートリアルは見つかりませんでした。誰かが私を助けてくれたらとてもありがたいです。
java - libjpeg-turbo の Java ラッパーを実際に圧縮するにはどうすればよいですか?
Java プロジェクトで実際に画像を圧縮するために libjpeg-turbo を取得するのに問題があります。これは .jpg をうまく書き込みますが、結果の最終的なサイズは常に、たとえば同じ画像の 24 ビット ウィンドウの .bmp とほぼ同じになります。480x854 の画像は、以下のコード スニペットを使用して 1.2 メガバイトの jpeg に変換されます。GRAY サンプリングを使用すると、800Kb になります (そして、これらはそもそも派手な画像ではありません。ほとんどの場合、私が取り組んでいるゲームの原色ディスクが塗りつぶされたニュートラルな背景です)。
これまでに得たコードは次のとおりです。
私は特に、このプロジェクトのサンプル Java 使用ドキュメントを見つけるのに苦労しています。ほとんどの場合、C のバックグラウンド/使用法を前提としています。私は圧縮に渡すフラグを理解していません (また、jpeg 標準の内部構造を本当に知っているわけでもなく、知りたいわけでもありません :)!
ありがとう!
android - libjpegturbo で画像のバッチを圧縮すると奇妙な結果が生じる
まず、私が (したい) こと: 画像 (jpg) のバッチを圧縮して縮小します。元の画像のサイズが幅 1600 x 高さ 1200 であると仮定します。今、1600x1200 の圧縮コピーと、800x600 および 400x300 の圧縮コピーが必要です。
私が使用するもの: これを達成するために libJpegTurob を使用しています。LibJpegTurob に問題がある場合は、android の指定されたメソッドを使用しようとします。
すでに試したこと: まず、Tom Gall ( https://github.com/jberkel/libjpeg-turbo )から移植された Java Wrapper を使用しました。
4MBを超える写真を使い始めるまで、(nexus 4で)かなりうまくいきました。基本的に起こったのは、アンドロイドが OutOfMemory 例外をスローしたことです。これは、小さい画像 (~1-2mb) を使用したときに発生しましたが、次々に圧縮されました。
nexus s のような低メモリの予算のデバイスでこれを実行した後、これはさらに悪化しました。低ヒープが原因の問題、それが私が思うことです。
じゃあ、cでやらないといけないと思いました。低予算のデバイスで 3 MB より小さい画像を使用している限り、メモリの問題は解決したようです。nexus 4 では、15 MB を超える画像を圧縮することさえできました。
これがsrcの写真です。
しかし今... 問題。最初の圧縮された画像は良さそうです
しかし、他のすべてのものはこれ
またはこのように見えます
これは、選択した写真を保持して圧縮している限り発生しました。
今コード。
これは、スケーリングと圧縮が行われた場所です
圧縮を開始するJava部分..
私は何を間違っていますか???
どうもありがとう!!
PS下手な英語でごめんなさい!
libjpeg - libjpeg の yuv からグレースケールを抽出します
TurboJpeg または基礎となる libJpeg API のいずれかで、Ycbcr から Y コンポーネントを抽出するための単純な関数はありますか (既に画像を読んだ後)?
データをループしてバイトを抽出できることはわかっています。これはすでに実装されていませんか?