笔记和用法都在代码注释中:
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('666.jpg')
top_size,bottom_size,left_size,right_size = (500,500,500,500)
repicete = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,borderType=cv.BORDER_REPLICATE)
reflect = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,cv.BORDER_REFLECT)
reflect101 = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,cv.BORDER_REFLECT_101)
wrap = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,cv.BORDER_WRAP)
constant = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,cv.BORDER_CONSTANT,value= 0)
plt.subplot(231),plt.imshow(img,'gray'),plt.title('正常')
plt.subplot(232),plt.imshow(repicete,'gray'),plt.title('边缘复制')
plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('反射填充')
plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('反射填充')
plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('重复填充')
plt.subplot(236),plt.imshow(constant,'gray'),plt.title('常数填充')
plt.show()
总结:说明了4种填充方法