Script identification is an important step in automatic understanding of ancient manuscripts because there is no universal script-independent understanding tool available. Unlike the machine-printed and modern documents, ancient manuscripts are highly-unconstrained in structure and layout and suffer from various types of degradation and noise. These challenges make automatic script identification of ancient manuscripts a difficult task. In this paper, a novel method for script identification of ancient manuscripts is proposed which uses a representation of images by a set of overlapping patches, and considers the patches as the lowest unit of representation (objects). Non-Negative Matrix Factorization (NMF), motivated by the structure of the patches and the non-negative nature of images, is used as feature extraction method to create low-dimensional representation for the patches and also to learn a dictionary. This dictionary will be used to project all of the patches to a low-dimensional space. A second dictionary is learned using the K-means algorithm for the purpose of speeding up the algorithm. These two dictionaries are used for classification of new data. The proposed method is robust with respect to degradation and needs less normalization. The performance and reliability of the proposed method have been evaluated against state-of-the-art methods on an ancient manuscripts dataset with promising results.