raw文件可能有些人没有,因此,先用一张图片创建一个raw格式的文件(其实可以是其他类型的格式文件)
1
2
3
4
5
6
7
|
import numpy as np import cv2 img = cv2.imread( 'cat.jpg' ) # 这里需要我们在当前目录下放一张名为cat.jpg的文件 img.tofile( 'cat.raw' ) #利用numpy中array的函数tofile将数据写入文件 #这时我们发现当前目录下新增了一个文件,名为cat.raw |
有了raw文件,我们就可以读取这个文件,并显示出来。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 我们先确定原图片的数据格式和大小,通道数,否者无法进行下一步转换 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格式的图片实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_27261889/article/details/80785060