图像边界填充

2022-05-28 17:05:15 浏览数 (2)

代码语言:javascript复制
import cv2
import matplotlib.pyplot as plt
import numpy as np
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png')  
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.figure(1)
plt.clf()
plt.title('ORIGINAL')
plt.imshow(img)
plt.figure(2)
plt.clf()
plt.title('REPLICATE')
plt.imshow(replicate)
plt.figure(3)
plt.clf()
plt.title('REFLECT')
plt.imshow(reflect)
plt.figure(4)
plt.clf()
plt.title('REFLECT_101')
plt.imshow(reflect101)
plt.figure(5)
plt.clf()
plt.title('WRAP')
plt.imshow(wrap)
plt.figure(6)
plt.clf()
plt.title('constant')
plt.imshow(constant)
plt.show()

算法:图像填充边界是为了便于进行滤波,卷积等有关图像边界处理的操作。

dst=cv.copyMakeBorder(img, top, bottom, left, right, borderType)

  • img表示待绘制图像
  • top表示图像上边界需要填充的像素点
  • bottom表示图像下边界需要填充的像素点
  • left表示图像左边界需要填充的像素点
  • right表示图像右边界需要填充的像素点
  • borderType表示图像填充方法

0 人点赞