0. 注意
图像的本质就是矩阵,所以要以矩阵的眼光来理解
1. 加减法
1.1 加法
- img1+img2:将两幅图像对应位置的像素相加(尺寸类型相同)
- img1+50:将img1全部像素+50,提高了整体亮度
1.2 减法
- img1-img2:两幅相同尺寸的图相减
- img-50:将img1全部像素-50,降低了整体亮度
将img1全部像素+50,提高了整体亮度
右边两幅图是左边两幅图相减做差的结果,对于左边两幅图的差别不易观察,但是做差后就很明显
1.2 图像混合
图像混合的数学公式:
g
(
x
)
=
(
1
−
α
)
f
1
(
x
)
+
α
f
2
(
x
)
g(x) =(1-α)f_1(x)+αf_2(x)
g(x)=(1−α)f1(x)+αf2(x)
通过控制
α
α
α来决定混合图中谁的更明显
- cv2.addWeighted(img1,alpha,img2,beta,gamma):按权重混合两幅图
- alpha:img1的权重
- beta:img2的权重
- gamma:给混合图像增加亮度
import cv2
img1=cv2.imread("donald_trump.jpg")
img2=cv2.imread("flower.jpg")
img2=cv2.resize(img2,(600,800)) #需要两幅图尺寸一样
# 100代表混合图的亮度增加100,若不想增加则设为0
img3=cv2.addWeighted(img1,0.3,img2,0.7,100)
cv2.imshow("",img3)
cv2.waitKey(0)
2. 按位运算
包括AND、OR、NOT、XOR等,最显著的使用场景就是掩膜:
opencv-python掩膜操作