matlab矩阵输出为图像?
先解决后面那个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。