我正在寻找一种 Opencv 方法或一种方法来计算两个连续图像的每块运动矢量。
2 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
您对另一个答案的评论
这包含密集(每像素)运动估计和每个特征估计。每块估计没有什么
让我(也许是错误地)认为您正在寻找一个函数,它的存在实际上没有意义:假设您预先定义了具有所需粒度的块,您将如何计算每个块的流量?有两种可能性:
计算整个图像上的稀疏 (
cv.calcOpticalFlowPyrLK()
) 或密集 (cv.calcOpticalFlowFarneback()
) 流,并对每个块的结果进行平均/下采样(之后进行一些平滑处理)。计算某种“块流”(这似乎是您的想法),您可以在其中定义使用某些统计信息(或特征)表达的更高级别的块或超像素,并计算它们的流。在那种情况下,您可能会违反大多数流方法所依赖的亮度恒定性假设,即使您不这样做,这也很可能类似于在非常低分辨率的图像上计算密集流,在这种情况下,同样,可以通过
cv.calcOpticalFlowFarneback()
.如果您在流估计管道中学习更高级别的块,那么使用它们是有意义的,但这里不是这种情况,因为它们是预定义的。
第二种方案在这里意义不大,第一种方案只是简单的后期处理,看用户需求。
添加回答
举报
0/150
提交
取消