关于matlab 按行保存图像

 matlab读取图像是按列读取的,而其他一些编程软件读取图像是按行,下面给出转化的说明。

一幅raw图大小为1920*1080【看起来就是宽为1920,高为1080】下面语句是按行读出来的一列raw图

    M=1080;N=1920;
    fid=fopen('raw0.raw','r');
    img=fread(fid,'uint16');

%按行读进来的,堆放数据为一列,数据内容为:第一行:1~1920,第二行:1~1920,放置1080次,每次放1920个。

比如一幅图像为8*2的图像【宽8,高2】ww=[1 2 3 4 5 6 7  8 ; 9 10 11 12 13 14 15 16]

按上面方式读取进来,应该为:ww=[1 2 3 4 5 6 7  8   9 10 11 12 13 14 15 16];

reshape(ww,[2,8]);

所以正常来讲,应该将其reshape(ww,[8,2]),然后使用转置,方可。

M=1080;N=1920;
    fid=fopen('rawData_0.raw','r');
%     disp('使用图像')
    img=fread(fid,'uint16');
    raw=reshape(img,[N,M]);%读入的图像是1920*1080
    raw=raw';
      dlmwrite('rawData_0.txt',raw);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值