【问题标题】:OpenCV convolution/filter2d with complex kernel具有复杂内核的 OpenCV 卷积/filter2d
【发布时间】:2014-05-07 10:05:40
【问题描述】:

OpenCV 中是否有以复矩阵为内核对图像进行卷积/过滤的函数?

【问题讨论】:

  • @William 这就是相关性。我想要卷积。
  • 你是对的。 filter2D() 是你需要的。但是不要忘记卷积和相关是一个翻转。

标签: opencv convolution


【解决方案1】:

这个函数filter2D()满足你的要求。在uchar 图像上应用浮点内核时,请注意int ddepth 参数。

【讨论】:

  • 如何在核矩阵中输入复数?我认为你需要一个双通道矩阵,而 filter2D 只需要一个单通道内核。
  • @BananaCode 很好,很抱歉错过了“复杂”。好吧,据我所知,OpenCV 图像过滤不能使用多个通道过滤器内核。如果您的内核很复杂,那么您的数据可能会存储为 2 通道向量/矩阵。也许,您需要使用split() 来独立处理每个通道。另外,为什么要在频域做卷积?
  • 是的,这就是我最终所做的。我将内核分成实部和虚部,并分别对图像进行过滤。我需要它,因为我正在将 MATLAB 脚本复制到 C++ 中,它使用带有复数的内核。
  • @rookiepig,你可以用复核卷积实矩阵来找到与“频域”无关的梯度向量
猜你喜欢
  • 1970-01-01
  • 2011-07-29
  • 2013-06-06
  • 2016-12-31
  • 2019-02-26
  • 2013-04-16
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多