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. |