A method for generating a lookup table for color correction for a display device, a color of each pixel of images displayed on the display device being represented in a 24-bit RGB value and expressed as a triplet (r, g, b), where r, g and b are red, green and blue components, respectively, and each component is an 8-bit unsigned integer, each color corresponding to tristimulus values comprising X stimulus value, Y stimulus value, and Z stimulus value, the RGB value (i, i, i) where all components are equal representing the i-th shade of gray or grayscale, where i is an integer ranging from 0 to 255, the RGB values (i, 0, 0), (0, i, 0) and (0, 0, i) representing respectively the i-th grayscale of the primary red, the i-th grayscale of the primary green and the i-th grayscale of the primary blue, the RGB values (255, 0, 0), (0, 255, 0) and (0, 0, 255) representing the primaries red, green, and blue respectively, the method comprising: measuring tristimulus values for grayscales and tristimulus values for primaries displayed on the display device; calculating stimulus values for the grayscales of the primaries according to the measured tristimulus values for the grayscales and the measured tristimulus values for the primaries; calculating a target maximum luminance value according to a target color temperature value and the measured tristimulus values for the maximum grayscale; calculating target tristimulus values for the grayscales according to the target maximum luminance value, the target color temperature value and a target gamma value; calculating target stimulus values for the grayscales of the primaries according to the target tristimulus values for the grayscales and the measured tristimulus values for the primaries; when the target stimulus value for one grayscale of one primary is between stimulus values for two adjacent grayscales of the one primary, using an interpolation method to calculate a sub-grayscale which is corresponding to the target stimulus value for the one grayscale of the one primary and is between the two adjacent grayscales of the one primary, rounding the sub-grayscale to be a lookup value and then filling the lookup value in a cell corresponding to the one grayscale of the one primary in the lookup table; when the target stimulus values from the minimum grayscale to a grayscale of one primary each are not between stimulus values for two adjacent grayscales of the one primary, setting a lookup value corresponding to the minimum grayscale of the one primary to be zero, taking a linear relationship between the lookup values corresponding to the minimum grayscale of the one primary and a grayscale next to the one grayscale of the one primary to obtain lookup values and then fill in cells corresponding to the minimum grayscale to the one grayscale of the one primary in the lookup table. measuring tristimulus values for grayscales and tristimulus values for primaries displayed on the display device; calculating stimulus values for the grayscales of the primaries according to the measured tristimulus values for the grayscales and the measured tristimulus values for the primaries; calculating a target maximum luminance value according to a target color temperature value and the measured tristimulus values for the maximum grayscale; calculating target tristimulus values for the grayscales according to the target maximum luminance value, the target color temperature value and a target gamma value; calculating target stimulus values for the grayscales of the primaries according to the target tristimulus values for the grayscales and the measured tristimulus values for the primaries; when the target stimulus value for one grayscale of one primary is between stimulus values for two adjacent grayscales of the one primary, using an interpolation method to calculate a sub-grayscale which is corresponding to the target stimulus value for the one grayscale of the one primary and is between the two adjacent grayscales of the one primary, rounding the sub-grayscale to be a lookup value and then filling the lookup value in a cell corresponding to the one grayscale of the one primary in the lookup table; when the target stimulus values from the minimum grayscale to a grayscale of one primary each are not between stimulus values for two adjacent grayscales of the one primary, setting a lookup value corresponding to the minimum grayscale of the one primary to be zero, taking a linear relationship between the lookup values corresponding to the minimum grayscale of the one primary and a grayscale next to the one grayscale of the one primary to obtain lookup values and then fill in cells corresponding to the minimum grayscale to the one grayscale of the one primary in the lookup table.