Apply Median and Wiener Filters to Images in C#

การแก้ไขภาพมีบทบาทสำคัญในการปรับปรุงและจัดการภาพสำหรับแอปพลิเคชันต่างๆ ในโพสต์ก่อนหน้านี้ เราได้พูดคุยเกี่ยวกับหัวข้อต่างๆ เช่น การตัดภาพ, การหมุนภาพ, และ การเบลอภาพ วันนี้เราจะสำรวจวิธีการใช้ ฟิลเตอร์มีเดียนและฟิลเตอร์วีนเนอร์—สองเทคนิคที่สำคัญสำหรับการลดเสียงรบกวนและทำให้ภาพเรียบเนียน มาดู วิธีการนำฟิลเตอร์เหล่านี้ไปใช้ใน C# อย่างมีโปรแกรม กันเถอะ

C# API เพื่อใช้ฟิลเตอร์มีเดียนและฟิลเตอร์วีนเนอร์ - ดาวน์โหลดฟรี

Aspose.Imaging for .NET API เป็นโซลูชันที่มีประสิทธิภาพสำหรับการใช้เทคนิคการฟิลเตอร์ภาพในแอปพลิเคชัน .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 Plugin ให้โซลูชันที่ครอบคลุมสำหรับความต้องการการประมวลผลภาพทั้งหมดของคุณ

อ่านเพิ่มเติม

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ API การประมวลผลภาพ .NET โปรดตรวจสอบที่ เอกสาร. หากคุณมีคำถามใดๆ โปรดติดต่อผ่าน ฟอรัม.

ดูเพิ่มเติม