cv2之padding扩充

        opencv的padding方式进行整理和测试。opencv copyMakeBorder函数支持五种padding扩充方式,函数原型如下:

def copy_make_border(src, top, bottom, left, right, borderType, dst=None, value=None):
    """ 扩充图像边界
    :param src: 输入图像
    :param top, bottom, left, right: 对应的上下左右四边界扩充像素数
    :param borderType: 支持五种边界扩展方式
    :param dst: 输出图
    :param value: borderType为'constant'时有效, 设置填充的像素值.
    :return: 输出图
    """

1、cv2.BORDER_CONSTANT-固定值填充方式

        四个边各添加50个像素的固定值:

import cv2
img = cv2.imread("dog.jpg")
ret = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT, value=(128,128,128))

2、cv2.BORDER_REFLECT-边界元素的镜像方式

        四个边各进行50个像素的镜像,比如:fedcba|abcde-fgh|hgfedcb。

import cv2
img = cv2.imread("dog.jpg")
ret = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_REFLECT)

2'、cv2.BORDER_DEFAULT-边界元素的镜像方式

        与cv2.BORDER_REFLECT略有不同,实现中cv2.BORDER_REFLECT_101 or cv2.BORDER_DEFAULT。

import cv2
img = cv2.imread("dog.jpg")
ret = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_DEFAULT)

3、cv2.BORDER_REPLICATE-重复最后一个元素

import cv2
img = cv2.imread("dog.jpg")
ret = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_REPLICATE)

4、cv2.BORDER_WRAP-镜像互换方式

import cv2
img = cv2.imread("dog.jpg")
ret = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_WRAP)

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingbo1801

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值