如何用matlab读取gif每一帧图像的像素值?

希望答案自己试过已经可以的。P.S:试过用imread来读取,不过结果是按列给出的,分不清一帧一帧的图像。还有,用matlab或C/c++可以将gif图像一帧帧的分开来吗... 希望答案自己试过已经可以的。P.S:试过用imread来读取,不过结果是按列给出的,分不清一帧一帧的图像。还有,用matlab或C/c++可以将gif图像一帧帧的分开来吗?请给出代码,谢谢!!!! 展开
 我来答
N_0_1
高粉答主

推荐于2016-06-05 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:831万
展开全部
想得到其中的图像的像素值可以这样干:
clc;close all;clear all
info = imfinfo('3.gif');%第一次读取,用于获取属性值
W = info.Width;
H = info.Height;
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%d.jpg',i);
[Ii, map] = imread('3.gif', 'frames', i);
imwrite(Ii,str,'jpg');
F(:, i) = im2frame(flipud(Ii), map);
end
movie(F, 20);
close;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a4ee99443
推荐于2016-04-16 · TA获得超过494个赞
知道小有建树答主
回答量:388
采纳率:25%
帮助的人:161万
展开全部
easy maybe.

a1=imread('D:\我的文档\MATLAB\e070.gif', 'gif','frame',1) ;
a2=imread('D:\我的文档\MATLAB\e070.gif', 'gif','frame',2) ;
a3=imread('D:\我的文档\MATLAB\e070.gif', 'gif','frame',3) ;
可以每次读一帧的,完全可以实现。
更多追问追答
追问

好像可以,那用matlab能看出该gif图像一共有多少帧吗?还有,是不是对灰度图像和彩色图像没有区别?图中我是用的一个彩色图像

追答

a=imread('D:\我的文档\MATLAB\e070.gif', 'gif','frame',all) ;

b=size(a);

【例如:】

【验证正确行】用Flash验证。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式