zoukankan      html  css  js  c++  java
  • opencv-学习笔记(4)-模糊

                                opencv-学习笔记(4)-模糊


    本章要点:

    4种模糊方式


     

    2d卷积

    Cv2.filter2D(‘图像对象’,‘目标图像这里直接设为-1即可’,kernal,anchor(-1,-1))

    一般后一个参数略去就行

    Kernal的定义用nump.ones((5,5),np.float)/25  这里可以自己调节

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    
    img=cv2.imread('new.jpg')
    
    kernal=np.ones((8,8),np.float32)/64
    
    dst=cv2.filter2D(img,-1,kernal)
    
    
    plt.subplot(121),plt.imshow(img),plt.title('ORignial')
    plt.xticks([]),plt.yticks([])
    plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
    plt.xticks([]),plt.yticks([])
    plt.show()

     


     

    opencv提供了四种模糊方式

    第一种

    首先是最基础的归一化卷积

    效果和filter2D一样

    Newimg=Cv2.blur(‘图像对象’,(5,5))建议用这个代替上面的filter2D

    第二种中心化

    把卷积核变成高斯核

    我们可以用cv2.getGaussianKernel()构建一个高斯核

    也可以直接

    #后面分别是高斯核大学和标准差

    Blur=cv2.GaussianBlur(img,(5,5),0)

    第三种是中值模糊

    中值模糊用来除去椒盐噪声。

    用中心像素周围或者本身来取代。能有效去除噪声,要求卷积核为奇数

    cv.medianBlur(img,5)

     

     

    第四种是双边滤波

    Cv2.bilateralFilter()能保持边界清晰的情况去除噪声,不过速度比较慢,

    双边滤波用了空间高斯权重和灰度值相似性高斯权重,空间高斯确保只有领近的像素对中心点有影响,灰度值相似性高斯确保只有中心与邻近相似时候才会做模糊运算

    Cv2.bilateralFilter(图像对象,为领域直接,空间高斯函数标准差,灰度值相似性高斯函数标准差)

  • 相关阅读:
    linux下文本处理
    JSON对象的序列化和反序列化
    大整数相加的js实现
    前端日志格式化
    对象deepcopy
    基于vue实现的小程序管理后台图文编辑器
    原型和原型链
    函数声明、函数表达式及函数立即执行
    网址
    判断日期是否相等
  • 原文地址:https://www.cnblogs.com/DJC-BLOG/p/9126363.html
Copyright © 2011-2022 走看看