我对Matlab比较陌生,想要在视频中绘制像素值的变化。基本上,我会在视频中随机分配一个像素进行跟踪,脚本会在整个视频过程中绘制该像素的值。
任何帮助都会很棒!
答案 0 :(得分:3)
让我们打开一个MATLAB示例文件:
v = VideoReader('xylophone.mp4')
并跟踪电影中间附近的像素:
row = 120;
col = 160;
我们迭代所有帧。对于每个帧,我们在帧中提取坐标为(r,g,b)
的像素的(row,col)
颜色值,将其转换为亮度,并在向量L
中收集它:
L = [];
while hasFrame(v)
video = readFrame(v);
r = video(row, col, 1);
g = video(row, col, 2);
b = video(row, col, 3);
lum = 0.2126 * r + 0.7152 * g + 0.0722 * b;
L = [L lum];
end
最后我们绘制亮度随时间的变化:
plot(L)
ylim([0,255])
看起来像这样: