zoukankan      html  css  js  c++  java
  • OpenCV (十一)图像金字塔

    图像金字塔:

    由一系列图片组成,图片由下到上逐渐变小

    上采样:

    下采样:

    高斯金字塔:

    高斯不同:

    图像金字塔代码:

    #include<opencv2/opencv.hpp>
    #include<iostream>
    
    using namespace cv;
    using namespace std;
    
    Mat src, dst, output;
    
    int main(int argc, char** argv) {
    	src = imread("D:/OpenCVprj/image/test3.jpg");
    	if (!src.data) {
    		cout << "Could not load image......
    " << endl;
    		return -1;
    	}
    	imshow("src", src);
    	//prraUp(src, dst, Size(src.cols*2, src.rows*2);
    	pyrDown(src, dst, Size(src.cols/2, src.rows/2));
    	imshow("dst", dst);
    	pyrDown(dst, output , Size(dst.cols / 2, dst.rows / 2));
    	imshow("output", output);
    
    
    	waitKey(0);
    	return 0;
    }
    

      

    高斯金字塔代码:

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

    using namespace cv;
    using namespace std;

    Mat src, dst, output, gaussian_blur;

    int main(int argc, char** argv) {
    src = imread("D:/OpenCVprj/image/test3.jpg");
    if (!src.data) {
    cout << "Could not load image...... " << endl;
    return -1;
    }
    imshow("src", src);
    //prraUp(src, dst, Size(src.cols*2, src.rows*2);
    GaussianBlur(src, gaussian_blur, Size(7, 7), 5, 5);
    pyrDown(gaussian_blur, dst, Size(src.cols/2, src.rows/2));
    imshow("dst", dst);
    //pyrDown(dst, output , Size(dst.cols / 2, dst.rows / 2));
    //imshow("output", output);


    waitKey(0);
    return 0;
    }

    高斯不同代码:

    #include<opencv2/opencv.hpp>
    #include<iostream>
    
    using namespace cv;
    using namespace std;
    
    Mat src, dst, output, gaussian_blur, gaussian_blur_1;
    
    int main(int argc, char** argv) {
    	src = imread("D:/OpenCVprj/image/test3.jpg");
    	if (!src.data) {
    		cout << "Could not load image......
    " << endl;
    		return -1;
    	}
    	imshow("src", src);
    	//prraUp(src, dst, Size(src.cols*2, src.rows*2);
    	GaussianBlur(src, gaussian_blur, Size(7, 7), 5, 5);
    	GaussianBlur(src, gaussian_blur_1, Size(7, 7), 0, 0);
    	subtract(gaussian_blur, gaussian_blur_1, dst);
    	normalize(dst, dst, 255, 0, NORM_MINMAX);
    	//pyrDown(gaussian_blur, dst, Size(src.cols/2, src.rows/2));
    	//pyrDown(dst, output , Size(dst.cols / 2, dst.rows / 2));
    	//imshow("output", output);
    	imshow("dst", dst);
    
    	waitKey(0);
    	return 0;
    }
    

     

  • 相关阅读:
    python中filter(),map()和reduce()的用法及区别
    Python中的单例模式的几种实现方式的及优化
    python标准库和第三方库的区别
    django和flask的区别
    wtforms
    protobuf学习
    人物FSM
    策略模式
    虚函数调用机制
    虚析构函数
  • 原文地址:https://www.cnblogs.com/haiboxiaobai/p/11238479.html
Copyright © 2011-2022 走看看