Mahotas - 儲存影像



載入影像並對其執行各種操作後,您需要儲存影像以保留修改。

儲存影像指的是將影像儲存在特定檔案格式中,例如PNG、JPEG或TIFF等。這使您可以保留影像副本以備將來使用,無論是用於分析、處理還是簡單檢視。

在Mahotas中儲存影像

我們使用imsave()函式在mahotas中儲存影像。儲存影像的過程包括兩個步驟:將影像陣列轉換為適當的格式,然後將其儲存到磁碟。

使用imsave()函式

imsave()函式允許您將表示為陣列的影像儲存到檔案中。它支援多種檔案格式,包括PNG、JPEG、BMP等等。透過將所需的檔名和影像陣列作為引數傳遞給imsave(),您可以輕鬆地將影像資料儲存到磁碟上。

以下是Mahotas中imsave()函式的語法:

mahotas.imsave(filename, arr, format=None)

其中:

  • filename − 表示將儲存影像的檔名或路徑的字串。

  • arr − 表示將儲存的影像資料的NumPy陣列。

  • Format − 表示用於儲存影像的檔案格式的可選字串。如果未指定,Mahotas將嘗試根據提供的'filename'的副檔名推斷格式。

讓我們從儲存PNG格式的影像開始。

將影像儲存為PNG

我們可以將帶有'.png'副檔名的影像傳遞給imsave()函式,以便將其儲存為PNG格式。

示例

以下是Mahotas中將影像儲存為PNG格式的基本示例:

import mahotas as ms
image = ms.imread('sun.png')
# saving the image to a file
ms.imsave('sun_saved.png', image)
print ("The image data is saved.")
輸出

執行上述程式碼後,您將在當前工作目錄中找到生成的PNG檔案'sun_saved.png'。

The image data is saved.

將影像儲存為TIFF

我們也可以透過將帶有'.tiff'副檔名的影像傳遞給imsave()函式來將影像儲存為TIFF格式。

示例

在這裡,我們首先以BMP格式載入影像,然後將其儲存為TIFF格式的新影像,檔名'sea_save.tiff':

import mahotas as ms
# Loading the image in BMP format
image_bmp = ms.imread('sea.bmp')
# Saving the image in TIFF format
ms.imsave('sea_save.tiff', image_bmp)
print ("The filename sea_save.tiff is saved.")
輸出

執行上述程式碼後,您將在當前工作目錄中找到生成的TIFF檔案'sea_saved.tiff'。

The filename sea_save.tiff is saved.

以JPEG格式儲存灰度影像

灰度影像是黑白影像,其中每個畫素表示該特定點的強度或亮度。它沒有任何顏色資訊。可以把它想象成黑白照片。

要在Mahotas中儲存灰度影像,我們需要首先指定影像的尺寸,併為影像中的每個點生成隨機畫素值。然後,我們需要使用這些畫素值建立灰度影像並顯示它。

示例

以下是如何以JPEG格式儲存灰度影像的示例。在這裡,我們使用NumPy生成一個隨機灰度影像,尺寸為256×256,畫素值範圍為0到39(含):

import mahotas as mh
import numpy as np
# Creating a random grayscale image
image = np.random.randint(40, 100, size=(256, 256), dtype=np.uint8)
# Saving the image
file_path = 'natures.jpeg'
mh.imsave(file_path, image)
print("Grayscale image is saved.")
輸出

執行上述程式碼後,您將在當前工作目錄中找到生成的JPEG檔案'natures.jpeg'。

Grayscale image is saved.

讓我們看看兩張影像之間的區別。

輸入影像

以下是原始影像(儲存前):

Saving an Image

輸出影像

執行上述程式碼後,儲存的影像如下:

Saving an Image1
廣告