Zastosuj filtry Mediana i Wiener do obrazów w Javie

W poprzednim poście na blogu pokazaliśmy, jak dodać efekt rozmycia do obrazów. Dzisiaj pokażemy Ci, jak zastosować filtry mediany i Wienera, które są powszechnie używane do odszumiania i wygładzania obrazów. Zobaczmy więc, jak programowo zastosować filtry median i Wiener do obrazu w Javie.

Java API do stosowania filtrów obrazu Mediana i Wiener — do pobrania za darmo

Aby zastosować filtry mediany i Wienera do obrazów, użyjemy Aspose.Imaging for Java. Jest to potężny interfejs API do edycji obrazów do manipulowania obrazami z poziomu aplikacji Java. Możesz pobrać interfejs API lub zainstalować go przy użyciu następujących konfiguracji Mavena.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository> 

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>22.9</version>
</dependency>

Zastosuj filtr mediany do obrazu w Javie

Filtr medianowy to nieliniowa technika filtrowania cyfrowego, która jest popularnym sposobem odszumiania obrazów. Poniżej przedstawiono kroki, aby zastosować filtr mediany do obrazu w Javie.

Poniższy przykładowy kod pokazuje, jak zastosować filtr mediany do obrazu w Javie.

// Załaduj zaszumiony obraz
Image image = Image.load("jack.jpg");

// rzuć obraz do RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Utwórz instancję klasy MedianFilterOptions i ustaw rozmiar.
MedianFilterOptions options = new MedianFilterOptions(4);

// Zastosuj filtr MedianFilterOptions do obiektu RasterImage.
rasterImage.filter(image.getBounds(), options);

// Zapisz wynikowy obraz
image.save("Jac_median_denoise.jpg");

Poniżej znajduje się obraz przed i po zastosowaniu filtra medianowego.

Zastosuj filtr mediany do obrazu Java

Zastosuj filtr Gaussa Wienera do obrazu w Javie

Wiener Gaussa to kolejna powszechnie stosowana metoda gradacji obrazu poprzez minimalizację szumów addytywnych i rozmycia. Poniżej przedstawiono kroki, aby zastosować filtr Gaussa Wienera do obrazu w Javie.

Poniższy przykładowy kod pokazuje, jak zastosować filtr Gaussa Wienera do obrazu w Javie.

// Załaduj obraz
Image image = Image.load("jack.jpg");

// rzuć obraz do RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Utwórz instancję klasy GaussWienerFilterOptions i ustaw rozmiar promienia oraz wartość wygładzania.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);

// Zastosuj filtr GaussWienerFilterOptions do obiektu RasterImage.
rasterImage.filter(image.getBounds(), options);

// Zapisz wynikowy obraz
image.save("Jac_guass_weiner.jpg");

Poniżej znajduje się obraz przed i po zastosowaniu filtra Gaussa Wienera z opcją skali szarości.

Zastosuj filtr Gaussa Weinera do skalowania szarości obrazu

Poniżej przedstawiono obraz przed i po zastosowaniu filtra Gaussa Wienera bez skali szarości.

Zastosuj filtr kolorów Gaussa Weinera do obrazu

Zastosuj Motion Wiener Filter do obrazu w Javie

Filtr ruchu Wienera służy do usuwania rozmycia obrazu, które powstaje z powodu poruszających się obiektów. Poniżej przedstawiono kroki, aby zastosować filtr wienera ruchu do obrazu w Javie.

Poniższy przykładowy kod pokazuje, jak zastosować filtr wiener ruchu do obrazu w Javie.

// Załaduj obraz
Image image = Image.load("jack.jpg");

// rzuć obraz do RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Utwórz instancję klasy MotionWienerFilterOptions i ustaw długość, wartość wygładzania oraz kąt.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(true);

// Zastosuj filtr MotionWienerFilterOptions do obiektu RasterImage.
rasterImage.filter(image.getBounds(), options);

// Zapisz wynikowy obraz
image.save("Jac_motion_weiner.jpg");
Zastosuj filtr Motion Weiner do obrazu w Javie

Java Median i Wiener Image Filtering API — Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję i stosować filtry mediany i Wienera do obrazów bez ograniczeń oceny.

Wniosek

W tym artykule nauczyłeś się, jak stosować filtry mediany i Wienera do obrazów w Javie. Ponadto omówiliśmy, jak zredukować szum poruszających się obiektów na obrazie. Możesz łatwo użyć tych funkcji w swojej aplikacji Java, aby zintegrować możliwości edycji obrazu.

Czytaj więcej

Więcej informacji na temat interfejsu API przetwarzania obrazu Java można znaleźć w dokumentacji. Możesz także podzielić się z nami swoimi pytaniami za pośrednictwem naszego forum.

Zobacz też