请查看从 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 的逻辑是什么