1

请查看从 OpenCV 2.4.2 第 425 行的文件lkpyramid.cpp的 VS2010 工作区获取的以下数据

(A12*b2 - A22*b1) * D            -0.0551553(87)159150693    double
(float)((A12*b2 - A22*b1) * D)   -0.0551553(89)         float
delta.x                          -0.0551553(89)         float


(A12*b2 - A22*b1) * D            -0.0564279(18)227904397    double
(float)((A12*b2 - A22*b1) * D)   -0.0564279(18)         float
delta.x                          -0.0564279(18)         float


(A12*b2 - A22*b1) * D            -0.0360617(69)124602773    double
(float)((A12*b2 - A22*b1) * D)   -0.0360617(67)         float
delta.x                          -0.0360617(67)         float

看看数字 87->89, 18->18, 69->67 是如何转换的,但我们不知道编译器正在从 double 转换为 float 是截断还是做更多的事情。

现在的问题是从 double 转换为 float 的逻辑是什么

4

0 回答 0