OpenCV学习(十五)之图像金字塔

实验环境:VS2010 + OpenCV2.4.9.0

#include <iostream>
#include "cv.h"
#include <highgui.h>

using namespace std;
using namespace cv;

int main(int argc,char*argv[])
{
	char* wndName = "Pyramids Demo";
	Mat img = imread("lena.jpg");
	if(!img.data)
	{
		cerr <<"No Data!" << endl;
		exit(1);
	}
	Mat tmp = img.clone();
	Mat dst = tmp;
	namedWindow(wndName,CV_WINDOW_AUTOSIZE);
	imshow(wndName,dst);

	while(TRUE)
	{
		char c;
		c = waitKey(10);
		if(c == 27)
		{
			break;
		}
		if(c == 'u')
		{
			pyrUp(tmp,dst,Size(tmp.cols * 2,tmp.rows * 2));
			cout << "Zoom In: x2" <<endl;
		}
		else if(c == 'd')
		{
			pyrDown(tmp,dst,Size(tmp.cols/2,tmp.rows/2));
			cout << "Zoom Out: /2" << endl;
		}
		imshow(wndName,dst);
		tmp = dst;
	}
	return 1;
}
实验结果:

原图:


两倍:(实际不是两倍,图片太大不能上传)


小两倍:


参考文献:

http://baike.baidu.com/link?url=MjU9EooCucwD-lWqJ_Brq4Hjt7hKszzEGP8AEFIu4rlBwKllkrYcNDZLZi2jJPlBtBlfIr-xN0XVkF1Ozum9Oa

http://docs.opencv.org/doc/tutorials/imgproc/pyramids/pyramids.html

链接一篇使用旧版本的例子:

http://blog.csdn.net/hitwengqi/article/details/6857441



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值