Detecting the surface defects of complex components exhibiting different visual properties in positions, shapes, number and sizes is a challenging problem. In this paper a novel computational framework is developed to accurately detect the component surface defects through three steps. In the framework, the positions and shapes of the components surface defects are extracted based on the support vector machine and the point cloud model. Then a novel unsupervised classification method termed as spreading algorithm is proposed to classify the defects for the recognition of the number of defects, and finally the sizes of defects are calculated using the covariance matrix 3D measurement method. Experimental cases on two typical complex components, the blade with depression and protrusion defects and the transmission case with defect and normal features, are investigated. The results are particularly compared with the ones with the state-of-the-art methods, showing the practicality and effectiveness of the proposed technique.