python畫(huà)圖常見(jiàn)不同圖片格式保存方式
python畫(huà)圖常見(jiàn)不同圖片格式保存
上周討論老師要我把data生成 tif / tiff 圖給他,方便用于編輯成高清矢量圖?(原諒我沒(méi)太仔細(xì)聽(tīng)為什么了。。。這該死的瞌睡蟲(chóng))放進(jìn)paper,平常都是直接生成pdf,順便記錄一下簡(jiǎn)單的存圖過(guò)程。
import matplotlib.pyplot as plt import numpy as np # 生成數(shù)據(jù)=================================== x = np.arange(0, 1, 0.1) # 橫坐標(biāo)從0到1,步長(zhǎng)為0.1 y = np.cos(x) # 縱坐標(biāo)為 x 對(duì)應(yīng)的 cos(x) 值 # 生成圖形=================================== plt.figure(dpi=600)#自己設(shè)哈,其實(shí)300就夠了 plt.plot(x, y) #保存圖片=================================== #習(xí)慣了,沒(méi)有理由 plt.savefig('C:/Users/YuJia/Desktop/cos.pdf') #JPG/JPEG是最常見(jiàn)的格式,有損壓縮,細(xì)節(jié)流失,但內(nèi)存小 plt.savefig('C:/Users/YuJia/Desktop/cos.jpeg') plt.savefig('C:/Users/YuJia/Desktop/cos.jpg') #檔案比JPEG大,壓縮不失真,能夠相容透明/半透明圖像 plt.savefig('C:/Users/YuJia/Desktop/cos.png') #可縮放向量圖,以向量圖形組成,而非像素,不被限制于某種解析度(仿佛無(wú)限大哈哈哈沒(méi)有啦),一般用網(wǎng)頁(yè)瀏覽器開(kāi)啟(如Chrome、Firefox、Edge或Internet Explorer) plt.savefig('C:/Users/YuJia/Desktop/cos.svg') #標(biāo)簽圖像文件格式,可進(jìn)行有損或無(wú)損壓縮 plt.savefig('C:/Users/YuJia/Desktop/cos.tif') plt.savefig('C:/Users/YuJia/Desktop/cos.tiff') # 顯示圖形=================================== plt.show()
以下是產(chǎn)生的各種圖片大?。?/p>
稍微看一下,圖片大小還跟dpi設(shè)置有關(guān),差很多?。。∮绕涫?tif / tiff 這種,dpi 高的可以有幾百M(fèi)B那么大。
好的,速速講完,雖然沒(méi)什么內(nèi)容,睡覺(jué),同為可愛(ài)的畫(huà)圖工具人們。
保存圖片的常用方法
1.PIL的保存圖片方法
path = r"./001.jpg" #圖片路徑 img = Image.open(path) #打開(kāi)圖片 img.save("1.jpg") #將圖片保存為1.jpg
2.opencv保存圖片
path = r"./001.jpg" #圖片路徑 #img = cv.imdecode(np.fromfile("動(dòng)漫人物_0.jpg",np.uint8))#含有中文路徑的圖片打開(kāi) 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:如果為T(mén)rue,則把圖像的像素值通過(guò)range指定的最大值和最小值歸一化到0-1。默認(rèn)為False
- range:元組,用于指定最大值和最小值。默認(rèn)使用圖像像素的最大最小值。
- sacle_each:如果為T(mén)rue,就單獨(dú)對(duì)每張圖像進(jìn)行normalize;如果是False,統(tǒng)一對(duì)所有圖像進(jìn)行normalize。默認(rèn)為Flase
- pad_value:float,上述padding會(huì)使得圖像之間留出空隙,默認(rèn)為0
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用BeautifulSoup分析網(wǎng)頁(yè)信息的方法
這篇文章主要介紹了python使用BeautifulSoup分析網(wǎng)頁(yè)信息的方法,涉及Python使用BeautifulSoup模塊分析網(wǎng)頁(yè)信息的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Django初步使用Celery處理耗時(shí)任務(wù)和定時(shí)任務(wù)問(wèn)題
這篇文章主要介紹了Django初步使用Celery處理耗時(shí)任務(wù)和定時(shí)任務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Django自定義模板過(guò)濾器和標(biāo)簽的實(shí)現(xiàn)方法
這篇文章主要介紹了Django自定義模板過(guò)濾器和標(biāo)簽的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能
這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)微信自動(dòng)回復(fù)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Python字符串、列表、元組、字典、集合的補(bǔ)充實(shí)例詳解
這篇文章主要介紹了Python字符串、列表、元組、字典、集合,結(jié)合實(shí)例形式詳細(xì)分析了Python字符串、列表、元組、字典、集合常見(jiàn)函數(shù)使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12Python時(shí)間獲取及轉(zhuǎn)換知識(shí)匯總
這篇文章主要介紹了Python時(shí)間獲取及轉(zhuǎn)換知識(shí)匯總的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01用python打印1~20的整數(shù)實(shí)例講解
在本篇內(nèi)容中小編給大家分享了關(guān)于python打印1~20的整數(shù)的具體步驟以及實(shí)例方法,需要的朋友們參考下。2019-07-07django模型層(model)進(jìn)行建表、查詢與刪除的基礎(chǔ)教程
這篇文章主要給大家介紹了關(guān)于django模型層(model)進(jìn)行建表、查詢與刪除的等基礎(chǔ)操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11