如何在连续帧中显示相同位置的像素之间的差异?

时间:2016-02-24 11:22:37

标签: matlab image-processing video-processing

我想显示连续帧中相同位置的像素之间的差值(例如100帧), 是否可以使用标准偏差值来确定每个像素位置的连续帧中该值高于或低于该值的像素数? 还是有另一种方法来显示连续帧中相同位置的像素差值?

1 个答案:

答案 0 :(得分:0)

如果您的图像数据对于每个帧都是相同的维度,那么您可以简单地连接给定维度上的所有数据。下面我将使用第四维,因为您的数据可能实际上是RGB数据。

% Assumes that your input data is a cell array of images
combined = cat(4, images{:});

此数据的维度现在是[nRows,nColumns,nChannels,nTime]。

然后,您可以指定在MATLAB中应用许多操作的维度。例如,如果要查找随时间的差异,可以使用diff函数(注意第4维的规范作为第三个参数):

differences = diff(combined, [], 4);

同样,你可以计算一个像素的standard deviation随着时间的推移(再次指定你想要沿第四维度的标准差)。

std_over_time = std(combined, 0, 4);