Real time face recognition systems have several limitations such as collecting features. One training sample per target means less feature extraction techniques are available to use. To obtain an acceptable accuracy, most of face recognition algorithms need more than one training sample per target. In these applications, accuracy of recognition dramatically reduces for the case of one training sample per target face image because of head rotation and variation in illumination state. In this paper, a new hybrid face recognition method by using single image per person is proposed, which is robust against illumination variations. To achieve robustness against head variations, a rotation detection and compensation stage is added. This method is called Weighted Graphs and PCA (WGPCA). It uses harmony of face components to extract and normalize features, and genetic algorithm with a training set is used to learn the most useful features and real-valued weights associated to individual attributes in the features. The k-nearest neighbor algorithm is applied to classify new faces based on their weighted features from the templates of the training set. Each template contains the corrected distances (Graphs) of different points on the face components and the results of Principal Component Analysis (PCA) applied to the output of face detection rectangle. The proposed hybrid algorithm is trained using MATLAB software to determine best features and their associated weights and is then implemented by using delphi XE2 programming environment to recognize faces in real time. The main advantage of this algorithm is the capability of recognizing the face by only one picture in real time. The obtained results of the proposed technique on FERET database show that the accuracy and effectiveness of the proposed algorithm.