import cv2
#读取图像
imgFile = "sample1.jpg" #存放读取图像的路径
img1 = cv2.imread(imgFile,flags=1) #flags=1灰色图像
img2 = cv2.imread(imgFile,flags=0) #flag=0彩色图像
#保存图像
saveFile = "save.jpg" #保存图像的路径及名称
cv2.imwrite(saveFile,img1) #保存img1
#显示图像
cv2.namedWindow("i1", cv2.WINDOW_NORMAL) #定义一个窗口
cv2.resizeWindow("i1", 400, 300) #指定窗口大小
cv2.namedWindow("i2", cv2.WINDOW_NORMAL) #定义一个窗口
cv2.resizeWindow("i2", 400, 300) #指定窗口大小
cv2.imshow("i1",img1) #窗口i1显示img1
cv2.imshow("i2",img2) #窗口i2显示img2
cv2.waitKey(10000) #10000ms后关闭窗口
运行结果:
2.使用matplotlib库显示图像:
import cv2
import matplotlib.pyplot as plt
#读取图像
imgFile = "sample1.jpg" #存放读取图像的路径
img1 = cv2.imread(imgFile,flags=1) #flags=1灰色图像
img2 = cv2.imread(imgFile,flags=0) #flag=0彩色图像
#matplotlib显示图像
imgRGB = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
plt.rcParams['font.sans-serif'] = ['FangSong'] # 支持中文标签
plt.subplot(221), plt.title("1. RGB 格式(mpl)"), plt.axis('off')
plt.imshow(imgRGB) # matplotlib 显示彩色图像(RGB格式)
plt.subplot(222), plt.title("2. BGR 格式(OpenCV)"), plt.axis('off')
plt.imshow(img1) # matplotlib 显示彩色图像(BGR格式)
plt.subplot(223), plt.title("3. 设置 Gray 参数"), plt.axis('off')
plt.imshow(img2, cmap='gray') # matplotlib 显示灰度图像,设置 Gray 参数
plt.subplot(224), plt.title("4. 未设置 Gray 参数"), plt.axis('off')
plt.imshow(img2) # matplotlib 显示灰度图像,未设置 Gray 参数
plt.show()
运行结果: