【杂谈opencv】OpenCV中的cvRound()、cvFloor()、 cvCeil()函数讲解

泪湿孤枕 提交于 2019-11-29 19:18:30

功能:cvRound(), cvFloor(), cvCeil()函数讲解。

函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数:

cvRound():返回跟参数最接近的整数值,即四舍五入;
cvFloor():返回不大于参数的最大整数值,即向下取整;
cvCeil():返回不小于参数的最小整数值,即向上取整;

===============分割线===============
代码演示
//----------------------------------------------------------
//功能:cvRound(), cvFloor(), cvCeil()函数讲解。
//        cvRound():返回跟参数最接近的整数值,即四舍五入;
//        cvFloor():返回不大于参数的最大整数值,即向下取整;
//        cvCeil():返回不小于参数的最小整数值,即向上取整;
//----------------------------------------------------------
#include <opencv2/opencv.hpp>
using namespace std;
 
int main()
{
    //--------------【正数部分】--------------------------------
    cout << "cvRound(3.7) = " << cvRound(3.7) << endl;
    cout << "cvFloor(3.7) = " << cvFloor(3.7) << endl;
    cout << "cvCeil(3.7) = " << cvCeil(3.7) << endl;
    cout << "--------------------------------" << endl;
    //--------------【负数部分】--------------------------------
    cout << "cvRound(-3.7) = " << cvRound(-3.7) << endl;
    cout << "cvFloor(-3.7) = " << cvFloor(-3.7) << endl;
    cout << "cvCeil(-3.7) = " << cvCeil(-3.7) << endl;
    cout << "--------------------------------" << endl;
    system("pause");
    return 0;
}
=================分割线===============
显示结果

================分割线=====================
程序说明
分别对正数和负数进行了测试:正数为3.7,负数为-3.7。
显示结果如上图,返回的值都是整数。
================END=================
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!