OpenCV图片之间的四则运算add multiply subtract divide

本文介绍了OpenCV中对图像进行加法、乘法、减法和除法的操作,通过实例展示了这些运算对图像像素的影响,包括像素放大和缩小的效果。还探讨了图像的融合,并提供了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《OpenCV系列教程》
《深度学习-如何提高数据集质量》

项目位置:OpenCV-Sample
代码位置:43-OperationFixels.py

对像素进行四则运算最直接的就是对像素的放大和缩小。

加法乘法操作

add(src1, src2, dst=None, mask=None, dtype=None)
multiply(src1, src2, dst=None, scale=None, dtype=None)

如下是放大方块内的像素数值,图片排练顺序,原图、加法操作、乘法操作
在这里插入图片描述
可以看到,明显的乘法操作效果好。

减法除法操作

subtract(src1, src2, dst=None, mask=None, dtype=None)
divide(src1, src2, dst=None, scale=None, dtype=None)

如下是缩小方块内的像素数值,图片排练顺序,原图、减法操作、除法操作
在这里插入图片描述

还有一些操作就是图像之间的融合

两张图片进行减法、加法操作,乘法、除法还得看最终效果决定。
如下是两张图片的减法操作:
在这里插入图片描述
这样就进行了一个简单的融合。

代码:

import cv2 as cv
import numpy as np

img_down = cv.imread('./res/underexposed.jpg')
img_up = cv.imread('./res/Overexposed.jpg')

cv.imshow('Down', img_down)
cv.imshow('Up', img_up)

H, W = img_down.shape[:2]
print(H, W)
filter_up = np.ones_like(img_down)
filter_down = np.ones_like(img_up)

clip_h = int(H/3)
clip_w = int(W/3)

#进行相加操作
filter_up[clip_h:clip_h * 2, clip_w:clip_w * 2, :] = 100
img_add = cv.add(img_down, filter_up)# same  img + filt
cv.imshow('add', img_add)

#进行相乘操作
filter_up[clip_h:clip_h * 2, clip_w:clip_w * 2, :] = 3
img_mult = cv.multiply(img_down, filter_up) #same img * filt
cv.imshow('multiply', img_mult)

#进行减法操作
filter_down[clip_h:clip_h * 2, clip_w:clip_w * 2, :] = 100
img_sub = cv.subtract(img_up, filter_down) #same img - filt
cv.imshow('subtract', img_sub)

#进行除法操作
filter_down[clip_h:clip_h * 2, clip_w:clip_w * 2, :] = 2.5
img_divi = cv.divide(img_up, filter_down)
cv.imshow('divide', img_divi)

#两个图片进行融合处理
img_up = cv.resize(img_up, (W, H), interpolation=cv.INTER_CUBIC)
img_merge = img_up - img_down
img_merge[img_merge > img_up] = 0
cv.imshow('merge', img_merge)

while True:
    key = cv.waitKey(100)
    if key == 27:
        break
cv.destroyAllWindows()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值