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. 有段时间曾经很诧异,到底两种数据类型用来 ...
随机推荐
- 【spring】spring源码阅读之xml读取、bean注入(BeanFactory)
前言 此源码其实是在4月中旬就看了,而且当初也写了一份word文档,但不打算直接把word发上来.还是跟着以前的笔记.跟踪代码边看边写吧. 其实当初看源码的理由很简单,1.才进新公司,比较有空闲.2. ...
- Spark学习之路 (六)Spark Transformation和Action[转]
Transformation算子 基本的初始化 (1)java static SparkConf conf = null; static JavaSparkContext sc = null; sta ...
- 手写MyBatis流程
MyBatis 手写MyBatis流程 架构流程图 封装数据 封装到Configuration中 1.封装全局配置文件,包含数据库连接信息和mappers信息 2.封装*mapper.xml映射文件 ...
- 曼孚科技:AI语音交互领域常用的4个术语
语音交互是基于语音输入的新一代交互模式,比较典型的应用场景是各类语音助手. 本文整理了语音交互领域常用的4个术语,希望可以帮助大家更好地理解这门学科. 1. 语音合成标记语言(SSML) 语音合成标 ...
- ubuntu---禁止更新内核
系统内核 4.15.0-29 更新成了 4.15.0-88,降级内核并禁止更新内核 查看已安装内核:dpkg --get-selections |grep linux-image 查看正在使用的内核 ...
- c语言中 char* 和 unsigned char* 的区别浅析(转)
原文:https://blog.csdn.net/guotianqing/article/details/77341657 背景最近在项目中遇到了一个编译警告,是因为定义的变量为char[],而在使用 ...
- 使用ADO.NET 查询和操作数据
一.使用StringBuilder类追加和删除字符串 1.创建StringBuilder类的对象 StringBuilder sb=new StringBuilder("初始字符串值&quo ...
- 自动生成admin(后台)
public --->>>>index.php 入口文件如下: // +---------------------------------------------------- ...
- MySQL的字段属性+SQLyog查看建表语句
MySQL的字段属性 写在前面:数据库就是单纯的表,用来存储数据,只有行和列.行代表数据,列代表字段(id.name.age这种就叫字段) 1.长度 2.默认 3.主键 4.非空 5.Unsigned ...
- 402 WebEx会议教程二 —— 召开会议
··· WebEx会议教程二 —— 召开会议 简介:召开一个WebEx会议,并邮件邀请其他人参加会议 1. 安装快捷会议工具,将WebEx按钮集成到Outlook中. WebEx快捷会议工具- ...