Hos*_*hin 5 algorithm opencv image-processing computer-vision
我需要在360度进行模板匹配.
大多数模板是80*120,图像是640*480灰度(8位).
对于非旋转我使用的是opencv cvmatchtemplate,它工作得非常好.
我尝试在各种角度旋转模板并进行cvmatchtemplate,它正在工作但耗费了太多时间.
对于正常模板匹配,它需要12毫秒,而对于360度,需要小于50毫秒.
如果将模板和图像转换为极坐标,则可以像平移一样进行搜索。这应该快得多,因为它只是一个转换-您可以高效地实现此转换。
我认为,期望在360度下获得良好的结果具有挑战性。在该转换过程中,模板必须已更改。如果只有几度,则变化的可能性较小。
看看“基于FFT的平移,旋转和比例不变图像配准的技术”,Reddy和Chatterji,IEEE Transactions on Image Processing,1996。
在 Google Scholar 中搜索“合成判别函数”或“复合相关滤波器”。这是一个很好的起点:http://www.opticsinfobase.org/abstract.cfm ?URI=ao-31-23-4773 。如果你能找到《 Correlation Pattern Recognition 》一书,第 6.2 节也解释了复合滤波器。
主要思想是,您采用通过旋转图像生成的模板并生成单个合成模板。您可以通过制定以下形式的线性方程组来实现此目的
Ax = c
Run Code Online (Sandbox Code Playgroud)
A从您可用的模板生成的系数矩阵在哪里。x是您要确定的合成模板,c是约束向量。可以将约束设置为包括一些模板并拒绝其他模板。
问题是,当您将太多模板合并到一个模板中时,您就会开始失去匹配性能。当然,有一些方法可以克服这个问题,具体取决于您对计划使用合成模板的图像有哪些可用的附加信息。
| 归档时间: |
|
| 查看次数: |
2623 次 |
| 最近记录: |