如何显示连续帧中同一位置像素之间的差异?
How is possible to show difference between pixels in same position in successive frames?
我想显示连续帧(例如100帧)中相同位置像素之间的差异值,
是否可以使用标准偏差值来确定每个像素位置的连续帧中高于或低于该值的像素数?
还是有另一种方法来显示连续帧中相同位置的像素差异值?
如果您的图像数据对于每一帧都是相同的维度,那么您可以简单地沿着给定的维度连接所有数据。下面我将使用第 4 维,因为您的数据实际上可能是 RGB 数据。
% Assumes that your input data is a cell array of images
combined = cat(4, images{:});
此数据的维度现在为 [nRows、nColumns、nChannels、nTime]。
然后您可以指定在MATLAB中应用许多操作的维度。例如,如果你想找到随时间变化的差异,你可以使用 diff
函数(注意第四个维度的规范作为第三个参数):
differences = diff(combined, [], 4);
同样,您可以随时间计算像素的 standard deviation(再次指定您想要沿第 4 个维度的标准偏差)。
std_over_time = std(combined, 0, 4);
我想显示连续帧(例如100帧)中相同位置像素之间的差异值, 是否可以使用标准偏差值来确定每个像素位置的连续帧中高于或低于该值的像素数? 还是有另一种方法来显示连续帧中相同位置的像素差异值?
如果您的图像数据对于每一帧都是相同的维度,那么您可以简单地沿着给定的维度连接所有数据。下面我将使用第 4 维,因为您的数据实际上可能是 RGB 数据。
% Assumes that your input data is a cell array of images
combined = cat(4, images{:});
此数据的维度现在为 [nRows、nColumns、nChannels、nTime]。
然后您可以指定在MATLAB中应用许多操作的维度。例如,如果你想找到随时间变化的差异,你可以使用 diff
函数(注意第四个维度的规范作为第三个参数):
differences = diff(combined, [], 4);
同样,您可以随时间计算像素的 standard deviation(再次指定您想要沿第 4 个维度的标准偏差)。
std_over_time = std(combined, 0, 4);