📜  如何使用 Matplotlib 在Python中显示 OpenCV 图像?

📅  最后修改于: 2022-05-13 01:54:28.195000             🧑  作者: Mango

如何使用 Matplotlib 在Python中显示 OpenCV 图像?

OpenCV模块是一个开源计算机视觉和机器学习软件库。它是一个用于计算机视觉、机器学习和图像处理的巨大开源库。 OpenCV支持多种编程语言,如Python、C++、 Java等。它可以处理图像和视频以识别对象、面部甚至人类的笔迹。当它与各种库集成时,例如numpy ,这是一个高度优化的数值运算库,然后你的武器库中的武器数量就会增加,即可以在Numpy中执行的任何操作都可以与OpenCV结合使用。

首先,让我们看看如何使用OpenCV显示图像:

现在有一个名为 cv2.imread() 的函数,它将图像的路径作为参数。使用此函数,您将读取该特定图像并使用 cv2.imshow()函数简单地显示它。

Python3
# import required module
import cv2
 
# read the Image by giving path
image = cv2.imread('gfg.png')
 
# display that image
cv2.imshow('GFG', image)


Python3
# import required module
import cv2
import matplotlib.pyplot as plt
 
# read image
image = cv2.imread('gfg.png')
 
# call imshow() using plt object
plt.imshow(image)
 
# display that image
plt.show()


Python3
# import required modules
import cv2
import matplotlib.pyplot as plt
 
# read the image
image = cv2.imread('gfg.png')
 
# convert color image into grayscale image
img1 = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
 
# plot that grayscale image with Matplotlib
# cmap stands for colormap
plt.imshow(img1, cmap='gray')
 
# display that image
plt.show()


输出:

使用 OpenCV 显示图像

现在让我们开始使用Matplotlib模块显示图像。它是一个惊人的Python可视化库,用于数组的 2D 绘图。 Matplotlib模块是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈一起使用。

我们正在对上面的代码进行细微的更改,以使用Matplotlib模块显示我们的图像。

蟒蛇3

# import required module
import cv2
import matplotlib.pyplot as plt
 
# read image
image = cv2.imread('gfg.png')
 
# call imshow() using plt object
plt.imshow(image)
 
# display that image
plt.show()

输出:

使用 Matplotlib 绘制图像

还可以使用Matplotlib模块显示灰度OpenCV图像,因为您只需要将彩色图像转换为灰度图像。

蟒蛇3

# import required modules
import cv2
import matplotlib.pyplot as plt
 
# read the image
image = cv2.imread('gfg.png')
 
# convert color image into grayscale image
img1 = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
 
# plot that grayscale image with Matplotlib
# cmap stands for colormap
plt.imshow(img1, cmap='gray')
 
# display that image
plt.show()

输出:

使用 Matplotlib 显示灰度图像图

这就是我们如何使用Matplotlib模块在Python中显示OpenCV图像。