اعمال فیلترهای میانه و وینر به تصاویر در C#

ویرایش تصویر نقش حیاتی در برنامه‌های مختلف ایفا می‌کند و به بهبود و دستکاری تصاویر برای پردازش بیشتر کمک می‌کند. در وبلاگ‌های قبلی خود، ما به موضوعاتی مانند برش تصاویر، چرخش تصاویر و محو کردن تصاویر پرداختیم. امروز، به بررسی اعمال فیلترهای میانه و وینر—دو تکنیک ضروری برای کاهش نویز و نرم‌سازی تصاویر—می‌پردازیم. بیایید یاد بگیریم چگونه به‌صورت برنامه‌نویسی فیلترهای میانه و وینر را به یک تصویر در C# اعمال کنیم.

API C# برای اعمال فیلترهای میانه و وینر به تصاویر - دانلود رایگان

Aspose.Imaging برای .NET یک API قدرتمند است که برای پیاده‌سازی ویژگی‌های ویرایش تصویر در برنامه‌های .NET طراحی شده است. ما از این API برای اعمال فیلترهای میانه و وینر بر روی تصاویر استفاده خواهیم کرد. شما می‌توانید به راحتی دانلود کنید یا آن را مستقیماً از NuGet با دستور زیر نصب کنید:

PM> Install-Package Aspose.Imaging

اعمال فیلتر میانه به یک تصویر در C#

فیلتر میانه یک تکنیک فیلترگذاری دیجیتال غیرخطی است که به‌طور مؤثر نویز را در تصاویر کاهش می‌دهد. در اینجا نحوه اعمال فیلتر میانه به یک تصویر در C# آمده است:

  1. تصویر را با استفاده از Image.Load() بارگذاری کنید.
  2. تصویر را به نوع RasterImage تبدیل کنید.
  3. یک نمونه از کلاس MedianFilterOptions ایجاد کنید و آن را با اندازه مستطیل مورد نظر初始化 کنید.
  4. فیلتر میانه را با استفاده از RasterImage.Filter(Rectangle, MedianFilterOptions) اعمال کنید.
  5. تصویر حاصل را با استفاده از RasterImage.Save() ذخیره کنید.

در اینجا یک نمونه کد برای نشان دادن نحوه اعمال فیلتر میانه به یک تصویر در C# آمده است:

در زیر تصویر قبل و بعد از اعمال فیلتر میانه آمده است:

اعمال فیلتر میانه به تصویر C#

اعمال فیلتر وینر گوس به یک تصویر در C#

فیلتر وینر گوس یک روش مؤثر دیگر برای کاهش نویز افزایشی و محو کردن در تصاویر است. مراحل زیر را برای اعمال فیلتر وینر گوس در C# دنبال کنید:

  1. تصویر را با استفاده از Image.Load() بارگذاری کنید.
  2. تصویر را به نوع RasterImage تبدیل کنید.
  3. یک نمونه از کلاس GaussWienerFilterOptions ایجاد کنید و آن را با اندازه شعاع و مقدار نرم‌سازی مورد نظر تنظیم کنید.
  4. (اختیاری) برای یک تصویر خاکستری، ویژگی GaussWienerFilterOptions.Grayscale را به true تنظیم کنید.
  5. فیلتر وینر گوس را با استفاده از RasterImage.Filter(Rectangle, GaussWienerFilterOptions) اعمال کنید.
  6. تصویر حاصل را با استفاده از RasterImage.Save() ذخیره کنید.

در اینجا یک نمونه کد برای اعمال فیلتر وینر گوس به یک تصویر در C# آمده است:

در زیر می‌توانید تصویر قبل و بعد از اعمال فیلتر وینر گوس با گزینه خاکستری را مشاهده کنید:

اعمال فیلتر وینر گوس به تصویر خاکستری

و در اینجا تصویر قبل و بعد از اعمال فیلتر وینر گوس بدون خاکستری آمده است:

اعمال فیلتر رنگی وینر گوس به تصویر

اعمال فیلتر وینر حرکتی بر روی یک تصویر در C#

فیلتر وینر حرکتی به‌طور خاص برای حذف محو شدگی ناشی از اشیاء متحرک طراحی شده است. در اینجا نحوه اعمال فیلتر وینر حرکتی در C# آمده است:

  1. تصویر را با استفاده از Image.Load() بارگذاری کنید.
  2. تصویر را به نوع RasterImage تبدیل کنید.
  3. یک نمونه از کلاس MotionWienerFilterOptions ایجاد کنید و آن را با طول، مقدار نرم‌سازی و زاویه تنظیم کنید.
  4. فیلتر وینر حرکتی را با استفاده از RasterImage.Filter(Rectangle, MotionWienerFilterOptions) اعمال کنید.
  5. تصویر حاصل را با استفاده از RasterImage.Save() ذخیره کنید.

در اینجا یک نمونه کد برای نشان دادن نحوه اعمال فیلتر وینر حرکتی به یک تصویر در C# آمده است:

اعمال فیلتر وینر حرکتی به تصویر در C#

API فیلترگذاری تصویر میانه و وینر C# - دریافت مجوز رایگان

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

نتیجه‌گیری

در این مقاله، ما نحوه اعمال فیلترهای میانه و وینر به تصاویر در C# را بررسی کردیم. همچنین روش‌هایی برای کاهش نویز ناشی از اشیاء متحرک در تصاویر مورد بحث قرار دادیم. شما می‌توانید این ویژگی‌ها را به‌راحتی در برنامه‌های C# خود یکپارچه کنید تا قابلیت‌های ویرایش تصویر خود را افزایش دهید.

بیشتر بخوانید

برای یادگیری بیشتر در مورد API پردازش تصویر .NET، به مستندات مراجعه کنید. اگر سوالی دارید، می‌توانید از طریق فروم با ما تماس بگیرید.

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