[英]Understanding OpenCV image smoothing
在该代码中,所有平滑方法都在循环内运行MAX_KERNEL_LENGTH
次。 这是什么内核?
为了计算平滑,例如,计算最接近像素的平均值。 该内核指定的像素数和像素数。 内核还包含有关像素权重的信息。
内核通常表示为矩阵(在这种情况下也是这样),该矩阵以每个像素为中心,计算平均值。 在伪c ++代码中,计算看起来像这样。
for(int i=0;i<src.rows;i++){
for (int j=0;j<src.cols;j++){
dst[i][j]=0;
for(int kernel_i=0;i<kernel.rows;i++){
for (int kernel_j=0;j<kernel.cols;j++){
dst[i][j]+=
src[i-kernel.rows+kernel_i][j-kernel.cols+kernel_j]*
kernel[kernel_i][kernel_j];
}
}
}
}
提到为MAX_KERNEL_LENGTH
的变量只是创建一个这样的内核的矩阵的最大大小。
MAX_KERNEL_LENGTH
在代码中定义为常数(31)。 它用于将内核大小从1x1更改为31x31,以显示本教程中使用的不同模糊算法中不同内核大小的影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.