Matlab 显示图片和SubPlot命令

Matlab 显示图片和SubPlot命令

最近写个图片搜索引擎,恶补Matlab中。。。。

  • matlab显示图片命令:

f1=imread('E:/iaprtc12/iaprtc12/images/02/2007.webp') %读取图像矩阵

imshow(f1) %显示该图像

  • 但是如果需要在一个界面内显示多幅图片 就需要SubPlot命令帮助了

形式:subplot(m,n,p)或者subplot(m n p)。

说明:subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置,n*m表示最后一个图。

形式:subplot(m,n,p)或者subplot(m n p)。

说明:P也可以是向量表示将P 中指定的小块合并成一个大块创建坐标系,P 中指定的小块可以不连续,甚至不相连。比如subplot(2,3,[2 5])表示将第2和5小块连成一个大块;subplot(2,3,[2 6])由于2和6不连续也不相连,此时表示将第2、3、5和6四块连成一个大块,相当于subplot(2,3,[2 3 5 6])


形式:subplot('Position',[left bottom width height])。

说明:在指定位置创建一个新坐标系,等效于axes('Position',[left bottom width height])


f1=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,1),1)) '.webp']);%读取图像矩阵

f2=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,2),1)) '.webp']);%读取图像矩阵

f3=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,3),1)) '.webp']);%读取图像矩阵

f4=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,4),1)) '.webp']);%读取图像矩阵

f5=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,5),1)) '.webp']);%读取图像矩阵

f6=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,6),1)) '.webp']);%读取图像矩阵

f7=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,7),1)) '.webp']);%读取图像矩阵

f8=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,8),1)) '.webp']);%读取图像矩阵

f9=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,9),1)) '.webp']);%读取图像矩阵

f10=imread([DIRS.SOURCEIMG num2str(idxfile(IX(1,10),1)) '.webp']);%读取图像矩阵

subplot(2,5,1)

imshow(f1);%显示该图像

subplot(2,5,2)

imshow(f2);%显示该图像

subplot(2,5,3)

imshow(f3);%显示该图像

subplot(2,5,4)

imshow(f4);%显示该图像

subplot(2,5,5)

imshow(f5);%显示该图像

subplot(2,5,6)

imshow(f6);%显示该图像

subplot(2,5,7)

imshow(f7);%显示该图像

subplot(2,5,8)

imshow(f8);%显示该图像

subplot(2,5,9)

imshow(f9);%显示该图像

subplot(2,5,10)

imshow(f10);%显示该图像

缺点是我不知道怎么比较好的控制图片的大小(请高手指教),好像每个子区域的大小是默认设置的,而且图片会默认的四周留空,不过反正只是为了更清楚的看到实验结果,这个没什么关系。


  • 绘制图表的话,就比较容易控制图片的大小和位置

例如:t=0:0.001:1;

y1=sin(10*t);

y2=sin(15*t);

subplot(211)

plot(t,y1)

subplot(212)

plot(t,y2)

或者通过axes函数来重新规定子窗口的大小和位置

axes('position',[.1 .1 .8 .6])

mesh(peaks(20));
axes('position',[.1 .7 .8 .2])
pcolor([1:10;1:10]);

推荐阅读