阎霄汉将Matlab 的多幅图⽚制成GIF
⽤利⽤多幅图⽚⽣成GIF
友情提⽰,如果不想了解那么多只是⽤⽤可以直接看后⾯第三部分代码⽣成部分!
1. xx2ind 函数
xx可以是rgb、gery等。也就是说,设原图像存在A中:若A是rgb格式(彩⾊)的,调⽤形式为rgb2ind(A);若A是灰度图(grey),调⽤形式为grey2ind(A)。 接下来以rgb2ind函数为例,grey2ind操作基本⼀致。rgb2ind 函数的主要作⽤是将真彩⾊图像转换成索引图像:二氧化氯>江苏公路信息网
– 索引图像的定义是:索引图像是⼀种把像素值直接作为RGB调⾊板下标的图像。索引图像可把像素值“直接映射”为调⾊板数值。– 对索引图像的理解:MATLAB⾃带的woman信号构成的图像的像素索引矩阵和调⾊板矩阵。woman图像是⼀幅典型的索引图像。其图像矩阵⼤⼩为256×256,表⽰有65535个像素点构成。调⾊板⼤⼩为256×3,表⽰有256种颜⾊。我们看到图像索引矩阵的(1,1)单元的内容为124,也就是说这⼀点像素的颜⾊就是调⾊板矩阵的第125⾏所定义的颜⾊。可以看到调⾊板矩阵的第125⾏为[0.60536,0.60536,0.60536],表⽰RGB三个分量的⽐重都⽐较重且在图像中的地位相同。 在 实际操作中应该注意到,调⾊板通常与索引图像存储在⼀起;装载图像时,调⾊板将和图像数据⼀同⾃动装载。王子灿
调⽤格式: [X,map] = rgb2ind(A, n)。输⼊值:A为图像数据,n指定map中颜⾊项数,n最⼤不能超过65526。返回值:X为索引图像,map为索引图像的调⾊板。 2. imwrite 函数
imwrite 函数功能:将图像数据写⼊到图像⽂件中。直接上调⽤格式们!
(1) imwrite(A,filename,fmt) – A是图像数据, filename是⽬标图像名字, fmt是要⽣成的图⽚的格式。图像格式有:bmp(1-bit、8-bit和24-bit)、gif(8-bit)、hdf、jpg(或jpeg)(8-bit、12-bit和16-bit)、jp2或jpx、pbm、pcx(8-bit)、pgm、png、pnm、ppm、ras、tif(或tiff)、xwd。各种格式⽀持的图像位数不⼀样, ⽐如bmp格式不⽀持16-bit,⽽png格式⽀持, ⼜如gif只⽀持8-bit格式。
(2) imwrite(X,map,filename,fmt) – 如果要存储⼀张索引图像, 需要指定颜⾊表,这样在硬盘上⽣成图像⽂件时指定的颜⾊表和图像数据将⼀起写⼊图像⽂件。
(3) imwrite(f,‘filename.jpg’,‘quality’,q) – ⼀种常⽤但只适⽤于JPEG图像的imwrite函数语法, 其中,q是⼀个在0-100之间的整数,为图像质量因数。
3. ⽣成GIF
其中,ImageSet是你想做成gif的所有图⽚的顺序集合。 for i = 1:size(ImageSet, 2) B = ImageSet(i); [Im2,map2]= gray2ind(B,256); %写gif if(i==1) imwrite(Im2,map2,'movefig2.gif','DelayTime',0.1,'LoopCount',Inf)%第⼀帧 else imwrite(Im2,map2,'movefig2.gif','WriteMode','append','DelayTime',0.1) %其余帧 end end
苔丝论文
1
2
3
冰岛ion冒险酒店4
5
6
7
8
9
10