opencv之边界扩展copyMakeBorder

copyMakeBorder可以处理多通道也可以处理单通道

void copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType,
const Scalar& value=Scalar() )


假设src为以下矩阵

opencv之边界扩展copyMakeBorder_第1张图片

我们首先只在一个方向上,讨论,例如 top方向:

top =5 或者 10, bottom =0,left 0,right =0;注意我们这里故意让top的值,大于 src的rows,即行数。查看结果

borderType = BORDER_REFLECT:反射

opencv之边界扩展copyMakeBorder_第2张图片
解释:当按BORDER_REFLECT,向上给src加边界时,是按照src的反射机制来加的。

borderType = BORDER_REPLICATE:复制

opencv之边界扩展copyMakeBorder_第3张图片
解释:当BORDER_REPLICATE时,代表只复制边界。

当left=5,bottom =5时,
opencv之边界扩展copyMakeBorder_第4张图片

BORDER_TYPE = BORDER_REFLECT_101:

opencv之边界扩展copyMakeBorder_第5张图片
解释:101,已经表明 0不参加反射机制。也即是以第一行为镜面,做反射

其他的type都很简单不做实验了,。

你可能感兴趣的:(图像处理,OpenCV,Python,计算机视觉,liunx+opencv)