全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

cv2.subtract函数的详解

发布时间:2023-11-25 09:24:59
发布人:xqq

一、函数概述

cv2.subtract()函数是OpenCV中用于图像减法运算的函数,可以很方便地进行两个图像之间的减法操作,也可以用来对一个图像进行常量的减法操作。


cv2.subtract(src1, src2, dst=None, mask=None, dtype=None) -> dst

其中src1和src2是要进行减法操作的两个输入图像,可以是大小和类型相同的图像,也可以是大小不同但是通道数相同的图像;dst是函数的输出结果,如果不传入该参数,则会生成一个和输入图像类型和大小相同的图像作为输出结果;mask参数则可以用来指定一个掩膜,以只对指定区域进行减法运算;dtype参数则用来指定输出图像的数据类型,如果不传入该参数,则会自动选择src1、src2和输入图像中的数据类型中的最大值作为输出图像的数据类型。

二、图像减法操作

三、常量减法操作

cv2.subtract()函数不仅可以进行图像减法操作,还可以对一个图像进行常量减法操作。代码如下:


img = cv2.imread("lena.jpg")
cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

result = cv2.subtract(255, img)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

这里我们读入一张名为lena.jpg的图像,并将它显示出来。然后,我们对这张图像进行常量减法操作:将它的每个像素值从255中减去,并将结果保存到result中。最后将result显示出来。运行代码,可以得到如下图像:

原始图像:

减法结果:

可以看到,我们成功地对lena.jpg图像进行了常量减法操作,并且得到了一个新的图像。这是因为在常量减法操作中,每个像素值都会从常量值中减去,并生成一个新的图像。

四、掩膜减法操作

cv2.subtract()函数还支持使用掩膜对图像进行减法操作,以只对指定区域进行操作。代码如下:


img1 = np.zeros((200, 200, 3), dtype=np.uint8)
img1[50:150, 50:150, :] = 255
img2 = np.zeros((200, 200, 3), dtype=np.uint8)
img2[70:180, 70:180, :] = 255
mask = np.zeros((200, 200), dtype=np.uint8)
mask[90:110, 90:110] = 255
cv2.imshow("img1", img1)
cv2.imshow("img2", img2)
cv2.imshow("mask", mask)
cv2.waitKey(0)
cv2.destroyAllWindows()

result = cv2.subtract(img1, img2, dst=None, mask=mask)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

这里我们同样创建两个200x200的图像img1和img2,并用mask生成一个掩膜,指定要进行减法操作的区域。然后,我们使用cv2.subtract()函数对这两个图像进行减法操作,并指定掩膜为mask。运行代码,可以得到如下图像:

可以看到,我们成功地使用掩膜对img1和img2进行了减法操作,只对mask指定的部分进行了减法操作。这是因为在掩膜减法操作中,只有掩膜中像素值为非零的部分才会进行减法操作,因此我们成功地保留了img1中心部分的白色区域。

cv2.subtract

相关文章

获取当月第一天和最后一天的方法总结

获取当月第一天和最后一天的方法总结

2023-11-25
详解Amazon Corretto

详解Amazon Corretto

2023-11-25
Keras evaluate 详解

Keras evaluate 详解

2023-11-25
linux命令tail-f,linux命令tailf

linux命令tail-f,linux命令tailf

2023-11-25

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取