【发布时间】:2016-05-23 11:00:49
【问题描述】:
我正在使用 matlab,并且我有两个坐标为十进制值的向量 (size(x)=size(y)=[1 98])
x=[-4.5 -4.5 ... 4.5];
y=[-4.5 -3.5 ... 4.5];
plot(x,y,'+')
我有一个带有每个点的十进制值的向量 (x;y) (size(v)=[98 1])
v=[1.4350 ...].
有什么方法可以将我的数据绘制为灰度图像?
【问题讨论】:
-
首先,您必须使用
reshape()将向量v重塑为矩阵形式,然后使用mat2grey()将此类矩阵转换为灰度图像。尽管似乎缺少 2 个点(图的顶部),但这永远不会允许您创建这样的矩阵,因为图片是像素矩阵,并且该矩阵可以是矩形或正方形。 -
缺失的点需要用零填充,仅此而已;即使用
zeros(100)启动您的向量 -
这个过程非常简单:1)用0填充两个缺失点; 2)以矩阵形式
V=reshape(v,10,10)重塑v; 3) 灰度转换VGS=mat2gray(V); 4) 显示图片figure; imshow(VGS); -
所以
flipud( reshape(v, 10, 10) )会在您将缺失的两个点添加为向量v中的零时生成图像矩阵。