【发布时间】:2013-06-15 04:01:55
【问题描述】:
我想编写一个程序,它将视频作为输入,创建一个输出视频文件,然后(在一定数量的帧之后开始)开始逐帧将修改后的帧写入输出文件。 修改将需要处理单个像素列,一次一个。
将此视为要在 Matlab 中解决的问题,将每一帧视为一个矩阵...我想不出一种方法来使这个在计算上易于处理。 我希望有人可以就我如何开始解决这个问题提供建议。
以下是一些细节,以防有帮助:
我有兴趣通过以下方式转换视频:
将视频视为 (MxN) 矩阵的序列,其中每个矩阵称为 frame:
- 获取输入视频并为输出视频创建新文件
- 对于输出视频的第 (i) 帧中的每一列 V,将此列替换为
输入视频的
frame(i + V - N)中的 V 列。
例如:frame(i) 的最右边的新列(第 N 列)将包含 frame(i + N - N) = frame(i)... 的第 N 列,因此没有替换。新的第 2 列到最右边的第 (i) 列(第 N-1 列)将包含 [frame(i+N-1-N) = frame(i-1)] 的第 N-1 列。
为了完成这项工作(即为了不耗尽之前的帧),此列替换将从视频的第 N 帧开始。
【问题讨论】:
-
这是作业还是您之前问过(但后来删除)这个问题?
-
Schorsch,我大约一周前发布了这个问题,但我实际上在问什么非常不清楚。由于这个原因,最后一个问题被关闭了......似乎我在问“什么语言最适合这个问题?”我的预期问题是:“我可以使用 Matlab 来解决这个问题吗……总的来说,我怎么可能开始解决这个问题?”这不是一项任务,而是我想应用于视频的转换。我一直在 Adobe Premiere 中手动编辑视频以近似这种效果......但这将为我节省大量时间
-
如果对我的要求仍有任何疑问:我不是要求一种算法来完成我在帖子后半部分中描述的特定任务。相反,我要问的是如何才能开始以这种“细粒度”级别处理视频,而不会耗尽内存或不必等待几年才能看到程序完成。
-
谢谢,感谢您提供额外且有用的背景信息。
标签: matlab video video-processing