matlab中如何将一维数组转换成图像

2024-11-01 01:24:52
推荐回答(4个)
回答1:

NewS = [S(1:L);S(L+1:L*2);S(L*2+1:L*3);.....S(L*H-L+1:L*H)];

这是个笨办法,重新组合成多维数组。

Matlab本来有个专用命令可以做这个工作,但不用MatlaB太久了,真是想不起来了。

回答2:

如果数组S是double类型,需要先转化为三通道,然后转换为uint8类型,最后imshow就可以了。
a=reshape[S,L,H,3];(如果你是转为RGB三通道图)
b=uint8(a);
imshow(b)

回答3:

reshape(S,L,H)%这个需要S的个数能被L*H整除,不然报错.
imshow(S); %显示该图片

回答4:

直接输入法
1
在Matlab的命令窗口中,直接输入数据,使用【分号;】或者【空格 】创建一维数组。例如输入:
data1=[pi;log(5);7+6;2^3]
得到:
data1=[pi;log(5);7+6;2^3]
输入:
data2=[pi log(5) 7+6 2^3]
得到:
data2 =
3.1416 1.6094 13.0000 8.0000

步长生成法
1
步长生成法的通用格式为【a:inc:b】其中a表示数组的第一个元素,inc表示数组之间的间隔,b表示数组对方最后一个元素。注:inc可以省略,默认的数值是1。
例如输入:
data3=2:2:10
得到:
data3 =
2 4 6 8 10
输入:
data4=2:10
得到:
data4 =
2 3 4 5 6 7 8 9 10