python保存圖片的四個(gè)常用方法
前言
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ù):
- tensor:4D張量,形狀為(B x C x H x W),分別表示樣本數(shù),通道數(shù),圖像高度,圖像寬度
- nrow:每行的圖片數(shù)量,默認(rèn)值為8
- padding:相鄰圖像之間的間隔。默認(rèn)值為2
- normalize:如果為True,則把圖像的像素值通過range指定的最大值和最小值歸一化到0-1。默認(rèn)為False
- range:元組,用于指定最大值和最小值。默認(rèn)使用圖像像素的最大最小值。
- sacle_each:如果為True,就單獨(dú)對(duì)每張圖像進(jìn)行normalize;如果是False,統(tǒng)一對(duì)所有圖像進(jìn)行normalize。默認(rèn)為Flase
- 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)文章
Python實(shí)現(xiàn)線程狀態(tài)監(jiān)測(cè)簡(jiǎn)單示例
這篇文章主要介紹了Python實(shí)現(xiàn)線程狀態(tài)監(jiān)測(cè),結(jié)合簡(jiǎn)單實(shí)例形式分析了Python線程start啟動(dòng)、sleep推遲運(yùn)行、isAlive判斷等方法使用技巧,需要的朋友可以參考下2018-03-03python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法
這篇文章主要介紹了python通過裝飾器檢查函數(shù)參數(shù)數(shù)據(jù)類型的方法,涉及Python裝飾器的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03Python學(xué)習(xí)筆記之os模塊使用總結(jié)
這篇文章主要介紹了Python學(xué)習(xí)筆記之os模塊使用總結(jié),本文總結(jié)了多個(gè)常用方法,需要的朋友可以參考下2014-11-11Pycharm+Scrapy安裝并且初始化項(xiàng)目的方法
今天小編就為大家分享一篇Pycharm+Scrapy安裝并且初始化項(xiàng)目的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python讀取圖片的方式,以及將圖片以三維數(shù)組的形式輸出方法
今天小編就為大家分享一篇python讀取圖片的方式,以及將圖片以三維數(shù)組的形式輸出方法,具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python+Selenium自動(dòng)化環(huán)境搭建與操作基礎(chǔ)詳解
Selenium是如今最常用的自動(dòng)化測(cè)試工具之一,支持快速開發(fā)自動(dòng)化測(cè)試框架,且支持在多種瀏覽器上執(zhí)行測(cè)試。本文將介紹關(guān)于Selenium?Python自動(dòng)化腳本環(huán)境搭建的相關(guān)資料,需要的朋友可以參考下2022-03-03Jupyter notebook命令和編輯模式常用快捷鍵匯總
這篇文章主要介紹了Jupyter notebook命令和編輯模式常用快捷鍵匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11