我有一个生成的内核过滤器,我想将其应用到我的图像上,但是这样做却无法获得正确的结果:实际上,我也可以使用其他方法,因为我不熟悉opencv,我需要帮助,谢谢。
channel [c]是读取的图像;
int size = 5; // Gaussian filter box side size
double gauss[5][5];
int sidestp = (size - 1) / 2;
//我有一个生成高斯内核滤波器的函数
float sum = 0;
for (int x = 1; x < channels[c].cols - 1; x++){
for (int y = 1; y < channels[c].rows - 1; y++){
for (int i = -size; i <= size; i++){
for (int j = -sidestp; j <= sidestp; j++){
sum = sum + gauss[i + sidestp][j + sidestp] * channels[c].at<uchar>(x - i, y - j);
}
}
result.at<uchar>(y, x) = sum;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句