OpenCV 的 imwrite() 函式

Manav Narula 2023年1月30日 2022年7月12日
  1. 使用 OpenCV 庫中的 imwrite() 函式
  2. まとめ
OpenCV 的 imwrite() 函式

影象在 Python 中被處理為 numpy.ndarrays,這些陣列是三維的,表示影象畫素的值。使用不同的庫和方法,我們可以在 Python 中高效地讀取和處理影象。

一個這樣的庫是 OpenCV 庫,它可以使用其功能和類輕鬆處理影象。本教程將演示如何使用 OpenCV 庫的 imwrite() 函式。

使用 OpenCV 庫中的 imwrite() 函式

imwrite() 函式將影象儲存到給定的路徑位置。如前所述,影象儲存為陣列,使用此函式,我們可以將這些影象匯出並儲存在裝置上。

它接受三個引數。第一個引數包含檔名和路徑。請注意,應在檔名中指定儲存影象的格式(PNG、JPEG 等)。

第二個引數包含需要儲存的所需影象。該影象應該是一個 numpy.ndarray 物件。如果影象檔案被正確儲存,imwrite() 函式返回 True;否則,它返回 False

示例程式碼:

import cv2

i = cv2.imread('deftstack.png')
img = cv2.cvtColor(i, cv2.COLOR_BGR2HSV)
cv2.imwrite('save.png',img)

輸出:

True

在上面的示例中,我們使用 imread() 函式讀取給定影象。然後,我們使用 cvtColor 函式對影象執行一項任務(我們將其從 RGB 顏色空間轉換為 HSV 顏色空間)。

最後,我們使用 imwrite() 函式將該影象儲存在指定目錄中。請注意,檔案中影象的格式是 PNG,我們可以使用任何支援的格式,例如 BMPJPEGWebP 等。

另外要記住的是,這個函式只儲存 8 位單通道或 BGR 排序的 3 通道影象,少數例外。這些例外包括 16 位無符號、32 位浮點數、多個影象的 Map 向量以及具有隻能以某些允許格式儲存的 alpha 通道的 PNG 影象。

每種不受支援的格式都會自動轉換為 8 位無符號影象。

まとめ

在本教程中,我們討論了 opencv 庫的 imwrite() 函式。我們演示了此函式如何接受引數以及如何使用它在 Python 中儲存影象。

我們還討論了此函式可以使用的影象格式以及它如何處理不受支援的格式。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn