zoukankan      html  css  js  c++  java
  • 计算机视觉---2.3---尺度空间算法

    尺度空间算法是计算机视觉的重要思想,无论是二维计算机视觉还是三维计算机视觉,尺度空间算法在图像配准,特征提取,运动估计方面都有很好的应用,这归功于算法的鲁棒性和对不同尺度图像的都具有很好的响应。

    尺度空间的思想

    尺度空间对图像的描述模拟了人眼由远及近的一个过程。
    对于远处的图像,能够提取的特征是轮廓,形状,整体。
    对于近处的图像,能够提取的特征是细节,小对比。
    举个例子,从远处看,松树和枫树是不一样的。在近处“世界上没有两片相同的叶子(同一棵树上)”。

    尺度空间金字塔

    尺度空间的思想是把一副图像变成一个图像族。由一副图像派生出多幅图像,通过对这个图像族的操作获取“广义的图像”所表达的含义。“广义的图像”指的是这幅图像所描述的场景,而不纠结于一个个像素。

    尺度空间生成算法

    Created with Raphaël 2.1.2一幅图片高斯平滑重采样(如2像素抽1)是否达到要求的最小尺度获得尺度空间Endyesno

    尺度空间生成算法有两个重要的步骤

    1. 高斯平滑
      高斯平滑的意义在于去除图像中的高频成分,由于高频成分会导致重采样时获得高频噪声,导致采样出错。
    2. 重采样
      重采样的意义是获取“粗”的图像。从而获取广义图像所表达的“大”内容。
    PGaussian(I)(n+1)=S(GσPGaussian(I)(n))

    其中

    1. PGaussian(I)(n+1)表示尺度空间生成的下一层图像
    2. PGaussian(I)(n)表示尺度空间的母图像。
    3. S表示重采样(downsample)。
    4. Gσ 表示一个高斯核
    5. 表示二维卷积

    实现尺度空间的代码

    talk is cheap, show you the code

    clear all
    close all
    clc
    ///////清空////////
    [a,b]=uigetfile('*');
    pic=imread(a);
    g_pic=rgb2gray(pic);
    imshow(g_pic)
    ///////从文件夹选取一张图片转灰度后显示///////
    f = fspecial('gaussian',[11 11],10);
    //////生成高斯模板////////////////////
    down_img = g_pic;
    while 1>0
    imfilter(down_img,f);
    down_ = downsample(down_img',2);
    down_img = downsample(down_',2);
    
    SIZE = size(down_img);
    if(SIZE(:,1))<10
        break
    end
    figure
    imshow(down_img)
    end

    这里利用的是matlab自带的重采样功能,因为只能对列重采样,所以先转置一次采样后再转置一次,matlab is so sweet。

    结果如下:
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    冲刺第四天
    冲刺第三天
    冲刺第二天
    评估前冲刺第一天
    点击切换上一页,下一页
    react生命周期
    package.json入门
    nodeType的十二种类型
    ECMAScript 6 let和const命令
    JavaScript语言精粹_JSON
  • 原文地址:https://www.cnblogs.com/ironstark/p/4892625.html
Copyright © 2011-2022 走看看