diff --git a/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h b/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h index c698ac6ae9251baa144218a8aef914b7677c0c8c..2b67cbea786450e718960012170575009e83b85c 100644 --- a/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h +++ b/Code/Radiometry/otbLuminanceToReflectanceImageFilter.h @@ -88,7 +88,7 @@ public: * m_IlluminationCorrectionCoefficient / m_SolarIllumination; - outPixel = static_cast<TOutput>( vcl_floor(temp*1000.)/1000.); + outPixel = static_cast<TOutput>( vcl_floor((temp+0.0005)*1000.)/1000.); return outPixel; } diff --git a/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h b/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h index 887dcff4659b701900bee52c2ce49fef420b882c..430682177ffeb98d4efc17769fd99738e855b732 100644 --- a/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h +++ b/Code/Radiometry/otbReflectanceToSurfaceReflectanceImageFilter.h @@ -97,7 +97,7 @@ public: temp = static_cast<double>(inPixel)*m_Coefficient + m_Residu; temp2 = temp / (1. + m_SphericalAlbedo * temp); - outPixel = static_cast<TOutput>( vcl_floor(temp2*1000.)/1000.); + outPixel = static_cast<TOutput>( vcl_floor((temp2+0.0005)*1000.)/1000.); return outPixel; }