我正在尝试从论文中再现结果,在该结果中,它们将图像与高斯核的水平偏导数进行卷积。我还没有找到任何使用OpenCV实现该目标的方法。那可能吗 ?

我是否需要获取高斯滤波器,然后手动计算偏导数?

最佳答案

OpenCV没有内置函数来计算高斯偏导数。但是您可以使用 cv::getGaussianKernel cv::filter2D 这样做。

例如:

  cv::Mat kernel = cv::getGaussianKernel(3, 0.85, CV_32F);
  kernel = kernel.reshape(1, 1);
  cv::filter2D(img, img, CV_8U, kernel);

请注意,cv::getGaussianKernel返回列过滤器,因此需要reshape使其水平。

09-11 19:27