buildPyramid函数

buildPyramid函数:

函数的调用方式:

void buildPyramid(InputArray src, OutputArrayOfArrays dst, int maxlevel, int borderType=BORDER_DEFAULT )

函数参数的详解:

第一个参数:InputArray src输入图像

第二个参数: OutputArrayOfArrays dst输出图像

第三个参数:int maxlevel  表示建立金字塔的层数

第四个参数:int borderType=BORDER_DEFAULT 表示对边界的处理方式


该函数的功能:

高斯金字塔为一层一层的图像,层级越高,图像越小。如下图所示,每一层都按从下到上的次序编号, 层级  (i+1)  (表示为  Gi+1  尺寸小于层级  i(Gi) )。

buildPyramid函数_第1张图片

前面已经了解到,缩小图像可以使用下采样技术。而高斯金字塔就是基于 下采样 实现的:通过对输入图像  G0  (原始图像) 下采样多次就会得到整个金字塔。

OpenCV 提供了一个函数 buildPyramid() 用来从一幅图像创建高斯金字塔

opencv代码:

#include<highgui.h>
#include<string>
#include<cv.h>
using namespace std;
using namespace cv;
 
int main()
{
	Mat img = imread("D:6.jpg");
	vector<Mat> gpyramid;
	buildPyramid(img, gpyramid, 4);
	vector<Mat>::iterator it = gpyramid.begin();
	vector<Mat>::iterator itend = gpyramid.end();
	int i = 0;
	stringstream title;
	for (; it < itend; it++)
	{
		title << "jinzita" << i;
		namedWindow(title.str());
		imshow(title.str(), *it);
		i++;
	}

	waitKey(0);



	return 0;
}



图像输出的结果:

buildPyramid函数_第2张图片

你可能感兴趣的:(buildPyramid函数)