I olika fall måste du försvaga bilder för att förbättra deras visuella kvalitet. Detta är användbart när du vill förbättra den övergripande klarheten i dina bilder. Denoising används också för att förbearbeta bilder innan ytterligare analys som igenkänning, segmentering och så vidare. Median- och wienerfilter används vanligtvis för att försvaga och jämna ut bilderna. Så låt oss ta en titt på hur man använder median- och wienerfilter på bilder i Python.
- Python-bibliotek för att tillämpa median- och Wiener-bildfilter
- Använd medianfilter på en bild i Python
- Använd Gauss Wiener Filter på en bild
- Motion Wiener-filtrering av en bild
- Gratis app för bildredigering online
Python-bibliotek för att tillämpa median- och wienerbildfilter
För att tillämpa median- och wienerfiltren på bilder kommer vi att använda Aspose.Imaging for Python – ett kraftfullt bildbehandlingsbibliotek som låter dig manipulera bilder utan ansträngning. För att använda biblioteket kan du antingen ladda ner eller installera det med följande kommando.
> pip install aspose-imaging-python-net
Använd medianfilter på en bild i Python
Medianfiltret är en vanligt förekommande denoising-metod som använder en ickelinjär digital filtreringsteknik. Följande är stegen för att tillämpa ett medianfilter på en bild i Python.
- Ladda först in bilden med metoden Image.load().
- Kasta sedan bilden till RasterImage-typ.
- Skapa en instans av MedianFilterOptions-klassen och initiera den med storleken på rektangeln.
- Använd medianfiltret med metoden RasterImage.filter(Rectangle, MedianFilterOptions).
- Slutligen, spara den filtrerade bilden med metoden RasterImage.save().
Följande kodexempel visar hur man tillämpar ett medianfilter på en bild i Python.
import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import MedianFilterOptions
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Ladda den brusiga bilden
with Image.load(os.path.join(data_dir, "template.gif")) as image:
# Kasta bilden till RasterImage
if aspycore.is_assignable(image, RasterImage):
raster_image = aspycore.as_of(image, RasterImage)
# Skapa en instans av MedianFilterOptions-klassen och ställ in storleken, använd MedianFilterOptions-filtret på RasterImage-objektet och spara den resulterande bilden
options = MedianFilterOptions(4)
raster_image.filter(image.bounds, options)
image.save(os.path.join(data_dir, "result.gif"))
if delete_output:
os.remove(os.path.join(data_dir, "result.gif"))
Nedan är bilden före och efter applicering av medianfiltret.
Använd Gauss Wiener Filter på en bild i Python
Gauss wiener är en annan vanlig metod för att förbättra klarheten och minska brus i bilderna. Låt oss ta en titt på de steg som krävs för att tillämpa Gauss wiener-filtret på en bild i Python.
- Ladda först in bilden med metoden Image.load().
- Kasta sedan bilden till RasterImage-typ.
- Skapa en instans av GaussWienerFilterOptions-klassen och initiera den med radiestorlek och jämnt värde.
- (Valfritt) För att få en gråskalebild, ställ in egenskapen GaussWienerFilterOptions.grayscale till 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 wienerfilter på en bild i Python.
import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import GaussWienerFilterOptions
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Ladda bilden
with Image.load(os.path.join(data_dir, "template.jpg")) as image:
# Kasta bilden till RasterImage
if aspycore.is_assignable(image, RasterImage):
raster_image = aspycore.as_of(image, RasterImage)
# Skapa en instans av klassen GaussWienerFilterOptions och ställ in radiestorlek och jämnt värde.
options = GaussWienerFilterOptions(12, 3)
options.grayscale = True
# Använd MedianFilterOptions-filtret på RasterImage-objektet och spara den resulterande bilden
raster_image.filter(image.bounds, options)
image.save(os.path.join(data_dir, "result.jpg"))
if delete_output:
os.remove(os.path.join(data_dir, "result.jpg"))
Nedan är bilden före och efter applicering av Gauss wienerfiltret med gråskalealternativet.
Följande är bilden före och efter applicering av Gauss wienerfilter utan gråskalning.
Motion Wiener Filter för en bild i Python
Rörelse wienerfilter används för att minska suddigheten eller försämringen som orsakas av rörelseoskärpa. Denna typ av oskärpa uppstår på grund av den relativa rörelsen mellan kameran och objektet. Följande är stegen för att tillämpa motion wiener-filtret på en bild i Python.
- Ladda först in bilden med metoden Image.load().
- Kasta sedan bilden till RasterImage-typ.
- Skapa en instans av MotionWienerFilterOptions-klassen 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 applicerar ett motion wiener-filter på en bild i Python.
import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import MotionWienerFilterOptions
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Ladda bilden
with Image.load(os.path.join(data_dir, "template.gif")) as image:
# Kasta bilden till RasterImage
if aspycore.is_assignable(image, RasterImage):
raster_image = aspycore.as_of(image, RasterImage)
# Skapa en instans av MotionWienerFilterOptions-klassen och ställ in längden, det jämna värdet och vinkeln.
options = MotionWienerFilterOptions(50, 9, 90)
options.grayscale = True
# Använd MedianFilterOptions-filtret på RasterImage-objektet och spara den resulterande bilden
raster_image.filter(image.bounds, options)
image.save(os.path.join(data_dir, "result.gif"))
if delete_output:
os.remove(os.path.join(data_dir, "result.gif"))
Gratis Python Image Filter Library
Du kan skaffa en gratis tillfällig licens och använda median- och wienerfilter på bilder utan utvärderingsbegränsningar.
Gratis app för bildredigering online
Använd vårt gratis webbaserade bildredigeringsverktyg för att redigera dina bilder online. Denna bildredigerare använder Aspose.Imaging för Python och ber dig inte att skapa ett konto.
Slutsats
I den här artikeln har du lärt dig hur du använder median- och wienerfilter på bilder i Python. Stegen och kodexemplen har visat hur man tillämpar olika typer av filter för att försvaga bilder programmatiskt. Dessutom har vi behandlat hur man minskar bruset från rörliga föremål i en bild med hjälp av ett rörelse-wiener-filter. Slutligen har vi försett dig med en online-bildredigeringsapp som är helt gratis och du kan använda den utan att registrera dig.
Du kan utforska mer om Pythons bildbehandlingsbibliotek med dokumentation. Du kan också dela dina frågor med oss via vårt forum.