figure('position',[ 0 0 imageSize(2) imageSize(1) ]); set(gcf,'DoubleBuffer','on','MenuBar','none'); .F = getframe(gcf);imwrite(F.cdata,FileName,'bmp'); 中间大部分语句能够看懂,这两句看不懂,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 15:52:47
figure('position',[ 0 0 imageSize(2) imageSize(1) ]); set(gcf,'DoubleBuffer','on','MenuBar','none'); .F = getframe(gcf);imwrite(F.cdata,FileName,'bmp'); 中间大部分语句能够看懂,这两句看不懂,

figure('position',[ 0 0 imageSize(2) imageSize(1) ]); set(gcf,'DoubleBuffer','on','MenuBar','none'); .F = getframe(gcf);imwrite(F.cdata,FileName,'bmp'); 中间大部分语句能够看懂,这两句看不懂,
figure('position',[ 0 0 imageSize(2) imageSize(1) ]);
set(gcf,'DoubleBuffer','on','MenuBar','none');
.
F = getframe(gcf);
imwrite(F.cdata,FileName,'bmp');
中间大部分语句能够看懂,这两句看不懂,

figure('position',[ 0 0 imageSize(2) imageSize(1) ]); set(gcf,'DoubleBuffer','on','MenuBar','none'); .F = getframe(gcf);imwrite(F.cdata,FileName,'bmp'); 中间大部分语句能够看懂,这两句看不懂,
matlab help:
F = getframe(h,rect) specifies
a rectangular area from which to copy the pixmap.rect is
relative to the lower left corner of the figure or axes h,
in pixel units.rect is a four-element vector in the form [left
bottom width height],where width and height define
the dimensions of the rectangle.
本函数是要从图形对象中截取一块出来.其中h是图像句柄,rect是一个四元素向量,代表[a b c d],其中a表示截取区域到图像左端的像素数,b表示截取区域到图像底端的像素数,c表示截取区域水平像素数,d表示截取区域垂直向像素数.
得到的F是一个结构体(struct),包含两个元素:cdata和colormap,其中cdata是截取区域的数据,是一个三维数组,其中第三维的长度是3,即截取到的是区域中RGB的值.colormap是调色板,这个没啥意思.
第二句是将F结构体里的cdata矩阵(代表一个图像),写成一个bmp文件,存在当前工作目录.