Python Pillow - เบลอภาพ

การเบลอภาพทำได้โดยการลดระดับจุดรบกวนในภาพโดยใช้ฟิลเตอร์กับภาพ การเบลอภาพเป็นสิ่งสำคัญอย่างหนึ่งของการประมวลผลภาพ

ImageFilter classในไลบรารีหมอนมีฟิลเตอร์ภาพมาตรฐานหลายตัว สามารถใช้ฟิลเตอร์ภาพกับรูปภาพได้โดยเรียกไฟล์filter() method ของออบเจ็กต์รูปภาพที่มีประเภทฟิลเตอร์ที่ต้องการตามที่กำหนดไว้ในคลาส ImageFilter

มีเทคนิคต่างๆที่ใช้ในการเบลอภาพและเราจะพูดถึงเทคนิคที่กล่าวถึงด้านล่างนี้

  • เบลอง่าย

  • กล่องเบลอ

  • Gaussian เบลอ

เทคนิคทั้งสามนี้จะใช้เมธอด 'Image.filter ()' เพื่อใช้ฟิลเตอร์กับรูปภาพ

เบลอง่าย

ใช้เอฟเฟกต์การเบลอกับภาพตามที่ระบุผ่านเคอร์เนลเฉพาะหรือเมทริกซ์คอนโวลูชั่น

ไวยากรณ์

filter(ImageFilter.BLUR)

ตัวอย่าง

#Import required Image library
from PIL import Image, ImageFilter

#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()

blurImage = OriImage.filter(ImageFilter.BLUR)
blurImage.show()
#Save blurImage
blurImage.save('images/simBlurImage.jpg')

ในการดำเนินการตัวอย่างด้านบนจะสร้างหน้าต่างยูทิลิตี้การแสดงผล PNG มาตรฐานสองหน้าต่าง (ในกรณีนี้คือหน้าต่าง Photos แอป)

Original image

Blurred image

กล่องเบลอ

ในตัวกรองนี้เราใช้ "รัศมี" เป็นพารามิเตอร์ รัศมีเป็นสัดส่วนโดยตรงกับค่าความเบลอ

ไวยากรณ์

ImageFilter.BoxBlur(radius)

ที่ไหน

  • Radius - ขนาดของกล่องในทิศทางเดียว

  • Radius 0 - หมายถึงไม่มีการเบลอและส่งคืนภาพเดียวกัน

  • RRadius 1 & ลบ; ใช้เวลา 1 พิกเซลในแต่ละทิศทางรวม 9 พิกเซล

ตัวอย่าง

#Import required Image library
from PIL import Image,
 
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()

#Applying BoxBlur filter
boxImage = OriImage.filter(ImageFilter.BoxBlur(5))
boxImage.show()

#Save Boxblur image
boxImage.save('images/boxblur.jpg')

เอาต์พุต

ในการดำเนินการตัวอย่างข้างต้นจะสร้างหน้าต่างยูทิลิตี้การแสดงผล PNG มาตรฐานสองหน้าต่าง (ในกรณีนี้คือแอพ Windows Photos)

Original image

Blurred image

Gaussian Blur

ตัวกรองนี้ยังใช้รัศมีพารามิเตอร์และทำงานเช่นเดียวกับการเบลอของกล่องด้วยการเปลี่ยนแปลงอัลกอริทึมบางอย่าง ในระยะสั้นการเปลี่ยนค่ารัศมีจะสร้างความเข้มของภาพ 'Gaussianblur' ที่แตกต่างกัน

ไวยากรณ์

ImageFilter.GaussianBlur(radius=2)

ที่ไหน

  • รัศมี - รัศมีเบลอ

ตัวอย่าง

#Import required Image library
from PIL import Image, ImageFilter

#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()

#Applying GaussianBlur filter
gaussImage = OriImage.filter(ImageFilter.GaussianBlur(5))
gaussImage.show()

#Save Gaussian Blur Image
gaussImage.save('images/gaussian_blur.jpg')

เอาต์พุต

ในการดำเนินการตัวอย่างด้านบนจะสร้างหน้าต่างยูทิลิตี้การแสดงผล PNG มาตรฐานสองหน้าต่าง (ในกรณีนี้คือหน้าต่าง Photos แอป)

Original image

Blurred image