Machine vision and automatic surface inspection has been an active field of research during the last few years. However, very little research has been contributed to the area of defect detection in textured images, especially for the case of random textures. In this paper, we propose a novel algorithm that uses colour and texture information to solve the problem. A new colour clustering scheme based on human colour perception is developed. The algorithm is training based and produces very promising results on defect detection in random textured images and in particular, granite images.