函数

cv2.copyMakeBorder(src,top,bottom,left,right,borderType,value)

用法

填充(扩边)图像,在卷积运算或0填充时被用到

  • src:源图像。
  • top:顶部方向上的像素数的边框宽度。
  • bottom:底部方向上的像素数的边框宽度。
  • left:左侧像素的边界宽度。
  • right:沿正确方向的像素数的边框宽度。
  • borderType:边界类型。
  • value:一个可选参数。

示例

import cv2 
import numpy 
from matplotlib import pyplot as plt 

img = cv2.imread('D:/iu.jpg')
blue = [255,0,0] 
replicate = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_REFLECT101)
wrap = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_WRAP) 
constant = cv2.copyMakeBorder(img,10,10,10,10,cv2.BORDER_CONSTANT,value=blue) 

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

结果

本实验结果不够清晰,可忽略

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐