OpenCV-向上采样cv::pyrUp&&向下采样cv::pyrDown
Posted 翟天保Steven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV-向上采样cv::pyrUp&&向下采样cv::pyrDown相关的知识,希望对你有一定的参考价值。
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
函数原型
// 向上采样
void pyrUp( InputArray src, OutputArray dst,
const Size& dstsize = Size(), int borderType = BORDER_DEFAULT );
// 向下采样
void pyrDown( InputArray src, OutputArray dst,
const Size& dstsize = Size(), int borderType = BORDER_DEFAULT );
参数说明
- InputArray类型的src,输入图像。
- OutputArray类型的dst,输出图像。
- const Size&类型的dstsize,输出图像尺寸,一般默认即可。
- 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",0);
cv::Mat th1,th2;
int row = src.rows;
int col = src.cols;
// 向下采样。高斯平滑+缩小尺寸
pyrDown(src, th1, Size(0, 0), 4);
// 向上采样。放大尺寸+高斯平滑
pyrUp(th1, th2, Size(0, 0), 4);
imshow("original", src);
imshow("pyrDown", th1);
imshow("pyrUp", th2);
waitKey(0);
return 0;
}
测试效果
向下采样会先高斯平滑再缩小尺寸,对向下采样后的图进行向上采样,恢复到原来大小,但是因为经历了两次高斯模糊,所以采样后的图必然相较原图有微小程度的失真~
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!
以上是关于OpenCV-向上采样cv::pyrUp&&向下采样cv::pyrDown的主要内容,如果未能解决你的问题,请参考以下文章