1.原理
一般情况下,我们要处理是一副具有固定分辨率的图像。但是特别情况下我们需要对同一个图像的不同分辨率的子图像进行处理,如查找图像中的某个目标,如人脸,我们不知道目标在图像中的尺寸大小。这种情况下,我们需要创建一组图像,这些图像是具有不同分辨率的原始图像。我们把这组图像叫做图像金字塔。就是同一图像的不同分辨率的子图集合。我们把最大的图像放在底部,最小的放在顶部,看起来就像一座金字塔。
有两类:高斯金字塔和拉普拉斯金字塔。
1.1高斯金字塔
高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的。顶部图像中的每个像素值等于下一层图像中5个像素的高斯加权平均值。这样操作一次一个MxN的图像就变成了一个M/2xN/2的图像。所以这幅图像的面积就变为原来图像面积的四分之一。这被称为Octave。连续这样的操作,我们就会得到一个分辨率不断下降的图像金字塔。可以使用函数cv2.pyrDown()和cv2.pyrUp()构建图像金字塔。
向下采样(逐渐丢失图像)
cv2.pyrDown从一个高分辨率大尺寸的图像向上构建一个金字塔(尺寸变小,分辨率降低)
对图像G_i进行高斯内核卷积
将所有偶数行和列去除
结果图像只有原图的四分之一。高斯核卷积运算就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值(权重不同)经过加权平均后得到。通过对输入图像(原始图像)不停迭代以上步骤就会得到整个金
图像金字塔
最新推荐文章于 2024-08-02 18:10:42 发布