1. 程式人生 > >python下讀取並展示raw格式的圖片

python下讀取並展示raw格式的圖片

raw檔案可能有些人沒有,因此,先用一張圖片建立一個raw格式的檔案(其實可以是其他型別的格式檔案)

import numpy as np
import cv2
img = cv2.imread('cat.jpg')
# 這裡需要我們在當前目錄下放一張名為cat.jpg的檔案
img.tofile('cat.raw')
#利用numpy中array的函式tofile將資料寫入檔案
#這時我們發現當前目錄下新增了一個檔案,名為cat.raw

有了raw檔案,我們就可以讀取這個檔案,並顯示出來。

# 我們先確定原圖片的資料格式和大小,通道數,否者無法進行下一步轉換
type = img.dtype#得到資料格式,如uint8
uint16等 width, height, channels = img.shape# 得到影象大小和通道數 # 利用numpydefromfile函式讀取raw檔案,並指定資料格式 imgData = np.fromfile('cat.raw', dtype=type) # 利用numpy中array的reshape函式將讀取到的資料進行重新排列。 imgData = imgData.reshape(width, height, channels) # 展示影象 cv2.imshow('img',imgData) **# 注意到這個函式只能顯示uint8型別的資料,如果是uint16
的資料請先轉成uint8。否則圖片顯示會出現問題。** cv2.waitKey() cv2.destroyAllWindows()

如果已經擁有了raw檔案,就直接運用fromfile讀取資料(可能有些raw檔案有標頭檔案)