函数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();
return ;
}

运行结果:

【OpenCV3】cvRound()、cvFloor()、cvCeil()函数详解-LMLPHP

05-11 15:10