A computer-implemented method for correcting a makeup or skin effect to be rendered on a surface region of an image of a portion of a body of a person, which accounts for a light field of the image, the method comprising: calculating a light intensity estimation of the image by defining a V_face value of the average color of pixels in a first region of the image on a scale between a smallest V and a largest V and remapping to a normalized scale; determining a minimum light field estimation of the image by defining a V_black value as the lowest V value of pixels in a second region of the image, the second region being different from the first region of the image and being expected to contain a black color; receiving color effect parameters of the makeup or skin effect; correcting the color effect parameters through a non-linear transformation accounting for the light intensity estimation and the minimum light field estimation to generate a light field corrected makeup or skin effect by (i) applying a non-linear light field transformation to determine an adjusted color V value V_adjusted such that V_adjusted = V_original ∗ (1-V_original ∗ c_1), where a color of the makeup or skin effect has the V value V_original and c_1 is a value distortion correcting constant factor in the 0-1 range and preferably in the 0.4 to 0.9 range; and (ii) applying a non-linear light field transformation with minimum light compensation to determine a new V value V_new to apply such that: if (V_face>V_black) and (c_2>V_black) and (V_adjusted>V_black) then V_new = (V_adjusted - V_black) ∗ (V_face-V_black) / (c_2-V_black) + V_black else V _ new = V _ black where c_2 is a is a base value limit in the 0-1 range and preferably in the 0.3 to 0.8 range; rendering the light field corrected makeup or skin effect on the surface region to generate a corrected image by replacing the original V of the pixels of the region with the corrected value V_new; and providing the corrected image for display; and wherein the steps of calculating, determining and correcting are performed in relation to value, V, of an HSV color space for the image. calculating a light intensity estimation of the image by defining a V_face value of the average color of pixels in a first region of the image on a scale between a smallest V and a largest V and remapping to a normalized scale; determining a minimum light field estimation of the image by defining a V_black value as the lowest V value of pixels in a second region of the image, the second region being different from the first region of the image and being expected to contain a black color; receiving color effect parameters of the makeup or skin effect; correcting the color effect parameters through a non-linear transformation accounting for the light intensity estimation and the minimum light field estimation to generate a light field corrected makeup or skin effect by (i) applying a non-linear light field transformation to determine an adjusted color V value V_adjusted such that V_adjusted = V_original ∗ (1-V_original ∗ c_1), where a color of the makeup or skin effect has the V value V_original and c_1 is a value distortion correcting constant factor in the 0-1 range and preferably in the 0.4 to 0.9 range; and (ii) applying a non-linear light field transformation with minimum light compensation to determine a new V value V_new to apply such that: if (V_face>V_black) and (c_2>V_black) and (V_adjusted>V_black) then V_new = (V_adjusted - V_black) ∗ (V_face-V_black) / (c_2-V_black) + V_black else V _ new = V _ black (i) applying a non-linear light field transformation to determine an adjusted color V value V_adjusted such that V_adjusted = V_original ∗ (1-V_original ∗ c_1), where a color of the makeup or skin effect has the V value V_original and c_1 is a value distortion correcting constant factor in the 0-1 range and preferably in the 0.4 to 0.9 range; and (ii) applying a non-linear light field transformation with minimum light compensation to determine a new V value V_new to apply such that: if (V_face>V_black) and (c_2>V_black) and (V_adjusted>V_black) then V_new = (V_adjusted - V_black) ∗ (V_face-V_black) / (c_2-V_black) + V_black else V _ new = V _ black where c_2 is a is a base value limit in the 0-1 range and preferably in the 0.3 to 0.8 range; rendering the light field corrected makeup or skin effect on the surface region to generate a corrected image by replacing the original V of the pixels of the region with the corrected value V_new; and providing the corrected image for display; and wherein the steps of calculating, determining and correcting are performed in relation to value, V, of an HSV color space for the image.