1、读取显示图片的几种常用方法
(1)opencv读+plt显示+plt保存
# opencv读取
img = cv2.imread("图片路径")
b,g,r = cv2.split(img)
img2 = cv2.merge([r,g,b])
# plt显示
plt.imshow(img2)
# plt保存
plt.savefig("result/a.jpg", dpi=300)
(2)opencv读+opencv显示+opencv保存
# opencv读取
img = cv2.imread("图片路径")
# opencv显示
cv2.imshow(img)
# opencv保存
cv2.imwrite("保存路径/a.jpg",img)
2、opencv读取的彩色图像是BGR格式,Matplotlib显示彩色图像是RGB格式。因此,通过plt显示时会有扭曲。
将opencv读取的图像转为RGB格式:
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("图片路径")
b,g,r = cv2.split("img")
img2 = cv2.merge([r,g,b])
plt.imshow(img2)
plt.show()
使用cv2.split()和merge()函数处理后,可将BGR格式的图像转换为RGB格式的图像,通过plt可以正常显示。
2、RGB图像转为BGR图像
img = cv2.imread("图片路径")
b,g,r = cv2.split(img)
# RGB图像
img2 = cv2.merge([r,g,b])
# BGR图像
img3 = cv2.cvtColor(img2,cv2.COLOR_BGR2RGB)
cv2.imshow("窗口名",img3)