Apply Median and Wiener Filters to Images in C#

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

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

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

PM> Install-Package Aspose.Imaging

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

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

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

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

مقایسه قبل و بعد

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

Apply Median Filter to Image C#

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

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

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

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

مقایسه قبل و بعد

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

Apply Gauss Weiner Filter to Image Greyscaling

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

Apply Gauss Weiner Color Filter to Image

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

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

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

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

مقایسه قبل و بعد

Apply Motion Weiner Filter to Image in C#

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

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

نتیجه‌گیری

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

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

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

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