7、opencv 图像的加减乘除以及融合 2022-08-22

图像的加减乘除

import cv2
import numpy as np

# 注意:图像调用api做运算和直接做运算不一样,前者大于255,赋值255,小于零,赋值0;后者会针对255做一个轮回
img0 = "./R-C.jpg"
img1 = "./108.jpg"

# 读取图片
img0 = cv2.imread(img0)
img1 = cv2.imread(img1)

# 查看图像维度信息
print(img0.shape)
print(img1.shape)

# 将较大图像切片至小图像大小
img1 = img1[0:890,0:600,:]

#-----------------------------------------#
# 加法
#-----------------------------------------#
# 图像相加-- 像素值大于255的话全部变成255
img = cv2.add(img0,img1)

# 只加一个数值,像素值加上这个数值再模256为相加结果像素值
img = img1 + 100


#-----------------------------------------#
# 减法
#-----------------------------------------#
# 减完之后如果小于零,那么加上256,如果还为负数,继续加
img2 = img1 -img0
# 减完之后小于零的话变为零
img3 = cv2.subtract(img1,img0)



# 堆叠图像
img = np.hstack((img2,img3))

#-----------------------------------------#
# 除法
#-----------------------------------------#
# 如果是直接相除,就是直接除
cv2.divide(img0,img1)


#-----------------------------------------#
# 乘法
#-----------------------------------------#
cv2.multiply(img0,img1)


# 展示图像
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像融合

# 计算公式  img = img0 * w1 + img1 * w2 +bias
import cv2
import numpy as np


img0 = "./R-C.jpg"
img1 = "./108.jpg"

# 读取图片
img0 = cv2.imread(img0)
img1 = cv2.imread(img1)

# 将图像切割到同样大小
img1 = img1[0:890,0:600,:]

# 参数:(图像1,图像1的权重,图像2,图像2的权重,bias)
img = cv2.addWeighted(img0,0.2,img1,0.8,20)

# 展示图像
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值