![Använd median- och wienerfilter på bilder i Java](images/Apply-Median-Wiener-Filters-to-Image.png#center)
I föregående blogginlägg visade vi hur man lägger till oskärpa på bilderna. Idag kommer vi att visa dig hur du använder median- och wienerfilter, som vanligtvis används för att försvaga och jämna ut bilderna. Så låt oss se hur man applicerar median- och wienerfiler på en bild programmatiskt i Java.
- Java API för att tillämpa median- och Wiener-bildfilter
- Använd medianfilter på en bild i Java
- Använd Gauss Wiener Filter på en bild
- Motion Wiener-filtrering av en bild
Använd median- och Wiener-bildfilter i Java - API-installation
För att tillämpa median- och wienerfiltren på bilder kommer vi att använda Aspose.Imaging for Java. Det är ett kraftfullt bildredigerings-API för att manipulera bilderna inifrån Java-applikationerna. Du kan antingen ladda ner API:et eller installera det med följande Maven-konfigurationer.
<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>
Använd medianfilter på en bild i Java
Medianfiltret är en olinjär digital filtreringsteknik, vilket är ett populärt sätt att försvaga bilderna. Följande är stegen för att tillämpa ett medianfilter på en bild i Java.
- Ladda först bilden med metoden Image.load().
- Casta sedan bilden till typen RasterImage.
- Skapa en instans av klassen MedianFilterOptions och initiera den med storleken på rektangeln.
- Använd medianfiltret med metoden RasterImage.filter(Rectangle, MedianFilterOptions).
- Slutligen, spara den resulterande bilden med metoden RasterImage.save().
Följande kodexempel visar hur man tillämpar ett medianfilter på en bild i Java.
// Ladda den brusiga bilden
Image image = Image.load("jack.jpg");
// casta bilden till RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Skapa en instans av MedianFilterOptions-klassen och ställ in storleken.
MedianFilterOptions options = new MedianFilterOptions(4);
// Använd MedianFilterOptions-filtret på RasterImage-objektet.
rasterImage.filter(image.getBounds(), options);
// Spara den resulterande bilden
image.save("Jac_median_denoise.jpg");
Nedan är bilden före och efter applicering av medianfiltret.
![Använd medianfilter på Image Java](images/Apply-Median-Filter-to-Image.png#center)
Använd Gauss Wiener Filter på en bild i Java
Gauss wiener är en annan vanlig metod för bildgradering genom att minimera additivt brus och suddighet. Följande är stegen för att tillämpa gauss wiener-filtret på en bild i Java.
- Ladda först bilden med metoden Image.load().
- Casta sedan bilden till typen RasterImage.
- Skapa en instans av klassen GaussWienerFilterOptions och initiera den med radiestorlek och jämnt värde.
- (Valfritt) För att få en gråskalebild, använd metoden GaussWienerFilterOptions.setGrayscale(true).
- Använd gauss wienerfilter med metoden RasterImage.filter(Rectangle, GaussWienerFilterOptions).
- Slutligen, spara den resulterande bilden med metoden RasterImage.save().
Följande kodexempel visar hur man applicerar ett gauss wiener-filter på en bild i Java.
// Ladda bilden
Image image = Image.load("jack.jpg");
// casta bilden till RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Skapa en instans av klassen GaussWienerFilterOptions och ställ in radiestorlek och jämnt värde.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);
// Använd GaussWienerFilterOptions-filtret på RasterImage-objektet.
rasterImage.filter(image.getBounds(), options);
// Spara den resulterande bilden
image.save("Jac_guass_weiner.jpg");
Nedan är bilden före och efter applicering av gauss wienerfiltret med gråskalealternativet.
![Applicera Gauss Weiner-filter på bildgråskalning](images/Apply-Gauss-Weiner-Filter-to-Image.png#center)
Följande är bilden före och efter applicering av gauss wienerfiltret utan gråskalning.
![Applicera Gauss Weiner färgfilter på bilden](images/Apply-Gauss-Weiner-Color-Filter-to-Image.png#center)
Använd Motion Wiener Filter för en bild i Java
Rörelse wienerfilter används för att ta bort suddighet i en bild som skapas på grund av de rörliga föremålen. Följande är stegen för att tillämpa motion wiener-filtret på en bild i Java.
- Ladda först bilden med metoden Image.load().
- Casta sedan bilden till typen RasterImage.
- Skapa en instans av klassen MotionWienerFilterOptions och initiera den med längd, jämnt värde och vinkel.
- Använd motion wiener-filter med metoden RasterImage.filter(Rectangle, MotionWienerFilterOptions).
- Slutligen, spara den resulterande bilden med metoden RasterImage.save().
Följande kodexempel visar hur man tillämpar ett motion wiener-filter på en bild i Java.
// Ladda bilden
Image image = Image.load("jack.jpg");
// casta bilden till RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Skapa en instans av MotionWienerFilterOptions-klassen och ställ in längden, det jämna värdet och vinkeln.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(true);
// Använd MotionWienerFilterOptions-filtret på RasterImage-objektet.
rasterImage.filter(image.getBounds(), options);
// Spara den resulterande bilden
image.save("Jac_motion_weiner.jpg");
![Använd Motion Weiner-filter på bild i Java](images/Apply-Motion-Weiner-Filter-to-Image.png#center)
Java Image Filtering API - Skaffa en gratis licens
Du kan skaffa en gratis tillfällig licens och använda median- och wienerfilter på bilder utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du använder median- och wienerfilter på bilder i Java. Dessutom har vi tagit upp hur man minskar bruset från rörliga föremål i en bild. Du kan enkelt använda dessa funktioner i din Java-applikation för att integrera bildredigeringsfunktioner.
Läs mer
Du kan utforska mer om Javas bildbehandlings-API med dokumentation. Du kan också dela dina frågor med oss via vårt forum.