python-OpenCV图像的边界填充

import cv2
from matplotlib import pyplot as plt

# 复制法,也就是复制最边缘像素
replicate = cv2.copyMakeBorder(img_h,to_size,bottom_size,left_size,right_size,
                               borderType=cv2.BORDER_REPLICATE)
# 反射法,对感兴趣的图像中的像素在两边进行复制
reflect = cv2.copyMakeBorder(img_h,to_size,bottom_size,left_size,right_size,
                               borderType=cv2.BORDER_REFLECT)
# 反射法,也就是以最边缘像素为轴
reflect101 = cv2.copyMakeBorder(img_h,to_size,bottom_size,left_size,right_size,
                               borderType=cv2.BORDER_REFLECT_101)
# 外包装法,例如  234567|1234567|123456
wrap = cv2.copyMakeBorder(img_h,to_size,bottom_size,left_size,right_size,
                               borderType=cv2.BORDER_WRAP)
# 常量法,常数值填充
constant = cv2.copyMakeBorder(img_h,to_size,bottom_size,left_size,right_size,
                               borderType=cv2.BORDER_CONSTANT,value=0)

plt.subplot(231), plt.imshow(img_h, '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("reflect101")
plt.subplot(235), plt.imshow(wrap, 'gray'), plt.title("wrap")
plt.subplot(236), plt.imshow(constant, 'gray'), plt.title("constant")

plt.show()

效果如下
python-OpenCV图像的边界填充_第1张图片

你可能感兴趣的:(OpenCV-Python,opencv,计算机视觉,python)