python中bmp转raw格式图片并展示

python中bmp转raw格式图片并展示

import numpy as np
import cv2
img = cv2.imread('data/04/04(1).bmp')
# 这里需要我们在当前目录下放一张名为cat.jpg的文件
img.tofile('04(1).raw')
#利用numpy中array的函数tofile将数据写入文件
#这时我们发现当前目录下新增了一个文件,名为cat.raw
# 我们先确定原图片的数据格式和大小,通道数,否者无法进行下一步转换
type = img.dtype#得到数据格式,如uint8和uint16等
height,width, channels = img.shape# 得到图像大小和通道数
# 利用numpydefromfile函数读取raw文件,并指定数据格式
imgData = np.fromfile('04(1).raw', dtype=type)
# 利用numpy中array的reshape函数将读取到的数据进行重新排列。
imgData = imgData.reshape(height,width,channels)
# 展示图像
cv2.imshow('img',imgData)
set_trace()
# 注意到这个函数只能显示uint8类型的数据,如果是uint16的数据请先转成uint8。否则图片显示会出现问题。**
cv2.waitKey()
cv2.destroyAllWindows()

你可能感兴趣的:(python中bmp转raw格式图片并展示)