zoukankan      html  css  js  c++  java
  • 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是处理时执行的函数

  • 相关阅读:
    PAT——1069. 微博转发抽奖
    PAT——1068. 万绿丛中一点红
    PAT——1066. 图像过滤
    PAT——1065. 单身狗
    PAT——1064. 朋友数
    PAT——1063. 计算谱半径
    PAT——1062. 最简分数
    PAT——1061. 判断题
    PAT——1060. 爱丁顿数
    PAT——1059. C语言竞赛
  • 原文地址:https://www.cnblogs.com/maskmtj/p/6841159.html
Copyright © 2011-2022 走看看