Method and apparatus for image enhancement

Abstract: Method and apparatus for image enhancement involving smoothing and thinning input image data, segmenting adjacent characters in the smoothed and thinned data, and identifying a segmented character based on a comparison of the segmented character to a dictionary of characters. Smoothing and thinning may be provided by applying to each pixel of input image data a filter whose spread depends on variations in image intensity of surrounding pixels to obtain filtered image data, deriving inverted image data from first difference data of the filtered image data and multiplying the inverted image data and the filtered image data to obtain smoothed and thinned image data. The filters may be Gaussians whose spreads are inversely proportionate to variations in input image intensity plus a constant and the filters may be applied to the image data using a variably filled mask of filter values.

Description: A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The present invention pertains to a method and apparatus for image enhancement, including smoothing and thinning degraded images such as camera images, scanned images, facsimile-transmitted images and images containing letters, numbers, symbols, characters and the like. More particularly, the invention is concerned with a method for processing image data so as to enhance the quality of the image. Text or pictorial images today are often replicated or transmitted by a variety of techniques, such as photocopying, facsimile transmission, and scanning images into a memory device. Due to a variety of factors, the process of replication or transmission often tends to degrade the resulting image. Degraded images are characterized by noise spots, indistinct or shifted edges, blended or otherwise connected characters and distorted shapes. A reproduced or transmitted image that is degraded in quality may be unusable in certain applications. For example, if the reproduced or transmitted image is to be used in conjunction with character recognition apparatus, the noise spots, indistinct edges, connected characters, etc. may preclude accurate or successful recognition of characters in the image. Also, if the degraded image is printed or otherwise rendered visible, the image may be more difficult to read and in general, less visually distinct. Figure 6 is an example of a degraded image of the word "This." As seen in Figure 6, a noise spot 1 clutters the image making analysis difficult. Additionally, the letters "T" and "h" are connected at 2, while the letter "h" is distorted at 3 by a break in the letter. JP-A-63 269267 discloses a character recognising device. Document data is input, converted to image data and binarised. It is then segmented into characters and subjected to a smoothing process. A measure of the density of the segmented characters is obtained and compared with a dictionary in order to recognise the character. To improve image quality, in the case of pixel image data stored in a computer memory, it has been proposed to improve the stored image data by applying a low pass filter to it. Typically, a Gaussian filter is applied to smooth the data. Such filters purport to remove noise spots, but do so only at the expense of further blurring and/or connecting of the image and further degradation in edge sharpness. As discussed in Appendix A, Cornsweet and Yellott, in "Intensity-dependent spatial summation", JOSA A Vol. 2, No. 10, pp. 1769-1786 (Oct. 1985), analyse an image-processing mechanism in which the area of a strictly positive point-spread function varies inversely with local illuminance while the volume of the point-spread function remains constant. The present invention addresses these problems through the provision of a method, and an apparatus employing the method, that will both smooth and thin the image data prior to, for example, its reproduction or its further processing for pattern or character recognition processing. Smoothing removes noise spots, whereas thinning narrows line width and therefore corrects the blurring referred to above. As a result, image data is reduced to its essentials and images reproduced from such data are clearer. In particular, as applied to character images, since the filter removes noise spots and narrows line width, partial segmentation of connected characters results, which makes the image more distinct and facilitates further segmentation and accurate and successful character recognition. In addition, since the filter reduces image data to its essentials, similar character image patterns are produced for many different input character fonts. If the characters are underlined or enclosed in boxes (for example in a table of numbers), the invention makes it possible to remove such extraneous features. Thus, in the case where the subject invention is used in a character recognition apparatus or applied prior to a character recognition operation, it is possible to reduce the size of the character dictionary. In one aspect, the invention provides a method of processing an input image comprised of input pixel data, comprising the steps of applying to each pixel of the input image a filter whose spread is a function of the image intensity to obtain filtered image data, characterised in that the spread of the filter applied to each pixel is dependent on variations in image intensity of surrounding pixels, and by further comprising the steps of deriving inverted differentiated image data from the filtered image data, and multiplying the inverted differentiated image data and the filtered image data pixel-by-pixel so as to obtain smoothed and thinned image data. Each filter may be a Gaussian filter whose spread is inversely proportionate to variations in image intensity of surrounding pixels plus a constant, each filter may be applied to the image data using a mask of predetermined dimensions, and the mask may be zero-filled based on the filter's spread. Preferably, the method further comprises the steps of segmenting adjacent characters in the smoothed and thinned data, and identifying a segmented character based on a comparison of the segmented character to a dictionary of characters. In another aspect, the invention provides an apparatus for processing an input image comprised of input pixel data, comprising means for applying to each pixel of the input image a filter whose spread is a function of the image intensity to obtain filtered image data, characterised in that then filter applying means is arranged to apply a filter to each pixel whose spread is dependent on variations in image intensity of surrounding pixels, and by further comprising means for deriving inverted differentiated image data from the filtered image data, and means for multiplying the inverted differentiated image data and the filtered image data pixel-by-pixel so as to obtain smoothed and thinned image data. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an apparatus of the 25 present invention; Figure 2 is a functional block diagram showing an image processing method of the present invention as carried out by the apparatus of Figure 1; Figure 3 is a detailed flow chart showing a method for producing multi-level image data from binary image data; Figure 4 is a detailed flow chart showing a variable mask filter used in the practice of the invention; Figure 5, comprising Figures 5(a) through 5(f), shows the progression of image data as it is processed in the present invention; and Figure 6 is exemplary image data used for explaining the effect of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The present invention can be implemented in a variety of devices where image enhancement is desirable, such as apparatus dedicated to image processing or image reproduction, including photocopiers, facsimile machines, video or still-video cameras, laser beam printers and the like. It can also be implemented in general purpose computers and office equipment, such as personal computers and integrated office automation tools combining a number of business equipment capabilities. Figure 1 is a block diagram of a typical embodiment utilizing the present invention in connection with an integrated office automation tool having scanning, facsimile and information processing capabilities, the latter optionally including data processing and word processing capabilities. The apparatus in Figure 1 utilizes the present invention to process degraded image data, prior to the data being subjected to a character recognition operation. In the apparatus shown in Figure 1, degraded images may be received, for example, by facsimile transmission to the apparatus. With the invention, it is possible to recognize the characters in the degraded image to create a computer text file of the recognized characters, and to employ the word processing, spreadsheet processing or other information processing capabilities of the apparatus to modify the text file for subsequent retransmission or other output. In Figure 1, a central processing unit ("CPU") 10, such as a programmable microprocessor, is connected to a data bus 11. A number of other devices are also connected to data bus 11. In particular, a scanner 12 for scanning an image pixel-by-pixel into image memory (RAM 17, described below) is connected to bus 11, as are a facsimile device 13 (optionally including a telephone, not shown) for transmitting and receiving image data on a telephone line 14 and a read only memory ("ROM") 15 for storing one or more computer programs for execution by CPU 10. Further connected to data bus 11 are a memory 16 for storing a dictionary of characters against which input characters are compared, a random access memory ("RAM") 17 for storing intermediate data, such as input image data, intermediate products, processed image data, derived image filters and the like, an output device 18 (such as disk memory, a modem, etc.) for outputting the identity of characters recognized in the input image data, a printer/display 19 for displaying images processed by the apparatus, and a keyboard 20 for allowing operator control of the apparatus. Although the devices connected to data bus 11 are incorporated into an integrated office automation tool, it is understood that some or all of these devices can alternatively be provided on a stand-alone basis. Scanner 12 and facsimile 13 constitute alternative forms of input means for inputting image data into the apparatus. In the case of scanner 12, originals are scanned line-by-line and pixel-by-pixel, and under the control of CPU 10, the pixels of image data are stored in bit map format in image memory in RAM 17, as described more fully below. In the case of facsimile 13, image data is received in compressed form over telephone line 14. The compressed image data is uncompressed into a pixel image by means conventional in the art, and CPU 10 stores the pixels of image data in bit map format in image memory in RAM 17. Other input means are, of course, possible, and the image data may simply be retrieved from a mass storage medium such as a disk memory or derived from a video camera. Facsimile 13 and printer/display 19 constitute alternative forms of output means for outputting processed image data pixel-by-pixel for viewing at the apparatus (in the case of printer/display 19), or at a remote location (in the case of facsimile 13). Under the control of CPU 10, processed image data is retrieved from processed image data memory in RAM 17 and routed to the appropriate unit. Output device 18 is means for outputting the identity of characters recognized in the image data, for example, in ASCII code. The characters' identities may be output at the apparatus (such as a disk memory), or may be output for transmission to a remote location (such as a modem). Output device 18 may also include means for reformatting the characters' identities such a conversion from ASCII to facsimile-compatible format so as to allow transmission to a remote facsimile machine. Figure 2 is a functional block diagram for explaining the operation of the Figure 1 apparatus. The processes depicted in Figure 2 are executed by CPU 10 in accordance with a computer program stored in program ROM 15. As shown at 21, image data is obtained by CPU 10 from scanner 12 or facsimile 13 and stored in image memory in RAM 17. Preferably, the image data is multi-level image data, such as gray-scale and/or color image data, and not binary image data. If the image data is binary data, it may be converted by CPU 10 into pseudo-multi-level image data by the process shown in Figure 3. By the procedure depicted in that figure, binary image data is converted to pseudo-multi-level image data by applying a filter to the binary data. Preferably, a circularly symmetric Gaussian is applied to the binary image data, but filters with other shapes, such as triangular, rectangular, exponential or parabolic, may also be used. More particularly, it has been experimentally determined that a Gaussian whose spread is constant at σ=1 provides suitable results; other spreads are possible and different spreads may be readily determined if necessary to suit the particular image data under consideration. Mathematically, it is known that a Gaussian includes 99.7% of all its volume (or area for a one-dimensional filter) within a region extending ±3σ from its mean, i.e., a range of 6σ. Since σ=l for the Gaussian used here, 99.7% of all volume will be included in a 6 x 6 pixel grid. The next largest odd number is chosen so that there will be a uniquely identifiable center pixel. Thus, in step S31, a 7 x 7 grid is filled with a Gaussian as follows: G[m, n; σ=1] = 1 2π exp [- 1 2 (m 2 + n 2 )] where both m and n vary around the center pixel (0,0) between -3 and +3, inclusive. In step S32, the input binary image data Z is convolved with the Gaussian derived in step S31 to obtain pseudo-multi-level image data ZM. Thus, each pixel ZM (k,l) is derived as follows: ZM (k,l) = ΣΣ G [i-k, j-l; σ=1] Z (i,j) where the left summation is taken from i=k-3 to k+3 and the right summation is taken from j=l-3 to j=l+3 . Beyond the edges of the input image data, Z(i,j) is set to zero. Alternatively, Z(i,j) may be edge-extended, that is, the values of Z(i,j) at the edges may be used beyond the edges. Referring again to Figure 2, CPU 10 stores the resulting pseudo-multi-level image data ZM in multi-level image memory 22 within RAM 17 (Fig. 1). Of course, if image memory 21 already contains multi-level image data then that data may be stored without processing directly in memory 22. Next, as shown in Figure 2, a variable mask filter is derived for each pixel of multi-level image data, as shown at 23. The filters derived for all the pixels are applied to the multi-level image data. The result of this application is stored in filtered image memory 24. Figure 4 details this process. Step S41 determines variations in image intensity by obtaining the differential of the multi-level image data stored in memory 22. Since the image data is discrete pixel data, the differential reduces to first difference data d(i,j) and is obtained for each pixel ZM(i,j) as follows: dx(i,j) = ZM(i+1,j) - ZM(i,j) dy(i,j) = ZM(i,j+1) - ZM(i,j) d(i,j)= dx 2 (i,j) + dy 2 (i,j) Based on the first difference data d(i,j), a filter is derived for each pixel ZM(i,j) in the image data. The spread for each filter is determined in step S42 according to the following equation: σ(i,j) = 1 8 5 + 10 13 [d(i,j)] Equation (6) is in the general form 1 σ (i,j) = a + b [d(i,j)] and the parameters a=8/5, b= 10/13 in equation (6) have been derived as set forth in Appendix A to this application. Equation (7) shows that the spread of each filter is inversely proportionate to variations in input image intensity plus a constant. For ease in implementing equation (7) in CPU 10 and program ROM 15, the values for a and b may be altered slightly. Specifically, it has been found experimentally that a=l and b=l gives satisfactory results although the values given in equation (6) yield optimum results. In step S43, a maximum filter mask size M is determined for the image data ZM under consideration. Specifically, as stated previously, for a Gaussian it is known that 99.7% of all volume lies within a region extending ±3σ from the center, i.e., a range of 6σ. Thus, the maximum mask size M is the next largest odd number (to provide an identifiable center pixel) of six times the largest σ(i,j) calculated in step S42. Alternatively, the maximum mask size M may be set in advance to a predetermined value that is suitable for all images that are likely to be encountered. Experimentally, it has been found that M=15 yields satisfactory results for all binary images that were tested. In step S44, a filter is selected for each pixel ZM(i,j) based on the spread calculated in step S42 and the maximum mask size M calculated in step S43. In the embodiment described here, the filter is a circularly symmetric Gaussian, but filters having other shapes, such as rectangular, triangular, exponential or parabolic, may also be used. A suitable circularly symmetric Gaussian filter is: G[m,n;σ(i,j)]= 1 2π σ(i,j) exp - 1 2 m 2 + n 2 σ 2 (i,j) Step S45 forms an M X M grid, mz, of filter values for the Gaussian. The Gaussian is variably masked based on the spread of the Gaussian so that the M X M grid is formed with the Gaussian in the central portion thereof and zeros at the periphery thereof. The extent of zero-filling is determined by the spread σ(i,j) of the filter for each pixel, namely [M-6σ(i,j)]/2 zeros are added on both sides of the Gaussian to fill the M X M grid. This process is given in equation form as follows: where both m and n vary around the center pixel (0,0) from -(M-1)/2 to +(M-1)/2, inclusive. Thus, the variable mask mz is an M X M grid that is derived for each pixel ZM(i,j) and that has the filter over a ±3σ range in the center of the grid and zeros elsewhere. As an alternative to calculating variably-masked Gaussians for each pixel, as set forth in step S45, it is possibly to pre-calculate variably-masked Gaussians for a variety of spreads, and to store the precalculated Gaussians in a look-up table. Based on the spread calculated in step S42, an appropriate pre-calculated filter is selected from the look-up table. In step S46, CPU 10 applies the M X M grid containing the variably-masked filter G to the image data ZM to obtain one pixel of filtered image data ZF(i,j) as follows: ZF(i,j) = ΣΣmz (m,n) ZM (m-i, n-j) where the left summation is taken from m = -(M-1)/2 to +(M-1)/2 and the right summation is taken from n = -(M-1)/2 to +(M-1)/2 , inclusive. In step S47, steps S44, S45 and S46 are repeated for each pixel ZM(i,j) in the multi-level image data. In step S48, the filtered image data ZF is stored in filtered image memory 24 within RAM 17. Thus, the various memories 22, 23 and 24 in connection with CPU 10 and program ROM 15, and the steps S41 through S48 provide an image processing method and apparatus whereby a filter is derived for each pixel of multi-level image data based on variations in intensity of surrounding pixels and whereby the filter is applied to the image data to obtain filtered image data. Preferably, the filter is a Gaussian whose spread is inversely proportionate to variations in image intensity plus a constant thereby yielding filtered image data which is smoothed with respect to noise spots and the like but in which edge detail is preserved both with respect to edge sharpness and edge localization. The effect of the image processing can be seen by comparing Figure 5(a) to Figure 5(b). Figure 5(a) shows an original binary image in the form of the word "test." After processing, the word "test" in Figure 5(b) is seen to retain edge localization and sharpness, but noise spots have been smoothed away. Returning to Figure 2, the filtered image data ZF is differentiated and the differential image data ZD is stored in difference memory 25 within RAM 17. As before, differentiation is achieved through a first difference operation as follows and as shown in Figure 5(c): dx(i,j) = ZF(i+1,j) - ZF(i,j) dy(i,j) = ZF(i,j+1) - ZF(i,j) ZD(i,j) = dx 2 (i,j)+dy 2 (i,j) The differential data ZD is inverted (i.e., white replaced with black and vice versa) as follows and as shown in Figure 5(d): ZI(i,j) = 255 - ZD(i,j) where 255 represents the maximum gray scale for this data. The inverted image data ZI is stored in inverted image data memory 26 within RAM 17. A multiplier is designated at 27. Multiplier 27 forms a pixel-by-pixel product of the filtered image data ZF stored in filtered data memory 24 and the inverted image data ZI stored in inverted image data memory 26 as follows and as shown in Figure 5(e): ZP(i,j) = ZF(i,j) · ZI(i,j) The resulting product ZP is smoothed and thinned image data and is stored in smoothed and thinned data memory 28 within RAM 17. If desired, the product ZP may be subjected to a thresholding operation, as shown in Figure 5(f), to convert the multi-level data ZP into smoothed and thinned binary image data. A threshold set between 85 and 105 out of 255 has been found to yield satisfactory results. The thresholded data is stored in threshold memory 29 within RAM 17. The processed image, either in thresholded or in multi-level format, may be viewed at the apparatus on printer/display 19, or may be transmitted over telephone line 14 for remote viewing via facsimile 13. Thus, it will be appreciated that the memories and multiplier 22 to 29, together with CPU 10 and program ROM 15, provide a method and apparatus for obtaining smoothed and thinned image data whereby a filter that depends on variations in intensity of the image data is derived for each pixel of image data, the filters are applied to the image data to obtain filtered image data, inverted image data is derived from first difference data of the filtered image data, and the inverted data and the filtered data are multiplied to form smoothed and thinned image data. A computer program suitable for the apparatus in Figure 1, written in the "C" language, is given at Appendix B. If desired, CPU 10 can be programmed via program ROM 15 to permit an operator to select whether or not to smooth and thin image data prior to the character recognition operation. That is, in the case of a high quality image, smoothing and thinning the image data is beneficial because it reduces the size of the character dictionary needed for the character recognition operation. If this benefit is not desired, then CPU 10 may be programmed to give the operator the option of deselecting the smoothing and thinning process and proceeding directly to the character recognition operation, described below. On the other hand, of the image is degraded, or if the benefit of a reduced character dictionary for high quality images is desired, then the operation may select the smoothing and thinning process prior to the character recognition operation. Returning to Figure 2, while the smoothing and thinning process will segment some characters that image distortion had connected, additional segmentation may be necessary. Thus, adaptive segmenter 30 is provided in the apparatus to achieve additional and fuller character segmentation. A character recognizer is provided at 31. Character recognizers are known in the art and the details thereof will not be described here. Generally, the character recognizer 31 processes each segmented character provided by segmenter 30 by comparing each character to a predetermined dictionary of characters stored in dictionary 16. Advantageously, because smoothing and thinning reduces the input image to its essential elements, the same characters appear the same even though they are written in different fonts. Thus, the size of the character dictionary 16 may be reduced, simplifying the apparatus. As character recognizer 31 processes the segmented characters, the identified characters are stored in decoded character memory 32 within RAM 17. Typically, decoded characters are stored in ASCII format in a text file although that is not necessarily the case. After the decoded characters are stored in memory 32, they may be subjected to further processing, for example, word or text or spreadsheet processing. In a manner known in the art, an operator may utilize keyboard 20 to retrieve the decoded characters stored in memory 32, and use the data processing capabilities of the Figure 1 office automation tool to modify the decoded characters. The operation may then cause CPU 10 to direct the modified characters (or, if desired, the unmodified characters) to output device 18 for re-retransmission, for example, by modem to a remote location. If desired, output device 18 may be configured to convert the format of the characters such as a conversion from ASCII format to a facsimile-compatible format. The Figure 1 apparatus thus provides an operator with the capability of receiving an image via facsimile 13, enhancing the image to compensate for degradations caused by facsimile transmission, recognizing characters in the enhanced image, modifying or performing other data processing on the recognized characters, and retransmitting the modified characters, for example to another facsimile device.

Claims: A method of processing an input image comprised of input pixel data, comprising the steps of: applying to each pixel of the input image a filter whose spread is a function of the image intensity to obtain filtered image data (ZF); characterised in that the spread of the filter applied to each pixel is dependent on variations in image intensity of surrounding pixels, and by further comprising the steps of: deriving inverted differentiated image data (ZI) from the filtered image data (ZF); and multiplying the inverted differentiated image data (ZI) and the filtered image data (ZF) pixel-by-pixel so as to obtain smoothed and thinned image data (ZP). A method according to claim 1, further comprising the steps of inputting and storing the input pixel data forming the input image, the input pixel data being multi-level data. A method according to claim 1, further comprising an inputting step for inputting the input pixel data, the inputting step including a storing step for storing binary image data (Z) into a memory. A method according to claim 3, wherein said inputting step further includes a deriving step for deriving pseudo-multi-level image data (ZM) from the binary image data (Z), the pseudo-multi-level image data (ZM) forming the input pixel data. A method according to claim 3, wherein the storing step stores the binary image data (Z) in the memory pixel-by-pixel. A method according to claim 2, 3 or 4, wherein said inputting step is performed using a scanner (12). A method according to claim 2, 3 or 4, wherein said inputting step is performed using a facsimile machine (13). A method according to any preceding claim, wherein the filter applied to each pixel is approximately a Gaussian whose spread is inversely proportional to variations in image intensity of surrounding pixels plus a constant. A method according to any preceding claim, further comprising the step of selecting a mask for the filter and filling a central portion thereof with filter values and a peripheral portion thereof with zeros. A method according to claim 9, further comprising the step of determining a maximum mask size based on the maximum spread of the filters. A method according to any preceding claim, wherein said deriving step includes the step of calculating first difference data of the filtered image data (ZF) to obtain differentiated image data (ZD). A method according to any preceding claim, further comprising the step of thresholding the smoothed and thinned image data (ZP) obtained in said multiplying step. A method according to any preceding claim, further comprising the steps of: segmenting adjacent characters in the smoothed and thinned data (ZP); and identifying a segmented character based on a comparison of the segmented character to a dictionary of characters. A method according to claim 13, further comprising a storing step for storing identities of recognised character segments. A method according to any preceding claim, further comprising an outputting step for outputting the smoothed and thinned image data to a visual display (19). An apparatus for processing an input image comprised of input pixel data, comprising: means for applying to each pixel of the input image a filter whose spread is a function of the image intensity to obtain filtered image data (ZF); characterised in that the filter applying means is arranged to apply a filter to each pixel whose spread is dependent on variations in image intensity of surrounding pixels, and by further comprising: means for deriving inverted differentiated image data (ZI) from the filtered image data (ZF); and means for multiplying the inverted differentiated image data (ZI) and the filtered image data (ZF) pixel-by-pixel so as to obtain smoothed and thinned image data (ZP). An apparatus according to claim 16, further comprising means for inputting and storing the input pixel data forming the input image, the input pixel data being multi-level data. An apparatus according to claim 16, further comprising means for inputting the input pixel data and means for storing binary image data (Z) into a memory. An apparatus according to claim 18, wherein the inputting means further includes means for deriving pseudo-multi-level image data (ZM) from the binary image data (Z), the pseudo-multi-level image data (ZM) forming the input pixel data. An apparatus according to claim 18, wherein the storing means is arranged to store the binary image data in the memory pixel-by-pixel. An apparatus according to claim 17, 18 or 19, wherein said inputting means comprises a scanner (12). An apparatus according to claim 17, 18 or 19 wherein said inputting means comprises a facsimile machine (13). An apparatus according to any of claims 16 to 22, wherein the filter applying means is arranged to apply to each pixel an approximately Gaussian filter whose spread is inversely proportional to variations in image intensity of surrounding pixels plus a constant. An apparatus according to any of claims 16 to 23, further comprising means for selecting a mask for the filter and filling a central portion thereof with filter values and a peripheral portion thereof with zeros. An apparatus according to claim 24, further comprising means for determining a maximum mask size based on the maximum spread of the filters. An apparatus according to any of claims 16 to 25, wherein said deriving means is arranged to calculate first difference data of the filtered image data (ZF) to obtain differentiated image data (ZD). An apparatus according to any of claims 16 to 26, further comprising means for thresholding the smoothed and thinned image data (ZP) obtained by said multiplying means. An apparatus according to any of claims 16 to 27, further comprising: means for segmenting adjacent characters in the smoothed and thinned data (ZP); and means for identifying a segmented character based on a comparison of the segmented character to a dictionary of characters. An apparatus according to claim 28, further comprising means for storing identities of recognised character segments. An apparatus according to any of claims 16 to 29, further comprising means for outputting the smoothed and thinned image data to a visual display (19). A storage medium storing computer-implementable instructions for controlling a computer to carry out the method of any one of claims 1 to 15.

Inventors: VAEZI MEHRZAD REZA, VAEZI, MEHRZAD REZA, Vaezi, Mehrzad Reza, c/o Canon Inf. Systems, Inc.
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1992
Main classification: G06T5
IPC codes: G06T5, G06K9