python读取raw数据文件_numpy – 使用python打开.raw图像数据-程序员宅基地

技术标签: python读取raw数据文件  

我一直在谷歌搜索使用

python库显示原始图像数据的方法,但找不到任何适当的解决方案.数据来自相机模块,并具有’.raw’扩展名.此外,当我尝试通过’more filename.raw’在终端中打开它时,控制台说这是一个二进制文件.供应商告诉我相机输出16位原始灰度数据.

但我想知道如何通过PIL,Pillow或Numpy显示这些数据.我测试了PIL的Image模块.但是,它无法识别图像数据文件.似乎PIL不将.raw文件视为图像数据格式.可以显示BMP文件,但是’.raw’不能.

当我尝试使用read函数和matplotlib时,如下所示

from matplotlib import pyplot as plt

f = open("filename.raw", "rb").read()

plt.imshow(f)

plt.show()

然后发生错误

ERROR: Image data can not convert to float

任何想法将不胜感激.

我用以下代码做了一些改进.但现在的问题是这段代码只显示整个图像的某些部分.

from matplotlib import pyplot as plt

import numpy as np

from StringIO import StringIO

from PIL import *

scene_infile = open('G0_E3.raw','rb')

scene_image_array = np.fromfile(scene_infile,dtype=np.uint8,count=1280*720)

scene_image = Image.frombuffer("I",[1280,720],

scene_image_array.astype('I'),

'raw','I',0,1)

plt.imshow(scene_image)

plt.show()

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39940755/article/details/110043000

智能推荐

Android应用层View绘制流程与源码分析-程序员宅基地

文章浏览阅读269次。【工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果】1 背景还记得前面《Android应用setContentView与LayoutInflater加载解析机制源码分析》这篇文章吗?我们有分析到Activity中界面加载显示的基本流程原理,记不记得最终分析结果就是下面的关系:看见没有,如上图中id为content的内容就是整个View树的结构,所

【CAD开发】gltf文件格式的转换工具汇总(js、python、c++)_gltf文件用什么软件-程序员宅基地

文章浏览阅读4.5k次。文章目录1、简介2、3dsMax/maya导出插件(Babylon.js)1、简介2、3dsMax/maya导出插件(Babylon.js)Exporters for Babylon.js and gltf file formatshttps://github.com/BabylonJS/Exporters/releases_gltf文件用什么软件

Pycharm常用的小技巧汇总,Python新手上路必备,快上车!_pycharm 一些使用技巧-程序员宅基地

文章浏览阅读4.3w次,点赞561次,收藏2.4k次。这不是去幼儿园的车!_pycharm 一些使用技巧

【Python】str.isdigit() 和 float.is_integer()的用法和区别,判断数据是否是数字_float' object has no attribute 'isdigit-程序员宅基地

文章浏览阅读3.3k次。str.isdigit() 和 float.is_integer()都可以判断数据是否是数字,但是二者是有一定区别的,具体见代码。# str.isdigit(),用来判断1个字符串str是否全部都是数字,如果是,返回Truea = 5; print(a.isdigit()) # AttributeError: 'int' object has no attribut..._float' object has no attribute 'isdigit

Java中double类型四舍五入的方法总结_double的四舍五入方法-程序员宅基地

文章浏览阅读1w次。代码:double a = 13.245; //方法一:BigDecimal bd= new BigDecimal(a);Double b = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();System.out.println("方法一: "+b);//方法二:Double myValue = new BigD..._double的四舍五入方法

linux 离线安装rabbitmq 3.7.13_linux rabbit 离线安装-程序员宅基地

文章浏览阅读479次。在线安装及详细说明请参考Linux安装rabbitmq详细教程离线安装包https://download.csdn.net/download/qq_36249132/123622801.创建文件夹放置离线安装包2.安装erlang,socat,rabbitmq依次执行以下命令rpm -ivh erlang-21.2.6-1.el7.x86_64.rpm --force --node..._linux rabbit 离线安装

随便推点

opencv 字符图象 开运算 闭运算_OpenCV图像处理-平滑处理、形态学操作-程序员宅基地

文章浏览阅读192次。图像平滑️ 模糊/平滑图片来消除图片噪声️ OpenCV函数:cv2.blur(), cv2.GaussianBlur(), cv2.medianBlur(), cv2.bilateralFilter() 2D 卷积️ OpenCV中用cv2.filter2D()实现卷积操作,比如我们的核是下面这样(3×3区域像素的和除以10): img = cv2.imread('lena.jpg')#..._字符进行开闭运算

简单DHCP下放IP_dhcp下放系统-程序员宅基地

文章浏览阅读129次。拓扑图配置R1接口地址[R1]interface g0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24[R1-GigabitEthernet0/0/0]quit [R1]interface g0/0/1[R1-GigabitEthernet0/0/1]ip address 172.16.1.1 24启用DHCP服务器[R1]dhcp enable //打开dhcp服务Info: The operation may tak_dhcp下放系统

react替换元素节点_从0实现React 系列(一):React的架构设计-程序员宅基地

文章浏览阅读89次。编者按:本文作者苏畅,奇舞团前端开发工程师。为什么要写这个系列?2020年初给自己定下目标,今年要读懂React源码,最好能成为React Contributor(没想到很快就实现了,虽然提交的commit很微小)。为什么要读React源码呢,因为如果单纯开发日常业务的话,前端的边界其实很窄。回想一下,你今年做的业务,换作是去年的你,前年的你,换作是应届生甲乙丙,他们能替换你的位置么?我..._react 两个元素替换效果实现

华为交换机查看端口相关信息常用命令,排查故障法宝,转发收藏_华为交换机查看端口状态命令-程序员宅基地

文章浏览阅读6.1w次,点赞55次,收藏803次。一、查看接口状态1、显示接口的运行状态和相关信息display interface Ethernet brief查看以太网端口的简要信息,物理端口是否连通,端口是否是全双工,带宽是多少,端口的流入流出的流量百分比。可以排查端口的基本信息,比如有的端口用户网速慢,可以查看该端口的接口速率,是否是全双工状态,是否是网卡速率,比如本来是1000M的网卡,但是速率显示的是10M,那么该条链路一定是有问题的。2、查看接口的描述信息display interface descript._华为交换机查看端口状态命令

sql server的元素类型int identity(1,1)是什么意思?-程序员宅基地

文章浏览阅读7k次,点赞5次,收藏10次。该列自动增长,由1开始每次增加是1。标识列, identity(a,b),ab均为正整数,a表示开始数,b表示增幅。扩展资料:结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ “S-Q-L”),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩..._int identity(1,1)

Android系统制作自定义签名_development/tools/make_key 指令的参数说明和示例-程序员宅基地

文章浏览阅读5.6k次。1、简介应客户要求为了是特殊定制的系统更具安全,系统ROM需要使用自己定义的签名,还有一些特殊的场景也会更改系统的签名比如在过cts认证测试的时候也会修改平台签名才能测试通过关于签名的问题。这是因为平台默认的是test签名.网上大多说签名的都是app签名而非平台签名。test签名这种类型的key只适用于开发阶段,而且这种秘钥是公开的,谁都可以使用。当发布一款android产品,就需要另外给整个..._development/tools/make_key 指令的参数说明和示例

推荐文章

热门文章

相关标签