opencvbuildPyramid图像金字塔

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


int main(int argc, char** argv) {

    cv::Mat src = cv::imread("D:\\bb\\tu1\\mao.jpg");

    std::vector<cv::Mat> gpyramid;
    buildPyramid(src, gpyramid, 3);//图像金字塔
    /*
    第一个参数:InputArray src输入图像
    第二个参数: OutputArrayOfArrays dst输出图像
    第三个参数:int maxlevel  表示建立金字塔的层数;层级越高,图像越小
    第四个参数:int borderType=BORDER_DEFAULT 表示对边界的处理方式
    说明:一层图像就是原图像,总层数=参数3+2
    */

    std::cerr << gpyramid.size() << std::endl;
    cv::imshow("原图像", src);
    cv::imshow("一层图像", gpyramid[0]);
    std::cerr << src.rows<<",    "<<src.cols << std::endl;
    std::cerr << gpyramid[0].rows << ",    " << gpyramid[0].cols << std::endl;
    cv::imshow("二层图像", gpyramid[1]);
    cv::imshow("三层图像", gpyramid[2]);
    cv::imshow("四层图像", gpyramid[3]);

    cv::waitKey(0);
    return 0;
}

 

 

原文地址:https://www.cnblogs.com/liming19680104/p/15649156.html