前面讲到图像卷积运算的时候涉及到对图像边缘像素的估计,这里讲介绍图像边缘像素进行卷积运算。大部分opencv中的函数是将原图像复制到一个比原图像尺寸更大的图像中然后实现边缘的自动填充。这种方式得到的像素点可以执行卷积操作。下面介绍两种方式:
- 1.BORDER_CONSTANT:使用一个常数填充像素边缘
- 2.BORDER_REPLICATE:将图像中边缘的行和列像素值直接填充像素边缘
opencv提供了copyMakeBorder()函数实现对图像边缘像素填充的功能,其函数原型如下:
void cv::copyMakeBorder ( InputArray src,
OutputArray dst,
int top,
int bottom,
int left,
int right,
int borderType,
const Scalar & value = Scalar()
)
参数解释:
- InputArray: 输入图像
- OutputArray: 输出图像
- int top/bottom/left/right四个参数指定原图像由每个方向上向外插入的像素个数,例如:top=1, b