如何使用 Python-OpenCV 减去两个图像?
在本文中,我们将了解如何在Python中使用 OpenCV 减去两个图像。
现在,在进入主题之前,我们将讨论一些算术运算的用例。加减法等算术运算可以帮助我们使图像更亮或更暗。具体来说,如果您想找出两个看起来相似的图像之间的差异或者比较这两个图像会派上用场,那么将两个图像相减有很多目的。 OpenCV 按像素级别检查或操作图像,因为这个事实我们可以得到像素级别的图像差异。
句法:
Syntax: cv2.subtract(image1, image2)
注意:在减去任何图像之前,您应该注意两个图像的大小和深度必须相同。否则会抛出错误。
安装
要安装 OpenCV,请在终端中键入以下命令。
python3 -m pip install opencv--python
or
pip install opencv-python
通过安装 OpenCV,它会自动在您的系统上安装 NumPy。所以你很高兴。现在让我们看看如何使用 OpenCV 和Python减去两个图像。
逐步实施
第 1 步:导入库
Python3
# importing opencv
import cv2
Python3
# reading the images
circle = cv2.imread('circle.png')
star = cv2.imread('star.png')
Python3
# subtract the images
subtracted = cv2.subtract(star, circle)
Python3
# TO show the output
cv2.imshow('image', subtracted)
# To close the window
cv2.waitKey(0)
cv2.destroyAllWindows()
Python3
# importing opencv
import cv2
# reading the images
circle = cv2.imread('circle.png')
star = cv2.imread('star.png')
# subtract the images
subtracted = cv2.subtract(star, circle)
# TO show the output
cv2.imshow('image', subtracted)
# To close the window
cv2.waitKey(0)
cv2.destroyAllWindows()
第 2 步:阅读图像
接下来,我们需要先读取图像才能使用程序中的图像。
Python3
# reading the images
circle = cv2.imread('circle.png')
star = cv2.imread('star.png')
第 3 步:减去图像
现在,我们可以通过称为cv2.subtract的内置 cv2 方法减去图像
Syntax: cv2.subtract(image1, image2)
Python3
# subtract the images
subtracted = cv2.subtract(star, circle)
第 4 步:显示输出
为了显示图像,我们需要做 3 件事,首先通过cv2.imshow()显示图像
Syntax: cv2.imshow(“name of the window”, image)
接下来的两行代码确保我们可以选择关闭显示的图像。
cv2.waitKey(0) -> will wait for the infinite time for you to press any key in the keyboard
cv2.destroyAllWindows() -> will close all the windows
Python3
# TO show the output
cv2.imshow('image', subtracted)
# To close the window
cv2.waitKey(0)
cv2.destroyAllWindows()
这是在Python中减去两个图像的Python代码,
输入图像:
Python3
# importing opencv
import cv2
# reading the images
circle = cv2.imread('circle.png')
star = cv2.imread('star.png')
# subtract the images
subtracted = cv2.subtract(star, circle)
# TO show the output
cv2.imshow('image', subtracted)
# To close the window
cv2.waitKey(0)
cv2.destroyAllWindows()
输出:
应用
- 将图像转换为 PNG——使用 OpenCV 的图像减法用于删除背景图像并将它们转换为 png。
- 了解两个图像之间的差异——如果我们有两个相似的图像,但有一些差异。我们想知道差异,我们可以通过这个图像减法来找出它。
- 图像亮度和对比度——添加或减去一些像素将调整图像的亮度和对比度。
- 调整图像中的照明梯度– 如果包含文本的图像照明不足。我们很难读懂它。图像减法使阅读该论文中的文本变得容易。
- Instagram 和 Snapchat 滤镜——是的,我们用来拍摄不同自拍和照片的滤镜使用图像减法。