An image processing apparatus, comprising: an edge detecting unit configured to (a) search each target line selected by a control unit in a page image obtained through image scanning that includes plural rectangular objects (111, 112, 113, 114; 201, 202) for edges of the plural rectangular objects (111, 112, 113, 114; 201, 202), and (b) detect the edges of the plural objects on the target line on the basis of density variation, i.e. a variation of brightness value, between pixels in the target line; a rectangular object detecting unit configured to (a) detect the plural rectangular objects (111, 112, 113, 114; 201, 202) on the basis of the detected edges, and (b) determine respective positions, respective sizes and respective tilt angles of the plural rectangular objects (111, 112, 113, 114; 201, 202); and an arrangement processing unit configured to rotate areas of the plural rectangular objects (111, 112, 113, 114; 201, 202) specified by the determined positions, the determined sizes and the determined tilted angles by angles corresponding to the tilted angles, respectively; wherein if one of two rectangular objects among the plural rectangular objects partially overlap with one edge of the other of the two rectangular objects, the rectangular object detecting unit (a) separates the two rectangular objects and (b) restores at least one of the separated two rectangular objects to a rectangular shape by extrapolating a lacking part thereof, wherein when rotating the two rectangular objects, the arrangement processing unit selects a rotation center of an area of each one of the two rectangular objects from four vertexes of each one of the two rectangular objects so as not to overlap areas of the two rectangular objects after the rotation. an edge detecting unit configured to (a) search each target line selected by a control unit in a page image obtained through image scanning that includes plural rectangular objects (111, 112, 113, 114; 201, 202) for edges of the plural rectangular objects (111, 112, 113, 114; 201, 202), and (b) detect the edges of the plural objects on the target line on the basis of density variation, i.e. a variation of brightness value, between pixels in the target line; a rectangular object detecting unit configured to (a) detect the plural rectangular objects (111, 112, 113, 114; 201, 202) on the basis of the detected edges, and (b) determine respective positions, respective sizes and respective tilt angles of the plural rectangular objects (111, 112, 113, 114; 201, 202); and an arrangement processing unit configured to rotate areas of the plural rectangular objects (111, 112, 113, 114; 201, 202) specified by the determined positions, the determined sizes and the determined tilted angles by angles corresponding to the tilted angles, respectively; wherein if one of two rectangular objects among the plural rectangular objects partially overlap with one edge of the other of the two rectangular objects, the rectangular object detecting unit (a) separates the two rectangular objects and (b) restores at least one of the separated two rectangular objects to a rectangular shape by extrapolating a lacking part thereof, wherein when rotating the two rectangular objects, the arrangement processing unit selects a rotation center of an area of each one of the two rectangular objects from four vertexes of each one of the two rectangular objects so as not to overlap areas of the two rectangular objects after the rotation.