我正在尝试重现一篇论文的结果,其中他们将图像与高斯核的水平偏导数进行卷积。我还没有找到用 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
使其水平。
关于opencv - 如何使用 OpenCV 将偏导数高斯核应用于图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35012080/