【openCV学习】12.图像的加减乘除

1.用到的API

这些操作要求两张图片的宽高和通道数都相同,因此需要用到resize操作

只需要将其中一张图片resize成另一张图片的大小即可

new_bus = cv2.resize(bus,(dog.shape[:-1][::-1]))

以下的所有new_bus和dog都是自己写代码时定义的图片的名字,new_img是用来接收进行运算之后的图片

加法:

new_img = cv2.add(new_bus,dog)

减法:

new_img = cv2.subtract(new_bus,dog)

乘法:

new_img = cv2.multiply(new_bus,dog)

除法:

new_img = cv2.divide(new_bus,dog)

其中,如果值超过了255,就等于255,如果值小于0,就等于0

除此之外,图像还能进行自加自减等操作,比如

new_dog = dog+100

如果超过了255,就对255取模

2.完整代码

import cv2
import numpy as np

dog = cv2.imread("image/dog.png")
bus = cv2.imread("image/bus.jpg")

#加减乘除操作要求两张图片的大小和通道数一致
new_bus = cv2.resize(bus,(dog.shape[:-1][::-1]))

#在进行加减乘除运算的时候,如果数值大于255,就会等于255,如果小于0,就会等于0
#加法 add
new_img = cv2.add(new_bus,dog)
#减法subtract
new_img = cv2.subtract(new_bus,dog)
#乘法multiply
new_img = cv2.multiply(new_bus,dog)
#除法divide
new_img = cv2.divide(new_bus,dog)

#除了对两张图片进行加减乘除操作外,还能对一张图片进行自增和自减之类的操作
#如果超过了255,就对255取模
new_dog = dog+100

cv2.imshow("show",np.hstack((new_img,new_dog)))
cv2.waitKey(0)
cv2.destroyAllWindows()

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

owooooow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值