机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BOR
Posted my-love-is-python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BOR相关的知识,希望对你有一定的参考价值。
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()
以上是关于机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BOR的主要内容,如果未能解决你的问题,请参考以下文章
机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllW