【学习笔记】OpenCv+C++(四)
图像的模糊 模糊原理 Smooth/Blur是图像处理中最简单和常用的操作之一 使用该操作的原因之一就为了给图像预处理时候减低噪声 使用Smooth/Blur操作器背后是数学的卷积计算 g(i,j) = 求和(f(i+k,j+I)h(k,I)) 通常这些卷积算子计算都是线性操作,所以有叫线性滤波 假设有6x6的图像像素点矩阵 卷积过程:6x6上面是个3x3的窗口,从左向右,从上向下移动 黄色的每个像个像素点之和取平均值赋给中心红色像素作为它卷积处理之后新的像素值。每次移动一个像素格。 边缘处理最简单的方法: 向外扩张。插值 归一化盒子滤波(均值滤波) 权重不同 高斯滤波 相对于均值滤波,会保留像素原有的特质 相关API 均值模糊 blur(Mat src,Mat dst,Size(xradius,yradius),Point(-1,-1)); //注意:point表示中心像素在哪里,(-1,-1)默认正中心 dst(x,y) = 求和(Kernel(x1,y1)*src(x+x1-anchor.x,y+y1-anchor.y)) 高斯模糊 GaussianBlur(Mat src,Mat dst,Size(11,11),sigmax,sigmay); 其中Size(x,y),x,y必须是正数而且是奇数 #include<opencv2/opencv.hpp> #include