cvRound cvFloor cvCeil
函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数。 cvRound 返回和参数最接近的整数值。 cvFloor 返回不大于参数的最大整数值。cvCeil 返回不小于参数的最小整数值。在某些体系结构中该函数 工作起来比标准 C 操作起来还要快。
注意下面的编程技巧:
typedef union Cv32suf
{
int i;
unsigned u;
float f;
}
Cv32suf;
CV_INLINE int cvFloor( double value )
{
#if CV_SSE2
__m128d t = _mm_load_sd( &value );
int i = _mm_cvtsd_si32(t);
return i - _mm_movemask_pd(_mm_cmplt_sd(t,_mm_cvtsi32_sd(t,i)));
#else
int temp = cvRound(value);
Cv32suf diff;
diff.f = (float)(value - temp);
return temp - (diff.i < 0);
#endif
}
CV_INLINE int cvCeil( double value )
{
#if CV_SSE2
__m128d t = _mm_load_sd( &value );
int i = _mm_cvtsd_si32(t);
return i + _mm_movemask_pd(_mm_cmplt_sd(_mm_cvtsi32_sd(t,i),t));
#else
int temp = cvRound(value);
Cv32suf diff;
diff.f = (float)(temp - value);
return temp + (diff.i < 0);
#endif
}
#if CV_SSE2 可见,如果支持IPP,则会加速。
diff.f = (float)(value - temp);
return temp - (diff.i < 0);
这两句话的技巧:用diff.f保存浮点数。因为是联合体定义的diff,因此当再用diff.i解释那块内存时,可能数值会变化,但数值的正负不会变。
cvRound cvFloor cvCeil相关推荐
- cvRound, cvFloor, cvCeil
函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数. cvRound 返回和参数最接近的整数值. cvFloor 返回不大于参数的最大整数值. cvCeil ...
- cvRound, cvFloor, cvCeil 函数讲解
函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound :四舍五入,返回跟参数最接近的整数值: cvFloor :向下取整,返回不大于参数的最大 ...
- cvFloor(),cvCeil(),cvRound()函数解释
这三个函数都是利用舍入的方法将浮点数转换成整数. cvFloor(): 向下取整,即返回不大于参数的最大整数值: cvCeil(): 向上取整,即返回不小于参数的最小整数值: cvRoun ...
- cvRound cvFloor cvCei 和 int
cvRound 返回和参数最接近的整数值.如 1.2--->1 1.8--->2 cvFloor 返回不大于参数的最大整数值.如1.8--->1 -5.6--->-6 c ...
- 【杂谈opencv】OpenCV中的cvRound()、cvFloor()、 cvCeil()函数讲解
功能:cvRound(), cvFloor(), cvCeil()函数讲解. 函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound():返回跟 ...
- OpenCV笔记11——cvRound()、cvFloor()、 cvCeil()函数讲解
功能:cvRound(), cvFloor(), cvCeil()函数讲解. 函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound():返回跟 ...
- OpenCV中的cvRound()、cvFloor()、 cvCeil()函数讲解
版权声明:本文为博主原创文章,欢迎阅读与转载,转载请注明出处与链接. https://blog.csdn.net/sinat_36264666/article/details/78849125 功能: ...
- OpenCV中的cvRound()、cvFloor()、 cvCeil()函数
版权声明:本文为CSDN博主「空晴拜小白」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/sinat_3626 ...
- opencv 浮点数取整 cvFloor cvRound cvCeil 比较
http://www.voidcn.com/article/p-fdbhdzxi-vg.html 函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数. cvR ...
最新文章
- Springboot的部分依赖及作用
- Windows Server 2008 R2 之二十九故障转移群集(一)(
- linux驱动入口函数执行了,probe函数没有执行排查
- 开机显示输入最佳预设值_开机密码忘了怎么解决
- Ubuntu Apache 服务之 PHP 配置
- inx的c语言表达式,Spninx 解决的问题
- js处理16进制hex转str出现的中文乱码问题
- 树莓派 | threading01 - 创建两个子线程同时运行,两个线程各负责控制一个LED灯以不同的频率闪烁
- ecshop网站后台功能之系统管理
- 基于界面自动化测试框架的发展
- 全面讲解 Handler机制原理解析 (小白必看)
- 第二课: 雷电模拟器的多开和打开
- Java成神之路——技术栈
- 在PS中如何旋转箭头
- 服务器修改上传图片大小限制,修改IIS7默认上传大小限制
- 基于MATLAB改进Otsu阈值分割的车道线检测
- SpringCloud 小案例 -- SpringCloud netfilx 使用
- 本地连接受限制或无连接怎么办
- 2020工业互联网平台安全白皮书
- 如何更好的做产品决策
热门文章
- 有符号数和无符号数详解(2)补码详解
- JS深入之你知道点号(.)是怎么玩的吗?(二)
- R语言 : RJDBC 连接 h2数据库,绘基金净值图
- vivox6s Android7.1,vivo计划为7款机型升安卓7.1 今日公测
- http://www.xueh188.top/index.php/archives/36/
- ZOJ1654.Place the Robots放置机器人——最大独立集
- Topology Shapes of OpenCascade BRep
- 关于细粒度与粗粒度的理解
- wordpress小工具自定义Html,WordPress添加自定义小工具
- asp html 生成图片,asp无组件上传图片并生成缩略图