cvRound,nbsp;cvFloor,nbsp;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,nbsp;cvFloor,nbsp;cvCeil相关推荐
- 【杂谈opencv】OpenCV中的cvRound()、cvFloor()、 cvCeil()函数讲解
功能:cvRound(), cvFloor(), cvCeil()函数讲解. 函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound():返回跟 ...
- <OpenCV>cvRound()、cvFloor()、 cvCeil()函数
函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound():返回跟参数最接近的整数值,即四舍五入: cvFloor():返回不大于参数的最大整数 ...
- 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中的cv::Mat::create()函数,cvRound(),cvFloor(),cvCeil()函数的详解l
文件说明: cv::create()函数的详解 函数原型: inline void Mat::create(int _rows, int _cols, int _type) inline void M ...
- OpenCV函数学习:cvRound,cvFloor,cvCeil
函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound 返回跟参数最接近的整数值: cvFloor 返回不大于参数的最大整数值: cvCeil ...
- 函数cvRound,cvFloor,cvCeil用法
函数cvRound,cvFloor,cvCeil 都是用采用一种舍入的方法将输入浮点数转换成整数: cvRound :返回跟参数最接近的整数值: cvFloor: 返回不大于参数的最大整数值: cvC ...
- 【OpenCV3】cvRound()、cvFloor()、cvCeil()函数详解
函数cvRound().cvFloor().cvCeil()都是按照一种舍入方式将浮点型数据转换为整型数据. cvRound():返回跟参数最接近的整数值,即四舍五入: cvFloor() :返回不 ...
- OpenCV学习之cvRound()、cvFloor()、cvCeil()理解
cvRound(float a):将浮点数a四舍五入取整,即返回跟参数最接近的整数值. cvFloor(float ,a) :将浮点数a向下取整,即返回不大于参数的最大整数. cvCeil(float ...
最新文章
- Windows mobile UI
- JFileChooser和FileFilter的使用
- 【深度学习】深度神经网络框架的INPUT PROCESS
- volatile修饰的变量_看了这篇volatile详细介绍,面试你会害怕?
- linux下升级python
- 每日一程-4. PyQt5-实现显示和业务逻辑分离
- A*寻路算法的探寻与改良(一)
- Java:Eclipse下载安装教程,以及Eclipse 安装汉化包的方法
- 简单漂亮的流程图模板分享
- 卸载python2.7_98%的人这样卸载软件,真的卸载干净了吗?这才是正确的卸载方式...
- 全球与中国冲压空气涡轮行业调查与未来发展趋势研究报告
- linux服务器的外网IP查阅方式
- plsql删除历史记录(重新打开文件)
- jmeter结果树为空_Jmeter查看结果树之查看响应的13种方法[详解]
- 快速找出两个Word文档之间的差别
- 湖南中医药大学成考2022年下学期网络课程学习与考试工作安排
- vscode连接模拟器运行flutter项目
- 2021全球十大外盘期货交易平台排名
- 微信电商小程序开发有什么好处呢
- OLE- 微软API—对象链接与嵌入
热门文章
- miniblink 封装duilib 控件 WkeWebkitUI 离屏渲染方式
- webp的js插件_网页webp解决方案
- 虚幻引擎(6)-过场动画
- 【MFO】飞蛾扑火优化算法(Moth Flame Optimization,MFO)理论分析与matlab性能仿真,使用CEC2017测试
- 新塘系列linux_身边的新塘+M0系列总结
- 《扬帆优配》10只新股本周来袭!芯片封测细分龙头来了
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?...
- C++如何定义一个函数指针
- 【重要】opencv实现立体匹配
- 永兴的笔记-OpenCV-14视频基本操作 1