Java DIP - Perpustakaan Sumber Terbuka

Dalam bab ini, kami menjelajahi beberapa pustaka pemrosesan gambar gratis yang banyak digunakan dan dapat dengan mudah diintegrasikan dalam proyek ini. Perpustakaan ini termasuk -

  • ImageJ
  • Fiji
  • Commons Imaging
  • ImageMagick
  • Endrov
  • LeadTools
  • OpenCv

ImageJ

ImageJ adalah program pemrosesan gambar Java domain publik yang terinspirasi oleh NIH Image untuk Macintosh. Itu dapat menampilkan, mengedit, menganalisis, memproses, menyimpan, dan mencetak gambar 8-bit, 16-bit, dan 32-bit.

Beberapa fitur dasar ImageJ dijelaskan di bawah ini -

Sr.No. Fitur & Deskripsi
1

Runs Everywhere

ImageJ ditulis dalam Java, yang memungkinkannya berjalan di Linux, Mac OS X dan Windows, dalam mode 32-bit dan 64-bit.

2

Open Source

ImageJ dan kode sumber Java-nya tersedia secara bebas dan dalam domain publik.

3

Toolkit

Gunakan ImageJ sebagai toolkit pemrosesan gambar (pustaka kelas) untuk mengembangkan applet, servlet, atau aplikasi.

4

Data Types

8-bit grayscale atau warna indeks, 16-bit unsigned integer, 32-bit floating-point, dan warna RGB.

5

File Formats

Buka dan simpan GIF, JPEG, BMP, PNG, PGM, FITS, dan ASCII. Buka DICOM. Buka TIFF, GIF, JPEG, DICOM, dan data mentah menggunakan URL.

6

Selections

Buat pilihan area persegi panjang, elips, atau tidak beraturan. Buat pilihan garis dan titik.

7

Image Enhancement

Mendukung smoothing, sharpening, edge detection, median filtering, dan thresholding pada gambar warna RGB dan grayscale 8-bit.

8

Color Processing

Pisahkan gambar berwarna 32-bit menjadi komponen RGB atau HSV. Gabungkan komponen 8-bit menjadi gambar berwarna.

Fiji

Fiji adalah paket pemrosesan gambar. Ini dapat digambarkan sebagai distribusi ImageJ (dan ImageJ2) bersama dengan Java, Java3D, dan banyak plug-in yang diatur ke dalam struktur menu yang koheren. Fiji dibandingkan dengan ImageJ seperti Ubuntu dibandingkan dengan Linux.

Selain fitur dasar ImageJ, beberapa fitur lanjutan Fiji dijelaskan di bawah ini -

Sr.No. Fitur & Deskripsi
1

Registering 3D images

Ini melibatkan Penyelarasan dan Montase Elastis, Ekstraksi Fitur, Penstabil Gambar, dll.

2

Segmenting images

Ini menawarkan lebih dari 35 jenis segmentasi.

3

Useful keyboard short cuts

Fuji memiliki banyak jalan pintas keyboard.

4

Scripting

Izinkan pembuatan skrip dengan Makro, dalam JavaScript, JRuby, Jython, Clojure, dan Beanshell.

5

Developing Plug-ins

Gunakan Editor Skrip untuk mulai mengembangkan pengaya dan kemudian menjalankan pengaya.

6

ImageJ Tricks

ImageJ mudah digunakan, tetapi terkadang Anda menginginkan beberapa fungsi yang benar-benar diterapkan, namun Anda tidak tahu cara memicunya.

Commons Imaging

Apache Commons Imaging, sebelumnya dikenal sebagai Apache Commons Sanselan, adalah pustaka yang membaca dan menulis berbagai format gambar, termasuk penguraian cepat informasi gambar seperti (ukuran, warna, spasi, profil ICC, dll.) Dan meta data.

Beberapa fitur dasar ImageJ dijelaskan di bawah ini -

Sr.No. Fitur & Deskripsi
1

Java

Pencitraan Apache Commons ditulis dalam 100% Java murni. Ini dijalankan pada JVM apa pun, dan platform apa pun, tanpa modifikasi.

2

Image Formats

Itu membaca dan menulis berbagai macam format gambar, dan mendukung beberapa variasi dan pengkodean yang terlewat oleh semua atau sebagian besar perpustakaan lainnya.

3

Metadata support

Ini mendukung membaca dan menulis berbagai meta data dengan cara terstruktur, termasuk meta data EXIF.

4

Network Friendly

Ramah jaringan. Commons Imaging hanya membaca data yang dibutuhkan, dan menyimpan apa yang dibaca sehingga tidak terlalu berat di jaringan.

5

Easy to use

Ini dirancang agar sangat mudah digunakan. Ini memiliki antarmuka yang sederhana dan bersih. Kebanyakan operasi adalah panggilan metode Imaging tunggal.

6

Transparent

Commons Imaging bertujuan untuk menjadi transparan. Tidak ada buffer tersembunyi untuk dibuang, tidak ada memori asli yang perlu dikosongkan, tidak ada thread latar belakang.

7

Open Source

Ini adalah Perangkat Lunak Gratis / Sumber Terbuka. Ini tersedia di bawah Lisensi Perangkat Lunak Apache.

8

Color Conversions

Kelas ColorConversions menawarkan metode untuk mengonversi antara ruang warna berikut - CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ, dan YXY.

ImageMagick

ImageMagick adalah rangkaian perangkat lunak untuk membuat, mengedit, menulis, atau mengonversi gambar bitmap. Itu dapat membaca dan menulis gambar dalam lebih dari 100 format termasuk DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG, dan TIFF. Gunakan ImageMagick untuk mengubah ukuran, membalik, mencerminkan, memutar, mendistorsi, menggeser, dan mengubah gambar, menyesuaikan warna gambar, menerapkan berbagai efek khusus, atau menggambar teks, garis, poligon, elips, dan kurva Bezier.

Beberapa fitur dasar ImageMagick dijelaskan di bawah ini -

Sr.No. Fitur & Deskripsi
1

Format conversion

Ini mengubah gambar dari satu format ke format lain (misalnya PNG ke JPEG).

2

Transform

Itu dapat mengubah ukuran, memutar, memotong, membalik atau memotong gambar.

3

Transparency

Ini membuat bagian dari gambar tidak terlihat.

4

Draw

Ini menambahkan bentuk atau teks ke gambar.

5

Decorate

Ini menambahkan batas atau bingkai ke gambar.

6

Special effects

Itu dapat mengaburkan, mempertajam, ambang, atau mewarnai gambar.

7

Animation

Itu dapat membuat urutan animasi GIF dari sekelompok gambar.

8

Composite

Itu bisa tumpang tindih satu gambar di atas yang lain.

9

Morphology of shapes

Ini mengekstrak fitur, mendeskripsikan bentuk, dan mengenali pola dalam gambar.

10

Encipher or decipher an image

Ini mengubah gambar biasa menjadi omong kosong yang tidak dapat dipahami dan kembali lagi.

Endrov

Endrov adalah program analisis gambar multiguna. Ini ditulis secara independen dan dirancang untuk mengatasi banyak kekurangan perangkat lunak bebas lainnya dan banyak paket komersial.

Beberapa fitur dasar Endrov dijelaskan di bawah ini -

Sr.No. Fitur & Deskripsi
1

View data

Ini melihat data, dalam 2D ​​dan 3D. Dirancang untuk menangani skema data 4D yang kompleks dan jumlah saluran yang tidak terbatas, di mana setiap saluran dapat memiliki resolusi X, Y, dan Z sendiri.

2

Annotate your images

Ini menganotasi gambar Anda, secara otomatis atau dengan tangan, untuk memahaminya dan mendapatkan statistik.

3

Undo and Redo

Itu dapat membatalkan dan mengulang untuk semua operasi.

4

Lazy Evaluation

Ini dirancang dari awal untuk menangani kumpulan gambar besar. Endrov menggunakan evaluasi malas, sebuah konsep yang sebagian besar tersedia dalam bahasa pemrograman penelitian.

5

Scripting language

Ini mendukung bahasa skrip grafis, serta skrip tradisional.

6

Java

Ditulis dalam bahasa Jawa. Arsitektur plug-in memungkinkan ekstensi yang mudah dengan plug-in Java baru. Itu dapat berinteraksi dengan Matlab.

7

Formats

Ini mengakses hampir semua format file komersial dan terbuka menggunakan Bio-format.

8

Microscopic Processing

Itu dapat mengontrol semua mikroskop Anda dengan satu program dan melakukan analisis gambar saat itu juga.

LEADTOOLS

LEADTOOLS menyediakan lebih dari 200 fungsi pemrosesan gambar dalam beberapa kategori termasuk pembersihan dokumen, peningkatan citra medis, konversi dan koreksi warna, pengurangan noise, deteksi tepi, dan banyak lagi.

Beberapa fitur dasar LEADTOOLS dijelaskan di bawah ini -

Sr.No. Fitur & Deskripsi
1

Scanned Document Image Processing

Kumpulan fungsi yang hebat ini dapat membaca dokumen pindaian artefak dan ketidaksempurnaan seperti lubang berlubang, sudut miring, batas, bintik debu, dan banyak lagi.

2

Medical Image Processing

Sempurnakan gambar atau sorot detail dengan menggeser, memilih, mengurangi, dan menghapus latar belakang untuk visual yang lebih baik.

3

Geometric Transformation

Fungsi-fungsi ini dapat digunakan untuk membersihkan, menyelaraskan, mengoreksi gambar, atau menerapkan efek 3D artistik.

4

Brightness and Contrast

Fungsi ini dapat digunakan untuk menyempurnakan gambar, menerapkan efek artistik, atau membantu dalam evaluasi diagnostik gambar medis.

5

Color Space Conversion

Mereka dapat menambahkan fungsionalitas ruang warna gambar ke aplikasi tunggal dan multi-utas termasuk aplikasi yang dihosting IIS dan Windows WF.

6

Color Correction

Fungsi ini digunakan untuk mengoreksi gambar dengan saluran warna yang ditukar, menyeimbangkan intensitas warna atau melakukan berbagai tugas analisis gambar.

7

Image Enhancement

Fungsi ini digunakan untuk mengoreksi kesalahan umum dalam fotografi seperti mata merah dan warna yang tidak seimbang serta membantu dalam evaluasi diagnostik gambar medis.

8

Region of Interest

Fungsi-fungsi ini digunakan untuk membuat dan memodifikasi wilayah yang diminati dalam gambar untuk menjalankan fungsi pemrosesan gambar pada bagian tertentu dari gambar, menghemat waktu dalam kode batang, dan pengenalan OCR atau melakukan berbagai tugas analisis gambar.

OpenCV

OpenCV dirilis di bawah lisensi BSD dan karenanya gratis untuk penggunaan akademis dan komersial. Ini memiliki antarmuka C ++, C, Python, dan Java dan mendukung Windows, Linux, Mac OS, iOS, dan Android. OpenCV dirancang untuk efisiensi komputasi dan dengan fokus yang kuat pada aplikasi waktu nyata. Ditulis dalam C / C ++ yang dioptimalkan, library ini dapat memanfaatkan pemrosesan multi-core.

Beberapa fitur dasar OpenCV dijelaskan secara singkat -

Sr.No. Fitur & Deskripsi
1

Smoothing Images

Ini melibatkan penerapan Blur, GaussianBlur, medianBlur dan Filter bilateral.

2

Eroding and Dilating

Ini dapat menerapkan dua operator morfologi yang sangat umum - Dilasi dan Erosi.

3

Morphology Transformations

Morfologi fungsi OpenCV Ex untuk menerapkan Transformasi Morfologi seperti pembukaan, penutupan, TopHat, dan BlackHat dll.

4

Image Pyramids

OpenCV berfungsi pyrUp dan pyrDown untuk menurunkan atau menaikkan sampel gambar tertentu.

4

Basic Thresholding Operations

Lakukan operasi thresholding dasar menggunakan ambang fungsi OpenCV.

5

Adding borders to your images

Fungsi OpenCV copyMakeBorder digunakan untuk mengatur batas (bantalan ekstra ke gambar Anda).

7

Remapping

Di OpenCV, peta ulang fungsi menawarkan implementasi pemetaan ulang sederhana.

8

Histogram Calculation

Untuk tujuan sederhana, OpenCV mengimplementasikan fungsi calcHist, yang menghitung histogram dari sekumpulan array (biasanya gambar atau bidang gambar). Ini dapat beroperasi hingga 32 dimensi.