在python下讀取并展示raw格式的圖片實(shí)例
raw文件可能有些人沒(méi)有,因此,先用一張圖片創(chuàng)建一個(gè)raw格式的文件(其實(shí)可以是其他類型的格式文件)
import numpy as np
import cv2
img = cv2.imread('cat.jpg')
# 這里需要我們?cè)诋?dāng)前目錄下放一張名為cat.jpg的文件
img.tofile('cat.raw')
#利用numpy中array的函數(shù)tofile將數(shù)據(jù)寫入文件
#這時(shí)我們發(fā)現(xiàn)當(dāng)前目錄下新增了一個(gè)文件,名為cat.raw
有了raw文件,我們就可以讀取這個(gè)文件,并顯示出來(lái)。
# 我們先確定原圖片的數(shù)據(jù)格式和大小,通道數(shù),否者無(wú)法進(jìn)行下一步轉(zhuǎn)換
type = img.dtype#得到數(shù)據(jù)格式,如uint8和uint16等
width, height, channels = img.shape# 得到圖像大小和通道數(shù)
# 利用numpydefromfile函數(shù)讀取raw文件,并指定數(shù)據(jù)格式
imgData = np.fromfile('cat.raw', dtype=type)
# 利用numpy中array的reshape函數(shù)將讀取到的數(shù)據(jù)進(jìn)行重新排列。
imgData = imgData.reshape(width, height, channels)
# 展示圖像
cv2.imshow('img',imgData)
**# 注意到這個(gè)函數(shù)只能顯示uint8類型的數(shù)據(jù),如果是uint16的數(shù)據(jù)請(qǐng)先轉(zhuǎn)成uint8。否則圖片顯示會(huì)出現(xiàn)問(wèn)題。**
cv2.waitKey()
cv2.destroyAllWindows()
如果已經(jīng)擁有了raw文件,就直接運(yùn)用fromfile讀取數(shù)據(jù)(可能有些raw文件有頭文件)
以上這篇在python下讀取并展示raw格式的圖片實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
跟老齊學(xué)Python之復(fù)習(xí)if語(yǔ)句
是否記得,在上一部分,有一講專門介紹if語(yǔ)句的:從if開始語(yǔ)句的征程。在學(xué)習(xí)if語(yǔ)句的時(shí)候,對(duì)python編程的基礎(chǔ)知識(shí)了解的還不是很多,或許沒(méi)有做什么太復(fù)雜的東西。本講要對(duì)它進(jìn)行一番復(fù)習(xí),通過(guò)復(fù)習(xí)提高一下。如果此前有的東西忘記了,建議首先回頭看看前面那講。2014-10-10
Django filter動(dòng)態(tài)過(guò)濾與排序?qū)崿F(xiàn)過(guò)程解析
這篇文章主要介紹了Django filter動(dòng)態(tài)過(guò)濾與排序?qū)崿F(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
PyTorch的Optimizer訓(xùn)練工具的實(shí)現(xiàn)
這篇文章主要介紹了PyTorch的Optimizer訓(xùn)練工具的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

