【发布时间】:2016-09-02 21:37:56
【问题描述】:
我有以下问题: 如下图所示,我有一个 900x900px 的源图像和一个较小的 300x300px 模板图像。现在我需要计算源图像的任意子部分与模板图像的旋转图像之间的相关性。给出了旋转角度(phi)以及小节(x,y)的坐标,我只需要计算相关性。但是,我需要经常针对 x、y 和 phi 的不同组合重复整个操作。
我打算使用 opencv(3.1 版)来完成这项任务。因为在给定相同的源和模板图像的情况下,我需要对 x、y 和 phi 的不同组合重复操作,所以我正在寻找一个非常快速的解决方案。 目前我使用 warpAffine() 旋转给定角度的模板,然后我使用 matchTemplate() 函数来计算相关性。 然而 matchTemplate() 似乎计算了更多的卷积而不是简单的相关性,我认为我误用了它。 matchTemplate() 部分也是我程序的瓶颈。 您知道如何加快速度吗? 在这种情况下使用图形加速有用吗? 或者在我执行相关之前存储我的图像的 dft 转换版本是否有用? 或者你有完全不同的想法?
谢谢
【问题讨论】:
标签: c++ opencv correlation convolution template-matching