zoukankan      html  css  js  c++  java
  • 机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 进行边界的补零操作 2.cv2.BORDER_REPLICATE(边界补零复制操作)...

    1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 

    参数说明: img表示需要补零的图片, top_size, bottom_size, left_size, right_size表示需要补零的尺寸, cv2.BORDER_REPLICATE表示补零的方式,这个是复制

    2. 补零的方式说明

    cv2.BORDER_REPLICATE: 进行复制的补零操作, 只对边缘的点进行复制,然后该列上的点都是这些

    cv2.BORDER_REFLECT:  进行翻转的补零操作,举例只对当前对应的边缘   gfedcba|abcdefgh|hgfedcb

    cv2.BORDER_REFLECT_101: 进行翻转的补零操作, gfedcb|abcdefgh|gfedcb

    cv2.BORDER_WRAP: 进行上下边缘调换的外包复制操作     bcdegh|abcdefgh|abcdefg

    代码:

    import cv2
    
    
    img = cv2.imread('cat.jpg')
    
    top_size, bottom_size, left_size, right_size = (50, 50, 50, 50)
    # REPLICATE: 复制最边缘上的一个点,所有的维度都使用当前的点
    REPLICATE = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE)

    # REFLECT: 进行翻转,即 gfedcba|abcdefgh|hgfedcb, 对于两侧的数据而言
    REFLECT = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT)

    # REFLECT_101: 进行按中间值翻转 gfedcb|abcdefgh|gfedcb
    REFLECT_101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)

    # WRAP: 外包装法   bcdefgh|abcdefgh|abcdefg, 相当于进行了上下的复制
    WRAP = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP)

    # CONST:进行常熟的补全操作, value=0,表示使用0进行补全操作
    CONST = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_CONSTANT, value=0)

    import matplotlib.pyplot as plt
    
    plt.subplot(231)
    plt.imshow(img), plt.title('ORIGINAL')
    plt.subplot(232)
    plt.imshow(REPLICATE), plt.title('REPLICATE')
    plt.subplot(233)
    plt.imshow(REFLECT), plt.title('REFLECT')
    plt.subplot(234)
    plt.imshow(REFLECT_101), plt.title('REFLECT_101')
    plt.subplot(235)
    plt.imshow(WRAP), plt.title('WRAP')
    plt.subplot(236)
    plt.imshow(CONST), plt.title('CONSTANT')
    plt.show()

  • 相关阅读:
    2017-2018-1 20155225 《信息安全系统设计基础》第三周学习总结
    2017-2018-1 20155225 《信息安全系统设计基础》第2周课堂实验
    20155225 2017-2018-1 《信息安全系统设计基础》第一周学习总结
    课堂实践——数据库
    20155225 2016-2017-2《Java程序设计》课程总结
    20155225 实验五《网络编程与设计》实验报告
    20155225 实验四《Android程序设计》实验报告
    转载
    HDU
    SCU
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10390555.html
Copyright © 2011-2022 走看看