我有一个单独的image.tiff文件,一个导出为32位tiff的视频序列。我想在MATLAB中将其作为图像堆栈打开,并能够逐帧导航。我相信implay()是在matlab中做到这一点的方法。如果我尝试这样做,我得到的结果是"Error occurred while attempting to read file: image.tiff Details of error: Incorrect chunk size information in AVI file." implay()只适用于.avi格式吗?在使用implay()之前,我需要将这32个tiff转换为.avi吗?或
我试图用Matlab在OSX上读取一个H264的AVI文件,但它似乎视频是损坏的。当我显示该帧时,图像似乎被垂直的灰色线条分割,并且我可以看到实际图像数据的分割和褪色版本在同一帧中重复3次。在我的windows box上,我可以使用相同的代码/avi成功地读取框架,没有任何问题。以下是我的规格:
Mac OSX 10.6.4
Matlab 7.8.0.347 (R2009a) Student Version
Quicktime 10.0 with Perian_1.2.1 codec plugin
AVI File:
H264
RGB24
640x480
60 Frames per seco
使用一个matlab worker,我可以轻松地用我的相机实现每秒最大帧数(fps) (使用matlab imaq工具箱)。下面这段简单的代码可以做到这一点:
matlabpool(1)
start(vid)
pause(1); % give matlab time to initialize the camera
for j=1:frames
data = getsnapshot(vid);
end
然而,一旦我尝试在飞行中进行一些图像处理,有效率下降了50%。既然我在matlabpool中还有5个worker (还有一个gpu),我能不能优化一下,让抓取的每一帧都由不同的work
我正在编写一些Matlab代码来分析尖峰和它们的刺激。在代码的第一部分中,我得到了一个尖峰的时间,然后找到刚才在屏幕上显示的帧。然后,我想从该帧中获取图像数据,并将其添加到我自己的电影数据中。myMovie和moviedata的x和y组件都是128x128,但是当我试图将来自刺激moviedata(:,:,j)的某个帧的图像值添加到电影“myMovie(:,:,k)”中的特定帧时,我会得到“错误:矩阵维度必须一致”。有办法解决这个问题吗?
代码:
for n=1:1100
t = blocks(5).spikes{1}(:,n);
for k=1:25
ind =
我有一个使用matlab的步态识别系统。我想从帧差image.By加权平均方法中找出累积的帧差能量像,得到能够反映时间特性的累积帧差能量像。下面的公式展示了如何计算累积的帧差图像:
(,) = 1/N Σ (,, ) where Σ from t=1 to N
这是我的帧差图像(5张图像)
我想找出像这样的累积帧差能量图像(AFDEI):
我试着把5张图片加起来,取平均值给我一个非常不同的图片。
那么如何找到AFDEI呢?
我有一个多图像tiff文件(例如3000帧),并希望将每个图像加载到matlab中(我现在使用2010a )。但我发现,随着帧索引的增加,读取图像需要更长的时间。下面是我现在使用的代码
for i=1:no_frame;
IM=imread('movie.tif',i);
IM=double(IM);
Movie{i}=IM;
end
有没有其他更快的方法呢?