我正在尝试从论文中再现结果,在该结果中,它们将图像与高斯核的水平偏导数进行卷积。我还没有找到任何使用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
使其水平。