zoukankan      html  css  js  c++  java
  • Matlab -- fspecial函数用法

    Fspecial函数用于创建预定义的滤波算子,其语法格式为:

    h = fspecial(type)

    h = fspecial(type,parameters,sigma)

    参数type制定算子类型,parameters指定相应的参数,具体格式为:

    type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。

    type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],

    sigma表示滤波器的标准差,单位为像素,默认值为 0.5.

    type= 'laplacian',为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。

    type= 'log',为拉普拉斯高斯算子,参数有两个,n为模板尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5

    type= 'prewitt',为prewitt算子,用于边缘增强,无参数。
    type= 'sobel',为著名的sobel算子,用于边缘提取,无参数。
    type= 'unsharp',为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。

    例子:

    >> G=fspecial('gaussian',5)%参数为5,表示产生5*5的gaussian矩阵,如果没有,默认为3*3的矩阵。

    G =

        0.0000    0.0000    0.0002    0.0000    0.0000
        0.0000    0.0113    0.0837    0.0113    0.0000
        0.0002    0.0837    0.6187    0.0837    0.0002
        0.0000    0.0113    0.0837    0.0113    0.0000
        0.0000    0.0000    0.0002    0.0000    0.0000

    >> G=fspecial('gaussian',5,1.5)%1.5为滤波器的标准差。

    G =

        0.0144    0.0281    0.0351    0.0281    0.0144
        0.0281    0.0547    0.0683    0.0547    0.0281
        0.0351    0.0683    0.0853    0.0683    0.0351
        0.0281    0.0547    0.0683    0.0547    0.0281
        0.0144    0.0281    0.0351    0.0281    0.0144

    >> 

    >> G=fspecial('average')%默认为3*3的矩阵。均值滤波

    G =

        0.1111    0.1111    0.1111
        0.1111    0.1111    0.1111
        0.1111    0.1111    0.1111

    >> G=fspecial('average',5)%会产生5*5的矩阵。

  • 相关阅读:
    关于Lua中的面向对象实现
    当我读《体验引擎:游戏设计全景探秘》时我在想什么
    【Unity】拖动图片生成对应Image
    【Unity】阅读LuaFramework_UGUI的一种方法
    【Unity】关于VS条件编译符号
    Lua元表应用举例:配置表格转为Lua配置表
    对文件夹下的git项目进行批量更新、打包
    二分查找
    python-变量及字符串赋值|今日所学-2017-12-26
    lamda- filter,map, collect
  • 原文地址:https://www.cnblogs.com/zzzsj/p/14651809.html
Copyright © 2011-2022 走看看