【发布时间】:2015-11-25 22:33:33
【问题描述】:
我正在处理一种预测块匹配运动估计算法。这意味着,运动矢量的值是使用先前找到的值找到的,我被一件非常琐碎的事情困住了。
我正在处理分成块的图像,所以我应该为每个块有一个运动矢量。我创建了一个2xN 矩阵motion_vectors,其中N 是所有块的数量(blocks_in_the_first_row*blocks_in_the_first_column)。第一行是x 坐标,第二行是运动矢量的y 坐标。
我有 2 个预测器来帮助估计当前块的运动向量。
如果我当前的块位于(i,j) 位置,那么预测变量的位置是(i, j-1)(“顶部”块)和(i-1, j)(左侧块)。
我的问题是,由于尺寸不同(一个是2xN 矩阵,另一个是@ 987654332@)。我也不想改变motion_vectors 的尺寸,因为那时我需要一个两“层”数组。一个用于x 坐标,一个用于y,但这不适合进一步的设计。
我希望我让自己可以理解,如果没有,请告诉我。
感谢您提供任何线索!
【问题讨论】:
-
预测中的每个块都被分配了相同的运动向量。因此,如果您发现一个 8 x 8 块的运动矢量为...比如说...
(2,2),则该块中的所有像素移动(2,2)。另外,你能告诉我们你尝试了什么吗?它将帮助我更快地获得解决方案,因为我可以将它集成到您现有的代码中,而不必从头开始编写一个并做出(可能)不正确的假设。
标签: matlab image-processing indexing motion-detection