1. 程式人生 > >OpenCV中的cvRound()、cvFloor()、 cvCeil()函式講解

OpenCV中的cvRound()、cvFloor()、 cvCeil()函式講解

功能: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=================