當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python OpenCV imencode()用法及代碼示例


Python OpenCV imencode() 函數將圖像格式轉換(編碼)為流數據並將其存儲在內存緩存中。它主要用於壓縮圖像數據格式,以便於網絡傳輸。

基本示例imencode()函數

示例 1:

我們首先導入必要的庫,即 OpenCVNumPy 。導入庫後,我們使用imread() 函數加載圖像,並使用圖像路徑作為參數。加載圖像後,我們開始使用 imencode() 方法對其進行編碼,傳遞要編碼的圖像的擴展名以及加載的圖像作為參數。

結果將根據格式而有所不同。如果您注意到,我們隻保存imencode()方法的第一個索引的數據,因為它產生兩個輸出:零索引處的操作是否成功,以及第一個索引處的編碼圖像。現在我們將編碼圖像轉換為 NumPy 數組,以便我們可以使用它。最後,我們將這個NumPy數組轉換為字節,以便可以輕鬆傳輸。

使用的圖像:

gfg.png

代碼:

Python3


# This code demonstrates encoding of image. 
import numpy as np 
import cv2 as cv 
  
# Passing path of image as parameter 
img = cv.imread('/content/gfg.png') 
  
# If the extension of our image was  
# '.jpg' then we have passed it as  
# argument instead of '.png'. 
img_encode = cv.imencode('.png', img)[1] 
  
# Converting the image into numpy array 
data_encode = np.array(img_encode) 
  
# Converting the array to bytes. 
byte_encode = data_encode.tobytes() 
  
print(byte_encode) 

輸出:(由於輸出較長,這裏隻顯示一部分)

b’\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01,\x00\x00\x00\xa0\x08\x02\x00\x00\x009\x1a\xc65\x00\ …………

示例2:

使用的圖像:

openCV.png

代碼:

Python3


import numpy as np 
import cv2 as cv 
  
img = cv.imread('/content/OpenCV.png') 
img_encode = cv.imencode('.jpg', img)[1] 
  
data_encode = np.array(img_encode) 
byte_encode = data_encode.tobytes() 
  
print(byte_encode) 

輸出:

b’\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x02\……..



相關用法


注:本文由純淨天空篩選整理自sp3768546大神的英文原創作品 Python OpenCV – imencode() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。