OpenCV3cvRound()cvFloor()cvCeil()函数详解

Posted hs-pingfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV3cvRound()cvFloor()cvCeil()函数详解相关的知识,希望对你有一定的参考价值。

函数cvRound()、cvFloor()、cvCeil()都是按照一种舍入方式将浮点型数据转换为整型数据。

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

代码测试:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
/*
    cvRound():返回跟参数最接近的整数值,即四舍五入;
    cvFloor()  :返回不大于参数的最大整数值,即向下取整;
    cvCeil():返回不小于参数的最小整数值,即向上取整;
*/
int main()
{
    cout << "cvRound(2.5) : " << cvRound(2.5) << endl;
    cout << "cvFloor(2.5) : " << cvFloor(2.5) << endl;
    cout << "cvCeil(2.5)  : " << cvCeil(2.5)  << endl;
    
    cout << "cvRound(2.5) : " << cvRound(2.5) << endl;
    cout << "cvFloor(2.5) : " << cvFloor(2.5) << endl;
    cout << "cvCeil(2.5)  : " << cvCeil(2.5)  << endl;
    
    waitKey(0);
    return 0;
}

运行结果:

技术图片

 

以上是关于OpenCV3cvRound()cvFloor()cvCeil()函数详解的主要内容,如果未能解决你的问题,请参考以下文章