python保存图片的四个常用方法
目录
前言1.PIL的保存图片方法2.opencv保存图片3.Matplotlib保存图片的方法4.pytorch保存图片matplotlib扩展:总结前言
python中图像处理相关库有很多,这里简单介绍PIL、cv2、scipy.imageio 、matplotlib.image、skimage等常用库,其中PIL库使用最方便,cv2库功能最强大。下面分享保存图片的常用方法
1.PIL的保存图片方法
path = r"./001.jpg" #图片路径 img = Image.open(path) #打开图片 img.save("1.jpg") #将图片保存为1.jpg
2.opencv保存图片
path = r"./001.jpg" #图片路径 #img = cv.imdecode(np.fromfile("动漫人物_0.jpg",np.uint8))#含有中文路径的图片打开 img = cv2.imread(path) #读取图片 cv2.imwrite("1.jpg",img) #将图片保存为1.jpg
3.Matplotlib保存图片的方法
import matplotlib.pyplot as plt import cv2 import os images_path = "./minist_img" for i,img_name in enumerate(os.listdir(images_path)): img_path = os.path.join(images_path,img_name) img = cv2.imread(img_path) #numpy的数组形式,色彩空间为BGR img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) # plt.subplot(2,2,i+1),plt.imshow(img) plt.savefig("./minist.jpg") plt.show()
4.pytorch保存图片
save_image(real_img,os.path.join(save_img,f"{epoch}_real.jpg"),nrow=10,padding=2,pad_value=255)
参数:
tensor:4D张量,形状为(B x C x H x W),分别表示样本数,通道数,图像高度,图像宽度nrow:每行的图片数量,默认值为8padding:相邻图像之间的间隔。默认值为2normalize:如果为True,则把图像的像素值通过range指定的最大值和最小值归一化到0-1。默认为Falserange:元组,用于指定最大值和最小值。默认使用图像像素的最大最小值。sacle_each:如果为True,就单独对每张图像进行normalize;如果是False,统一对所有图像进行normalize。默认为Flasepad_value:float,上述padding会使得图像之间留出空隙,默认为0matplotlib 扩展:
1.图像缩放、显示
from scipy import misc lena_new_sz = misc.imresize(img, 0.5) # 第二个参数如果是整数,则为百分比,如果是tuple,则为输出图像的尺寸 plt.imshow(img_new_sz) plt.axis("off") plt.show()
2. 将np.array保存为图像、直接保存np.array
# 2.1 np.array=>image file from scipy import misc misc.imsave("img_new_sz.png", img_new_sz) """ from scipy import misc # load image lena = misc.imread("lena.png") #type(lena) # lena.shape, lena.dtype """ # 2.2 np.array=>np data file import numpy as np np.save("img_new_sz", img_new_sz) # 会在保存的名字后面自动加上.npy img = np.load("img_new_sz.npy") # 读取前面保存的数组
注意: np.array数据可以通过np.save函数直接保存在磁盘上,扩展名为.npy, 通过np.load函数直接恢复; scipy.misc提供了对numpy.array格式图像的处理函数,特别是misc.imsave函数可以直接将np.array数据保存成图像文件。
总结
到此这篇关于python保存图片的四个常用方法的文章就介绍到这了,更多相关python保存图片方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?