در موارد مختلف، شما باید تصاویر را حذف کنید تا کیفیت بصری آنها افزایش یابد. این زمانی مفید است که می خواهید وضوح کلی تصاویر خود را بهبود بخشید. همچنین حذف نویز برای پیش پردازش تصاویر قبل از تجزیه و تحلیل بیشتر مانند تشخیص، تقسیم بندی و غیره استفاده می شود. فیلترهای مدیا و وینر معمولاً برای حذف نویز و صاف کردن تصاویر استفاده می شوند. بنابراین بیایید نگاهی به نحوه اعمال فیلترهای میانی و وینر بر روی تصاویر در پایتون بیندازیم.
- کتابخانه Python برای اعمال فیلترهای تصویر Median و Wiener
- فیلتر میانه را روی یک تصویر در پایتون اعمال کنید
- فیلتر Gauss Wiener را روی یک تصویر اعمال کنید
- Motion Wiener فیلتر کردن یک تصویر
- برنامه ویرایش تصویر آنلاین رایگان
کتابخانه Python برای اعمال فیلترهای تصویر Median و Wiener
برای اعمال فیلترهای میانی و وینر روی تصاویر، از Aspose.Imaging for Python استفاده می کنیم - یک کتابخانه پردازش تصویر قدرتمند که به شما امکان می دهد تصاویر را بدون زحمت دستکاری کنید. برای استفاده از کتابخانه، میتوانید دانلود یا با استفاده از دستور زیر آن را نصب کنید.
> pip install aspose-imaging-python-net
فیلتر میانه را روی یک تصویر در پایتون اعمال کنید
فیلتر میانه یک روش رایج حذف نویز است که از تکنیک فیلتر دیجیتال غیرخطی استفاده می کند. مراحل زیر برای اعمال فیلتر میانه روی تصویر در پایتون آمده است.
- ابتدا تصویر را با استفاده از متد Image.load() بارگذاری کنید.
- سپس، تصویر را به نوع RasterImage ارسال کنید.
- یک نمونه از کلاس MedianFilterOptions ایجاد کنید و آن را با اندازه مستطیل مقداردهی اولیه کنید.
- فیلتر میانه را با استفاده از روش RasterImage.filter (مستطیل، MedianFilterOptions) اعمال کنید.
- در نهایت تصویر فیلتر شده را با استفاده از متد RasterImage.save ذخیره کنید.
نمونه کد زیر نحوه اعمال فیلتر میانه را روی یک تصویر در پایتون نشان می دهد.
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
# تصویر نویزدار را بارگیری کنید
with Image.load(os.path.join(data_dir, "template.gif")) as image:
# تصویر را در RasterImage قرار دهید
if aspycore.is_assignable(image, RasterImage):
raster_image = aspycore.as_of(image, RasterImage)
# یک نمونه از کلاس MedianFilterOptions ایجاد کنید و اندازه را تنظیم کنید، فیلتر MedianFilterOptions را روی شی RasterImage اعمال کنید و تصویر حاصل را ذخیره کنید.
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"))
در زیر تصویر قبل و بعد از اعمال فیلتر میانه آمده است.
فیلتر Gauss Wiener را روی یک تصویر در پایتون اعمال کنید
گاوس وینر یکی دیگر از روش های رایج برای افزایش وضوح و کاهش نویز در تصاویر است. بیایید نگاهی به مراحل مورد نیاز برای اعمال فیلتر گاوس وینر بر روی یک تصویر در پایتون بیندازیم.
- ابتدا تصویر را با استفاده از متد Image.load() بارگذاری کنید.
- سپس، تصویر را به نوع RasterImage ارسال کنید.
- یک نمونه از کلاس GaussWienerFilterOptions ایجاد کنید و آن را با اندازه شعاع و مقدار صاف مقداردهی اولیه کنید.
- (اختیاری) برای دریافت یک تصویر در مقیاس خاکستری، ویژگی GaussWienerFilterOptions.grayscale را روی true تنظیم کنید.
- فیلتر Gauss wiener را با استفاده از روش RasterImage.filter (مستطیل، GaussWienerFilterOptions) اعمال کنید.
- در نهایت، تصویر حاصل را با استفاده از متد RasterImage.save ذخیره کنید.
نمونه کد زیر نحوه اعمال فیلتر گاوس وینر را بر روی یک تصویر در پایتون نشان می دهد.
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
# تصویر را بارگذاری کنید
with Image.load(os.path.join(data_dir, "template.jpg")) as image:
# تصویر را در RasterImage قرار دهید
if aspycore.is_assignable(image, RasterImage):
raster_image = aspycore.as_of(image, RasterImage)
# یک نمونه از کلاس GaussWienerFilterOptions ایجاد کنید و اندازه شعاع و مقدار صاف را تنظیم کنید.
options = GaussWienerFilterOptions(12, 3)
options.grayscale = True
# فیلتر MedianFilterOptions را روی شی RasterImage اعمال کنید و تصویر حاصل را ذخیره کنید
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"))
در زیر تصویر قبل و بعد از اعمال فیلتر گاوس وینر با گزینه grayscale می باشد.
تصویر زیر قبل و بعد از اعمال فیلتر گاوس وینر بدون رنگ خاکستری است.
فیلتر حرکت وینر برای یک تصویر در پایتون
فیلتر موشن وینر برای کاهش تاری یا تخریب ناشی از تاری حرکت استفاده می شود. این نوع تاری به دلیل حرکت نسبی بین دوربین و جسم اتفاق می افتد. در زیر مراحل اعمال فیلتر حرکت وینر روی یک تصویر در پایتون آمده است.
- ابتدا تصویر را با استفاده از متد Image.load() بارگذاری کنید.
- سپس، تصویر را به نوع RasterImage ارسال کنید.
- یک نمونه از کلاس MotionWienerFilterOptions ایجاد کنید و آن را با طول، مقدار صاف و زاویه مقداردهی اولیه کنید.
- فیلتر حرکت وینر را با استفاده از روش RasterImage.filter (مستطیل، MotionWienerFilterOptions) اعمال کنید.
- در نهایت، تصویر حاصل را با استفاده از متد RasterImage.save ذخیره کنید.
نمونه کد زیر نحوه اعمال فیلتر موشن وینر را بر روی یک تصویر در پایتون نشان می دهد.
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
# تصویر را بارگذاری کنید
with Image.load(os.path.join(data_dir, "template.gif")) as image:
# تصویر را در RasterImage قرار دهید
if aspycore.is_assignable(image, RasterImage):
raster_image = aspycore.as_of(image, RasterImage)
# یک نمونه از کلاس MotionWienerFilterOptions ایجاد کنید و طول، مقدار صاف و زاویه را تنظیم کنید.
options = MotionWienerFilterOptions(50, 9, 90)
options.grayscale = True
# فیلتر MedianFilterOptions را روی شی RasterImage اعمال کنید و تصویر حاصل را ذخیره کنید
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"))
کتابخانه رایگان تصویر پایتون
میتوانید یک مجوز موقت رایگان دریافت کنید و فیلترهای میانی و وینر را بدون محدودیت ارزیابی روی تصاویر اعمال کنید.
برنامه ویرایش تصویر آنلاین رایگان
از ابزار رایگان ویرایش تصویر مبتنی بر وب ما برای ویرایش آنلاین تصاویر خود استفاده کنید. این ویرایشگر تصویر از Aspose.Imaging برای پایتون استفاده می کند و از شما درخواست ایجاد حساب کاربری نمی کند.
نتیجه
در این مقاله نحوه اعمال فیلترهای مدیان و وینر بر روی تصاویر در پایتون را یاد گرفتید. مراحل و نمونه کد نحوه اعمال انواع مختلف فیلترها برای حذف نویز تصاویر را به صورت برنامهریزی نشان دادهاند. علاوه بر این، نحوه کاهش نویز اجسام متحرک در یک تصویر را با استفاده از فیلتر حرکتی وینر توضیح داده ایم. در نهایت ما برای شما یک اپلیکیشن آنلاین ویرایش تصویر ارائه کرده ایم که کاملا رایگان است و می توانید بدون ثبت نام از آن استفاده کنید.
میتوانید با استفاده از مستندات درباره کتابخانه پردازش تصویر پایتون بیشتر کاوش کنید. همچنین، می توانید سوالات خود را از طریق [تالار گفتمان3 ما با ما در میان بگذارید.