如何用多个矩阵绘制/绘图

JL

嗨,我正在尝试绘制图像。

我有三个矩阵:

矩阵A:X坐标

矩阵B:Y坐标

矩阵C:图像灰度

例如:

A = [1, 1;     B = [1, 2;       C = [1, 2;
     2, 2]          1, 2]            3, 4]

我将在X(1),Y(1)处绘制一个值为C(1)的点。值1绘制为(1,1)值2绘制为(1,2,)值3绘制为(2,1)值4绘制为(2,2)

有没有可以用来绘制此图的函数,或者我必须实现它?任何建议如何实现这一点将不胜感激。谢谢你。

马修·韦斯利(Matthew Wesly)

它是完整图像吗?A,B和C是一维的,对吗?如果是这样,则可以使用矩阵C的值在相应索引处创建2D数组,将其转换为图像并显示图像。

img = zeros(max(max(B)),max(max(A)));   %initialize the new matrix
for i = 1:numel(C)                      %for each element in C
        img(B(i),A(i)) = C(i);          %fill the matrix one element at a time
end
img = mat2gray(img);                    %optional. More information in edit
imshow(img);                            %display the image

假设最小索引值为1。如果为0,则必须将1加到所有索引上。

我的matlab有点生锈,但是应该可以。

编辑:有什么理由为什么它们是二维数组开始的?无论如何,无论哪种情况,我都将我的答案更新为可工作的。

edit2:mat2gray将在0到1之间缩放您的值。如果您的值已经是灰度的,则没有必要。如果您的值在另一个范围内,但不一定包含最小值和最大值,则可以指定最小值和最大值。例如,如果您的范围是0到255,请使用mat2gray(img,[0,255]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章