Aplikujte na obrázky v Javě filtry Median a Wiener

V předchozím příspěvku na blogu jsme ukázali, jak přidat efekt rozostření k obrázkům. Dnes vám ukážeme, jak aplikovat střední a wienerovy filtry, které se běžně používají k odstranění šumu a vyhlazení obrázků. Pojďme se tedy podívat, jak programově v Javě aplikovat medián a wiener filery na obrázek.

Použít Median a Wiener Image Filters v Javě - Instalace API

K aplikaci mediánových a wienerových filtrů na obrázky použijeme Aspose.Imaging for Java. Je to výkonné rozhraní API pro úpravu obrázků pro manipulaci s obrázky z aplikací Java. API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací Maven.

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

Aplikujte střední filtr na obrázek v Javě

Mediánový filtr je nelineární technika digitálního filtrování, která je oblíbeným způsobem odšumování obrázků. Následují kroky pro použití mediánového filtru na obrázek v Javě.

Následující ukázka kódu ukazuje, jak použít střední filtr na obrázek v Javě.

// Načtěte zašuměný obraz
Image image = Image.load("jack.jpg");

// přeneste obrázek do RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Vytvořte instanci třídy MedianFilterOptions a nastavte velikost.
MedianFilterOptions options = new MedianFilterOptions(4);

// Použijte filtr MedianFilterOptions na objekt RasterImage.
rasterImage.filter(image.getBounds(), options);

// Uložte výsledný obrázek
image.save("Jac_median_denoise.jpg");

Níže je obrázek před a po použití mediánového filtru.

Použijte filtr Median na Image Java

Použijte Gauss Wienerův filtr na obrázek v Javě

Gauss wiener je další běžně používanou metodou pro gradaci obrazu minimalizací aditivního šumu a rozmazání. Následují kroky pro použití gauss wienerova filtru na obrázek v Javě.

Následující ukázka kódu ukazuje, jak aplikovat gauss wienerův filtr na obrázek v Javě.

// Načtěte obrázek
Image image = Image.load("jack.jpg");

// přeneste obrázek do RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Vytvořte instanci třídy GaussWienerFilterOptions a nastavte velikost poloměru a hodnotu vyhlazení.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);

// Použijte filtr GaussWienerFilterOptions na objekt RasterImage.
rasterImage.filter(image.getBounds(), options);

// Uložte výsledný obrázek
image.save("Jac_guass_weiner.jpg");

Níže je obrázek před a po aplikaci gauss wienerova filtru s možností odstínů šedi.

Použijte Gauss Weinerův filtr na odstínění šedi obrazu

Následuje obrázek před a po aplikaci gaussova wienerova filtru bez odstínů šedi.

Na obrázek použijte barevný filtr Gauss Weiner

Použijte Motion Wiener Filter pro obrázek v Javě

Pohybový wienerův filtr se používá k odstranění rozmazání obrazu, které vzniká v důsledku pohybujících se objektů. Následují kroky k použití filtru motion wiener na obrázek v Javě.

Následující ukázka kódu ukazuje, jak aplikovat filtr pohybu wiener na obrázek v Javě.

// Načtěte obrázek
Image image = Image.load("jack.jpg");

// přeneste obrázek do RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Vytvořte instanci třídy MotionWienerFilterOptions a nastavte délku, hladkou hodnotu a úhel.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(true);

// Použijte filtr MotionWienerFilterOptions na objekt RasterImage.
rasterImage.filter(image.getBounds(), options);

// Uložte výsledný obrázek
image.save("Jac_motion_weiner.jpg");
Použijte Motion Weinerův filtr na obrázek v Javě

Java Image Filtering API – Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a na obrázky použít filtry medián a wiener bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak aplikovat mediánové a wienerovy filtry na obrázky v Javě. Dále jsme se zabývali tím, jak snížit šum pohybujících se objektů na obrázku. Tyto funkce můžete snadno použít ve své aplikaci Java k integraci možností úprav obrázků.

Přečtěte si více

Další informace o rozhraní API pro zpracování obrazu Java můžete prozkoumat pomocí dokumentace. Také se s námi můžete podělit o své dotazy prostřednictvím našeho fóra.

Viz také