HOWTO · Java
Java の 5つの最高の画像処理ライブラリ
このチュートリアルでは、Java の 5つの最適な画像処理ライブラリを紹介します。
このチュートリアルでは、Java で最も優れた 5つの画像処理ライブラリを紹介します。
Java の 5つの最高の画像処理ライブラリ
Java で画像処理に使用できる画像処理ライブラリが多数提供されています。 一部のライブラリは有料で、一部はオープン ソースです。 Java での画像処理に使用できる 5つのオープン ソース ライブラリを選択しました。
1.OpenCV
OpenCV は、複数のプログラミング言語で画像処理やコンピューター ビジョンに最もよく使用されるライブラリの 1つです。 OpenCV は BSD ライセンスの下にあり、商用および教育機関での使用は無料です。
Java の他に、OpenCV は C++、C、および Python 言語もサポートしており、Windows、Linux、macOS、Android、iOS などのオペレーティング システムに実装できます。
OpenCV は、最適化された C/C++ で記述されているため、マルチプロセッシングを利用することもできます。 次の表は、このライブラリの主な機能の一部を示しています。
| 特徴 | 説明 |
|---|---|
| 侵食と膨張 | OpenCV は、最も広く使用されている 2つのモルフォロジー操作である Eroding と Dilating を適用できます。 |
| 形態変換 | OpenCV には morphology メソッドがあり、opening、clothing、BlackHat、Tophat などの形態変換を適用します。 |
| 画像の平滑化 | OpenCV は、Blur、medianBlur、GaussianBlur、バイラテラル フィルターなどの画像平滑化操作を適用できます。 |
| 画像ピラミッド | OpenCV には pyrUp や pyrDown などのメソッドがあり、画像をアップサンプリングおよびダウンサンプリングします。 |
| 再マッピング | OpenCV には、単純な再マッピング操作を実行するメソッド remap() があります。 |
| ヒストグラム計算 | OpenCV には、動的ヒストグラムを生成するメソッド calcHist があります。 |
| 画像に枠線を追加する | OpenCV メソッド copyMakeBorder を使用して、画像に境界線を追加できます。 |
詳細とライブラリのダウンロードについては、この リンク にアクセスしてください。
2.ImageJ
Java を使った画像処理ライブラリとして有名な ImageJ があります。 このライブラリは、8、16、および 32 ビットのイメージを編集、分析、表示、処理、印刷、および保存できます。
このライブラリの主な機能は次のとおりです。
| 特徴 | 説明 |
|---|---|
| すべての OS に対応 | ImageJ は Java で構築されており、すべてのオペレーティング システムで実行できます。 |
| ツールキット | ImageJ は、画像処理 アプレット、サーブレット、または アプリケーション の開発に使用できるツールキットを提供します。 |
| データ型 | ImageJ は、RGB カラー、8 ビットのグレースケールとカラー、16 ビットの符号なし整数、および 32 ビットの浮動小数点データ型を提供します。 |
| セレクション | ImageJ は、線と点の選択、および長方形、楕円形、または不規則な領域の選択を作成できます。 |
| ファイル形式 | ImageJ は、JPEG、GIF、PNG、BMP、PGM、FITS、および ASCII 形式を開いて保存し、URL を使用して GIF、TIFF、JPEG、DICOM、および生データを開くことができます。 |
| 色処理 | ImageJ は、画像を 32 ビット画像の RGB または HSV コンポーネントに分割し、8 ビット コンポーネントをカラー画像にマージできます。 |
| 画像処理 | ImageJ は、平滑化、シャープ化、メディアン フィルタリング、エッジ検出、グレースケールおよび RGB 画像のしきい値処理などの操作を提供します。 |
詳細とライブラリのダウンロードについては、この リンク にアクセスしてください。
3. フィジー
Fiji は、ImageJ、ImageJ2、Java、Java 3D、および他の多くのプラグインに基づく画像処理のパッケージです。 Fiji は ImageJ ライブラリのインターフェイスと見なすことができます。 このパッケージのいくつかの主な機能を見てみましょう。
| 特徴 | 説明 |
|---|---|
| 3D 画像の登録 | Fiji は、3D 画像を登録するために、Elastic Alignment、Feature Extraction、Montage、Image Stabilizer などの操作を提供します。 |
| 画像の分割 | Fiji は 35 種類の画像セグメンテーションを提供します。 |
| スクリプティング | Fiji は、JRuby、Jython、JavaScript、Clojure、および Beanshell で Macros を使用してスクリプトを作成できる機能を提供します。 |
| キーボードショートカット | Fiji には、便利なキーボード ショートカットが多数用意されています。 |
ImageJ トリック |
Fiji は ImageJ ライブラリにより多くの機能を提供します。 |
| プラグインの開発 | Fiji は、プラグインを開発するためのスクリプト エディターを提供します。 |
詳細とライブラリのダウンロードについては、この リンク にアクセスしてください。
4. Apache Commons イメージング
Apache Commons は多くの機能を提供しますが、画像処理はその 1つです。 イメージの読み取り、書き込み、および解析に使用できます。
Apache Commons 画像処理の主な機能は次のとおりです。
| 特徴 | 説明 |
|---|---|
| Javaで構築 | Apache Commons は純粋に Java 言語で構築されています。 |
| メタデータのサポート | Apache Commons は、構造化された方法でメタデータの読み取りと書き込みを提供します。 |
| 画像フォーマット | Apache Commons は、他のライブラリがサポートしていないものも含め、さまざまな画像形式をサポートしています。 |
| ネットワークフレンドリー | Apache Commons は、必要なデータのみを読み取るため、非常にネットワークにやさしく、ネットワーク上で軽量です。 |
| 透明 | Apache Commons は非常に透過的です。 他のライブラリのようにバックグラウンド スレッドを破棄するための隠しバッファはありません。 |
| 色変換 | Apache Commons は、CIE-L*ab、CIE-L*CH、CIE-L*uv、Hunter-Lab、CMYK の間で色空間を変換できる色変換クラスを提供します。 、CMY、HSV、HSL、RGB、XYZ、およびYXY。 |
詳細とライブラリのダウンロードについては、この リンク にアクセスしてください。
5.リードツール
LEADTOOLSは Java 用の画像処理ライブラリで、ドキュメントのクリーンアップ、医用画像強調、エッジ検出、色変換と補正、ノイズ削減などの多くの機能を提供します。このライブラリの主な機能を見てみましょう。
| 特徴 | 説明 |
|---|---|
| 医用画像処理 | LEADTOOLS は、医用画像処理のための Java の最高のライブラリの 1つです。 |
| スキャン文書の画像処理 | LEADTOOLS は、スキャンされた文書を読むためのいくつかの強力な機能を提供します。 パンチ穴、ほこりの斑点、歪んだ角度などの欠陥やアーティファクトを検出できます。 |
| 明るさとコントラスト | LEADTOOLS は、画像を強調したり、医療画像の診断評価を支援したり、芸術的効果を適用したりする機能を提供します。 |
| 幾何学的変換 | LEADTOOLS は、画像を修正したり、芸術的な 3D 効果をきれいに適用したり、整列したりする機能を提供します。 |
| 色補正 | LEADTOOLS は、色補正を使用して画像を修正したり、色強度のバランスをとったり、その他の画像分析タスクを実行したりする機能を提供します。 |
| 色空間変換 | LEADTOOLS は、画像の色空間をシングルスレッドおよびマルチスレッド アプリケーションに追加する機能を提供します。 |
| 画像処理 | LEADTOOLS は、不均衡な色や赤目など、写真の一般的なエラーを修正する機能を提供します。 また、医用画像処理の診断評価も提供します。 |
詳細とライブラリのダウンロードについては、この リンク にアクセスしてください。