首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绘制/绘制多个矩阵

如何绘制/绘制多个矩阵
EN

Stack Overflow用户
提问于 2013-07-21 13:55:50
回答 1查看 150关注 0票数 0

嗨,我正在试着画一幅画。

我有三个矩阵:

矩阵A: X坐标

矩阵B: Y坐标

矩阵C:图像灰度

例如:

代码语言:javascript
复制
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)

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-21 14:29:00

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

代码语言:javascript
复制
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]);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17769530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档