cv2.copyMakeBorder()
函数是 OpenCV 库中用于在图像边界添加边框的函数
其基本语法如下:
dst = cv2.copyMakeBorder(src, top, bottom, left, right, borderType, value)
其中参数含义如下:
src
: 输入图像top
: 上边框的大小bottom
: 下边框的大小left
: 左边框的大小right
: 右边框的大小borderType
: 表示边框类型,可以是以下常量之一:cv2.BORDER_CONSTANT
: 边框由常数值填充(需要提供value
参数)cv2.BORDER_REPLICATE
: 复制图像边界的像素值cv2.BORDER_REFLECT
: 镜像反射, 边框会反射图像的边缘cv2.BORDER_REFLECT_101
: 镜像反射,但是最外层像素值不会被重复
等等,还有其他边框类型
value
: 当borderType
为cv2.BORDER_CONSTANT
时,用于填充边框的常数值
例如,
import cv2
import numpy as np
# 读取图像
image = cv2.imread("example.jpg")
# 添加边框
bordered_image = cv2.copyMakeBorder(image, 10, 10, 10, 10, cv2.BORDER_CONSTANT, value=[255, 0, 0])
# 显示结果
cv2.imshow("Original Image", image)
cv2.imshow("Bordered Image", bordered_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,copyMakeBorder()
函数在图像的上、下、左、右各添加了大小为 10 像素的蓝色边框,边框类型为 cv2.BORDER_CONSTANT
,使用蓝色填充
可以根据需要选择不同的边框类型和填充值