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。

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式