pyrDown和pyrUp
pyrDown
函数原型:
void pyrDown(InputArray src, OutputArray dst, const Size& dstsize=Size(), int border-Type=BORDER_DEFAULT)
参数:
src-输入图像
dst-输出图像,有指定尺寸,和src类型一致
dstsize-输出图像的尺寸,默认值为Size((src.cols+1)/2,(src.rows+1)/2),但是在任何情况下需要满足以下条件:
|dstsize.width*2-src:cols| ≤2
|dstsize.height*2-src:rows| ≤2
pyrUp
void pyrUp(InputArray src, OutputArray dst, const Size& dstsize=Size(), int border-Type=BORDER_DEFAULT)
参数:
src-输入图像
dst-输出图像,由dstsize指定尺寸,和src类型相同
dstsize-输出图像的尺寸,默认值为Size(src.cols*2,src.rows*2),但是在任何情况下需要满足以下条件:
|dstsize.width-src.cols*2| ≤(dstsize.width mod2)
|dstsize.height-src.rows*2| ≤(dstsize.height mod2)
示例代码:
1 #include <opencv2/imgproc/imgproc.hpp> 2 #include <opencv2/highgui/highgui.hpp> 3 #include <iostream> 4 5 using namespace std; 6 using namespace cv; 7 8 int main() 9 { 10 Mat src, down, up; 11 12 src = imread("C:/test.jpg"); 13 if (!src.data) 14 { 15 cout << "NO DATA!" << endl; 16 return -1; 17 } 18 19 namedWindow("down"); 20 pyrDown(src, down, Size(src.cols/2, src.rows/2)); 21 imshow("down", down); 22 23 namedWindow("up"); 24 pyrUp(src, up, Size(src.cols*2, src.rows*2)); 25 imshow("up", up); 26 27 waitKey(0); 28 return 0; 29 }