python图像相乘运算_Python OpenCV 之图像乘除与像素的逻辑运算,图像处理取经之旅第 17 天...

本文介绍了如何使用 Python 的 OpenCV 库进行图像乘除操作,包括 cv2.multiply 和 cv2.divide 函数。同时,文章探讨了像素的逻辑运算,如与、或、非、异或,并提供了相关函数的示例代码。最后,通过实例展示了如何应用这些运算来实现特定的图像处理效果,如 ROI 操作和二值化处理。
摘要由CSDN通过智能技术生成

今天的学习的内容是:通过 Python OpenCV 对图像实现乘除操作,涉及函数为 cv2.multiply 与 cv2.divide。后面又补充了一些像素的逻辑运算,以及一个综合案例

cv2.multiply

该函数的语法格式如下:

cv2.multiply(src1, src2, dst=None, scale=None, dtype=None)

参数说明:

src1:第一张图像

src2:第二张图像

dst:可选参数,目标图像,需要提前分配空间,可省略

mask:掩膜

scale:缩放比,常量,即在 src1*src2 的基础上再乘 scale

dtype:输出图像数组的深度,默认等于-1

测试下面的代码,尝试之后,发现乘法很容易就全黑或者全白,毕竟两个数字相乘知乎,很容易超过 255。

import cv2 as cv

def multiply_demo(src1, src2):

ret = cv.multiply(src1, src2)

cv.imshow("multiply_demo", ret)

cv.waitKey(0)

if __name__ == "__main__":

src1 = cv.imread("./18_3.jpeg")

src2 = cv.imread("./18_4.jpg")

multiply_demo(src1, src2)

3b87f9c67ce7a6e0a659bbaaca4c9a91.png

如果 cv2.multiply 函数的第二个图像为一个标量,那运行结果是针对单一通道进行叠加。

import cv2 as cv

from matplotlib import pyplot as plt

def multiply_demo(src1, src2):

ret = cv.multiply(src1, 1.5)

plt.subplot(121), plt.imshow(src1), plt.title('src1')

plt.subplot(122), plt.imshow(ret), plt.title('ret')

plt.show()

if __name__ == "__main__":

src1 = cv.imread("./18_3.jpeg&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值