matlab矩阵输出为图像?

我有6个元素是小数的矩阵,想将它们转为图像输出。我用imshow函数时,只能显示,而且后一张会覆盖前一张,最后仅显示一张图片。想用imwrite保存,报错说识别不了格式,... 我有6个元素是小数的矩阵,想将它们转为图像输出。我用imshow函数时,只能显示,而且后一张会覆盖前一张,最后仅显示一张图片。想用imwrite保存,报错说识别不了格式,有大佬知道怎么编写程序吗 展开
 我来答
累了僦蹲下
2020-04-23 · 超过21用户采纳过TA的回答
知道答主
回答量:31
采纳率:100%
帮助的人:5.9万
展开全部

先解决后面那个imwrite问题:
根据题主的问题感觉是因为“无法从文件名确定文件格式。”,应该是下面这种报错:

如果是这个问题的话,应该就是没有添加后缀名,就是imwrite的格式应该是:imwrite(A,'B.jpg'),其中A是要保存矩阵的名字,B是要保存到XX位置时图像的名字,jpg为保存图像的格式,jpg可以替换为png、tif、bmp等等

——————————————分割线————————————————————

然后解决第一个问题,用任何显示图像的函数,如果不体现申明图像显示位置,基本就是在前一个图像窗口中显示,就是题主所说的那样,解决方法就是用figure函数,具体操作如下:

figure(1);%先打开第一个图像窗口

imshow(........);%这里在第一个图像窗口显示图像

figure(2);%这里打开第二个图像窗口

imshow(...........);%在第二个图像窗口显示图像

以此类推要分开显示图像的话,要显示几个图像就开几个图像窗口,就把figure(i)中的i改成几;

然后在介绍一个把几个图像在一个图像窗口显示的函数subplot(i,j,m);其中i,j是在某个图像窗口中显示i*j个图像,m是在第m个显示图像的地方显示图像,在此也给一个实例:

x = linspace(0,10);
y1 = sin(x);

y2 = sin(5*x);

subplot(2,1,1);%在一个2*1的地方的第一个位置准备画图
plot(x,y1)
subplot(2,1,2); %在一个2*1的地方的第二个位置准备画图

plot(x,y2)

注意:subplot(i,j,m)中m是先从第一行从左到右数,然后在第二行等等,自己试试就能知道,不过m肯定要≤i*j。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式