国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > plt.imsave用法介紹

plt.imsave用法介紹

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-23 12:42:50 1700714570

一、基礎(chǔ)知識(shí)

plt.imsave是matplotlib庫(kù)中的一個(gè)函數(shù),用于將圖片保存到指定路徑下。語法如下:

plt.imsave(fname, arr, **kwargs)

其中,fname表示保存文件的路徑,arr表示要保存的圖片數(shù)組。kwargs是可選的參數(shù),用于指定保存圖片時(shí)的配置,如cmap(指定顏色映射表)、format(指定圖片格式)等。

在使用plt.imsave之前,還需要了解一些基礎(chǔ)知識(shí),如如何加載和顯示圖片,以及如何獲取和修改圖片數(shù)組。

加載和顯示圖片的代碼如下:

import matplotlib.pyplot as plt
import matplotlib.image as img

image = img.imread('example.jpg')
plt.imshow(image)
plt.show()

以上代碼中,mplimg是matplotlib中的一個(gè)包,用于加載和顯示圖片。具體流程如下:

首先通過imread函數(shù)加載圖片,并將像素點(diǎn)的RGB值存儲(chǔ)在一個(gè)數(shù)組中。 使用imshow函數(shù)展示加載的圖片,此時(shí)可以通過鼠標(biāo)的拖動(dòng)和滾輪縮放等手勢(shì)來顯示不同的部分。 最后使用plt.show()函數(shù)展示圖像。

獲取和修改圖片數(shù)組的代碼如下:

import numpy as np
import matplotlib.pyplot as plt

image = plt.imread('example.jpg')
# 獲取圖片數(shù)組的shape值,即圖片的寬高和通道數(shù)(RGB)
image_shape = image.shape
# 將RGB通道分別保存在三個(gè)變量中
red_channel = image[:, :, 0]
green_channel = image[:, :, 1]
blue_channel = image[:, :, 2]
# 修改像素點(diǎn)的RGB值
image[100:200, 200:300, :] = [255, 0, 0]
# 顯示修改后的圖片
plt.imshow(image)
plt.show()

以上代碼中,使用plt.imread函數(shù)加載圖片,并返回一個(gè)數(shù)組代表該圖片的像素點(diǎn)。通過該數(shù)組可以方便地獲取和修改圖片的各種屬性和像素點(diǎn)的RGB值。

二、常用功能

三、進(jìn)階應(yīng)用

1. 調(diào)整圖片的顏色

在保存圖片時(shí),可以通過設(shè)置cmap參數(shù),調(diào)整圖片的顏色。cmap參數(shù)指定了一個(gè)顏色映射表,會(huì)對(duì)圖片的像素點(diǎn)進(jìn)行轉(zhuǎn)換,使得像素點(diǎn)的值分別對(duì)應(yīng)不同的顏色。常見的顏色映射表有g(shù)ray、hot、viridis等,示例代碼如下:

import matplotlib.pyplot as plt
import matplotlib.image as img

image = img.imread('example.jpg')
plt.imsave('example_save.jpg', image, cmap='gray')

以上代碼中,plt.imsave函數(shù)將讀取的圖片以灰度圖的方式保存。

2. 保存多幅圖片為動(dòng)畫

通過一系列保存的圖片可以組成一個(gè)動(dòng)畫,使用moviepy庫(kù)將圖片以指定的幀率(fps)合成為動(dòng)畫。具體流程如下:

使用plt.imsave保存多幅圖片到指定路徑。 使用moviepy庫(kù)將指定路徑下的多幅圖片合成為一部動(dòng)畫。

示例代碼如下:

import matplotlib.pyplot as plt
import numpy as np
import moviepy.editor as mpy

# 生成10幅圖片
for i in range(10):
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x + i*np.pi/5)
    plt.plot(x, y)
    plt.savefig('example_frames/frame%d.png' % i)
    plt.clf()

# 生成動(dòng)畫
fps = 10  # 設(shè)定幀率為10fps
clip = mpy.ImageSequenceClip('example_frames/', fps=fps)
clip.write_videofile('example_animation.mp4')

以上代碼中,生成10幅圖片,并保存到example_frames文件夾下。使用ImageSequenceClip函數(shù)將該文件夾下的圖片合成為一部動(dòng)畫example_animation.mp4。

3. 保存多幅圖片為GIF

GIF是一種常見的動(dòng)畫格式,多用于Web上的圖像展示,可以通過imageio庫(kù)將多張圖片保存為GIF動(dòng)畫。具體流程如下:

使用plt.imsave保存多幅圖片到指定路徑。 使用imageio庫(kù)將指定路徑下的多幅圖片合成為一部GIF動(dòng)畫。

示例代碼如下:

import matplotlib.pyplot as plt
import numpy as np
import imageio

# 生成10幅圖片
for i in range(10):
    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x + i*np.pi/5)
    plt.plot(x, y)
    plt.savefig('example_frames/frame%d.png' % i)
    plt.clf()

# 生成動(dòng)畫
image_list = []
for i in range(10):
    image = imageio.imread('example_frames/frame%d.png' % i)
    image_list.append(image)
imageio.mimsave('example_animation.gif', image_list, fps=10)

以上代碼中,生成10幅圖片,并保存到example_frames文件夾下。使用imageio庫(kù)將該文件夾下的圖片合成為一部GIF動(dòng)畫example_animation.gif。

tags: plt.imsave
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT