فیلترهای مدیا و وینر را روی تصاویر در پایتون اعمال کنید

در موارد مختلف، شما باید تصاویر را حذف کنید تا کیفیت بصری آنها افزایش یابد. این زمانی مفید است که می خواهید وضوح کلی تصاویر خود را بهبود بخشید. همچنین حذف نویز برای پیش پردازش تصاویر قبل از تجزیه و تحلیل بیشتر مانند تشخیص، تقسیم بندی و غیره استفاده می شود. فیلترهای مدیا و وینر معمولاً برای حذف نویز و صاف کردن تصاویر استفاده می شوند. بنابراین بیایید نگاهی به نحوه اعمال فیلترهای میانی و وینر بر روی تصاویر در پایتون بیندازیم.

کتابخانه 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 می باشد.

فیلتر Gauss Weiner را در مقیاس خاکستری تصویر اعمال کنید

تصویر زیر قبل و بعد از اعمال فیلتر گاوس وینر بدون رنگ خاکستری است.

فیلتر رنگی Gauss Weiner را روی تصویر اعمال کنید

فیلتر حرکت وینر برای یک تصویر در پایتون

فیلتر موشن وینر برای کاهش تاری یا تخریب ناشی از تاری حرکت استفاده می شود. این نوع تاری به دلیل حرکت نسبی بین دوربین و جسم اتفاق می افتد. در زیر مراحل اعمال فیلتر حرکت وینر روی یک تصویر در پایتون آمده است.

  • ابتدا تصویر را با استفاده از متد 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"))
فیلتر Motion Weiner را روی تصویر در پایتون اعمال کنید

کتابخانه رایگان تصویر پایتون

می‌توانید یک مجوز موقت رایگان دریافت کنید و فیلترهای میانی و وینر را بدون محدودیت ارزیابی روی تصاویر اعمال کنید.

برنامه ویرایش تصویر آنلاین رایگان

از ابزار رایگان ویرایش تصویر مبتنی بر وب ما برای ویرایش آنلاین تصاویر خود استفاده کنید. این ویرایشگر تصویر از Aspose.Imaging برای پایتون استفاده می کند و از شما درخواست ایجاد حساب کاربری نمی کند.

نتیجه

در این مقاله نحوه اعمال فیلترهای مدیان و وینر بر روی تصاویر در پایتون را یاد گرفتید. مراحل و نمونه کد نحوه اعمال انواع مختلف فیلترها برای حذف نویز تصاویر را به صورت برنامه‌ریزی نشان داده‌اند. علاوه بر این، نحوه کاهش نویز اجسام متحرک در یک تصویر را با استفاده از فیلتر حرکتی وینر توضیح داده ایم. در نهایت ما برای شما یک اپلیکیشن آنلاین ویرایش تصویر ارائه کرده ایم که کاملا رایگان است و می توانید بدون ثبت نام از آن استفاده کنید.

می‌توانید با استفاده از مستندات درباره کتابخانه پردازش تصویر پایتون بیشتر کاوش کنید. همچنین، می توانید سوالات خود را از طریق [تالار گفتمان3 ما با ما در میان بگذارید.

همچنین ببینید