Image processing method and apparatus for document analysis

Abstract: An image processor which receives an image and assigns a position of an arbitrary pixel in the image. An image block is extracted from the received image, and start and end positions of a designated area of the received image are acquired. A designated image block in the extracted image block is designated for processing in accordance with the start and end positions of the designated area of the received image.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to an image processing method and an image processing apparatus for appointing an area in a supplied image. Description of the prior Art Hitherto, wide use of image reading apparatus, such as image scanners, result in known image processing apparatus (image processing software included) which are capable of using or processing an image read photoelectrically. In order to appoint a partial area of an image formed by a conventional image processing apparatus of the foregoing type, there has been a most usual method that appoints, i.e. designates or assigns, an area within a rectangular shape. The method comprises the steps of displaying an image on a display, and acquiring coordinates of the diagonals of an area in the image to be appointed by using a pointing device, such as a mouse. There is another method for appointing an area within a polygon. The foregoing method comprises the step of sequentially appointing vertexes of an appointed polygon. Thus, an area in the form of a further complicated shape can be appointed. For example, the following portions can be appointed from an original image formed on a display device as shown in Fig. 19: a character image 2101 which is a portion of a document, a table image 2102, an image 2103 of a graph and its title and a portion 2104 of a half tone image, such as a photograph. However, appointing of the character image 2101 with the foregoing conventional image processing apparatus using a polygon to appoint an area because the area cannot be appointed within a rectangle has.a problem that a large number of operations must be performed to appoint the area because the polygon has 8 vertexes, thus resulting in requiring an excessively long time to complete the appointing process. When an image is displayed on the display device, the original image is thinned to make the overall area of the image to be included in the display. If an area is appointed on the displayed screen, an accurate position cannot easily be appointed. Therefore, an image adjacent to the boundary, which must be positioned on the outside of the appointed area, is undesirably introduced into the appointed area, and therefore a problem arises that an area cannot accurately be appointed. In order to overcome the foregoing problems, there is a technology having an arrangement that an original image or an image having a changed thinning magnification is displayed to appoint an accurate position. However, the foregoing case results in a necessity of additional operations exemplified by an operation of switching the displaying magnification of a displayed image and an image scrolling operation and the like. As a result, the number of operations required to complete the area appointment increases and thus a problem arises in that the operation of appointing an area becomes too complicated. That is, although the appointment of an image can be considered as a selection of pixels, there are many cases that the minimum unit of an appointed area does not need to be the pixel unit. For example, one character image unit is the minimum unit of the character image 2101, the line and the array or cell unit is the same as the table image 2102, the graph portion and the title portion are the same as the image 2103 of the graph and its title. In the foregoing circumstance, the conventional image processing apparatus enables only the appointment in a pixel unit to be performed, and accordingly the foregoing problems arise. An article by K Y Wong et al, entitled "Document Analysis System" in the IBM Journal of Research and Development, vol 26, No 6 November 1982 discloses apparatus for dividing documents into text and non-text areas. European Patent Specification No EP-A-0496531 discloses a technique of analysing the layout of a document and labelling character strings using separators and sub-separators. A document entitled Catch Word Pro-User's Guide by Logitech; Macintosh version, 1993, CA, USA, pages 17-26 discloses a technique for automatically generating selection boxes surrounding a header and a column from a scanned document. European Patent Specification No EP-A-0439951 discloses a text editing system that is capable of operating on text present in an image pixel-based format. The system includes character and word segmentation steps and a data structure that provides the necessary links between the segmented characters and words. The present invention is directed to overcoming the problems experienced with the foregoing conventional technology, and therefore a concern of the present invention is to provide an image processing method and an apparatus which are capable of easily appointing a portion of a supplied image with a decreased number of operations or by easily making a subject image visible. Thus, according to a first aspect of the present invention, there is provided an image processing method as set out in claim 1. According to a second aspect of the invention there is provided image processing apparatus as set out in claim 14. As a result, the area appointment of a portion of an image can be performed in image block units, and therefore the area appointment operation can easily be performed. As result, the area appointment of a portion of an image can be performed in image block units, and therefore the area appointment operation can easily be performed. According to the image processing method and an apparatus therefor according to the present invention, when an area of a portion of an image is appointed, the area appointment is performed in image block units. Therefore, the area appointment operation can easily be performed, the operation of appointing the area can efficiently be performed, the area appointment can accurately be completed, and therefore an effect can be obtained in that an efficient appointed area can be obtained. When an image, an area of which has been appointed, is subjected to another process, the spaces between lines and between characters are not included in the appointed areas in, for example, an optical character reader (an OCR). Therefore, effects can be obtained in that the time taken to complete transfer can be shortened when an image is transferred and that the capacity required to store an image can be saved when the image is stored in a memory or the like. Other features and advantages of the invention will be appear more fully from the following description, in which Fig. 1 is a block diagram which illustrates the structure of an image processing apparatus; Fig. 2 is a flow chart which illustrates a procedure of controlling an area appointing process to be performed by the apparatus of Fig. 1; Fig. 3 is a flow chart which illustrates a procedure of controlling an image block dividing process to be performed by the apparatus of Fig. 1; Fig. 4 is a flow chart which illustrates a procedure of controlling an image block dividing process to be performed by the apparatus of Fig. 1; Fig. 5 is a flow chart which illustrates a procedure of controlling an image block dividing process to be performed by the apparatus of Fig. 1; Fig. 6 is a flow chart which illustrates a procedure of controlling an appointed image block selecting process to be performed by the apparatus of Fig. 1; Figs. 7A-7C are diagrams which illustrate a state of a display of the apparatus of Fig. 1; Figs. 8A-8E are diagrams which illustrate an image block dividing process to be performed by the apparatus of Fig. 1; Fig. 9 is a flow chart which illustrates a procedure of controlling an image block dividing process to be performed by another example of an image processing apparatus; Figs. 10A and 10B are diagrams which illustrate an image block dividing process to be performed by the apparatus of Fig 9; Fig. 11 is a flow chart which illustrates a procedure of controlling an area appointing process to be performed by another example of an image processing apparatus; Fig. 12 is a diagram which illustrates a state of a display of the apparatus of Fig. 1 on which an area appointment start position and an area appointment end position are displayed; Fig. 13 is a flow chart which illustrates a procedure of controlling an image block dividing process to be performed by an image processing apparatus according to the present invention; Fig. 14 is a flow chart which illustrates a procedure of controlling a process for searching an appointed area start image block to be performed by the apparatus of Fig. 1; Fig. 15 is a flow chart which illustrates a procedure of controlling a process for searching an appointed area end image block to be performed by the apparatus of Fig. 1; Fig. 16 is a diagram which illustrates an image block dividing process and an image block appointing process to be performed by the apparatus of Fig. 1; Fig. 17 is a diagram which illustrates an image block dividing process and an image block appointing process to be performed by the apparatus of Fig. 1; Fig. 18 is a diagram which illustrates an image block dividing process and an image block appointing process to be performed by the apparatus of Fig. 1; and Fig.19 is a diagram which illustrates an image of a usual original document as displayed on the display device shown in Fig. 1. A Preferred embodiment of the present invention will be described with reference to the drawings. An example of image processing apparatus will now be described with reference to Figs. 1 to 4. Fig. 1 is a block diagram which illustrates the structure of an image processing apparatus. A CPU (Central Processing Unit) 1 controls all operations of the image processing apparatus to be performed in accordance with a control program stored in a ROM (Read Only Memory) 4 to be described later. The following units are connected to CPU 1 through control lines: a keyboard (a character image input means) 2, a pointing device 3, the ROM 4, a RAM (Random Access Memory) 5, an I/F (interface) 6, a display 7, such as a CRT or a liquid crystal display, and an external storage unit 8. The keyboard 2 has a plurality of keys and is used to input/modify a character image. The pointing device 3 comprises a mouse or the like having a depression button 3a which is operated when an image, or an area in the image displayed on the display 7 is appointed. The ROM 4 stores a program or the like for controlling the processes to be performed by the image processing apparatus, for example, processes shown in a flow chart to be described later, and to be performed by CPU 1. An image scanner 9 for reading images is connected to the I/F 6. The display 7 displays a supplied image or the like. The external storage unit 8 comprises a magnetic disk or the like to record various data items. An image area appointing operation to be performed by the image processing apparatus having the foregoing structure will now be described with reference to Figs. 2 and 7A-7C. Fig. 2 is a flow chart which illustrates a procedure of controlling the image area appointing operation. Figs. 7A-7C illustrate states of the display 7 on which the process for appointing an area of the image is being performed. First, in step S2-1 shown in Fig. 2, image information is read by the image scanner 9 or images previously stored in the external storage unit 8 are read. A state of the display 7 at this time is shown in Fig. 7A. In step S2-2 CPU 1 divides the supplied image into image blocks. A state of the display 7 at this time is shown in Fig. 7B. Referring to Fig. 7B, reference numeral 701 represents one image block. Although the divided image blocks are displayed on the display 7 in this embodiment, the display may be omitted. -The display of the image block in step S2-1 may be omitted but the image block may be displayed on the display 7 when the process in step S2-2 is completed. In step S2-3 a point on the image at which the depression button 3a of the pointing device 3 is depressed is set to a start point of the area appointment. The CPU 1 acquires the coordinates of the start point. Then, in a state where the depression button 3a of the pointing device 3 is being depressed, the pointing device 3 is moved to an end point of the appointment. When the depression of the depression button 3a is released, the operation of appointing the area is completed. In step S2-4, CPU 1 acquires the position of the pointing device 3. In step S2-5, CPU 1 selects an appointed image block from image blocks, the appointed image block including the appointment end position which is the position of the pointing device 3 acquired in step S2-4. A state of the display 7, on which the area is being appointed, is shown in Fig. 7C. Referring to Fig. 7C, reference numeral 702 represents a rectangular appoint range having, at its diagonal positions, the area appointment start position and the area appointment completion position. Reference numeral 703 represents one appointed image block which is inversely displayed. After CPU 1 selects, in step S2-5, an appointed image block from image blocks, the appointed image block including the appointment end position which is the position of the pointing device 3 acquired in step S2-4, CPU 1, in step S2-6, discriminates whether or not the appointment operation has been completed. If the depression of the depression button 3a of the pointing device 3 has been released, CPU 1 discriminates that the appointment operation has been completed. Thus, the finally acquired position is set to the final appointed end position and the processing operation in this embodiment is completed. If the depression of the depression button 3a has not been released, a discrimination is made that the appointment operation has not been completed, and the flow returns to step S2-4. An example of the process to be executed in step S2-2 shown in Fig. 2, that is, a process of dividing an image into image blocks will now be described with reference to a flow chart shown in Figs. 3 to 5. First, an image to be processed in step S3-1 shown in Fig. 3 is treated as one image block. The image block has, as information, "process status", "pervious projection direction status" and the position of the image block, with each state being allowed to have states "under processing", "end of the process", "vertical direction" and "horizontal direction". In step S3-2 CPU 1 initializes the "process status" of the set image block to "under processing", and initializes the "previous projection direction status" to the "horizontal direction" in step S3-3. It should be noted that the "previous projection direction status" may be initialized to the "horizontal-direction". The necessity lies in the initialization. In step S3-4 CPU 1 searches an image block, the "process status" of which is the "under processing" (discriminates whether or not any image block which is "under processing" exists). If no image block of the foregoing type exists, this processing operation is ended. If the image block is present, the flow proceeds to step S3-5. In step S3-5 CPU 1 selects one image block, the "process status" of which is the "under processing". In step S3-6 CPU 1 discriminates whether or not the "previous projection direction status" is the "vertical direction" or the "horizontal direction". If it is in the "vertical direction", the flow proceeds to step S3-7 shown in Fig. 4. If it is in the "horizontal direction", the flow proceeds to step S3-16 shown in Fig. 5. The routine of Fig. 4 will now be described. In step S3-7 CPU 1 sets the projection direction to horizontal. In step S3-8 CPU 1 discriminates whether or not plural projections exist. If plural projections exist, CPU 1, in step S3-9, divides the image blocks in a horizontal direction into the number of the projections. At this time, the position information of each image block is set in such a way that the upper and lower positions of the projection are used as the upper and lower coordinates and that the right and left positions of the image block, which has not been divided, are used as the right and left coordinates. Then, CPU 1, in step S3-10, sets all "process status" to "under processing", and, in step S3-11, CPU 1 sets all "previous projection direction status" of the image blocks, which have been divided in step S3-11, to "horizontal direction". Then, the flow returns to step S3-4 shown in Fig. 3. If a discrimination has been made in step S3-8 that plural projections do not exist, CPU 1 discriminates in step S3-12 whether or not the upper and lower positions of the projection and the upper and lower positions of the image block coincide with one another. If they coincide with one another, the flow proceeds to step S3-15 so that CPU 1 sets the "process status" to the "end of the process". If a discrimination has been made in step S3-12 that the upper and lower positions of the projection and the upper and lower positions of the image block do not coincide with one another, CPU 1 changes the upper and lower position information of the image block to the upper and lower positions of the projection. In step S3-14 CPU 1 sets the "previous projection direction status" to the "horizontal direction", and then the flow returns to step S3-4 shown in Fig. 3. The routine shown in Fig. 5 will now be described. In step S3-16 CPU 1 acquires the-projection in the vertical direction. In step S3-17 CPU 1 discriminates whether or not plural projections exist. If plural projections exist, CPU 1 divides the image block in the vertical direction into the number of the projections. At this time, the position information of each image block is set in such a way that the upper and lower positions of the projection are used as the upper and lower coordinates and that the right and left positions of the image block, which has not been divided, are used as the right and left coordinates. Then, in step S3-19 CPU 1 sets all "process status" of the divided image block to "under processing". In step S3-20 CPU 1 sets all "previous projection direction status" of the image block, which has been divided, to the "vertical direction". Then, the flow returns to step S3-4 shown in Fig. 3. If a discrimination has been made in step S3-17 that plural projections do not exist, CPU 1 discriminates, in step S3-21, whether or not the right and left positions of the projection and the right and left positions of the image block coincide with one another. If they coincide with one another, the flow proceeds to step S3-15 shown in Fig. 4 so that CPU 1 sets the "process status" to the "completion of the process". If a discrimination has been made in step S3-21 that the right and left positions of the projection and the right and left positions of the image block do not coincide with one another, CPU 1 changes right and left position information items of the image block to the right and left positions of the projection in step S3-22. In step S3-23 CPU 1 set the "previous projection direction status" to the "vertical direction". Then, the flow returns to step S3-4 shown in Fig. 3. The foregoing process will now be described with reference to Figs. 8A-8E. Fig. 8A illustrates the display 7 in a state where the process has not yet started, the foregoing state being set as a first image block. First, one projection can be acquired in the horizontal direction so that an image block 801 is obtained as shown in Fig. 8B. Then, a vertical projection of the image block 801 is acquired so that the image block 801 is divided into two image blocks 802 and 803 as shown in Fig. 8C. By acquiring the horizontal projection of the image block 802, an image block 804 can be obtained as shown in Fig. 8D. Since the right and left positions of the vertical projection of the image block 804 coincides with the right and left positions of the projection, the status is set to "completion of the process". The residual image block 803 is subjected to a similar process to which the image block 802 has been subjected. As a result, a multiplicity of image blocks as shown in Fig. 8E can be obtained. A process to be executed.in step S2-5 shown in Fig. 2, that is, an example of a process for selecting an appointed image block will now be described with reference to a flow chart shown in Fig. 6. The axis of coordinates are arranged in such a way that the left upper position is set to the origin, the x-coordinate is set toward the right and y-coordinate is set toward the bottom. First, the left upper coordinates of a rectangular region appointed in step S6-1 are set to (X1, Y1) and the right lower coordinates of the same are set to (X2, Y2). Then, the image blocks are obtained in step S6-2, and are arranged in the order of processing, and the leading image block is set to an image block of interest in step S6-3. Then, the following process is performed starting from the foregoing image block. In step S6-4 a determination is made as to whether or not an image block of interest to be processed exists. If it does not exist, this process is ended. If it exists, the flow proceeds to step S6-5. In step S6-5 the left upper coordinates of the image block of interest are set to (x1, y1) and the right lower coordinates of the same are set to (x2, y2). If the left upper point (x1, y1) of the image block of interest is, in next step S6-6, present at a right lower position with respect to the left upper point (X1, Y1) of the appointed rectangular region or if the right lower point (x2, y2) of the image block of interest is, in step S6-7, present at a left upper point with respect to the right lower point (X2, Y2), the image block of interest is set to the appointed image block in step S6-8. Then, the order of the image block of interest is advanced by one in step S6-9, and the flow returns to step S6-4. As a result of the foregoing process, an appointed image block can be selected from a plurality of image blocks. If the left upper point (x1, y1) of the image block of interest is not, in step S6-6, present at a right lower position with respect to the left upper point (X1, Y1) of the appointed rectangular region or if the right lower point (x2, y2) of the image block of interest is not, in step S6-7, present at a left upper point with respect to the right lower point (X2, Y2), step S6-8 is not executed, and the flow proceeds to step S6-9. As described above, according to this embodiment, the image block in the form of a circumscribed rectangle can be obtained by cutting and therefore only required image blocks can easily be selected. Although this embodiment has a structure in which the appointed image block can be set only in a case where the overall portion of the image block is set to the appointed area, another structure may be employed in which an appointed image block can be set if a portion of the image block is set to the appointed area. Another example of image processing apparatus will now be described with reference to Figs. 9, 10A and 10B. Although the foregoing image block dividing method according to the apparatus of Fig 1 is able to process, with a simple procedure and a light load required, an image, such as a document image having image blocks arranged vertically or horizontally, it sometimes encounters an impossibility of sufficiently finely dividing image blocks, that are arranged in a complicated manner. This apparatus is arranged to be capable of finely dividing image blocks even if they are arranged in a complicated manner. Fig. 9 is a flow chart which illustrates a procedure of performing control of a process of dividing an image block in an image processing apparatus according to this second example. Figs. 10A and 10B illustrate states of a display which are performed in the image block dividing process. In step S9-1 shown in Fig. 9, in order to start processing at the first line of an image, the first line is selected as a line of interest. In step S9-2, whether or not the line has been completed is discriminated. If it has been completed, this process is ended, and if it has not been completed the flow proceeds to step S9-3. In step S9-3, a left pixel to the line of interest to be processed is set as a pixel of interest, and observation is made from the left portion to the right portion. In step S9-4, whether or not the pixel is finished (whether or not the pixel of interest exists) is discriminated. If the pixel is finished, the next line is set to a line of interest in step S9-10, and then the flow returns to step S9-2 in which the next line is processed. If the pixel is not finished, the flow proceeds to step S9-5. In step S9-5, whether or not the pixel of interest is a black pixel is discriminated. If the pixel of interest is not a black pixel but the same is a white pixel, the pixel of interest is shifted to the right by one pixel in step S9-9. Then, the flow returns to step S9-4. If the pixel is a black pixel, a discrimination is, in step S9-6, made whether or not the boundary line of the pixel has been traced. If the pixel is not the traced pixel, the boundary is, in step S9-7, traced so that an image block is obtained. In step S9-8, the image block is skipped over so that the pixel of interest is shifted, and the flow returns to step S9-4. If a discrimination has been made in step S9-6 that the pixel is the traced pixel, step S9-7 is not executed, and the flow proceeds to step S9-8. The foregoing process will now be described with reference to Figs. 10A and 10B. Referring to Fig. 10A, reference numeral 101 represents a present line of interest, and illustrates a state where a black pixel 102 has been found. Since the black pixel 102 is in a state where its boundary has not been traced, a boundary line 103 is obtained. When the boundary line 103 has been returned to the original black pixel 102, tracing is dismissed and it is set to an image block. In order to return to a process for searching a black pixel, the pixel of interest is shifted to the right. In this state, attention is paid to a fact that the point is not a point on the obtained boundary line 103 at the time of determining a next pixel 104. An assumption is made that the line of interest 101 has been processed and setting to the line of interest is shifted to a line 105 of interest shown in Fig. 10B. Referring to Fig. 10B, the found point of a black pixel 106 is a point on a boundary line 108, and therefore the image block is skipped over to continue the process at a next pixel 107. Thus, an image block on the image can be obtained. As described above, according to this embodiment, if a supplied image cannot be divided by using a projection, image blocks can be obtained in units of boundary lines. Although the black pixel is, in this embodiment, searched from the upper line to the lower line and from the left portion toward the right portion, the searching method is not limited to this. A pre-treatment, such as an image thinning process, may be performed before the black pixel is searched. A third example of image processing apparatus will now be described with reference to Figs. 11 and 12. Since the structure of an image processing apparatus according to this example is the same as that of the apparatus shown in Fig. 1, the description will be made with reference to Fig. 1. Fig. 11 is a flow chart which illustrates a procedure of controlling a process to be performed by the image processing apparatus according to this third example. Fig. 12 illustrates a state of the display which is performing the process. In step S11-1 shown in Fig. 11, image information is read by the image scanner 9 or images previously stored in the external storage unit 8 are read. A state of the display 7 at this time is similar to that realized in the first embodiment shown in Fig. 7. In step S11-2, a point on the image, at which the depression button 3a of the pointing device 3 is depressed, is set to the start point of the area appointment. CPU 1 acquires the coordinates of the start point, and at step S11-3, a point on the image, at which the depression button 3a of the pointing device 3 is again depressed, is set to the final point of the area appointment. CPU 1 then acquires the coordinates of the start point. Fig. 12 is a diagram which illustrates the state of the display 7 on which an appointment start position 121 and an appointment completion position 122 are displayed. In step S11-4, an image block is taken from an image included in a rectangular appointed area, the diagonal positions of which are set to the appointment start position and the appointment completion position. The taken image block is, as an appointed image block, selected in step S11-5. Then, the image block is appointed, dismissed or completed in step S11-6. When the image block is dismissed, the pointing device 3 is brought to the image block already appointed in step S11-7 and then the depression button 3a of the pointing device 3 is depressed so that the appointment is dismissed. After the appointment has been dismissed, the flow returns to step S11-6. When an image block is appointed, the pointing device 3 is brought to a position adjacent to the image block dismissed from the appointment in step S11-8 and the depression button 3a of the pointing device 3 is depressed to again appoint the image block. When the image block has been appointed, the process is ended. As described above, the process for dividing the image into image blocks is performed in a portion of the image in place of the overall portion of the image. Therefore, the time taken to complete the process can be shortened. Since appointment and dismissal for each image block can be enabled, appointment can be finely performed. An embodiment of the present invention will now be described with reference to Figs. 13 to 18. In a case where an area in a character image of a supplied document is appointed with the area appointment of an image to be performed in accordance with the flow chart of Fig. 2, there sometimes arises a desire of appointing an area of a sentence from a first character of the appointment to the final character of the appointment in place of the appointment of a rectangular area performed in the first embodiment. This embodiment is arranged to appoint an area as a sentence from a first character of the appointment to the final character of the appointment. Fig. 13 is a flow chart which illustrates the procedure of controlling a process of dividing an image block to be performed by an image processing apparatus according to this embodiment. Figs. 16 to 18 are explanatory views which illustrate the image block dividing process and the process of an image block to be performed by the apparatus according to this embodiment. Also in this embodiment, an assumption is made that the document direction of the document image has been detected prior to performing the process according to this embodiment. In step S13-1 shown in Fig. 13, a projection is acquired in the direction of lines of the document. In a case of a horizontal document, a projection 165 shown in Fig. 16 is obtained. Then, in step S13-2, lines are extracted so that a linear rectangle 166 is obtained. In step S13-3, the obtained start and end coordinates of the line are stored. Referring to Fig. 16, reference numeral 161 represents line start coordinates of a first line, 162 represents line end coordinates of the first line, 163 represents line start coordinates of a second line, and 164 represents line end coordinates of the second line. In step S13-4, a projection for each line is acquired in a direction (a vertical direction) perpendicular to the direction of the line so that a projection 177 shown in Fig. 17 is obtained. In step S13-5, an image block (a character block) 178 shown in Fig. 17 is obtained. In step S13-6, the start coordinates and end coordinates of the image block are stored. Referring to Fig. 17, reference numeral 171 represents an image block start coordinates of a first character of a line, 172 represents image block end coordinate of the first character of the line, 173 represents image block start coordinates of a second character of the line, and 174 represents image block end coordinates of the second character of the line. The thus-obtained image blocks are arranged in an array starting from the first line in step S13-7, and the process is ended. When an appointed image block is selected, there arises a necessity of selecting the appointment area start image block and the appointment area end image block. Fig. 14 is a flow chart which illustrates the procedure of controlling a process for searching an appointment area start image block. In step S14-1 shown in Fig. 14, a last line of lines of a type having line start coordinates which are smaller than the appointment start position is determined as the appointment start line. In step S14-2, the earliest one of the image blocks which are within an appoint start line and whose image block end coordinate is greater than that of appoint start position is determined as the appointment area start image block. Then, this process is completed. Fig. 15 is a flow chart which illustrates the procedure of controlling a process for searching the appointment area completion image block. In step S15-1 shown in Fig. 15, a last line of lines having a line start coordinate smaller than the appointment end position is determined to be the appointment end line. In step S15-2, a last image block of those of the appointment end line and whose image block start coordinate is smaller than the appointment end position is determined to be the appointment area end image block. Then, this process is completed. If the appointment area start image block and the appointment area end image block are obtained, they are searched from the image block array obtained in step S13-7 shown in Fig. 13 so that all image blocks present between the appointment area start image block and the appointment area end image block are determined to be appointed image blocks. The display of the appointed image blocks may be performed variously, for example, the inverse display of the image blocks employed in the foregoing embodiments and display for changing the color. A display shown in Fig. 18 may be employed in which the overall body of a rectangular form 181 between the appointment area start image block and the appointment area end image block is inversely displayed. As described above, according to this embodiment, a portion of a document image can be appointed without collapse of the sentences. The rule for selecting the image blocks is not limited to the method according to this embodiment. Although the invention has been described in its preferred form with a certain degree of particularly, it is understood that the present disclosure of the preferred form can be changed in the details of construction and the combination and arrangement of parts may be resorted to without departing from the scope of the invention as hereinafter claimed. The present invention can be implemented by a computer program operating on a standard desk top computer. An aspect of the present invention thus provides a storage medium storing processor implementable instructions for controlling a processor to carry out the method as hereinabove described.

Claims: An image processing method comprising: an image block dividing step (S13-1 to S13-5) of dividing a plurality of character image blocks from a read image; and a storing step (S13-6 and S13-7) of storing a plurality of coordinate data of the character image blocks which specify the positions of each divided character image block in the read image in the order of the arrangement of the character image blocks; and characterised by an appointing step (pointing device 3, S14-1, S14-2, S15-1, S15-2) for appointing two arbitrary coordinates on a read image displayed on a display; a character image block selecting step (S14-1, S14-2, S15-1, S15-2) for selecting a start character image block and an end character image block by comparing the two appointed arbitrary coordinates with the plurality of coordinate data of character image blocks stored in said storing step, and selecting character image blocks disposed between the start and end character image blocks from the plurality of character image blocks based on the order of the arrangement of the character image blocks; and an outputting step of outputting a part of the image comprising said plurality of selected character image blocks. A method according to claim 1, wherein said appointing step has a plurality of appointing processes, further including a switching process step for switching said appointing processes used in said appointing step. A method according to claim 1 or claim. 2, wherein. when the divided character image blocks are in image block array, said start character image block is selected from the image block array in accordance with one of the two appointed arbitrary coordinates, and said end character image block is selected from the image block array in accordance with the other of the two appointed arbitrary coordinates, and the character image blocks disposed between the start and end character image blocks are selected based on the order in which the character image blocks were arranged in the image block array in the character image blocks selecting step. A method according to claim 1, wherein when the divided character image blocks are in image block matrix, said start character image block is selected from the image block matrix in accordance with one of the two appointed arbitrary coordinates, and said end character image block is selected from the image block matrix in accordance with the other of the two appointed arbitrary coordinates, and the character image blocks disposed between the start and end character image blocks are selected based on the order of the arrangement of the character image blocks in the image block matrix, in the character image blocks selecting step. A method according to any preceding claim, further including a step of displaying the divided character image blocks. A method according to any preceding claim, further including a step of displaying the two appointed arbitrary coordinates. A method according to any preceding claim, further including a display of displaying the selected character image blocks in a manner different from the non-selected character image blocks. A method according to any preceding claim, further including a selection dismissing step of deleting the selected character image block. A method according to any preceding claim, further including a character adding step of adding, to the selected character image blocks, a character image block which has not been selected. A method according to any preceding claim, further including a discrimination process step of discriminating whether or not the start and end character image blocks exist in the same region on a divided image; wherein the character image blocks, selected in the character image blocks selecting step are selected from character image blocks in the same region. A method according to any preceding claim, wherein the read image is an image generated by using an image scanner. A method according to any preceding claim, wherein said appointing step is performed on said read image displayed on a CRT or on a liquid crystal display. A method according to any preceding claim, wherein said appointing step is performed by receiving a coordinate data appointed by a pointing device. Image processing apparatus comprising: means (CPU1) for dividing a plurality of character image blocks from a read image; characterised by means (5) for storing a plurality of coordinate data of the character image blocks which specify the positions of each divided character image block in the read image in the order of the arrangement of the character image blocks; and appointing means (1, 3) for appointing two arbitrary coordinates on a read image displayed on a display (7); and characterised by selecting means (CPU 1) for selecting a start character image block and an end character image block by comparing the two appointed arbitrary coordinates with the plurality of coordinate data of character image blocks stored in said storing step, and for selecting character image blocks disposed between the start and end character image blocks from the plurality of character image blocks based on the order of the arrangement of the character image blocks; and means for outputting the part of the image comprising said plurality of selected character image blocks. Apparatus according to claim 14, wherein said appointing means is capable of carrying out a plurality of appointing processes. Apparatus according to claim 14 or claim 15, wherein when the divided character image blocks are in image block array, said selecting means are adapted to select said start character image block from the image block array in accordance with one of the two appointed arbitrary coordinates, and to select said end character image block from the image block array in accordance with the other of the two appointed arbitrary coordinates, the character image blocks disposed between the start and end character image blocks being selected based on the order in which the character image blocks were arranged in the image block array. Apparatus according to claim 14, wherein when the divided character image blocks are in image block matrix, said start character image block said selecting means are adapted to select from the image block matrix in accordance with one of the two appointed arbitrary coordinates, and to select said end character image block from the image block matrix in accordance with the other of the two appointed arbitrary coordinates, the character image blocks disposed between the start and end character image blocks being selected based on the order of the arrangement of the character image blocks in the image block matrix, in the character image blocks selecting step. Apparatus according to any one of claims 14 to 17, further including means for displaying the divided character image.blocks. Apparatus according to any one of claims 14 to 18, adapted to display the two appointed arbitrary coordinates. Apparatus according to any one of claims 14 to 19, further adapted to display the selected character image blocks in a manner different from the non-selected character image blocks. Apparatus according to any one of claims 14 to 20, wherein said selection means are adapted to delete a selected character image block. Apparatus according to any one of claims 14 to 21, further including means for adding, to the selected character image blocks, a character image block which has not been selected. Apparatus according to any one of claims 14 to 22, further including means (CPU 1) for discriminating whether or not the start and end character image blocks exist in the same region on a divided image; the character image blocks, selected in the character image blocks selecting step being selected from character image blocks in the same region. Apparatus according to any one of claims 14 to 23, including an image scanner for generating the read image. Apparatus according to any one of claims 14 to 24, including a CRT or a liquid crystal display. Apparatus according to any one of claims 14 to 25, including a pointing device for appointing the coordinate data. A storage medium storing processor implementable instructions for controlling a processor to carry out the method of any one of claims 1 to 13. A computer program for controlling a processor to carry out the method of any one of claims 1 to 13.

Inventors: IKEDA HIROAKI, IKEDA, HIROAKI, IKEDA, HIROAKI, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1994
Main classification: G06T11
IPC codes: G06K9, G06T11, G06F17