Python代码显示如:
import cv2
img=cv2.imread(r"C:\Users\master\Desktop\sheep.jpg")
# 填充的范围
top_size, bottom_size, left_size, right_size = (50, 50, 50, 50)
# 填充
replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_WRAP)
constant = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size,cv2.BORDER_CONSTANT, value=0)
#绘制子图
#plt.subplot(2, 3, 5) 和 plt.subplot(235) 是效果是一样的
#导入pyplot并将其命名为plt(导入包)
import matplotlib.pyplot as plt;
#plt.title()函数是设置图像标题
#subplot()函数它可以均等地划分画布
#plt.subplot(231)把画布分成2*3的格子,把Y1放在第一格
#imshow()括号里面第一个参数表示要显示的图片变量,第二个为颜色图谱,默认为RGB(A)颜色空间,也可以指定,gray是灰度图
plt.subplot(231), plt.imshow(img, 'gray'), plt.title('ORIGINAL')
plt.subplot(232), plt.imshow(replicate, 'gray'), plt.title("REPLICATE")
plt.subplot(233), plt.imshow(reflect, 'gray'), plt.title('REFLECT')
plt.subplot(234), plt.imshow(reflect101, 'gray'), plt.title("REFLECT_101")
plt.subplot(235), plt.imshow(wrap, 'gray'), plt.title('WRAP')
plt.subplot(236), plt.imshow(constant, 'gray'), plt.title("CONSTANT")
plt.show()
填充类型的区别: