Java JPEG2000 Writer
JDeli Java画像ライブラリには、JavaでJPEG2000ファイルを書き込むためのJPEG2000 Writerが含まれています。JPEG2000エンコーダーは100%Javaで書かれており、依存関係なしでJPEG2000サポートを提供します。
- 100% Javaソリューション。dllやネイティブコードへの依存なし
- 高速で使いやすい
- 可逆圧縮と非可逆圧縮に対応
- JP2またはJPX出力フォーマット
- 画像圧縮設定をサポート
JDeli.write(myBufferedImage, "jpx", outputStreamOrFile);
または
byte[] outputData = JDeli.write(myBufferedImage, "jpx");
JDeli.write(myBufferedImage, OutputFormat.JPEG2000, outputStreamOrFile)
OutputFormat では、サポートされている任意の画像フォーマットを設定できます
final Jpeg2000EncoderOptions options = new Jpeg2000EncoderOptions();
//optionsインスタンスで任意のオプションを設定 - 以下は例
options.setOutputSubtype(Jpeg2000OutputSubtype.JP2);
// または options.setOutputSubtype(Jpeg2000OutputSubtype.JPX);
options.setQuality(100);//0-100
//書き出し
JDeli.write(myBufferedImage, options, outputStreamOrFile);
Jpeg2000EncoderOptions では、特定のオプションを設定できます。
画像に対して様々な画像処理操作を行うことができます。詳細なドキュメントはこちら にあります。
これらの数値は、標準的な画像セット(これもドキュメント化されています)を使用して、jmh(ブログで説明されています )を使って生成されました。検証したい場合は、簡単に再現できるはずです。コードはGitHub にあります。
数値が高いほど優れています。
モード: スループット 回数: 25 単位: ops/s
| ベンチマーク | スコア | エラー |
|---|---|---|
| ImageIO | 3.743 | ± 0.093 |
| JDeli_JP2 | 4.243 | ± 0.305 |
| JDeli_JPX | 4.401 | ± 0.087 |
| 出力ファイル | ファイルサイズ平均 |
|---|---|
| リファレンス | 179.8KB |
| ImageIO | 156.4KB |
| JDeli JP2 | 85.6KB |
| JDeli JPX | 121KB |
JDK 18.0.1.1を使用した2020年製13インチM1 MacBook Proでテスト
