Przetwarzanie Obrazów
Biblioteka graficzna dla języka Java

Ostatnio aktualizowano 27 października 2007 r.

W ramach projektu z przedmiotu "Przetwarzanie Obrazów" prowadzonego przez prof. dr hab. Michała Jacymirskiego zamiast kolejnych 5 zadań laboratoryjnych wykonaliśmy implementację biblioteki pozwalającej przetwarzać obraz dla języka Java. Całość została napisana pod opieką mgr inż. Arkadiusza Tomczyka.

Zależało nam na stworzeniu dobrego szkieletu biblioteki uwzględniającego wszsytkie elementy typu: zmiana przestrzeni barw (RGB, HSB), łatwe generowanie histogramów obrazów etc.

Zrezygnowaliśmy z pisania od początku odpowiednich klas kontenerów i klas wczytujących obrazy z plików, posłużyliśmy się biblioteką JAI (Java Advanced Imaging API). Aby całość zadziałała potrzeba dołączyć do projektu dwie biblioteki jai_codec.jar i jai_core.jar, obie dostępne do pobrania ze strony Sun JAI Download.

Do wszystkich testów korzystaliśmy z pomocy znanej i wszystkim lubianej modelki Leny: oto Ona w kolorze i w skali szarości, byłbym gburem gdybym nie wymienił pewnego chłopca na rowerze.

Dla wygody wszystkich zwiedzających tą stronę ;) została wygenerowana dokumentacja, jeżeli chcecie ją przejrzeć, dostępna jest pod tym linkiem. Lojalnie uprzedzam, że na dokumentacji ciąży klątwa albowiem pewna osoba straciła dużo nerwów ją pisząc ;)

A oto nasze dzieło:

org.plant.kzpif.basic:
+ AbstractFilter
+ FilterTools
+ KernelFilter
+ KZPKernel
+ KZPNormalization
+ LUTFilter
+ PixelFilter
+ WindowFilter
org.plant.kzpif.filters.adjustement:
+ Brightness
+ GammaCorrection
+ Invert
org.plant.kzpif.filters.bluring:
+ AlphaTrimmed
+ ContraharmonicMean
+ Gaussian
+ GeometricMean
+ HarmonicMean
+ Max
+ MaxMin
+ Mean
+ Median
+ Midpoint
+ Min
+ MotionBlur
org.plant.kzpif.filters.dithering:
+ Burkes
+ FalseFloydSteinberg
+ FloydSteinberg
+ JarvisJudiceNinke
+ MeanDithering
+ MedianDithering
+ OrderedDithering
+ RandomDithering
+ Sierra2
+ Sierra24A
+ Sierra3
+ Stucki
org.plant.kzpif.filters.edgedetect:
+ Prewitt
+ Sobel
org.plant.kzpif.filters.effects:
+ Emboss
+ FFTImageDevastator
+ Jitter
+ Mixing
+ RandomFilter
+ SinusDistortion
+ TriangleLut
org.plant.kzpif.filters.frequency:
+ FFTSmoothHighPass
+ FFTSmoothLowPass
org.plant.kzpif.filters.geometric:
+ BevelMirror
+ HorizontalMirror
+ VerticalMirror
org.plant.kzpif.filters.histanalysis:
+ Histogram23PowerDensityProbability
+ HistogramExponentialDensityProbability
+ HistogramMonotonousDensityProbability
org.plant.kzpif.filters.resampling:
+ BicubicInterpolation
+ BilinearInterpolation
+ NearestNeighbour
org.plant.kzpif.filters.rescaling:
+ GrayScale
+ Monochromatic
+ Sepia
org.plant.kzpif.filters.sharpening:
+ BasicSharpen
org.plant.kzpif.filters.thresholding:
+ AdaptiveThreshold
+ TwoPeaksAutoThreshold
org.plant.kzpif.normalization:
+ CuttingNormalization
+ LinearNormalization
+ NormalizeLUT

Wiedza tylko wtedy jest wiedzą, kiedy zdobyta została wysiłkiem własnej myśli, a nie wyłącznie dzięki pamięci.

Poprawny XHTML 1.0! Poprawny styl CSS!hacker emblem open source emblem