Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python OpenCV để làm mờ hình ảnh?

OpenCV là một trong những gói python tốt nhất để xử lý hình ảnh. Cũng giống như các tín hiệu mang theo nhiễu đi kèm với nó, hình ảnh cũng chứa các loại nhiễu khác nhau chủ yếu từ chính nguồn phát (Cảm biến máy ảnh). Gói Python OpenCV cung cấp các cách làm mịn hình ảnh còn được gọi là làm mờ. Đây là những gì chúng ta sẽ làm trong phần này. Một trong những kỹ thuật phổ biến là sử dụng bộ lọc Gaussian (Gf) để làm mờ hình ảnh. Với tính năng này, mọi cạnh sắc nét trong hình ảnh đều được làm mịn trong khi giảm thiểu quá nhiều nhòe.

Cú pháp

cv.GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType=BORDER_DEFAULT]]] )

Ở đâu -

  • src - hình ảnh đầu vào

  • dst - hình ảnh đầu ra

  • ksize - Kích thước hạt nhân Gaussian [chiều rộng chiều cao]. Nếu ksize được đặt thành [0 0], thì ksize được tính từ các giá trị sigma.

  • sigmaX - Độ lệch chuẩn của hạt nhân dọc theo trục X (hướng ngang).

  • sigmaY - độ lệch chuẩn của nhân dọc theo trục Y (Hướng dọc).

  • Loại đường viền - Chỉ định ranh giới iage trong khi kernel được áp dụng trên đường viền hình ảnh. Một số giá trị có thể có là:cv.BORDER_CONSTANT, cv.BORDER_REPLICATE, cv.BORDER_REFLECT, cv.BORDER_WRAP, cv.BORDER_DEFAULT, cv.BORDER_ISOLATED, cv.BORDER_TRANSPARENT, v.v.

Dưới đây là chương trình Gaussian làm mờ hình ảnh bằng gói OpenCV.

import cv2
import numpy

# read image
src = cv2.imread('LionKing.jpeg', cv2.IMREAD_UNCHANGED)

# apply guassian blur on src image
dst = cv2.GaussianBlur(src,(3,3),cv2.BORDER_DEFAULT)

# display input and output image
cv2.imshow("Gaussian Blur",numpy.hstack((src, dst)))
cv2.waitKey(0) # waits until a key is pressed
cv2.destroyAllWindows() # destroys the window showing image

Kết quả

Chương trình Python OpenCV để làm mờ hình ảnh?

Hai hình ảnh trông gần như tương tự (ảnh gốc / mờ). Bây giờ chúng ta hãy tăng kích thước hạt nhân và quan sát kết quả.

dst = cv2.GaussianBlur(src,(13,13),cv2.BORDER_DEFAULT)

Chương trình Python OpenCV để làm mờ hình ảnh?

Bây giờ có sự phân biệt rõ ràng giữa hai hình ảnh.