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文件有頭文件)
以上這篇在python下讀取并展示raw格式的圖片實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。