matlab如何读取raw数据

matlab如何读取raw数据,第1张

1.RAW结构是纯像素数据文件,里面只有每个像素的值,没有文件头、调色板等数据,所以要想正确显示一个RAW文件图像,必须人工指定它的长、宽和像素深度。

2.每个像素根据格式不同占有不同的字节,如8位256色每个像素占一个字节;24位真彩色每个像素占三个字节。

3.要自己写,注意:

(1)函数要有此RAW文件的长、宽和像素深度局信三个参数,从而得闷乎到BMP文蚂腊悉件头,存入strBMP[]的前面;

(2)函数里把读进来的RAW文件数据strRaw[]里的数据进行行反转放入strBMP[]中文件头之后,即把第length-1-i行(从第0行开始记,i从0开始)的数据放到第i行,而每行里的数据不变。这样做是因为BMP文件里的像素数据是从最后一行即length-1开始的。

(3)使用显示BMP文件的函数来显示此strBMP[]里的图像文件。

可以直接一整列导入。

可以直接一整列导入,和其他数据一样,用importdata,或者xlsread。只不过对于时间数据亮碰颤,matlab会做转换。对于日期,matlab会转换为一个整数,这个整数代表这一天是从公元0年1月1日开始计算的第几天。对于时间,matlab会得到一个0到1之间的整数,实际上是一个以天为单位的吵兄整数。

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信敬败、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

fid=fopen('xxx.raw', 'r')%文件名

img=fread(fid,'uint16')%按类型读取

fclose(fid)

imgSize = size(img)%此时大禅读出来的size为n*1大小

rows = 978%按实际情况初始化

cols = 978%按实际情况初始化

nums = imgSize(1)/rows/cols%计算图像帧数

img = reshape(img,[rows,cols,nums])

singleImg =(reshape(img(:,:,num),[rows,cols]))%从img数组中直接读取某一帧的数据余敬是rows*cols*1大小,将其reshape为滚毁尘rows*cols大小


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8198406.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存