官网: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()函数的更多相关文章

  1. opencv2函数学习之erode、dilate:图像腐蚀和膨胀

    图像腐蚀和图像膨胀是图像中两种最基本形态学操作. ,-), ,int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphol ...

  2. 【OpenCV十六新手教程】OpenCV角检测Harris角点检测

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...

  3. 第三节,使用OpenCV 3处理图像(模糊滤波、边缘检测)

    一 不同色彩空间的转换 OpenCV中有数百种关于在不同色彩空间之间转换的方法.当前,在计算机中有三种常用的色彩空间:灰度,BGR以及HSV(Hue,Saturation,Value). 灰度色彩空间 ...

  4. 目标检测之harr---角点检测harr 的opencv实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...

  5. [转]opencv学习资料

    转自:http://blog.csdn.net/poem_qianmo/article/details/20537737 1:Mat imread(const string& filename ...

  6. opencv-角点检测之Harris角点检测

    转自:https://blog.csdn.net/poem_qianmo/article/details/29356187 先看看程序运行截图:   一.引言:关于兴趣点(interest point ...

  7. <学习opencv>过滤器和卷积

    /*=========================================================================*/ // 过滤器和卷积 /*========== ...

  8. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  9. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

随机推荐

  1. python下timer定时器常用的两种实现方法

    方法一,使用线程中现成的:   这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法: #! /usr/bin/python3 #! -*- conding: u ...

  2. 设置datagridview隔行变色

    /// <summary> /// 设置datagridview隔行变色 /// </summary> /// <param name="e"> ...

  3. MVC开发模式以及Smarty模板引擎的使用

    Linux 全局安装 composer 将目录切换到/usr/local/bin/目录 cd /usr/local/bin/ 在 bin 目录中下载 composer curl -sS https:/ ...

  4. javaweb实现注册页面(数据库连接以及ajax验证)

    先放效果图 可实现js实时验证        可实现ajax实时验证注册信息是否存在   页面实现要求 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求 ...

  5. 与soul上的一个妹子聊天有感

    写此篇的原因: 妹子说,我考上公务员了~,当时自己自己顿时哽咽了,不知道说什么,习惯性的说了句,恭喜恭喜啊.感受到妹子的欢喜与喜悦,我也没必要打扰她的兴致,她开心就好了嘛. 每个人的成就都是自己奋斗的 ...

  6. springMVC请求访问的整个过程

    //以上个随笔(springMVC项目配置文件)为基础,详述springMVC请求的整个过程流向 web.xml                                            ...

  7. springboot里面的缓存注解

    https://blog.csdn.net/u012240455/article/details/80844361 https://lfvepclr.gitbooks.io/spring-framew ...

  8. Git分支规范说明

    1.分支类型说明 分支名称 分支描述 唯一 权限管理 release 发布分支,内部分支,当确定需要发布版本时,从develop分支拉出此分支 唯一 最高权限,由版本经理或者团队核心成员组管理 mas ...

  9. tensorflow expand_dims和squeeze

    有时我们会碰到升维或降维的需求,比如现在有一个图像样本,形状是 [height, width, channels],我们需要把它输入到已经训练好的模型中做分类,而模型定义的输入变量是一个batch,即 ...

  10. mybatis第二天01

    MyBatis第二天01 1.高级结果映射 1.1根据视频案例,分析表之间的关系 数据模型分析 1. 明确每张表存储的信息 2. 明确每张表中关键字段(主键.外键.非空) 3. 明确数据库中表与表之间 ...