高斯圖像金字塔

上採樣:將圖像放大html

下采樣:將圖像縮小ios

高斯金字塔就是從下向上進行下采樣,具體分爲如下兩個步驟ide

1.對圖像進行高斯模糊post

2.刪除偶數行列spa

 

高斯不一樣:同一張圖片在不一樣參數(σ)下作的高斯模糊以後相減的結果code

高斯不一樣是圖像的內在特徵,在灰度圖像加強和角點檢測中常常用到。orm

 

上採樣htm

pyrUp(src,dst,Size(src.cols*2,src.rows*2));

下采樣blog

pyrDown(src,dst,Size(src.cols/2,src.rows/2));

代碼圖片

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc,char **argv)
{
    Mat src, dst1,dst2;
    src = imread("b.jpg");
    if (src.empty())
    {
        cout << "load img failed" << endl;
        return -1;
    }

    imshow("input img", src);

    pyrUp(src, dst1, Size(src.cols * 2, src.rows * 2));
    pyrDown(src, dst2, Size(src.cols / 2, src.rows / 2));

    Mat gray_src,g1, g2,DOG;

    cvtColor(src, gray_src, CV_BGR2GRAY);
    GaussianBlur(gray_src, g1, Size(3, 3), 0, 0);
    GaussianBlur(gray_src, g2, Size(5,5), 0,0);
    subtract(g1, g2, DOG, Mat());

    normalize(DOG, DOG, 255, 0, NORM_MINMAX);//歸一化,將數據拉到0~255範圍
    imshow("DOG", DOG);
    imshow("upsample", dst1);
    imshow("downsample", dst2);
    waitKey(0);
    return 0;
}

 

屏幕過小了下采樣放不下了

 

高斯不一樣

 

 用不一樣大小的濾波器也會獲得不一樣的效果,注意一點,如下兩種方法獲得的高斯不一樣同樣

 

 

有點相似於GoogleNet那個inception block的感受,用兩個連續的小卷積核代替一個大卷積核

將濾波器尺寸變大獲得的效果

相關文章
相關標籤/搜索