An image forming apparatus, comprising: an image input unit through which image data of a document is input to the image forming apparatus; and an image processing unit which comprises: i) a first colour coordinate transformer arranged to transform the input image data into luminance data and colour chrominance data of the document; ii) a second colour coordinate transformer arranged to transform the luminance data and the colour chrominance data into colour data (CMYK); and iii) a detector arranged to divide the colour chrominance data into a plurality of non-overlapping blocks of pixels and to determine a printing operation by analysing, for each block of pixels, if the maximum variation in colour chrominance data from an average value thereof (GA, GB) among the pixels in said block is within a preset range (T1, T2); wherein: the printing operation is determined to be a first printing operation, in which the colour data (CMYK) is used to form an image from a plurality of colours, if more than a predetermined number of blocks have a maximum variation in colour chrominance data that is outside of the preset range (T1, T2); and the printing operation is determined to be a second printing operation, in which the luminance data is used to form at least part of an image from black ink only, if the same as or less than the predetermined number of blocks have a maximum variation in colour chrominance data outside of the preset range (T1, T2). an image input unit through which image data of a document is input to the image forming apparatus; and an image processing unit which comprises: i) a first colour coordinate transformer arranged to transform the input image data into luminance data and colour chrominance data of the document; ii) a second colour coordinate transformer arranged to transform the luminance data and the colour chrominance data into colour data (CMYK); and iii) a detector arranged to divide the colour chrominance data into a plurality of non-overlapping blocks of pixels and to determine a printing operation by analysing, for each block of pixels, if the maximum variation in colour chrominance data from an average value thereof (GA, GB) among the pixels in said block is within a preset range (T1, T2); i) a first colour coordinate transformer arranged to transform the input image data into luminance data and colour chrominance data of the document; ii) a second colour coordinate transformer arranged to transform the luminance data and the colour chrominance data into colour data (CMYK); and iii) a detector arranged to divide the colour chrominance data into a plurality of non-overlapping blocks of pixels and to determine a printing operation by analysing, for each block of pixels, if the maximum variation in colour chrominance data from an average value thereof (GA, GB) among the pixels in said block is within a preset range (T1, T2); wherein: the printing operation is determined to be a first printing operation, in which the colour data (CMYK) is used to form an image from a plurality of colours, if more than a predetermined number of blocks have a maximum variation in colour chrominance data that is outside of the preset range (T1, T2); and the printing operation is determined to be a second printing operation, in which the luminance data is used to form at least part of an image from black ink only, if the same as or less than the predetermined number of blocks have a maximum variation in colour chrominance data outside of the preset range (T1, T2). the printing operation is determined to be a first printing operation, in which the colour data (CMYK) is used to form an image from a plurality of colours, if more than a predetermined number of blocks have a maximum variation in colour chrominance data that is outside of the preset range (T1, T2); and the printing operation is determined to be a second printing operation, in which the luminance data is used to form at least part of an image from black ink only, if the same as or less than the predetermined number of blocks have a maximum variation in colour chrominance data outside of the preset range (T1, T2).