Gối Python - Làm mờ hình ảnh

Làm mờ hình ảnh có thể được thực hiện bằng cách giảm mức độ nhiễu trong hình ảnh bằng cách áp dụng bộ lọc cho hình ảnh. Làm mờ ảnh là một trong những khía cạnh quan trọng của quá trình xử lý ảnh.

Các ImageFilter classtrong thư viện Pillow cung cấp một số bộ lọc hình ảnh tiêu chuẩn. Bộ lọc hình ảnh có thể được áp dụng cho hình ảnh bằng cách gọifilter() method của đối tượng Image với loại bộ lọc bắt buộc như được định nghĩa trong lớp ImageFilter.

Có nhiều kỹ thuật khác nhau được sử dụng để làm mờ hình ảnh và chúng ta sẽ thảo luận về các kỹ thuật được đề cập dưới đây.

  • Mờ đơn giản

  • Hộp mờ

  • Gaussian mờ

Tất cả ba kỹ thuật này sẽ sử dụng phương thức 'Image.filter ()' để áp dụng bộ lọc cho hình ảnh.

Mờ đơn giản

Nó áp dụng hiệu ứng làm mờ cho hình ảnh như được chỉ định thông qua một nhân cụ thể hoặc ma trận tích chập.

Cú pháp

filter(ImageFilter.BLUR)

Thí dụ

#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')

Khi thực thi, ví dụ trên tạo hai cửa sổ tiện ích hiển thị PNG tiêu chuẩn (trong trường hợp này là cửa sổ Photos ứng dụng).

Original image

Blurred image

Hộp mờ

Trong bộ lọc này, chúng tôi sử dụng 'bán kính' làm tham số. Bán kính tỷ lệ thuận với giá trị mờ.

Cú pháp

ImageFilter.BoxBlur(radius)

Ở đâu,

  • Radius - Kích thước của hộp theo một hướng.

  • Radius 0 - nghĩa là không bị nhòe và trả lại hình ảnh giống nhau.

  • RRadius 1 & minnus; mất 1 pixel ở mỗi hướng, tức là tổng cộng 9 pixel.

Thí dụ

#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')

Đầu ra

Khi thực thi, ví dụ trên tạo ra hai cửa sổ tiện ích hiển thị PNG tiêu chuẩn (trong trường hợp này là ứng dụng Windows Photos).

Original image

Blurred image

Gaussian Blur

Bộ lọc này cũng sử dụng bán kính tham số và hoạt động tương tự như làm mờ hộp với một số thay đổi thuật toán. Nói tóm lại, việc thay đổi giá trị bán kính, sẽ tạo ra các ảnh 'Gaussianblur' có cường độ khác nhau.

Cú pháp

ImageFilter.GaussianBlur(radius=2)

Ở đâu,

  • Bán kính - Bán kính mờ

Thí dụ

#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')

Đầu ra

Khi thực thi, ví dụ trên tạo hai cửa sổ tiện ích hiển thị PNG tiêu chuẩn (trong trường hợp này là cửa sổ Photos ứng dụng).

Original image

Blurred image