Facial Expression recognition based on Non-negative Matrix Factorization (NMF) requires the object images should be vectorized. The vectorization leads to information loss, since local structure of the images is lost. Moreover, NMF can not guarantee the uniqueness of the decomposition. In order to remedy these limitations, the facial expression image was considered as a high-order tensor, and an Orthogonal Non-negative CP Factorization algorithm (ONNCP) was proposed. With the orthogonal constrain, the low-dimensional presentations of samples were non-negative in ONNCP. The convergence characteristic of the algorithm was proved. The experiments indicate that, compared with other non-negative factorization algorithms, the algorithm proposed in the paper reduces the redundancy of the base image and has better recognition rate in facial expression recognition.