This paper presents an automatic correction method for luminosity and contrast variation in fundus images. Sixty retina or fundus images with different levels of reflectance are selected from online databases and used to assess the effectiveness of the proposed method. There are five stages in the approach, and they are image input, filtering, luminosity correction, histogram stretching and post-processing. First, a color fundus image is read as input, and its three color components, red (R), green (G) and blue (B), are separated into different channels or arrays. Next, the eye region, or the region of interest (ROI), is identified along with its border via thresholding. After that, the original ratios of red-to-green and blue-to-green for every pixel in the ROI are computed and kept together with copies of the three channels. Then, the ROI for the three channels is subjected to lowpass filtering, row-wisely in the horizontal direction and column-wisely in the vertical direction, to create a smooth background luminosity surface. This surface does not contain foreground objects such as blood vessels, optic discs, lesions, microaneurysms and others. Three lowpass filters are tested for this purpose, and their efficacy is compared. The outcome is a smooth luminosity surface that estimates the background illumination of the entire ROI. Once the background illumination is established, the luminosity is equalized for all pixels in the ROI, such that every pixel will have the same background brightness. Afterward, the histogram of the ROI is stretched or equalized to enhance the contrast between the foreground objects and the background. Next, the green channel is further improved by adding details from the blue and red channels. Finally, in the post-filtering stage, the intensities of the blue and red channels are adjusted according to their original ratios to the green channel. When all three channels are recombined, the resulting color image looks similar to the original image but shows improved luminosity and contrast. The method is tested on 60 test images. It reduces luminosity variation and increases the contrast of all images. On average, this method achieves a 30% reduction in luminosity variation and a 90% increment in contrast. The proposed method was executed on AMD 5900HS CPU using MATLAB R2021b, and the mean execution time was nearly 2 s on average.