Java DIP - biblioteki Open Source

W tym rozdziale omówimy niektóre z bezpłatnych bibliotek przetwarzania obrazu, które są szeroko stosowane i można je łatwo zintegrować z projektem. Te biblioteki obejmują -

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

ImageJ

ImageJ to publiczny program do przetwarzania obrazów Java zainspirowany NIH Image dla komputerów Macintosh. Może wyświetlać, edytować, analizować, przetwarzać, zapisywać i drukować obrazy 8-bitowe, 16-bitowe i 32-bitowe.

Niektóre z podstawowych funkcji ImageJ opisano poniżej -

Sr.No. Funkcja i opis
1

Runs Everywhere

ImageJ jest napisany w Javie, dzięki czemu może działać w systemach Linux, Mac OS X i Windows, zarówno w trybie 32-bitowym, jak i 64-bitowym.

2

Open Source

ImageJ i jego kod źródłowy Java są dostępne bezpłatnie i należą do domeny publicznej.

3

Toolkit

Użyj ImageJ jako zestawu narzędzi do przetwarzania obrazu (biblioteki klas) do tworzenia apletów, serwletów lub aplikacji.

4

Data Types

8-bitowa skala szarości lub kolor indeksowany, 16-bitowa liczba całkowita bez znaku, 32-bitowa liczba zmiennoprzecinkowa i kolor RGB.

5

File Formats

Otwórz i zapisz pliki GIF, JPEG, BMP, PNG, PGM, FITS i ASCII. Otwórz DICOM. Otwieraj pliki TIFF, GIF, JPEG, DICOM i surowe dane przy użyciu adresu URL.

6

Selections

Utwórz prostokątne, eliptyczne lub nieregularne zaznaczenia obszarów. Utwórz zaznaczenia linii i punktów.

7

Image Enhancement

Obsługuje wygładzanie, wyostrzanie, wykrywanie krawędzi, filtrowanie mediany i progowanie zarówno dla 8-bitowych obrazów w skali szarości, jak i kolorowych obrazów RGB.

8

Color Processing

Podziel 32-bitowy kolorowy obraz na komponenty RGB lub HSV. Scal komponenty 8-bitowe w kolorowy obraz.

Fidżi

Fidżi to pakiet przetwarzania obrazu. Można to opisać jako dystrybucję ImageJ (i ImageJ2) wraz z Javą, Java3D i wieloma wtyczkami zorganizowanymi w spójną strukturę menu. Fidżi porównuje się do ImageJ, podobnie jak Ubuntu do Linuksa.

Oprócz podstawowych funkcji ImageJ, poniżej opisano niektóre zaawansowane funkcje Fidżi -

Sr.No. Funkcja i opis
1

Registering 3D images

Obejmuje to elastyczne wyrównanie i montaż, wyodrębnianie funkcji, stabilizator obrazu itp.

2

Segmenting images

Oferuje ponad 35 rodzajów segmentacji.

3

Useful keyboard short cuts

Fuji ma wiele skrótów klawiaturowych.

4

Scripting

Zezwalaj na pisanie skryptów za pomocą makr, w JavaScript, JRuby, Jython, Clojure i Beanshell.

5

Developing Plug-ins

Użyj Edytora skryptów, aby rozpocząć tworzenie wtyczek, a następnie uruchom wtyczki.

6

ImageJ Tricks

ImageJ jest łatwy w użyciu, ale czasami potrzebujesz jakiejś funkcji, która jest faktycznie zaimplementowana, ale nie wiesz, jak ją uruchomić.

Commons Imaging

Apache Commons Imaging, wcześniej znany jako Apache Commons Sanselan, to biblioteka, która odczytuje i zapisuje różne formaty obrazów, w tym szybką analizę informacji o obrazie, takich jak (rozmiar, kolor, przestrzeń, profil ICC itp.) Oraz metadane.

Niektóre z podstawowych funkcji ImageJ opisano poniżej -

Sr.No. Funkcja i opis
1

Java

Apache Commons Imaging jest napisane w 100% w czystej Javie. Działa na dowolnej JVM i dowolnej platformie bez modyfikacji.

2

Image Formats

Czyta i zapisuje szeroką gamę formatów graficznych oraz obsługuje niektóre odmiany i kodowania pominięte przez wszystkie lub większość innych bibliotek.

3

Metadata support

Obsługuje odczytywanie i zapisywanie różnych metadanych w uporządkowany sposób, w tym metadanych EXIF.

4

Network Friendly

Jest przyjazny dla sieci. Commons Imaging czyta tylko potrzebne dane i buforuje to, co jest czytane, aby nie obciążało sieci.

5

Easy to use

Został zaprojektowany tak, aby był bardzo łatwy w użyciu. Posiada prosty, przejrzysty interfejs. Większość operacji to pojedyncze wywołania metody obrazowania.

6

Transparent

Commons Imaging dąży do zachowania przejrzystości. Nie ma żadnych ukrytych buforów do usunięcia, żadnej pamięci natywnej do zwolnienia, żadnych wątków w tle.

7

Open Source

Jest to wolne oprogramowanie / otwarte oprogramowanie. Jest dostępny na licencji oprogramowania Apache.

8

Color Conversions

Klasa ColorConversions oferuje metody konwersji między następującymi przestrzeniami kolorów - CIE-L * CH, CIE-L * ab, CIE-L * uv, CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ i YXY.

ImageMagick

ImageMagick to pakiet oprogramowania do tworzenia, edycji, komponowania lub konwertowania obrazów bitmapowych. Może czytać i zapisywać obrazy w ponad 100 formatach, w tym DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postscript, SVG i TIFF. Użyj ImageMagick, aby zmienić rozmiar, odwrócić, odbić, obracać, zniekształcać, ścinać i przekształcać obrazy, dostosowywać kolory obrazu, stosować różne efekty specjalne lub rysować tekst, linie, wielokąty, elipsy i krzywą Beziera.

Niektóre z podstawowych funkcji ImageMagick opisano poniżej -

Sr.No. Funkcja i opis
1

Format conversion

Konwertuje obraz z jednego formatu na inny (np. PNG na JPEG).

2

Transform

Może zmieniać rozmiar, obracać, przycinać, odwracać lub przycinać obraz.

3

Transparency

Powoduje, że fragmenty obrazu są niewidoczne.

4

Draw

Dodaje kształty lub tekst do obrazu.

5

Decorate

Dodaje obramowanie lub ramkę do obrazu.

6

Special effects

Może rozmyć, wyostrzyć, wyostrzyć lub zabarwić obraz.

7

Animation

Może tworzyć sekwencję animacji GIF z grupy obrazów.

8

Composite

Może nakładać się na jeden obraz na inny.

9

Morphology of shapes

Wyodrębnia cechy, opisuje kształty i rozpoznaje wzory na obrazach.

10

Encipher or decipher an image

Przekształca zwykłe obrazy w niezrozumiały bełkot iz powrotem.

Endrov

Endrov to wielofunkcyjny program do analizy obrazu. Jest napisany niezależnie i ma na celu usunięcie wielu niedociągnięć innego wolnego oprogramowania i wielu pakietów komercyjnych.

Niektóre z podstawowych funkcji Endrov opisano poniżej -

Sr.No. Funkcja i opis
1

View data

Wyświetla dane w 2D i 3D. Zaprojektowany do obsługi złożonych schematów danych 4D i nieograniczonej liczby kanałów, gdzie każdy kanał może mieć własną rozdzielczość X, Y i Z.

2

Annotate your images

Dodaje adnotacje do obrazów, automatycznie lub ręcznie, aby je zrozumieć i uzyskać statystyki.

3

Undo and Redo

Może cofać i ponawiać wszystkie operacje.

4

Lazy Evaluation

Jest zaprojektowany od podstaw do obsługi dużych zestawów obrazów. Endrov stosuje leniwą ocenę, koncepcję dostępną głównie w badaniach języków programowania.

5

Scripting language

Obsługuje graficzny język skryptowy, a także tradycyjny skrypt.

6

Java

Napisane w Javie. Architektura wtyczek umożliwia łatwe rozszerzenie za pomocą nowych wtyczek Java. Może współdziałać z Matlabem.

7

Formats

Uzyskuje dostęp do prawie wszystkich komercyjnych i otwartych formatów plików przy użyciu formatów Bio.

8

Microscopic Processing

Może sterować wszystkimi mikroskopami za pomocą jednego programu i przeprowadzać analizę obrazu w locie.

LEADTOOLS

LEADTOOLS zapewnia ponad 200 funkcji przetwarzania obrazu w kilku kategoriach, w tym czyszczenie dokumentów, ulepszanie obrazu medycznego, konwersję i korekcję kolorów, redukcję szumów, wykrywanie krawędzi i inne.

Niektóre z podstawowych funkcji LEADTOOLS opisano poniżej -

Sr.No. Funkcja i opis
1

Scanned Document Image Processing

Ten potężny zbiór funkcji może odczytywać zeskanowane dokumenty zawierające artefakty i niedoskonałości, takie jak dziurki, skośne kąty, obramowania, drobinki kurzu i inne.

2

Medical Image Processing

Popraw obraz lub podkreśl szczegóły, przesuwając, zaznaczając, odejmując i usuwając tło w celu uzyskania lepszych efektów wizualnych.

3

Geometric Transformation

Tych funkcji można używać do czyszczenia, wyrównywania, poprawiania obrazów lub stosowania artystycznych efektów 3D.

4

Brightness and Contrast

Funkcje te mogą być używane do ulepszania obrazów, stosowania efektów artystycznych lub pomocy w diagnostycznej ocenie obrazów medycznych.

5

Color Space Conversion

Mogą dodawać funkcjonalność przestrzeni kolorów obrazu do aplikacji jedno- i wielowątkowych, w tym aplikacji hostowanych przez usługi IIS i Windows WF.

6

Color Correction

Funkcje te służą do korygowania obrazów z zamienionymi kanałami kolorów, równoważenia intensywności kolorów lub wykonywania różnych zadań analizy obrazu.

7

Image Enhancement

Funkcje te służą do korygowania typowych błędów w fotografii, takich jak efekt czerwonych oczu i niezrównoważonych kolorów, a także pomagają w diagnostycznej ocenie obrazów medycznych.

8

Region of Interest

Funkcje te służą do tworzenia i modyfikowania obszarów zainteresowania w obrazach w celu wykonywania funkcji przetwarzania obrazu na określonych częściach obrazu, oszczędzania czasu w zakresie kodów kreskowych i rozpoznawania OCR lub wykonywania różnych zadań analizy obrazu.

OpenCV

OpenCV jest wydany na licencji BSD i dlatego jest darmowy zarówno do użytku akademickiego, jak i komercyjnego. Posiada interfejsy C ++, C, Python i Java i obsługuje systemy Windows, Linux, Mac OS, iOS i Android. OpenCV został zaprojektowany z myślą o wydajności obliczeniowej i silnym nacisku na aplikacje czasu rzeczywistego. Napisana w zoptymalizowanym C / C ++ biblioteka może korzystać z przetwarzania wielordzeniowego.

Krótko opisano niektóre podstawowe funkcje OpenCV -

Sr.No. Funkcja i opis
1

Smoothing Images

Obejmuje to zastosowanie Blur, GaussianBlur, medianBlur i dwustronnego filtra.

2

Eroding and Dilating

Może zastosować dwa bardzo popularne operatory morfologii - dylatację i erozję.

3

Morphology Transformations

OpenCV function morphologyEx do zastosowania transformacji morfologicznej, takiej jak otwieranie, zamykanie, TopHat i BlackHat itp.

4

Image Pyramids

Funkcje OpenCV pyrUp i pyrDown pobierają próbkę lub próbkę w górę danego obrazu.

4

Basic Thresholding Operations

Wykonywanie podstawowych operacji progowych za pomocą funkcji progowej OpenCV.

5

Adding borders to your images

Funkcja OpenCV copyMakeBorder służy do ustawiania granic (dodatkowe wypełnienie obrazu).

7

Remapping

W OpenCV funkcja remap oferuje prostą implementację remapowania.

8

Histogram Calculation

Dla prostych celów OpenCV implementuje funkcję calcHist, która oblicza histogram zestawu tablic (zwykle obrazów lub płaszczyzn obrazów). Może pracować w 32 wymiarach.