函数原型
dst=cv.copyMakeBorder(src, top, bottom, left, right, borderType[, dst[, value]])
-
src-源图像
-
top,bottom,left,right-上下左右四个方向上的边界拓宽的值
-
borderType-定义要添加的边框类型的标志。它可以是以下类型:
- cv.BORDER_CONSTANT- 添加一个恒定的彩色边框。该值应作为下一个参数value给出。
- cv.BORDER_REFLECT-边框将是边框元素的镜像反射,如下所示:fedcba|abcdefgh|hgfedcb
- cv.BORDER_REFLECT_101或者 cv.BORDER_DEFAULT-与上面相同,但略有改动,如下所示: gfedcb | abcdefgh | gfedcba
- cv.BORDER_REPLICATE -最后一个元素被复制,如下所示: aaaaaa | abcdefgh | hhhhhhh
- cv.BORDER_WRAP-不好解释,它看起来像这样: cdefgh | abcdefgh | abcdefg
-
value- 如果边框类型为cv.BORDER_CONSTANT,则这个值即为要设置的边框颜色
代码展示:
# -*- coding:utf-8 -*-
import cv2
BLUE = [255, 0, 0]
img1 = cv2.imread('apple.jpg')
replicate = cv2.copyMakeBorder(img1, 10, 10, 10, 10, cv2.BORDER_REPLICATE)
reflect = cv2.copyMakeBorder(img1, 10, 10, 10, 10, cv2.BORDER_REFLECT)
reflect101 = cv2.copyMakeBorder(img1, 10, 10, 10, 10, cv2.BORDER_REFLECT_101)
wrap = cv2.copyMakeBorder(img1, 10, 10, 10, 10, cv2.BORDER_WRAP)
constant = cv2.copyMakeBorder(img1, 10, 10, 10, 10, cv2.BORDER_CONSTANT, value=BLUE)
cv2.imshow('img1', img1)
cv2.imshow('replicate', replicate)
cv2.imshow('reflect', reflect)
cv2.imshow('reflect101', reflect101)
cv2.imshow('wrap', wrap)
cv2.imshow('constant', constant)
cv2.waitKey()