图像算术
图像的加减法可以用于图像明暗度的调节
展示了图像算术与普通算术的不同
在普通计算中,例如8位二进制数的计算,在超过255或小于0的情况下,都使用取余来对其进行处理
在图像计算中,若超过255,则直接取最大值255,即黑色,若小于0,则直接取0,即白色
from imutils import *
image = imread('test.jpg')
show(image)
# 图像加法
print(cv2.add(np.uint8([200]),np.uint8([100]))) #unit8 8位无符号整数类型,此操作为200+100的计算
# 普通加法
print(np.uint8([200])+np.uint8([100])) #对于图像最大值255,会取其余数
[[255]]
[44]
# 图像减法 substract
print(cv2.subtract(np.uint8([50]),np.uint8([100])))
# 普通减法
print(np.uint8([50])-np.uint8([100]))
[[0]]
[206]
image = imread('test.jpg')
# 生成跟图片形状相同的并且数值全为100的数据
M = np.ones(image.shape, dtype='uint8')*100
# 所有的像素加100
image = cv2.add(image, M)
show(image)
image = imread('test.jpg')
# 生成跟图片形状相同的并且全为100的数据
M = np.ones(image.shape, dtype='uint8')*100
# 所有的像素减100
image = cv2.subtract(image, M)
show(image)