Python读取并展示Raw格式图片的完整流程
本文介绍如何在Python环境中读取Raw格式图片并展示。首先利用OpenCV将普通图片保存为Raw文件,随后通过Numpy的fromfile函数读取二进制数据,指定数据类型和形状进行重塑,最后使用OpenCV的imshow函数显示图像。注意处理不同位深数据的兼容性问题。
部分读者可能手头没有现成的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格式图片的完整实例,分享给各位读者参考。希望本文内容能对大家有所帮助,同时也欢迎继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













