数字图像处理3
图像线性滤波——目的就是滤去噪声,但是边缘会模糊,整体也模糊
线性:邻域平均法(4邻域平均和8邻域平均)
用当前运算点所在邻域的平均值来代替该点的平均值
im_for_read="D:\AAAproject\PYproject\EXPERuse\zaosheng.jpg"
img=cv2.imread(im_for_read,-1)
blur_img = cv2.blur(img, (5, 5))
cv2.imshow("img",img)
cv2.imshow("blur_img",blur_img)
cv2.waitKey(0)
图像非线性滤波
中值滤波
周围的所有像素点排序之后取中值(对干扰噪声和点噪声有着良好的作用)但是会让图像的边界变得模糊,,会丢失尖角的地方
中值滤波可以用十字形,x型,方形,菱形,圆形(根据噪声方向处理)
median_img = cv2.medianBlur(img, 5)
cv2.imshow("median_img",median_img)
高斯模糊滤波
gaussian_blur_img = cv2.GaussianBlur(img, (5, 5), 0)
图像微分
空域微分法:sobel算子
梯度最大的地方就是轮廓(离散的函数图像求微分)Sobel算子实际上包含了一对3x3卷积核,分别用于计算水平方向(Gx)和垂直方向(Gy)上的近似偏导数。然后,这两个方向上的结果可以组合起来得到每个像素点的梯度幅值和方向。
也有拉普拉斯算子
拉普拉斯算子是一个二阶导数算子,它通过计算图像的二阶导数来寻找零交叉点以确定边缘位置。在实际应用中,通常使用拉普拉斯的离散化版本,用来锐化