raw文件可能有些人沒有,因此,先用一張圖片創建一個raw格式的文件(其實可以是其他類型的格式文件)
import numpy as npimport cv2img = 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文件有頭文件)
以上這篇在python下讀取并展示raw格式的圖片實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答