1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, 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()

复制代码

分类: opencv

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值