码迷,mamicode.com
首页 > 其他好文 > 详细

图像平滑处理

时间:2020-02-26 11:32:49      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:mamicode   精确   info   blur   int   media   奇数   一个   des   

1,均值滤波:

  任意一个点的像素都是周围N*N个像素值的均值,将N*N的大小称为核的大小核大小一般用元组表示:(行,列)

#图像平滑:均值滤波
#函数blur
#dst=cv2.blur(src,核):核的格式=(行,列)
import cv2
a=cv2.imread("image\\lenaNoise.png")
r=cv2.blur(a,(5,5))
cv2.imshow("original",a)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

 

2方块滤波:

#图像平滑处理——方块滤波
#函数boxFilter
#dst=cv2.boxFiliter(src,目标图像深度,核大小,normalize属性)
#参数含义:目标图像深度:int类型的目标图像深度。通常设定为“-1”,表示与原始图像一致;
# normalize属性——是否对图像进行归一化处理;true(1):和均值滤波相同;
# false(0):一个点的像素值等于周围核大小区域内像素值的和,很容易发生溢出;
# 如果不指定,则默认为true
import cv2
o=cv2.imread("image\\lenaNoise.png")
f=cv2.boxFilter(o,-1,(2,2),normalize=0)
t=cv2.boxFilter(o,-1,(5,5),normalize=1)
cv2.imshow("original",o)
cv2.imshow("false",f)
cv2.imshow("true",t)
cv2.waitKey()
cv2.destroyAllWindows()

技术图片

3,高斯滤波

  让临近的像素有更高的重要度,对周围的像素计算加权平均,较近的像素具有较大的平均值;核包含的元素权重不在相同,离这个点越近则权重越大。

#图像平滑处理——高斯滤波;
# GaussianBlur函数
#dst=cv2.GaussianBlur(src,ksize,sigmax);
# ksize——核大小,(N,N)N必须是奇数
# sigmax——x方向的方差,控制权重;y方向与x保持一致,一般情况设成0
#高斯按权重平滑处理图像就比均值滤波更精确一点

import cv2
o=cv2.imread("image\\lenaNoise.png")
r=cv2.GaussianBlur(o,(3,3),0)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

技术图片

 

4.中值滤波

  让临近的像素按大小顺序排列,取排序像素集中位于中间位置的值作为滤波后的像素值

#图像平滑处理——中值滤波
#medianBlur函数
#dst=cv2.medianBlur(src,ksize);
# ksize必须是比1大的奇数,格式就是int,不是元组了
#中值滤波的滤波效果比之前的都要好一点,不是平均值也不是加权平均值,由于取值还是点周围临近的像素,所以他能将一些奇异的点给过滤掉。

import cv2
o=cv2.imread("image\\lenaNoise.png")
r=cv2.medianBlur(o,3)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()


图像平滑处理

标签:mamicode   精确   info   blur   int   media   奇数   一个   des   

原文地址:https://www.cnblogs.com/djrcomeon/p/12365849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!