Matplotlib具有强大的数据可视化功能,为Python提供一个数据绘图包。把图像数据读入到NumPy数组后,Matplotlib就可以将该数组以彩色或灰度图像的形式显示出来。Matplotlib默认彩色图像数组中的颜色分量顺序为RGB,而OpenCV函数cv.imread()返回的彩色图像数组色序为BGR,要用Matplotlib正确显示彩色图像,就必须将颜色分量顺序调整为RGB。
以下示例程序导入Matplotlib包中的pyplot模块,并取别名为plt。语句%matplotlib inline,将图像嵌在Jupyter Notebook网页中当前Cell下显示,若改为%matplotlib qt,则在弹出窗口中显示图像(有时需重启Kernel,执行菜单Kernel→Restart Kernel)。
用 Matplotlib显示 OpenCV读取的彩色图像
导入用到的包
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
图像嵌在Jupyter Notebook网页中当前Cell下显示
%matplotlib inline
从当前工作目录下imagedata子目录中读入一幅彩色图像
img = cv.imread(‘./imagedata/campus.jpg’,cv.IMREAD_COLOR)
imgRGB = img[:,:,::-1] #将图像颜色通道顺序调整为RGB
也可采用OpenCV的颜色空间转换函数
imgRGB = cv.cvtColor(img, cv.COLOR_BGR2RGB)
plt.figure() #创建一个显示窗口
plt.imshow(img) #显示原BGR色序图像
plt.title(‘Color image in BGR’) #设置图像窗口标题
plt.figure() #创建一个显示窗口
plt.imshow(imgRGB) #显示色序调整为RGB后的彩色图像
plt.title(‘Color image in RGB’) #图像标题
plt.show()
—————————–
示例程序先调用Matplotlib函数plt.figure()创建显示窗口,然后调用函数plt.imshow()将图像显示在该窗口内。
用 Matplotlib在弹出窗口中显示彩色和灰度图像
导入用到的包
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
Jupyter Notebook中运行时弹出显示窗口
%matplotlib qt
读入一幅彩色图像
img = cv.imread(‘./imagedata/campus.jpg’,cv.IMREAD_COLOR)
转换为灰度图像
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
显示结果
plt.figure(figsize=(16,8)) #设置窗口大小(宽,高)
plt.suptitle(‘Multi image display’) #设置图像总标题
plt.subplot(1,3,1); plt.imshow(img[:,:,::-1]) #显示彩色图像
plt.title(‘RGB color image’) #设置子图像标题
plt.axis(‘off’) #不显示轴线和标签
显示灰度图像图像
plt.subplot(1,3,2); plt.imshow(img_gray, cmap = ‘gray’, vmin=0,vmax=255)
plt.title(‘gray image’) #设置子图像标题
plt.axis(‘off’ ) #不显示轴线和标签
显示灰度图像,被渲染为伪彩色图像
plt.subplot(1,3,3); plt.imshow(img_gray, vmin=0,vmax=255)
plt.title(‘pseudo-color image’) #设置子图像标题
plt.axis(‘off’) #不显示轴线和标签
plt.tight_layout() #自动调整子图参数,使之填充整个图像区域
plt.show()
——————————
Original: https://blog.csdn.net/weixin_37623247/article/details/126301088
Author: weixin_37623247
Title: 图像数据的表示与基本运算(四)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/767000/
转载文章受原作者版权保护。转载请注明原作者出处!