Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Các phép toán số học trên ảnh với OpenCV (cv2.add, cv2.subtract)

Hướng dẫn này minh họa phép cộng và trừ ảnh đơn giản bằng cv2.add() và cv2.subtract() (khác với addWeighted ở bài trước).

Cài đặt

pip install opencv-python==4.1.1.26

1. Cộng hai ảnh - cv2.add()

Cộng giá trị pixel tương ứng. Kích thước và kiểu ảnh phải giống nhau. Giá trị pixel bị bão hòa tại 255 (clipping).

Ảnh đầu vào

Các phép toán số học trên ảnh với OpenCV (cv2.add, cv2.subtract) Các phép toán số học trên ảnh với OpenCV (cv2.add, cv2.subtract)

Mã nguồn

import cv2

image_one = cv2.imread('_one.jpg')
image_two = cv2.imread('_two.jpg')

result_image = cv2.add(image_one, image_two)

cv2.imshow('Final Image', result_image)
if cv2.waitKey(0) & 0xFF == 27:
    cv2.destroyAllWindows()

Ảnh kết quả

Các phép toán số học trên ảnh với OpenCV (cv2.add, cv2.subtract)

2. Trừ hai ảnh - cv2.subtract()

Trừ pixel ảnh 2 từ ảnh 1. Kết quả âm bị cắt về 0 (saturation).

Mã nguồn

import cv2

image_one = cv2.imread('_one.jpg')
image_two = cv2.imread('_two.jpg')

result_image = cv2.subtract(image_one, image_two)

cv2.imshow('Final Image', result_image)
if cv2.waitKey(0) & 0xFF == 27:
    cv2.destroyAllWindows()

Ảnh kết quả

Các phép toán số học trên ảnh với OpenCV (cv2.add, cv2.subtract)

So sánh cv2.add vs cv2.addWeighted

HàmCông thứcỨng dụng
cv2.add(img1, img2)img1 + img2 (clipping 255)Overlay đơn giản, tăng độ sáng
cv2.addWeighted(img1, α, img2, β, γ)α·img1 + β·img2 + γBlending, alpha blending, HDR

Kết luận

Chọn add() cho cộng đơn giản, addWeighted() khi cần kiểm soát tỷ lệ trộn. Luôn đảm bảo ảnh cùng kích thước và depth.