ในหลายกรณี คุณต้องลดสัญญาณรบกวนภาพเพื่อปรับปรุงคุณภาพของภาพ สิ่งนี้มีประโยชน์เมื่อคุณต้องการปรับปรุงความชัดเจนโดยรวมของรูปภาพของคุณ นอกจากนี้ denoising ยังใช้เพื่อประมวลผลภาพล่วงหน้าก่อนที่จะวิเคราะห์เพิ่มเติม เช่น การจดจำ การแบ่งส่วน และอื่นๆ ฟิลเตอร์ Median และ Wiener มักใช้เพื่อลดนอยส์และทำให้ภาพเนียนขึ้น มาดูวิธีใช้ตัวกรองค่ามัธยฐานและตัวกรอง wiener กับรูปภาพใน Python
- Python Library เพื่อใช้ตัวกรองรูปภาพ Median และ Wiener
- ใช้ Median Filter กับรูปภาพใน Python
- ใช้ตัวกรอง Gauss Wiener กับรูปภาพ
- Motion Wiener การกรองรูปภาพ
- แอปแก้ไขรูปภาพออนไลน์ฟรี
Python Library เพื่อใช้ Median และ Wiener Image Filters
ในการใช้ตัวกรองค่ามัธยฐานและตัวกรองแบบ Wiener บนรูปภาพ เราจะใช้ Aspose.Imaging for Python ซึ่งเป็นไลบรารีการประมวลผลรูปภาพอันทรงพลังที่ให้คุณจัดการรูปภาพได้อย่างง่ายดาย หากต้องการใช้ไลบรารี คุณสามารถ ดาวน์โหลด หรือติดตั้งโดยใช้คำสั่งต่อไปนี้
> pip install aspose-imaging-python-net
ใช้ Median Filter กับรูปภาพใน Python
ตัวกรองมัธยฐานเป็นวิธีการ denoising ที่ใช้กันทั่วไปซึ่งใช้เทคนิคการกรองแบบดิจิทัลแบบไม่เชิงเส้น ต่อไปนี้เป็นขั้นตอนในการใช้ตัวกรองค่ามัธยฐานกับรูปภาพใน 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"))
ด้านล่างคือภาพก่อนและหลังใช้ตัวกรองค่ามัธยฐาน
ใช้ตัวกรอง Gauss Wiener กับรูปภาพใน Python
Gauss wiener เป็นอีกวิธีหนึ่งที่ใช้กันทั่วไปเพื่อเพิ่มความคมชัดและลดสัญญาณรบกวนในภาพ มาดูขั้นตอนที่จำเป็นในการใช้ตัวกรอง Gauss wiener กับรูปภาพใน Python
- ขั้นแรก ให้โหลดรูปภาพโดยใช้เมธอด Image.load()
- จากนั้นส่งภาพเป็นประเภท RasterImage
- สร้างอินสแตนซ์ของคลาส GaussWienerFilterOptions และเริ่มต้นด้วยขนาดรัศมีและค่าที่ราบรื่น
- (ไม่บังคับ) หากต้องการรับภาพระดับสีเทา ให้ตั้งค่าคุณสมบัติ GaussWienerFilterOptions.grayscale เป็นจริง
- ใช้ตัวกรอง 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 wiener โดยไม่มีการปรับสีเทา
Motion Wiener Filter สำหรับรูปภาพใน Python
ฟิลเตอร์ Motion Wiener ใช้เพื่อลดความเบลอหรือการเสื่อมสภาพที่เกิดจากภาพเบลอจากการเคลื่อนไหว ภาพเบลอประเภทนี้เกิดขึ้นเนื่องจากการเคลื่อนไหวสัมพัทธ์ระหว่างกล้องกับวัตถุ ต่อไปนี้เป็นขั้นตอนในการใช้ตัวกรอง Motion Wiener กับรูปภาพใน Python
- ขั้นแรก ให้โหลดรูปภาพโดยใช้เมธอด Image.load()
- จากนั้นส่งภาพเป็นประเภท RasterImage
- สร้างอินสแตนซ์ของคลาส MotionWienerFilterOptions และกำหนดค่าเริ่มต้นด้วยความยาว ค่าเรียบ และมุม
- ใช้ฟิลเตอร์ Motion Wiener โดยใช้วิธี RasterImage.filter(Rectangle, MotionWienerFilterOptions)
- สุดท้าย บันทึกภาพผลลัพธ์โดยใช้เมธอด RasterImage.save()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ตัวกรองสัญญาณเคลื่อนไหวกับรูปภาพใน 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"))
ฟรีไลบรารีตัวกรองรูปภาพ Python
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี และใช้ตัวกรองค่ามัธยฐานและตัวกรอง Wiener กับรูปภาพโดยไม่มีข้อจำกัดในการประเมิน
แอปแก้ไขรูปภาพออนไลน์ฟรี
ใช้เครื่องมือแก้ไขรูปภาพบนเว็บฟรี เพื่อแก้ไขรูปภาพของคุณทางออนไลน์ โปรแกรมแก้ไขภาพนี้ใช้ Aspose.Imaging for Python และไม่ขอให้คุณสร้างบัญชี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีใช้ตัวกรองค่ามัธยฐานและตัวกรอง Wiener กับรูปภาพใน Python ขั้นตอนและตัวอย่างโค้ดได้สาธิตวิธีการใช้ฟิลเตอร์ประเภทต่างๆ เพื่อตัดเสียงรบกวนรูปภาพโดยทางโปรแกรม นอกจากนี้ เรายังกล่าวถึงวิธีลดจุดรบกวนของวัตถุที่เคลื่อนไหวในภาพโดยใช้ฟิลเตอร์ Motion Wiener สุดท้ายนี้ เราได้จัดเตรียมแอปแก้ไขภาพออนไลน์ให้คุณฟรี และคุณสามารถใช้งานได้โดยไม่ต้องสมัครใช้งาน
คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับไลบรารีการประมวลผลรูปภาพของ Python โดยใช้ เอกสารประกอบ นอกจากนี้ คุณสามารถแบ่งปันคำถามของคุณกับเราผ่านทาง ฟอรัม