官网: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. PHP0011:学生信息管理案例

    PHP中 html js 混合用

  2. 深入浅出Mybatis系列九-强大的动态SQL

    注:本文转载自南轲梦 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 上篇文章<深入浅出Mybatis系列(八)---mapper映射文件配置之se ...

  3. PHP 实现遍历出目录及其子文件

    手册(有PHP4的实现方式哦):https://www.php.net/manual/zh/function.scandir.php 直接附代码吧PHP5和PHP7 直接有scandir()函数,遍历 ...

  4. TCP与UDP的一些心得

    1:CC攻击是正常的业务逻辑,大并发让你处理不过来,处理XP SP2,以上的系统都封了RAW格式协议封包自定义,除了基于应用层改协议,之外都是模拟或请求来测试传输层2:UDP不会粘包,不会少包,除非缓 ...

  5. JS Radio结合TEXT

    <script> function fun_a(value){ if(value === "on"){ document.getElementById('a').dis ...

  6. Mac苹果电脑如何格式化?

    一般而言,我们想要在Windows系统上实现格式化操作是非常容易的.然而在苹果电脑上,我们则需要通过launchpad下的磁盘工具来进行,相对而言比较麻烦.关于“苹果电脑怎么格式化”的问题也困扰着无数 ...

  7. numpy包学习笔记

    导入 import numpy as np argsort() numpy中的排序函数 返回的是数组中从小到大的索引值 from numpy import * test=[5,2,3,4,1] pri ...

  8. [Java]对double变量进行四舍五入,并保留小数点后位数

    1.功能 将double类型变量进行四舍五入,并保留小数点后位数 2.代码 import java.math.BigDecimal; import java.math.RoundingMode; im ...

  9. java - 并发集合 Vector、synchronizedCollection、CopyOnWriteArrayList之间的区别。

    概要 JDK中提供ArrayList集合方便我们对集合内元素进行增删改查,但是ArrayList为了能够在单线程中快速进行操作其设计并不支持多线程进行操作.ArrayList在多线程环境下可能会产生j ...

  10. Meta(其他信息)

    简介 元数据就是描述数据的数据 <meta> 元素表示那些不能由其它HTML元相关元素 (<base>, <link>, <script>, <s ...