函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数。 cvRound 返回和参数最接近的整数值。 cvFloor 返回不大于参数的最大整数值。cvCeil 返回不小于参数的最小整数值。在某些体系结构中该函数 工作起来比标准 C 操作起来还要快。
注意下面的编程技巧:
typedef union Cv32suf
{
}
Cv32suf;
CV_INLINE
{
#if CV_SSE2
#else
#endif
}
CV_INLINE
{
#if CV_SSE2
#else
#endif
}
#if CV_SSE2
diff.f = (float)(value - temp);
return temp - (diff.i < 0);
这两句话的技巧:用diff.f保存浮点数。因为是联合体定义的diff,因此当再用diff.i解释那块内存时,可能数值会变化,但数值的正负不会变。