The main objective of this thesis is to develop a system to automatically segment and label a variety of real-life documents written in different languages. The main idea is to partition the whole document into different subimages and assign to each of them one of two labels: text or non-text (including graphics); and then identify the text, as one of three categories, Roman; Ideographic, or Arabic script. The whole process consists of several steps. For instance, to detect the skew angle of the document, we use the Hough transform and the most frequently occurring local maximum. Moreover, in order to segment the page into regions, we have developed a novel approach based on diagonal scanning and node-edge orientation. Then, text and graph...