【Python】读取、显示、保存图像时cv2和plt的差异

import cv2
import matplotlib.pyplot as plt

''' 读取图像 '''
#     cv2.imread 读进来都是uint8格式; cv2.imread(path,flags=0) 通过设置flags=0读入灰度图 
#     plt.imread(path) 根据图像本身自动判断读进来是灰度还是RGB: 
#     原因是plt本身是用来显示图片的,不建议读图片 
#     import matplotlib.image as mpimg # mpimg 用于读取图片
#     如果非要用plt读图片, 则读.png是float32格式, 读其他格式进来时uint8 


''' 显示图像 '''
#     cv2.imshow() 既可以是uint8,也可以是float64,注意二者会有亮度微小差别。
#     但float64格式的必须限制在[0,1]之间,不能有非归一化的float64,如54.0 
#     plt.imshow() 比较鲁棒,什么格式的图像都可以显示,非归一化的float64也可以,他自己转换了


''' 保存图像 '''
#     cv2.imwrite() 只能保存uint8格式,即[0,255]的图像 
#     plt.imsave(path,cmap='gray') 很鲁棒,什么都可以

保存图像时质量或压缩比参考:

【OpenCV 例程300篇】02. 图像的保存(cv2.imwrite)_YouCans的博客-CSDN博客_cv2.imwrite

你可能感兴趣的:(1024程序员节,python)