美文网首页
图像金字塔之向下采样

图像金字塔之向下采样

作者: 大龙10 | 来源:发表于2021-11-03 06:49 被阅读0次

    《OpenCV轻松入门:面向Python》读书笔记
    作者:李立宗
    出版社:电子工业出版社
    出版时间:2019-05

    第11章 图像金字塔

    11.2 pyrDown函数及使用

    1) pyrDown函数

      OpenCV提供了函数cv2.pyrDown(),用于实现图像高斯金字塔操作中的向下采样,其语法形式为:

    dst = cv2.pyrDown( src[, dstsize[, borderType]] )

    其中:

    • dst为目标图像。
    • src为原始图像。
    • dstsize为目标图像的大小。
    • borderType为边界类型,默认值为BORDER_DEFAULT。

    默认情况下,输出图像的大小为Size((src.cols+1)/2, (src.rows+1)/2)。在任何情况下,图像尺寸必须满足如下条件:

    |dst. width∗2-src. cols|≤2
    |dst. height∗2-src. rows|≤2

    cv2.pyrDown()函数首先对原始图像进行高斯滤波变换,以获取原始图像的近似图像。比如,高斯滤波变换所使用的核(高斯滤波器)为:



    在获取近似图像后,该函数通过抛弃偶数行和偶数列来实现向下采样。

    2) 示例

    【例11.1】使用函数cv2.pyrDown()对一幅图像进行向下采样

    import cv2
    o=cv2.imread("lena.bmp",cv2.IMREAD_GRAYSCALE)
    r1=cv2.pyrDown(o)
    r2=cv2.pyrDown(r1)
    r3=cv2.pyrDown(r2)
    print("o.shape=",o.shape)
    print("r1.shape=",r1.shape)
    print("r2.shape=",r2.shape)
    print("r3.shape=",r3.shape)
    cv2.imshow("original",o)
    cv2.imshow("r1",r1)
    cv2.imshow("r2",r2)
    cv2.imshow("r3",r3)
    cv2.waitKey()
    cv2.destroyAllWindows()
    

    3) 结果

    图11-5 【例11.1】程序的运行结果

    可以看到,经过向下采样后,图像的分辨率会变低。

    相关文章

      网友评论

          本文标题:图像金字塔之向下采样

          本文链接:https://www.haomeiwen.com/subject/bsaialtx.html