opencv学习笔记十:图像金字塔
原创
©著作权归作者所有:来自51CTO博客作者东城青年的原创作品,请联系作者获取转载授权,否则将追究法律责任
图像下采样:下一层图像尺寸相对上一层缩小一半,对原图像先进行高斯模糊,再删除偶数行和列,依次下去;
图像上采样:将下一层图像先增加偶数行和列,再进行高斯模糊。
下采样:pyrDown(src, dst1, Size(src.cols / 2, src.rows / 2));
参数解释:原图像,输出图像,下采样后图像的尺寸。
上采样:pyrUp(src, dst2, Size(src.cols * 2, src.rows * 2));
参数解释:原图像,输出图像,上采样后图像的尺寸。
#include<opencv2/opencv.hpp>
using namespace cv;
int main(int arc, char** argv)
{
Mat src, dst1,dst2;
src = imread("1.jpg");
namedWindow("input",CV_WINDOW_AUTOSIZE);
imshow("input", src);
pyrDown(src, dst2, Size(src.cols / 2, src.rows / 2));//下采样
pyrUp(src, dst1, Size(src.cols * 2, src.rows * 2));//上采样
imshow("pyrdown", dst1);
imshow("pyrup", dst2);
waitKey(0);
return 0;
}
运行结果如下:
