跟我学 Python 图像处理丨关于图像金字塔的图像向下取样和向上取样
本文分享自华为云社区《[Python图像处理] 二十一.图像金字塔之图像向下取样和向上取样》,作者:eastmount。
一.图像金字塔
前面讲解的图像采样处理可以降低图像的大小,本小节将补充图像金字塔知识,了解专门用于图像向上采样和向下采样的 pyrUp()和 pyrDown()函数。
图像金字塔是指由一组图像且不同分别率的子图集合,它是图像多尺度表达的一种,以多分辨率来解释图像的结构,主要用于图像的分割或压缩。一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。如图 6-11 所示,它包括了四层图像,将这一层一层的图像比喻成金字塔。图像金字塔可以通过梯次向下采样获得,直到达到某个终止条件才停止采样,在向下采样中,层级越高,则图像越小,分辨率越低。
生成图像金字塔主要包括两种方式——向下取样、向上取样。在图 6-11 中,将图像 G0 转换为 G1、G2、G3,图像分辨率不断降低的过程称为向下取样;将 G3 转换为 G2、G1、G0,图像分辨率不断增大的过程称为向上取样。
二.图像向下取样
在图像向下取样中,使用最多的是高斯金字塔。它将对图像 Gi 进行高斯核卷积,并删除原图中所有的偶数行和列,最终缩小图像。其中,高斯核卷积运算就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值(权重不同)经过加权平均后得到。常见的 3×3 和 5×5 高斯核如下:
高斯核卷积让临近中心的像素点具有更高的重要度,对周围像素计算加权平均值,如图 6-12 所示,其中心位置权重最高为 0.4。
显而易见,原始图像 Gi 具有 M×N 个像素,进行向下取样之后,所得到的图像 Gi+1 具有 M/2×N/2 个像素,只有原图的四分之一。通过对输入的原始图像不停迭代以上步骤就会得到整个金字塔。注意,由于每次向下取样会删除偶数行和列,所以它会不停地丢失图像的信息。
在 OpenCV 中,向下取样使用的函数为 pyrDown(),其原型如下所示:
dst = pyrDown(src[, dst[, dstsize[, borderType]]])
src 表示输入图像,
dst 表示输出图像,和输入图像具有一样的尺寸和类型
dstsize 表示输出图像的大小,默认值为 Size()
borderType 表示像素外推方法,详见 cv::bordertypes
实现代码如下所示:
输出结果如图 6-13 所示,它将原始图像压缩成原图的四分之一。
多次向下取样的代码如下:
输出结果如图所示:
三.图像向上取样
在图像向上取样是由小图像不断放图像的过程。它将图像在每个方向上扩大为原图像的 2 倍,新增的行和列均用 0 来填充,并使用与“向下取样”相同的卷积核乘以 4,再与放大后的图像进行卷积运算,以获得“新增像素”的新值。如图 6-15 所示,它在原始像素 45、123、89、149 之间各新增了一行和一列值为 0 的像素。
在 OpenCV 中,向上取样使用的函数为 pyrUp(),其原型如下所示:
dst = pyrUp(src[, dst[, dstsize[, borderType]]])
src 表示输入图像,
dst 表示输出图像,和输入图像具有一样的尺寸和类型
dstsize 表示输出图像的大小,默认值为 Size()
borderType 表示像素外推方法,详见 cv::bordertypes
实现代码如下所示:
输出结果如图 6-16 所示,它将原始图像扩大为原图像的四倍。
多次向上取样的代码如下:
输出结果如图 6-17 所示,每次向上取样均为上次图像的四倍,但图像的清晰度会降低。
四.总结
2019 年感:最近继续备考博士,接下来还有两个学校,一方面耐心等待之前的结果;另一方面继续复习,周末女神陪着来书店看书,岁月静好,砥砺前行!在这期间,自己经历了很多酸甜苦辣的事情,希望陌生的你也学会享受生活,共勉。
希望这篇基础性文章对您有所帮助,如果有错误或不足之处,请海涵!
感恩能与大家在华为云遇见!希望能与大家一起在华为云社区共同成长,原文地址:https://blog.csdn.net/Eastmount/article/details/89341077(By:娜璋之家 Eastmount 2021-08-21 夜于贵阳)
参考文献:
《数字图像处理》(第 3 版),冈萨雷斯著,阮秋琦译,电子工业出版社,2013 年.
《数字图像处理学》(第 3 版),阮秋琦,电子工业出版社,2008 年,北京.
《OpenCV3 编程入门》,毛星云,冷雪飞,电子工业出版社,2015,北京.
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/a226a20ffea27bdb44238d49a】。文章转载请联系作者。
评论