前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >"大脑"生长系列(六)

"大脑"生长系列(六)

作者头像
视界音你而不同
发布2020-04-10 16:01:39
3360
发布2020-04-10 16:01:39
举报

上一讲是如何改变图像的分辨率和对比度,这一讲介绍一个听起来高大上的功能,图像金字塔,个人理解图像金字塔本质上也是图像大小的改变,只是改变的方式和算法有所不同。OpenCV实现了两种图像金字塔的功能,一种高斯金字塔,一种拉普拉斯金字塔。

高斯金字塔:一种用来向下缩小的图像金字塔。

拉普拉斯金字塔:一种向上来放大的图像金字塔。

OpenCV提供的图像金字塔的接口如下:

高斯金字塔:

void pyrDown( InputArray src,

OutputArray dst,

const Size& dstsize = Size(),

int borderType = BORDER_DEFAULT );

参数说明:

src: 源图像

dst: 目标图像

dstsize: 调整后的目标大小,默认成倍缩放

borderType: 边缘像素处理方式

拉普拉斯金字塔

void pyrUp( InputArray src,

OutputArray dst,

const Size& dstsize = Size(),

int borderType = BORDER_DEFAULT );

参数说明:

src: 源图像

dst: 目标图像

dstsize: 调整后的目标大小,默认成倍缩放

borderType: 边缘像素处理方式

试试这段代码,理解会更深刻

代码语言:javascript
复制
int main(int argc, char *argv[])
{
 Mat src = imread("2.jpg");
 Mat gsrc;
 Mat gsrc1;
 Mat lsrc;
 Mat lsrc1;
 pyrDown(src, gsrc);
 pyrDown(gsrc, gsrc1);
 pyrUp(src, lsrc);
 pyrUp(lsrc, lsrc1);
 namedWindow("src");
 moveWindow("src", 0, 0);
 namedWindow("gsrc");
 moveWindow("gsrc", 512, 0);
 namedWindow("gsrc1");
 moveWindow("gsrc1", 768, 0);
 namedWindow("lsrc");
 moveWindow("lsrc", 0, 512);
 namedWindow("lsrc1");
 moveWindow("lsrc1", 512, 512);
 imshow("src", src);
 imshow("gsrc", gsrc);
 imshow("gsrc1", gsrc1);
 imshow("lsrc", lsrc);
 imshow("lsrc1", lsrc1);
 waitKey(0);
 return 0;
}

实际效果图

拉普拉斯放大后太大,此处放不下。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 视界音你而不同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档