在python下读取并展示raw格式的图片实例

yipeiwu_com5年前Python基础

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格式的图片实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现简单点对点(p2p)聊天

python实现简单点对点(p2p)聊天

点对点聊天首先是基于多线程的网络编程,其次就是将每一个连接都保存为一个具有独一属性的对象并添加到连接列表中,对于每一个连接对象发送过来的信息必须要包含主要的三项内容(from,to,me...

Python getopt模块处理命令行选项实例

getopt模块用于抽出命令行选项和参数,也就是sys.argv命令行选项使得程序的参数更加灵活。支持短选项模式和长选项模式例如  python scriptname.py -...

Python数据分析matplotlib设置多个子图的间距方法

注意,要看懂这里,必须具备简单的Python数据分析知识,必须知道matplotlib的简单使用! 例1: plt.subplot(221) # 第一行的左图 plt.subplo...

详解Python Qt的窗体开发的基本操作

详解Python Qt的窗体开发的基本操作

本文章采用的是Qt4,是python(x,y) 套件中集成的,为啥不集成Qt5呢,懒得装啊:) 正文: 首先看成品: 这个程序的功能是输入原价和降价的百分比,计算出最后的价格。 设计器...

在Python中操作字符串之rstrip()方法的使用

 rstrip()方法返回所有字符都被去除的字符串(缺省为空格字符)结束字符串的副本。 语法 以下是rstrip()方法的语法: str.rstrip([chars])...