Java+opencv3.2.0之均值滤波

均值滤波主要是利用某像素点周边的像素的平均值来达到平滑噪声的目的。它是一种典型的线性滤波算法。均值滤波本身存在着缺陷,它不能很好的保护图像的细节,在去噪的同时会破坏图像的细节部分,不能很好的去除噪点。
均值滤波常用的内核如图:
这里写图片描述
Opencv3.2.0中实现均值滤波的方法:Imgproc.blur(Mat src, Mat dst, Size ksize, Point anchor, int borderType)
参数说明:
src:输入源图像
dst:输出目标图像
ksize:内核的大小
anchor:锚点,有默认值new Point(-1,-1),代表核的中心
borderType:推断图像外部像素的边界模式,有默认值Core.BORDER_DEFAULT
borderType的取值还有:
BORDER_REPLICATE:复制法,既是复制最边缘像素,例如aaa|abc|ccc
BORDER_REFLECT:对称法,例如cba|abc|cba
BORDER_REFLECT_101:对称法,最边缘像素不会被复制,例如cb|abc|ba
BORDER_CONSTANT:常量法,默认为0
BORDER_WRAP:镜像对称复制

例子:

public static void main(String[] args) {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    Mat srcImage = Imgcodecs.imread("F:\\t010bf2fad41ee7797e.jpg");

    Mat dstImage = srcImage.clone();

    Imgproc.blur(srcImage, dstImage, new Size(9,9), new Point(-1, -1), Core.BORDER_DEFAULT);

    Imgcodecs.imwrite("F:\\blur.jpg", dstImage);
}

源图像:
这里写图片描述

目标图像:
这里写图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值