请教大侠,这段代码生成的图片怎么储存啊???
%单缝衍射clc
clear all
a=-2*pi:0.0001*pi:2*pi;
P=(1-sinc(a)).^2; %当要求P 的曲线分布图时P=sinc(a).^2
plot(a,P)
lgray=zeros(256,3);
for i=0:255
lgray(i+1,:)=(255-i)/255;
end
imagesc(P) %放大图像数据以覆盖当前色图的整个范围,并显示图片
colormap(lgray)
我要存储为1024*1280像素格式为BMP的图片,请教大侠,我是初学者,谢了先^_^ google “imwrite” 回复【1楼】shark
-----------------------------------------------------------------------
imwrite是对一个矩阵处理,我就是不知道这个程序生成的图片的矩阵是啥???
谢啦~~~~~~~~ 没装matlab,没试,大致是这样
imwrite(lgray,"temp.bmp); 回复【3楼】shark
-----------------------------------------------------------------------
lgray=zeros(256,3);
laray是个256*3的矩阵,画出来只是图片的一小部分~~~ 自己顶~~~又出现尴尬的局面了~~~不能这样沉下去了 matlab保存图片的四种方法
1 从菜单保存 <<回目录可以保存为fig,eps,jpeg,gif,png,bmp等格式。
2 复制粘贴 <<回目录edit------〉copy figure,再粘贴到其他程序,如word
3 saveas函数 <<回目录saveas(gca,filename,fileformat)不过此函数不好用常常出错
4 print函数 <<回目录
(1)图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.
(2)单引号字符串,指定存储格式。
用gcf可以获取当前窗口句柄。
png: '-dpng'
jpeg:'-djpeg',
tiff: '-dtiff'
bmp:'-dbitmap'
(3)文件名。
详细用法请 help print
例:
>> x=-pi:2*pi/300:pi;>> y=sin(x);>> plot(x,y);>> print(gcf,'-dpng','abc.png') % 保存为png格式的图片。
>> figure(2) % 新建一个句柄为2的图形窗口。>> plot(x,cos(x)); % 在句柄为2的图形窗口上画图。>> grid>> print(2,'-djpeg','C:\abc.jpeg'); %将句柄为2的图形保存为jpeg/jpg格式的图片,文件名为'C:\abc.jpeg'。 在matlab中自动保存plot图像的程序
%Step 1. 先使所画的图最大化,即占满整个屏幕
scrsz = get(0,'ScreenSize');
figure1=figure('Position',);
或者(下面这种情况会把windows系统下面的任务栏也保存到图片中,不太好)
scrsz = get(0,'ScreenSize');
figure1=figure('Position',);
% Step 2. 生成数据并画图x=rand(100,1);
plot(x);
saveas(gcf,'filename','bmp');
saveas(gcf,'filename','emf');
saveas(gcf,'filename','jpg');
% Step 3. 清理现场
clear all;
clc;
close all;
下面的代码可以创建一个大小为整个屏幕的四分之一,位置在屏幕在左上角的一个figure对像,使用root对象的ScreenSize属性来取得屏幕的尺寸,ScreenSize是由四个元素组成的数据:)。
scrsz = get(0,'ScreenSize');
figure2=figure('Position',) 用imwrite怎样改输出图像的分辨率?
在Matlab里如何用imwrite将默认的分辨率(72)改为自己定义的输出图像(tif格式)的分辨率?
A.我觉得直接用RESHAPE就可以改变图象的分辨率呀
B.好像imwrite是通过Quality属性控制图像质量的,如:
>> imwrite(A.cdata,'gcagraph1.jpg','jpeg','Quality',10)
>> imwrite(A.cdata,'gcagraph2.jpg','jpeg','Quality',60)
>> imwrite(A.cdata,'gcagraph3.jpg','jpeg','Quality',100)
可以看到3张图片效果是不一样的,所占空间也不一样
而print是通过-r参数来控制分辨率 查了很多资料,不过我自己还是不会改~~~
页:
[1]