OpenCV-图像金字塔cv::buildPyramid
Posted 翟天保Steven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV-图像金字塔cv::buildPyramid相关的知识,希望对你有一定的参考价值。
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
函数原型
buildPyramid( InputArray src, OutputArrayOfArrays dst,
int maxlevel, int borderType = BORDER_DEFAULT );
参数说明
- InputArray类型的src,输入图像。
- OutputArrayOfArrays类型的dst,输出图像集合,一般为容器。
- int类型的maxlevel,图像金字塔层级。
- int类型的borderType,推断图像边缘像素的边界模式。
测试代码
#include <iostream>
#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
using namespace cv;
using namespace std;
int main()
{
cv::Mat src = imread("test.jpg");
vector<cv::Mat> ths;
int row = src.rows;
int col = src.cols;
buildPyramid(src, ths, 3, 4);
imshow("original", src);
imshow("level 0", ths[0]);
imshow("level 1", ths[1]);
imshow("level 2", ths[2]);
imshow("level 3", ths[3]);
waitKey(0);
return 0;
}
测试效果
图像金字塔其实就是多次向下采样,原图为容器的第一个图,也就是0;若level为4,后面还有4张不同缩小程度的图,其尺寸为上一级图像的一半~
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!
以上是关于OpenCV-图像金字塔cv::buildPyramid的主要内容,如果未能解决你的问题,请参考以下文章
youcans 的 OpenCV 例程200篇185.图像金字塔之高斯金字塔