تطبيق مرشحات Median و Wiener على الصور في Python

في حالات مختلفة ، يجب عليك إزالة التشويش من الصور لتحسين جودتها البصرية. هذا مفيد عندما تريد تحسين الوضوح العام لصورك. أيضًا ، يتم استخدام تقليل الضوضاء للمعالجة المسبقة للصور قبل إجراء مزيد من التحليل مثل التعرف والتجزئة وما إلى ذلك. تُستخدم مرشحات Median و wiener بشكل شائع لتقليل تشويش الصور وتنعيمها. لذلك دعونا نلقي نظرة على كيفية تطبيق مرشحات median و wiener على الصور في Python.

مكتبة Python لتطبيق مرشحات الصور Median و Wiener

لتطبيق مرشحات الوسيط و wiener على الصور ، سنستخدم Aspose.Imaging for Python - مكتبة معالجة صور قوية تتيح لك معالجة الصور بسهولة. لاستخدام المكتبة ، يمكنك إما تنزيل أو تثبيتها باستخدام الأمر التالي.

> pip install aspose-imaging-python-net 

تطبيق مرشح متوسط على صورة في Python

المرشح الوسيط هو طريقة تقليل الضوضاء شائعة الاستخدام تستخدم تقنية تصفية رقمية غير خطية. فيما يلي خطوات تطبيق مرشح متوسط على صورة في Python.

  • أولاً ، قم بتحميل الصورة باستخدام طريقة Image.load().
  • بعد ذلك ، قم بإرسال الصورة إلى نوع RasterImage.
  • قم بإنشاء مثيل لفئة MedianFilterOptions وقم بتهيئته بحجم المستطيل.
  • قم بتطبيق مرشح متوسط باستخدام طريقة RasterImage.filter (Rectangle ، MedianFilterOptions).
  • أخيرًا ، احفظ الصورة التي تمت تصفيتها باستخدام طريقة RasterImage.save().

يوضح نموذج التعليمات البرمجية التالي كيفية تطبيق مرشح متوسط على صورة في 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
# قم بتحميل الصورة المزعجة 
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"))

يوجد أدناه الصورة قبل وبعد تطبيق عامل التصفية المتوسط.

تطبيق مرشح متوسط على Image Python

قم بتطبيق مرشح Gauss Wiener على صورة في Python

Gauss wiener هي طريقة أخرى شائعة الاستخدام لتحسين الوضوح وتقليل التشويش في الصور. دعنا نلقي نظرة على الخطوات المطلوبة لتطبيق مرشح Gauss wiener على صورة في Python.

  • أولاً ، قم بتحميل الصورة باستخدام طريقة Image.load().
  • بعد ذلك ، قم بإرسال الصورة إلى نوع RasterImage.
  • قم بإنشاء مثيل لفئة GaussWienerFilterOptions وقم بتهيئته بحجم نصف قطر وقيمة متجانسة.
  • (اختياري) للحصول على صورة ذات تدرج رمادي ، قم بتعيين الخاصية GaussWienerFilterOptions.grayscale إلى true.
  • قم بتطبيق مرشح Gauss wiener باستخدام طريقة RasterImage.filter (Rectangle، GaussWienerFilterOptions).
  • أخيرًا ، احفظ الصورة الناتجة باستخدام طريقة RasterImage.save().

يوضح نموذج التعليمات البرمجية التالي كيفية تطبيق مرشح Gauss wiener على صورة في 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
# قم بتحميل الصورة
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"))

يوجد أدناه الصورة قبل وبعد تطبيق مرشح Gauss wiener بخيار تدرج الرمادي.

تطبيق مرشح Gauss Weiner على التدرج الرمادي للصورة

ما يلي هو الصورة قبل وبعد تطبيق مرشح Gauss wiener بدون تدرج الرمادي.

تطبيق مرشح الألوان Gauss Weiner على الصورة

مرشح الحركة وينر لصورة في بايثون

يتم استخدام مرشح wiener لتقليل التمويه أو التدهور الناتج عن ضبابية الحركة. يحدث هذا النوع من التمويه بسبب الحركة النسبية بين الكاميرا والجسم. فيما يلي خطوات تطبيق مرشح wiener للحركة على صورة في Python.

  • أولاً ، قم بتحميل الصورة باستخدام طريقة Image.load().
  • بعد ذلك ، قم بإرسال الصورة إلى نوع RasterImage.
  • قم بإنشاء مثيل لفئة MotionWienerFilterOptions وقم بتهيئته باستخدام الطول والقيمة السلسة والزاوية.
  • قم بتطبيق مرشح wiener للحركة باستخدام طريقة RasterImage.filter (Rectangle ، MotionWienerFilterOptions).
  • أخيرًا ، احفظ الصورة الناتجة باستخدام طريقة RasterImage.save().

يوضح نموذج الكود التالي كيفية تطبيق مرشح wiener للحركة على صورة في 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
# قم بتحميل الصورة
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 على الصورة في Python

مكتبة مجانية لتصفية صور Python

يمكنك الحصول على ترخيص مؤقت مجاني وتطبيق مرشحات الوسيط والواينر على الصور دون قيود التقييم.

تطبيق مجاني لتحرير الصور عبر الإنترنت

استخدم أداة تحرير الصور المجانية المستندة إلى الويب لتحرير صورك عبر الإنترنت. يستخدم محرر الصور هذا Aspose.Imaging for Python ولا يطلب منك إنشاء حساب.

خاتمة

في هذه المقالة ، تعلمت كيفية تطبيق مرشحات median و wiener على الصور في Python. لقد أوضحت الخطوات وعينات التعليمات البرمجية كيفية تطبيق أنواع مختلفة من المرشحات لتقليل التشويش على الصور برمجيًا. بالإضافة إلى ذلك ، قمنا بتغطية كيفية تقليل ضوضاء الأجسام المتحركة في صورة ما باستخدام مرشح wiener. أخيرًا ، قدمنا لك تطبيقًا مجانيًا تمامًا لتحرير الصور عبر الإنترنت ويمكنك استخدامه دون تسجيل.

يمكنك استكشاف المزيد حول مكتبة معالجة صور Python باستخدام التوثيق. يمكنك أيضًا مشاركة استفساراتك معنا عبر المنتدى.

أنظر أيضا