欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python保存圖片的四個(gè)常用方法

 更新時(shí)間:2022年02月28日 11:16:26   作者:Mr_寒路  
這篇文章主要給大家介紹了關(guān)于python保存圖片的四個(gè)常用方法,文中分別介紹了PIL的保存圖片方法、opencv保存圖片、Matplotlib保存圖片的方法以及pytorch保存圖片,需要的朋友可以參考下

前言

python中圖像處理相關(guān)庫(kù)有很多,這里簡(jiǎn)單介紹PIL、cv2、scipy.imageio 、matplotlib.image、skimage等常用庫(kù),其中PIL庫(kù)使用最方便,cv2庫(kù)功能最強(qiáng)大。下面分享保存圖片的常用方法

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("動(dòng)漫人物_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的數(shù)組形式,色彩空間為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)

參數(shù):

  1. tensor:4D張量,形狀為(B x C x H x W),分別表示樣本數(shù),通道數(shù),圖像高度,圖像寬度
  2. nrow:每行的圖片數(shù)量,默認(rèn)值為8
  3. padding:相鄰圖像之間的間隔。默認(rèn)值為2
  4. normalize:如果為True,則把圖像的像素值通過range指定的最大值和最小值歸一化到0-1。默認(rèn)為False
  5. range:元組,用于指定最大值和最小值。默認(rèn)使用圖像像素的最大最小值。
  6. sacle_each:如果為True,就單獨(dú)對(duì)每張圖像進(jìn)行normalize;如果是False,統(tǒng)一對(duì)所有圖像進(jìn)行normalize。默認(rèn)為Flase
  7. pad_value:float,上述padding會(huì)使得圖像之間留出空隙,默認(rèn)為0

matplotlib 擴(kuò)展:

1.圖像縮放、顯示

from scipy import misc
lena_new_sz = misc.imresize(img, 0.5) # 第二個(gè)參數(shù)如果是整數(shù),則為百分比,如果是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 'numpy.ndarray'>
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) # 會(huì)在保存的名字后面自動(dòng)加上.npy
img = np.load('img_new_sz.npy') # 讀取前面保存的數(shù)組

注意: np.array數(shù)據(jù)可以通過np.save函數(shù)直接保存在磁盤上,擴(kuò)展名為.npy, 通過np.load函數(shù)直接恢復(fù); scipy.misc提供了對(duì)numpy.array格式圖像的處理函數(shù),特別是misc.imsave函數(shù)可以直接將np.array數(shù)據(jù)保存成圖像文件。

總結(jié) 

到此這篇關(guān)于python保存圖片的四個(gè)常用方法的文章就介紹到這了,更多相關(guān)python保存圖片方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論