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;
    }
    

     

  • 相关阅读:
    设计模式之依赖倒置原则
    设计模式之里氏替换原则
    设计模式之单一职责原则
    设计模式六大原则
    spring boot 搭建
    OSI(Open System Interconnect) 网络七层协议
    常用经济术语
    Spring Boot入门系列(十八)整合mybatis,使用注解的方式实现增删改查
    Spring Boot入门系列(十四)使用JdbcTemplate操作数据库,配置多数据源!
    Maven快速入门(三)Maven的坐标和仓库
  • 原文地址:https://www.cnblogs.com/haiboxiaobai/p/11238479.html
Copyright © 2011-2022 走看看