
gif图像是很有趣的图像,可以将不同的静止变成活动的,通过MATLAB强大的处理能力,实际上是对矩阵的处理能力可以对GIF进行读,改,显示。
clc;close all;clear all
info = imfinfo('3gif');%第一次读取,用于获取属性值
W = infoWidth;
H = infoHeight;
W = W(1);
H = H(1);
len = length(info);
figure('NumberTitle', 'off', 'ToolBar', 'none', 'Menu', 'none');
pos = get(gcf, 'position');
set(gcf, 'position', [pos(1) pos(2) W H]);
set(gca, 'position', [0 0 1 1]);
hold on;
for i = 1 : len
str=sprintf('photo%djpg',i);
[Ii, map] = imread('3gif', 'frames', i);
imwrite(Ii,str,'jpg');
F(:, i) = im2frame(flipud(Ii), map);
end
movie(F, 20);
close;
用imread("")把读进来,再转换成grey模式(灰度模式),得到的就是一个灰度矩阵,要获取某个点的灰度值就和数字矩阵中获得某个点的数的方法是一样的;例如:
i=imread('tuxiangjpg');%i是彩色图像
i1=rgb2gray(i);%i1就是灰度图像
i1(x,y)%就是(x,y)点的灰度值
i1(x1:x2,y1:y2)%就是图像一部分的灰度矩阵
可以使用set函数,通过句柄来对图像进行修改。
1MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-'、'--'或'none'。
2属性的 *** 作
set函数的调用格式为:
set(句柄,属性名1,属性值1,属性名2,属性值2,…)
例子:
clear
x=0:02:12;
y1=bessel(1,x);
y2=bessel(2,x);
y3=bessel(3,x);
h=plot(x,y1,x,y2,x,y3);
set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2
set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-'}) %设置颜色和线宽
axis([0 12 -05 1]) %设置坐标轴范围
grid on
X=0:1:12;
Y=-05:025:1;
set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄
set(xlabel('Time'),'FontSize',12,'Color','r')
y=ylabel('Amplitude');
set(y,'FontSize',12,'Color','g')
legend(h,'First','Second','Third') %添加图例
title('Bessel Functions') %添加标题
[y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix
text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本
具体可改哪些属性值见贴
>
以上就是关于怎样用matlab读取并显示一个GIF图片全部的内容,包括:怎样用matlab读取并显示一个GIF图片、求救matlab高手:如何获取图片的灰度值、matlab *** 作 当前 图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)