码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV官方文档学习记录(10)

时间:2014-12-09 00:23:48      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

金字塔形图像处理(图像缩放)

 

主要用到了两个函数:pyrUp和pyrDown

下面是代码:

 1 #include <opencv2\opencv.hpp>
 2 #include <iostream>
 3 #include <string>
 4 
 5 #pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
 6 
 7 int MAX_KERNEL_LENGTH = 31;
 8 
 9 using namespace std;
10 using namespace cv;
11 
12 void Show(const std::string &name, const Mat &img)
13 {
14     namedWindow(name, CV_WINDOW_AUTOSIZE);
15     imshow(name, img);
16 }
17 
18 int main(void)
19 {
20     Mat img = imread("lena.jpg");
21     if (img.empty())
22         return -1;
23     Show("Source", img);
24     Mat tmp=img.clone();
25     Mat dst = tmp;
26 
27     pyrUp(tmp, dst, Size(tmp.rows * 2, tmp.cols * 2));
28     Show("Bigger", dst);
29 
30     pyrDown(tmp, dst, Size(tmp.rows / 2, tmp.cols / 2));
31     Show("Smaller", dst);
32     waitKey();
33     return 0;
34 }

 

注意两个函数的第三个参数都是Size类型的,此类型是对象放大后的大小,因为使用的是512*512的图像,对应于金字塔型的图像放大运算方式,放大后的图像不可以编程其他非2的整数倍的大小,因此对于rows*1.5,rows*7等等这些尺寸是会出错的。只能是原图像大小乘或除2的正整数次幂。

同时注意,这里所说的放大倍数是尺寸上长和宽都被放大,因此上述结果就是:

bubuko.com,布布扣

 

就是说原本512x512的图像被放大2倍后为1024x1024,缩小为1/2是256x256。

 

以上

OpenCV官方文档学习记录(10)

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/lhyz/p/4152229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!