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

本文探讨了OpenCV和Matplotlib在图像读取、显示和保存方面的异同,重点讲解了它们对不同图像格式的支持以及在图像操作中的适用场景,提供实例以帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值