borderInterpolate()函数
Posted fcfc940503
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了borderInterpolate()函数相关的知识,希望对你有一定的参考价值。
官网:borderInterpolate
borderInterpolate
函数原型
int borderInterpolate( int p, int len, int borderType );
源码在filter.cpp中
功能
根据不同的外插方法(borderType),如 BORDER_REPLICATE,计算外插像素对应于原图中的1D坐标,一般不单独使用,而在其他函数内部使用,如在copyMakeBorder中使用
其中
p:扩充边缘的像素的坐标(横坐标或者纵坐标)
len:src对于p所在的维的大小
borderType:扩充边缘的类型,就是外插的类型,OpenCV中给出以下几种方式
* BORDER_REPLICATE
* BORDER_REFLECT
* BORDER_REFLECT_101
* BORDER_WRAP
* BORDER_CONSTANT
/****************************************************************************************************************** 文件说明: copyMakeBorder函数详解 函数功能: 1)这个函数经原图像复制到目标图像的中间。复制的原始图像的左边,右边,上边和下边的区域将使用像 素向外填充扩展。这个函数可以简化图像边界的处理 2)这个函数把源图像拷贝到目的图像的中央,四面填充指定的像素。 3)vCopyMakeBorder()函数可以复制图像并制作边界,将特定图像轻微变大,然后以各种方式自动填充图 像边界,当 Bordertype=IPL_BORDER_REPLICATE时,原始图像边缘的行和列被复制到大图像的边缘,当 Bordertype=IPL_BORDER_CONSTANT时,有一个像素宽的黑色边界。 函数原型: void copyMakeBorder(InputArray src, //【1】输入图像 OutputArray dst, //【2】输出图像 int top, //【3】表示对边界每个方向添加的像素个数,就是 int bottom, // 边框的粗细程度 int left, //【4】边界的方向包括上下左右 int right, int borderType, //【5】表示边界的类型 //【6】表示如果边界的类型是 BORDER_CONSTANT,那么边界的颜色值 const Scalar& value=Scalar()) 边界的类型有以下几种: 1)BORDER_REPLICATE:重复,就是对边界的像素进行复制 2)BORDER_REFLECT:反射,对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hgfedcb反射 3)BORDER_REFLECT_101:反射101:例子:gfedcb|abcdefgh|gfedcba 4)BORDER_WRAP:外包装:cdefgh|abcdefgh|abcdefg 5)BORDER_CONSTANT:常量复制:例子:iiiiii|abcdefgh|iiiiiii ********************************************************************************************************************/
参考:在OpenCV中图像边界扩展 copyMakeBorder 的实现
以上是关于borderInterpolate()函数的主要内容,如果未能解决你的问题,请参考以下文章
css CSS poner un borde dinamico
css quitar borde espacio td table