OpenCV:图像缩放操作resize,pryUp,pryDown

绪:
图像的缩放操作是图像处置中根基的处置体例;
OpenCV中对图像进行缩放最简单的方式是挪用resize函数;
别的, 还有采用图像金字塔来进行图像缩放的;
pryUp和pryDown函数;
本文本家儿要介绍:
resize, pryUp, pryDown函数及其图像缩放的应用;

OpenCV:图像缩放操作resize,pryUp,pryDown

文章插图

需要这些哦
OpenCV 2410
方式/
1resize()函数:
可以将原图像切确的转化为指定尺寸的方针图像;
格局:
void resize(InputArray src,
OutputArray dst,
Size dsize,
double fx=0,
double fy=0,
int interpolation=INTER_LINEAR );
参数:
dsize:输出图像的大小;
当dsize不为0时, 即指定的图像缩放大小;
当dsize为0时, 缩放大小为dsize=Size(round(fx*src.cols), round(fy*src.rows))
此中, fx, fy为缩放比例;
【注】:
dsize和fx/fy不克不及同时为0;

OpenCV:图像缩放操作resize,pryUp,pryDown

文章插图

2resize放年夜图像:
若要放年夜图像, 保举利用CV_INTER_LINEAR双线性插值;
以王者荣耀logo为例, 大小为482*355, 进行放年夜
示例如下:
int main()
{
       Mat img = imread("0.jpg");
       imshow("原始图", img);
       Mat dst = Mat::zeros(428, 512, CV_8UC3); //我要转化为512*512大小的
       resize(img, dst, dst.size());
       imshow("尺寸调整之后", dst);
       waitKey(0);
       return 0;
}

OpenCV:图像缩放操作resize,pryUp,pryDown

文章插图

3resize缩小图像:
要缩小图像, 一般保举利用CV_INTER_AREA插值;
法式如下:
int main()
{
       Mat img = imread("0.jpg");
       imshow("原始图", img);
       Mat dst;
       resize(img, dst, Size(),0.5,0.5);//我长宽都变为本来的0.5倍
       imshow("尺寸调整之后", dst);
       waitKey(0);
       waitKey(0);
       return 0;
}

OpenCV:图像缩放操作resize,pryUp,pryDown

文章插图

4图像金字塔:
图像金字塔是用来进行图像缩放的, 功能和resize一样;
为什么还需要进修它;
因为其在卷积神经收集中会碰到这个名词;
且搞图像的都得学它;
什么是金字塔?
下图所示,
我们将一层层的图像比方为金字塔, 层级越高, 则图像尺寸越小, 分辩率越低;
两种类型的金字塔:
高斯金字塔:用于下采样, 本家儿要的图像金字塔;
拉普拉斯金字塔:用于重建图像, 也就是展望残差, 对图像最年夜水平的还原;
好比一副小图像重建为一幅年夜图像;

推荐阅读