我将尝试在MATLAB中进行一些与颜色视频相关的操作,但我遇到了两个问题:
有什么方法可以解决这两个问题吗?
- 将彩色视频转换为灰度视频时出现错误。我的意思是我需要将彩色视频转换为灰度视频并将其写回到.avi文件中。
- 如何在从彩色视频提取的灰度帧上执行某些操作(例如边缘检测),然后可以将边缘检测的结果以.avi视频格式写回?
vid = VideoReader('Big_buck_bunny_480p_Cut.avi');
numImgs = get(vid, 'NumberOfFrames');
frames = read(vid);
for i=1:numImgs
frames(:,:,:,i)=rgb2gray(frames(:,:,:,i));
end
有什么方法可以解决这两个问题吗?
frame1
。然后每个 for 循环使用[writeVideo](http://www.mathworks.com/help/matlab/ref/videowriter.writevideo.html)
来保存frame1
。第二个选项是创建一个灰度帧的数组,并使用writeVideo
写入。在后者中,您必须创建一个 3-D 数组而不是 4-D。例如,frames1(:,:,i)=rgb2gray(frames(:,:,:,i));
。 - Autonomous