• matlab核函数与滑窗


    在处理图像时,为了提取特征,经常用各种核函数和图像进行卷积,其实就是通过一个矩阵以滑窗的形式与原图像进行点乘求和,可以看作对一个像素和附近像素进行了加权平均。

    比如经常用3x3的近似高斯卷积核

    0 1 0

    1 2 1

    0 1 0

    其实就是这幅图的俯视图中z值(高度)的近似,中间最高,边缘低。可见原来的一个像素现在经过卷积由周围的像素加权构成,所以以高斯为例,高斯有平滑效果。

    但是刚才的举例是近似的于真正的高斯分布还有差距,我们怎么用matlab产生真正的高斯核呢?

    fspecial函数:

    可以在matlab的命令行输入help fspecial来查看用法

    使用 h = fspecial('gaussian', hsize,sigma); 就可以产生一个高斯核,其中hsize是卷积核的大小,默认3x3,sigma是高斯核的方差

    在用 filteredI = imfilter(I, h); 对原图像用刚才生成的和进行卷积就可以得到卷积后的图像。

    fspecial还可以生成其他核,都很常用,各有用途。

    'average'  'disk' 'laplacian' 'log' 'motion' 'prewitt'  'sobel'  'unsharp' 。

    但有的时候需要自定义一个函数来通过滑窗处理图像,matlab也有相关的函数 -------- blockproc

    B = blockproc(A,[M N],fun)

    A是要处理的矩阵,[M N]是滑窗大小,fun是处理时执行的函数

  • 相关阅读:
    项目开发中的注意点和技巧
    addslashes — 使用反斜线引用字符串
    PHP error_reporting() 错误控制函数功能详解
    零碎收集cocos知识
    LeetCode:二叉树的前序遍历【144】
    SpringBoot学习笔记:SpringBootAdmin
    LeetCode:简化路径【71】
    LeetCode:组合总数II【40】
    LeetCode:全排列II【47】
    LeetCode:全排列【46】
  • 原文地址:https://www.cnblogs.com/maskmtj/p/6841159.html
Copyright © 2020-2023  润新知