6.图像算术

本文探讨了图像算术与普通算术的区别,特别是在8位无符号整数类型的图像处理中。当进行图像加法和减法时,超过255的值会被截断为255(黑色),低于0的值被截断为0(白色)。通过示例代码,解释了如何使用OpenCV库进行图像加法和减法操作,以及这些操作如何影响图像的明暗度调节。
摘要由CSDN通过智能技术生成

图像算术
图像的加减法可以用于图像明暗度的调节
展示了图像算术与普通算术的不同
在普通计算中,例如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) 

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值