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()函数的更多相关文章
- opencv2函数学习之erode、dilate:图像腐蚀和膨胀
图像腐蚀和图像膨胀是图像中两种最基本形态学操作. ,-), ,int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphol ...
- 【OpenCV十六新手教程】OpenCV角检测Harris角点检测
本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...
- 第三节,使用OpenCV 3处理图像(模糊滤波、边缘检测)
一 不同色彩空间的转换 OpenCV中有数百种关于在不同色彩空间之间转换的方法.当前,在计算机中有三种常用的色彩空间:灰度,BGR以及HSV(Hue,Saturation,Value). 灰度色彩空间 ...
- 目标检测之harr---角点检测harr 的opencv实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/29356187 作者:毛星云(浅墨) ...
- [转]opencv学习资料
转自:http://blog.csdn.net/poem_qianmo/article/details/20537737 1:Mat imread(const string& filename ...
- opencv-角点检测之Harris角点检测
转自:https://blog.csdn.net/poem_qianmo/article/details/29356187 先看看程序运行截图: 一.引言:关于兴趣点(interest point ...
- <学习opencv>过滤器和卷积
/*=========================================================================*/ // 过滤器和卷积 /*========== ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
随机推荐
- IDEA 同时打开两个项目,相互引用
- tensorflow高阶操作
本篇内容有:如何根据坐标有目的的选择(where).如何根据坐标有目的的更新(scatter_nd).如何生成一个坐标系() 1.where where针对的tensor是一个bool类型的tenso ...
- 正确安装Windows server 2012 r2的方法
正确安装Windows server 2012 r2的方法,请看下面的步骤 方法/步骤 1 准备好镜像文件,安装 2 输入密钥,下一步 选择下面(带有GUI的服务器).不要选上面的(服务器核心安装), ...
- linux 文件系统管理三部曲之一:磁盘分区
硬盘和主板的连接的地方:叫接口,硬盘的接口类型: iops:i/o per second:每秒的读写次数. IDE(ata):并口(数据并行传输),理论最大传输 133MB/S:iops:100次 S ...
- JAVA方法中参数到底是值传递还是引用传递
当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递? 答:是值传递.Java 语言的参数传递只有值传递.当一个实例对象作为参数被传递到方法中时,参 ...
- js 时间格式转换
js时间格式转换 格式化时间转成时间戳 //格式化转时间戳(单位秒) function strtotime(strtime) { strtime = strtime.substring(0, 19); ...
- UML 建模 -- 基础知识
1.UML简介 UML(Unidied Modeling Language)为面向对象软件设计提供统一的,标准的,可视化的建模语言.适用于以用例为驱动,以体系结构为中心的软件设计全程 2.UML模型的 ...
- 回味Ubuntu10.10致敬Gnome桌面
目录 Ubuntu10.10可用源 Ubuntu10.10更新语言包 输入法支持 浏览器选择 文件下载 压缩文件中文乱码的处理 视频播放 科学计算 搭建Lamp环境 实现文件分享 主题美化 Ubunt ...
- (一)Python模块化编程简介
1 引言 众所周知,模块化编程具备很多优点,尤其在复杂项目上体现更为明显.Python模块化编程有助于开发者统筹兼顾和分工协作,并提升代码灵活性和可维护性,是编程开发者不可或缺的一项重要工具. 2 P ...
- 853. 有边数限制的最短路(Bellman-ford算法模板)
给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你求出从1号点到n号点的最多经过k条边的最短距离,如果无法从1号点走到n号点,输出impossible. 注意:图中可能 存 ...