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

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ả

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ả

So sánh cv2.add vs cv2.addWeighted
| Hàm | Cô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.