Source: http://www.google.com/patents/US6333788?ie=ISO-8859-1
Timestamp: 2014-04-21 03:09:07
Document Index: 377299098

Matched Legal Cases: ['ART=0', 'ART=0', 'ART=0', 'ART=0', 'ART=0', 'ART=62', 'ART=62', 'ART=84', 'ART=84', 'ART=96', 'ART=96', 'ART=96', 'ART=96', 'ART=98', 'ART=98', 'ART=99', 'ART=99', 'ART=100', 'ART=100', 'ART=100', 'ART=100', 'ART=0', 'ART=0', 'ART=0']

Patent US6333788 - Image processing apparatus and method - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsThe luminance frequencies are calculated in units of blocks in a multi-valued image, and the binarization threshold values in units of blocks are calculated on the basis of the calculated luminance frequencies. By interpolating the binarization threshold values in units of blocks, the binarization threshold...http://www.google.com/patents/US6333788?utm_source=gb-gplus-sharePatent US6333788 - Image processing apparatus and methodAdvanced Patent SearchPublication numberUS6333788 B1Publication typeGrantApplication numberUS 08/807,606Publication dateDec 25, 2001Filing dateFeb 27, 1997Priority dateFeb 28, 1996Fee statusPaidPublication number08807606, 807606, US 6333788 B1, US 6333788B1, US-B1-6333788, US6333788 B1, US6333788B1InventorsOsamu Yamada, Takeshi Makita, Kazuhiro Saito, Hiroshi MoriOriginal AssigneeCanon Kabushiki KaishaExport CitationBiBTeX, EndNote, RefManPatent Citations (3), Non-Patent Citations (1), Referenced by (9), Classifications (13), Legal Events (5) External Links: USPTO, USPTO Assignment, EspacenetImage processing apparatus and methodUS 6333788 B1Abstract The luminance frequencies are calculated in units of blocks in a multi-valued image, and the binarization threshold values in units of blocks are calculated on the basis of the calculated luminance frequencies. By interpolating the binarization threshold values in units of blocks, the binarization threshold values in units of pixels are calculated, and the multi-valued image is binarized using the binarization threshold values in units of pixels.
What is claimed is: 1. An image processing method of obtaining binarization threshold values for converting a multi-valued image into a binary image, said method comprising the steps of:
calculating luminance frequencies of said multi-valued image in units of blocks in said multi-valued image; calculating first binarization threshold values, in units of blocks, on the basis of the luminance frequencies by specifying an optimal luminance frequency region in the luminance frequencies, calculating an average luminance value in the optimal luminance frequency region, and calculating the first binarization threshold values in units of blocks on the basis of the average luminance value, wherein the specifying includes discriminating a feature of an image on the basis of a skew of the luminance frequencies, and specifying the optimal luminance frequency region on the basis of the feature of the image; and calculating second binarization threshold values, in units of pixels, by interpolating the first binarization threshold values in units of blocks, wherein, in said step of calculating luminance frequencies, the relation between luminance and frequencies of multi-valued levels of a plurality of pixels is obtained as the luminance frequencies, and in said step of calculating second binarization threshold values in units of pixels, the second binarization threshold values in units of pixels is calculated by interpolating the first binarization threshold values obtained in a plurality of blocks. 2. The method according to claim 1, further comprising the step of binarizing the multi-valued image using the second binarization threshold values in units of pixels.
calculating luminance frequencies of said multi-valued image in units of blocks in said multi-valued image; calculating first binarization threshold values, in units of blocks, on the basis of the luminance frequencies by specifying an optimal luminance frequency region in the luminance frequencies, calculating an average luminance value in the optimal luminance frequency region, and calculating the first binarization threshold values in units of blocks on the basis of the average luminance value, wherein the specifying includes discriminating a feature of an image on the basis of a skew of the luminance frequencies, and specifying the optimal luminance frequency region on the basis of the feature of the image; setting a region for interpolating the first binarization threshold values in units of blocks; and calculating second binarization threshold values, in units of a pixels, by interpolating the first binarization threshold values in units of blocks, with respect to the set region, wherein, in said step of calculating luminance frequencies, the relation between luminance and frequencies of multi-valued levels of a plurality of pixels is obtained as the luminance frequencies, and in said step of calculating first binarization threshold values in units of pixels, the second binarization threshold values in units of pixels is calculated by interpolating the first binarization threshold values-obtained in a plurality of blocks. 4. The method according to claim 3, wherein a region in which the second binarization threshold values are not interpolated repetitively uses the first binarization threshold value in units of blocks.
first arithmetic operation means for calculating luminance frequencies in units of blocks in a multi-valued image; second arithmetic operation means for calculating binarization threshold values in units of blocks on the basis of the luminance frequencies, wherein the second arithmetic operation means comprises specifying means for specifying an optimal luminance frequency region in the luminance frequencies, calculating an average luminance value in the optimal luminance frequency region, and calculating the binarization threshold values in units of blocks on the basis of the average luminance value, and wherein the specifying means comprises discrimination means for discriminating a feature of an image on the basis of a skew of the luminance frequencies, and specifying the optimal luminance frequency region on the basis of the feature of the image; and interpolation means for calculating binarization threshold values in units of pixels by interpolating the binarization threshold values in units of blocks, wherein, said first arithmetic operation means obtains the relation between luminance and frequencies of multi-valued levels of a plurality of pixels as the luminance frequencies, and said interpolation means calculates the binarization threshold values in units of pixels by interpolating the binarization threshold values obtained in a plurality of blocks. 8. The apparatus according to claim 7, further comprising:
input means for inputting the multi-valued image; and binarization means for binarizing the multi-valued image using the binarization threshold values in units of pixels. 9. An image processing apparatus, which obtains binarization threshold values for converting a multi-valued image into a binary image, comprising:
first arithmetic operation means for calculating luminance frequencies in units of blocks in a multi-valued image; second arithmetic operation means for calculating binarization threshold values in units of blocks on the basis of the luminance frequencies, wherein said second arithmetic means comprises specifying means for specifying an optimal luminance frequency region in the luminance frequencies, calculating an average luminance value in the optimal luminance frequency region, and calculating the binarization threshold values in units of blocks on the basis of the average luminance valued, and wherein said specifying means comprises discrimination means for discriminating a feature of an image on the basis of a skew of the luminance frequencies, and specifying the optimal luminance frequency region on the basis of the feature of the image; first setting means for setting a region for interpolating the binarization threshold values in units of blocks; and interpolation means for calculating binarization threshold values in units of pixels by interpolating the binarization threshold values in units of blocks with respect to the set region, wherein, said first arithmetic operation means obtains the relation between luminance and frequencies of multi-valued levels of a plurality of pixels as luminance frequencies, and said interpolation means calculates the binarization threshold values in units of pixels by interpolating the binarization threshold values obtained in a plurality of blocks. 10. The apparatus according to claim 9, wherein a region other than the region set by said first setting means repetitively uses the binarization threshold value in units of blocks.
second setting means for setting a pixel interval for interpolation of the binarization threshold values. 12. The apparatus according to claim 11, wherein the interpolation is performed at the interval set by said second setting means, and the calculated threshold value is repetitively used as threshold values of non-interpolated pixels.
computer readable first program code of calculating luminance frequencies in units of blocks in a multi-valued image; computer readable second program code of discriminating a feature of an image on the basis of a skew of the luminance frequencies calculated by said first program code; computer readable third program code of specifying an optimal luminance frequency region on the basis of the feature of the image discriminated by said second program code; computer readable fourth program code of calculating an average luminance value in the optimal luminance frequency region specified by said third program code, and calculating binarization threshold values in units of blocks on the basis of the average luminance value; and computer readable fifth program code of calculating binarization threshold value in units of pixels by interpolating the binarization threshold values in units of blocks calculated by said fourth program code, wherein, by said first program code of calculating luminance frequencies, the relation between luminance and frequencies of multi-valued levels of a plurality of pixels is obtained as luminance frequencies, and by said fifth program code of calculating binarization threshold values in units of pixels, the binarization threshold values in units of pixels is calculated by interpolating the binarization threshold values obtained in a plurality of blocks. Description
BACKGROUND OF THE INVENTION The present invention relates to an image processing apparatus and method, and its computer program product and, more particularly, to an image processing apparatus and method for binarizing a multi-valued image by determining a binarization threshold value used for binarizing a multi-valued image, and its computer program product.
In one conventional binarization method, maximum and minimum values are calculated for each line or several lines of an original, and a binarization threshold value is determined on the basis of these maximum and minimum values to perform simple binarization. Also, in another method, a binarization threshold value is determined on the basis of the difference between the maximum and minimum values in units of blocks of an original to perform simple binarization. Furthermore, the Otsu's method is known. In this method, a threshold value corresponding to a maximum inter-class variance obtained when the histogram of an original is divided into two classes based on a certain threshold value is determined as a binarization threshold value (Otsu, �Automatic Threshold Value Selection Method Based on Discrimination and Least Square Criteria�, Journal of Papers of The Institute of Electronics, Information and Communication Engineers, vol. J63-D, No. 4, pp. 349-356, 1980).
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and has as its object to provide an image processing apparatus and method which can automatically set appropriate binarization threshold values for appropriately separating the object from the background respectively for a character portion and a portion other than the character portion in an image, and can obtain a binary image free from any block distortion, and its computer program product.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing the system arrangement of an image processing apparatus according to an embodiment of the present invention;
Referring to FIG. 3, in step S301, an 8-bit multi-valued image is input from the storage unit 5 in the image processing apparatus 1 to a memory or the like (not shown) in units of processing blocks (64 pixels�64 pixels). Note that the multi-valued image is stored in advance in the storage unit 5 by the image input apparatus 2 such as a scanner. In step S302, a character block (a battered character block or blurred character block) is discriminated, and threshold value determination processing for binarization is performed in units of processing blocks (64 pixels�64 pixels) of the input image. A battered character is a character which is battered due to a large number of strokes of one character, and a blurred character is a character having a low density. In this embodiment, optimal threshold values can be assigned to these characters. It is checked in step S303 if a character flag MF is �1� (to check if the block being processed is a character block; to be described in detail later). If Y (YES) in step S303, the flow jumps to step S305; otherwise, the flow advances to step S304. In step S304, a threshold value TH is limited by upper- and lower-limit values L and H. More specifically, limitation processing is performed, i.e., when the threshold value TH determined in step S302 is smaller than the lower-limit value L, the threshold value TH is represented by L; when the threshold value TH is larger than the upper-limit value H, the threshold value TH is represented by H. Note that these upper- and lower-limit values H and L are determined by the characteristics of the image input apparatus 2.
It is checked in step S305 if a battered character flag TF is �1� (to check if the block being processed is a battered character block; to be described in detail later). If Y in step S305, the flow advances to step S306; otherwise, the flow jumps to step S307. In step S307, the threshold value TH is limited. More specifically, limitation processing for multiplying the threshold value TH determined in step S302 or S304 by a constant TP for preventing a battered character is performed. Note that the constant TP is a value determined by the characteristics of the image input apparatus 2. In step S307, it is checked if the current block is the last processing block (64 pixels�64 pixels) of the input image. If the current block is the last processing block, the flow advances to step S308; if a non-processed block remains, the flow returns to step S301. In step S308, smoothing processing (to be described in detail later) is performed on the basis of threshold values TH in units of blocks determined in step S302, S304, or S306 to calculate threshold values TH in units of pixels. Finally, simple binarization processing is performed in step S309 using the threshold values TH in units of pixels calculated in step S308, thus ending this binarization processing.
In step S401, �0� and �255� are respectively set in parameters START and END. The parameters START and END respectively correspond to the start and end points of the statistical quantity of a luminance value calculated in step S402 or S403 later. Also, �0� is set in a threshold value determination processing loop count i. In step S401, at the same time, frequencies (histogram) for 8 bits, i.e., digital values ranging from �0� to �255� are calculated using all the pixels in one processing block (64 pixels�64 pixels).
In step S402, an average value AV of pixels corresponding to the digital values ranging from START to END is calculated. For example, if START=0 and END=255, the average value AV of pixels having values from �0� to �255� is calculated; if START=0 and END=109, the average value AV of pixels having values from �0� to �109� is calculated.
SK=(Σ(Xi−AV)3)/D (1) where Xi is the luminance value of each pixel. D is the variance of the entire image and is calculated by:
D=Σ(Xi−AV)2 (2) In equation (1) above, the skew value is calculated by cubing the difference between the luminance value of each pixel and the average value, but the present invention is not limited to cubing as long as the exponent is an odd value.
In step S404, the threshold value determination processing loop count i in one block is checked (to check if i=0, i.e., the current loop corresponds to the first loop). If i=�0�, the flow advances to step S405; otherwise, the flow advances to step S406. In step S405, image feature discrimination (to be described in detail later) for checking if the block being processed is a �character block� is performed, and thereafter, the flow advances to step S414.
−0.1<SK and SK<0.1 (3) More specifically, it is checked if the absolute value of the skew value SK is less than �0.1�. If Y in step S406, the flow jumps to step S416; otherwise, the flow advances to step S407.
In step S407, the threshold value determination processing loop count i is checked. If i=�1�, the flow advances to step S408; otherwise, the flow advances to step S409. In step S408, discrimination (for checking if the block being processed is a �battered character block�) and processing are performed (to be described in detail later), and the flow then advances to step S409. In step S409, the threshold value determination processing loop count i is checked. If i=�9�, the flow jumps to step S416; otherwise, the flow advances to step S410. In step S410, discrimination (for checking if the block being processed is a �blurred character block�) and processing are performed (to be described in detail later), and the flow then advances to step S411. It is checked in step S411 if a blurred character flag KF is �1�. If Y in step S411, the flow advances to step S416; otherwise, the flow advances to step S412.
SK>0 (4) If relation (4) holds in step S412 (this means that the skew of the histogram falls within the value range larger than the average value AV), the flow advances to step S413; if relation (4) does not hold (this means that the skew of the histogram falls within the value range smaller than the average value AV), the flow advances to step S414.
In step S413, the average value AV is set in START, and END is left unchanged. The flow then advances to step S415. In step S414, START is left unchanged, and the average value AV is set in END. The flow then advances to step S415. In step S415, the threshold value determination processing loop count i is incremented by �1�, and the flow returns to step S402 to calculate the average value AV of values ranging from START to END again.
Seido2=2{circumflex over ( )}(10−i) (8) This value is determined by the number of overflow digits corresponding to the theoretical number of bits of the maximum number of digits to be operated in units of threshold value determination processing loop counts.
AV=(Σ(HIST[K]�K))/(Σ(HIST[K])) (9) In step S1302, a total variable Sum1=Σ(HIST[K]�K) and a cumulative variable num=Σ(HIST[K]) are calculated. In step S1303, Sum1 is divided by num to obtain the average value AV.
The luminance value K corresponding to Tmp=(K�Seido1�AV′)�(K�Seido1−AV′) is multiplied by Seido1 determined in step S1301 as in the precision-maintained average value AV′.
In step S1308, Tmp is divided by Seido2 determined in step S1301. For example, when i=1 and 8-bit image data is to be processed in units of 64�64 processing blocks to assure 8-bit precision, the maximum number of digits to be operated theoretically exceeds 32 bits and becomes 40 bits in the next step. For this reason, in this step, processing for preventing overflow is performed. The reason why the value Seido2 is 10 is to provide a margin to the processing block unit.
In step S1310, Tmp is added to a cumulative variable Sum2, and Tmp�(K�Seido1−AV′) is added to a cumulative variable Sum3.
The image feature discrimination processing in step S405 will be described in detail below with reference to FIG. 5. In step S501, �0� is set in the character flag MF indicating whether or not the block being processed is a �character block�. Also, the skew value SK is set in SK0 indicating the initial skew value in the threshold value determination processing loop (this is because the image feature discrimination processing is performed in only the first loop of the threshold value determination processing loops). In step S502, it is checked using equation (5) below if the block being processed is a �character block�:
SK0<MH (5) where MH is the value indicating whether or not the block being processed is a �character block�, and is set to be �MH=−20.0� in this case. If relation (5) holds in step S502, the flow advances to step S503; otherwise, this image feature discrimination processing ends. In step S503, �1� is set in a character flag MH indicating that the block being processed is a �character block�, thus ending the image feature discrimination processing.
The battered character processing in step S408 will be described in detail below with reference to FIG. 6. In step S601, �0� is set in a battered character flag TF indicating whether or not the block being processed is a �battered character block�. Also, �0� is set in a flag PF indicating that the skew of the histogram of the block being processed is large. In step S602, it is checked if both the skew value SK0 in the first loop of the threshold value determination processing loop and the skew value SK in the loop in processing are negative values. If Y in step S602, �1� is set in the flag PF in step S603. It is checked in step S604 if the character flag MF is �1�. If Y in step S604, the flow advances to step S605; otherwise, this battered character processing ends. In step S605, it is checked using relation (6) below if the block being processed is a �battered character block�:
SK0/SK<−SR (6) where −SR is the value indicating whether or not the block being processed is a �battered character block�, and is set to be �−SR=−3.0� in this case. If relation (6) holds in step S605, the flow advances to step S606; otherwise, this battered character processing ends. In step S606, �1� is set in the battered character flag TF indicating that the block being processed is a �battered character block�, thus ending this battered character processing.
The blurred character processing in step S410 will be described in detail below with reference to FIG. 7. In step S701, �0� is set in a blurred character flag KF indicating whether or not the block being processed is a �blurred character block�. In step S702, it is checked if the character flag MF is �1� (to check if the block being processed is a character block). If Y in step S702, the flow advances to step S703; otherwise, this blurred character processing ends. In step S703, it is checked if the flag PF is �1�. If Y in step S703, the flow advances to step S704; otherwise, this blurred character processing ends. It is checked in step S704 using relation (7) below if the block being processed is a �blurred character block�:
SK0/SK>SR (7) where SR is the value indicating whether or not the block being processed is a �blurred character block�, and is set to be �SR=3.0� in this case. If relation (7) holds in step S704, the flow advances to step S705; otherwise, this blurred character processing ends. In step S705, �1� is set in the blurred character flag KF indicating that the block being processed is a �blurred character block�, thus ending this blurred character processing.
FIG. 8 shows the histogram of a battered character image (8-bit input). In FIG. 8, the abscissa plots digital values of luminance levels (the left end=�0�, i.e., black; the right end=�255�, i.e., white), and the ordinate plots the frequencies of the digital values. FIG. 9 shows changes in parameter values when the processing in steps S402 and S403 in the above-mentioned binarization processing shown in FIG. 4 is performed for an image having the histogram shown in FIG. 8. Note that FIG. 9 shows the parameter values in correspondence with the number of loops of steps S402 and S403.
In the first loop of processing in steps S402 and S403 (the threshold value determination processing loop count i=0), the average value AV and the skew value SK are calculated using START=0 and END=255 to respectively yield values �109� and �−27.4�. Since i=0, the flow advances from step S404 to step S405. In the image feature discrimination processing in step S405, relation (5) holds since the skew value SK is less than �−20.0�, and �1� is set in the character flag MF. In step S414, START=0 and END=109 are set.
In the second loop of processing (i=1), the average value AV and the skew value SK are calculated using START=0 and END=109 to respectively yield values �62� and �8.9�. Since the skew value SK exceeds �0.1�, the flow advances from step S406 to step S407, and since i=1, the flow advances to step S408. In step S408, since the skew value SK is a positive value, the flag PF remains �0�. Since relation (6) holds since �−3.08 (=−27.4/8.9)�, �1� is set in the battered character flag TF. In step S410, since the flag PF remains �0�, the flag KF also remains �0�. Furthermore, since the skew value SK is a positive value, START=62 and END=109 are set in step S413.
In the third loop of processing (i=2), the average value AV and the skew value SK are calculated using START=62 and END=109 to respectively yield values �84� and �1.9�. In this case, since the skew value SK exceeds �0.1�, the flow proceeds with steps S407 and S409 in turn. Since the skew value SK is a positive value, START=84 and END=109 are set in step S413.
Subsequently, in the fourth loop of processing (i=3), the average value AV and the skew value SK are calculated using START=84 and END=109 to respectively yield values �96� and �0.6�. In this case, since the skew value SK exceeds �0.1�, the processing continues. Also, since the skew value SK is a positive value, START=96 and END=109 are set in step S413.
In the fifth loop of processing (i=4), the average value AV and the skew value SK are calculated using START=96 and END=109 to respectively yield values �102� and �−0.3�. In this case, since the skew value SK is less than �−0.1�, the processing continues. Also, since the skew value SK is a negative value, START=96 and END=102 are set in step S414.
In the sixth loop of processing (i=5), the average value AV and the skew value SK are calculated using START=96 and END=102 to respectively yield values �98� and �0.3�. In this case, since the skew value SK exceeds �0.1�, the processing continues. Also, since the skew value SK is a positive value, START=98 and END=102 are set in step S413.
In the seventh loop of processing (i=6), the average value AV and the skew value SK are calculated using START=98 and END=102 to respectively yield values �99� and �0.4�. In this case, since the skew value SK exceeds �0.1�, the processing continues. Also, since the skew value SK is a positive value, START=99 and END=102 are set in step S413.
In the eighth loop of processing (i=7), the average value AV and the skew value SK are calculated using START=99 and END=102 to respectively yield values �100� and �0.2�. In this case, since the skew value SK exceeds �0.1�, the processing continues. Also, since the skew value SK is a positive value, START=100 and END=102 are set in step S413.
Subsequently, in the ninth loop of processing (i=8), the average value AV and the skew value SK are calculated using START=100 and END=102 to respectively yield values �101� and �−0.2�. In this case, since the skew value SK is less than �−0.1�, the processing continues. Also, since the skew value SK is a negative value, START=100 and END=101 are set in step S414.
Finally, in the 10th loop of processing (i=9), the average value AV and the skew value SK are calculated using START=100 and END=101 to respectively yield values �100� and �0.2�. In this case, although the skew value SK exceeds �0.1�, since the threshold value determination processing loop count i is �9�, the flow advances to step S416 as a result of discrimination in step S409, and the average value �100� is set in the threshold value TH, thus ending this threshold value determination processing. However, in the block of this example, since �1� is set in the battered character flag TF, YES is determined in step S305 in FIG. 3, and the threshold value is limited in step S306. Hence, TH is set with �85 (=(100�0.85)�. After the smoothing processing of the threshold value TH in step S308, binarization is performed in step S309. (In this case, TP is set with �0.85�.) The binarized image is stored in the storage unit 5.
In the first loop of processing in steps S402 and S403 (the threshold value determination processing loop count i=0), the average value AV and the skew value SK are calculated using START=0 and END=255 to respectively yield values �130� and �−60.2�. Since i=0, the flow advances from step S404 to step S405. In the image feature discrimination processing in step S405, relation (5) holds since the skew value SK is less than �−20.0�, and �1� is set in the character flag MF. In step S414, START=0 and END=130 are set.
Subsequently, in the second loop of processing (i=1), the average value AV and the skew value SK are calculated using START=0 and END=130 to respectively yield values �95� and �−19.3�. Since the skew value SK exceeds �0.1�, the flow advances from step S406 to step S407, and since i=1, the flow advances to step S408. In step S408, since both the skew values SK and SK0 are negative values, �1� is set in the flag PF. Also, since relation (6) does not hold since �3.11 (=−60.2/−19.3)�, the battered character flag TF remains �0�. In the blurred character processing in step S410, since both the character flag MF and the flag PF are �1�, relation (7) is calculated in step S704. As relation (7) holds since the calculation result yields �3.11 (=−60.2/−19.3)�, �1� is set in the blurred character flag KF. Since the blurred character flag KF is �1�, the flow advances from step S411 to step S416, and the average value AV �95� is set in the threshold value TH, thus ending this threshold value determination processing. After the smoothing processing of the threshold value TH in step S308 in FIG. 3, binarization is performed in step S309, and the binarized image is stored in the storage unit 5.
FIG. 13 shows the unit blocks used for calculating the threshold values in units of blocks in the loop of steps S301 to S307 in FIG. 3. 64 pixels�64 pixels blocks are formed from the upper left corner, and are assigned Nos. B11 to Bnm. The loop of steps S301 to S307 of calculating the threshold values in units of blocks will be referred to as a block threshold value calculation loop hereinafter, and the threshold value obtained as a result of the calculation will be referred to as a block threshold value hereinafter.
FIG. 14 shows the relationship between the block threshold values for binarization calculated in the block threshold value calculation loops, and the blocks serving as the units of smoothing processing for calculating threshold values in units of pixels. In FIG. 14, the thin solid lines are the same as those dividing the blocks in FIG. 13, and represent 64�64 blocks having the upper left first pixel as the start point. In the block threshold value calculation loops, since the block threshold values are calculated in units of blocks divided by these thin solid lines, each block threshold value can be considered as a threshold value representing the block. Hence, the central point of the block divided by the thin solid lines, i.e., the intersection of the bold dotted lines represents the block threshold value obtained by the block threshold value calculation loop, and in the smoothing processing in step S308, interpolation processing is performed based on the threshold values of at the four corners of blocks divided by the bold dotted lines in units of blocks divided by the bold dotted lines, thereby calculating threshold values in units of pixels of the blocks divided by the bold dotted lines. The blocks divided by the bold dotted lines will be referred to as smoothing blocks hereinafter.
VRi=TH_TR+(i−1)*(TH_BR−TH_TR)/((V2−V1+1)/VSTEP (12-2) The horizontal interpolation processing of each row is performed using these VLi and VRi. If Hij (i=1, 2, . . . , (V2−V1+1)/VSTEP, j=i=1, 2, . . . , (H2−H1+1)/HSTEP) represents the horizontal interpolation result, Hij can be expressed by:
Hij=VLi+(j−1)*(VRi−VLi)/((H2−H1+1)/HSTEP (12-3) where (V2−V1+1)/VSTEP represents the number of interpolation operations per vertical line, and (H2−H1+1)/HSTEP represents the number of interpolation operations per horizontal line.
Each processing block of an image upon calculating the histogram has a size of 64 pixels�64 pixels. Alternatively, each block may have a size of 32 pixels�32 pixels. Furthermore, each block may have a square or rectangular shape. That is, each processing block may have a size of 64 pixels�96 pixels. Depending on the capacity of a memory, the entire image may be defined as a processing block.
The convergence condition of the skew value SK is defined by ��0.1�. However, the present invention is not limited to this specific condition, but another condition may be used as long as the binarization threshold values are determined using the skew value SK. Also, the convergence condition may be changed depending on the image input apparatus and image input condition.
Upon discriminating a character block using relation (5), the character flag MF is set to be �−20.0�. However, the present invention is not limited to this, and another condition may be defined to discriminate a character block using the skew value SK. Also, the flag value may be changed depending on the image input apparatus and image input condition.
The SR value is used upon discriminating a battered or blurred character block using relation (6) or (7), and is set to be �3.0�. However, the present invention is not limited to this, and another condition may be defined to discriminate a battered or blurred character block using the skew value SK. Also, the SR value may be changed depending on the image input apparatus and image input condition.
The constant TP is used for preventing a character from being battered, and is set to be �0.85�. However, the present invention is not limited to this, and another condition may be used. For example, the constant may be changed depending on the image input apparatus and image input condition.
�block processing module� corresponding to the block extraction processing in step S301 in FIG. 3;
�histogram calculation module� corresponding to the histogram calculation processing in step S401 in FIG. 4;
�average value calculation module� corresponding to the average value calculation processing in step S402 in FIG. 4;
�Skew value calculation module� corresponding to the SK value calculation processing in step S403 in FIG. 4;
�image feature discrimination processing module� corresponding to the image feature discrimination processing in step S405 in FIG. 4;
�threshold value calculation module� corresponding to the threshold value calculation processing in step S416 in FIG. 4, the threshold value limiting processing in step S304 in FIG. 3, or the threshold value limiting processing in step S306 in FIG. 3;
�smoothing processing module� corresponding to the smoothing processing in step S308 in FIG. 3; and
�binarization processing module� corresponding to the simple binarization processing in step S309 in FIG. 3.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5060053 *Jun 25, 1990Oct 22, 1991Canon Kabushiki KaishaInformation signal processing deviceUS5754710 *Mar 18, 1996May 19, 1998Fuji Xerox Co., Ltd.Image resolution conversion method and appratus thereofUS5764611 *Feb 9, 1995Jun 9, 1998Olympus Optical Co., Ltd.Information reproducing apparatus having function of detecting inclination of manual scan type handy reading device and correcting adverse effects arising from the inclination* Cited by examinerNon-Patent CitationsReference1Otsu, "An Automatic Threshold Selection Method Based on Discriminant & Least Squares Criteria", Journal of Papers of the Institute of Electronics, Information & Communication Engineers, vol. J63-D, No. 4, pp. 349-356, (1980).Referenced byCiting PatentFiling datePublication dateApplicantTitleUS6597805 *Nov 24, 1999Jul 22, 2003Nec CorporationVisual inspection method for electronic device, visual inspecting apparatus for electronic device, and record medium for recording program which causes computer to perform visual inspecting method for electronic deviceUS6924825 *Aug 8, 2000Aug 2, 2005Fujitsu General LimitedContrast adjusting circuitUS7034840 *Oct 27, 2003Apr 25, 2006Beyond Innovation Technology Co., Ltd.Method for an image reducing processing circuitUS7062099 *Jul 15, 2002Jun 13, 2006Canon Kabushiki KaishaImage processing method and apparatus using self-adaptive binarizationUS7145694 *Apr 16, 2001Dec 5, 2006Fujitsu LimitedImage processing apparatus and methodUS7986837 *Jul 12, 2007Jul 26, 2011Ricoh Company, Ltd.Image processing apparatus, image forming apparatus, image distributing apparatus, image processing method, computer program product, and recording mediumUS8149426 *Dec 22, 2006Apr 3, 2012Brother Kogyo Kabushiki KaishaImage forming apparatus with copy functionUS8189917Sep 25, 2008May 29, 2012Sharp Laboratories Of America, Inc.Methods and systems for locating text in a digital imageUS8384763 *Jul 25, 2006Feb 26, 2013Her Majesty the Queen in right of Canada as represented by the Minster of Industry, Through the Communications Research Centre CanadaGenerating a depth map from a two-dimensional source image for stereoscopic and multiview imaging* Cited by examinerClassifications U.S. Classification358/1.15, 358/1.9International ClassificationG06T5/00, G06T5/10Cooperative ClassificationG06T2207/20144, G06T2207/20148, H04N1/403, G06T2207/30176, G06T7/0081, G06K9/38European ClassificationG06T7/00S1, G06K9/38, H04N1/403Legal EventsDateCodeEventDescriptionMar 11, 2013FPAYFee paymentYear of fee payment: 12May 27, 2009FPAYFee paymentYear of fee payment: 8Jun 1, 2005FPAYFee paymentYear of fee payment: 4Jun 25, 2002CCCertificate of correctionFeb 27, 1997ASAssignmentOwner name: CANON KABUSHIKI KAISHA, JAPANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAMADA, OSAMU;MAKITA, TAKESHI;SAITO, KAZUHIRO;AND OTHERS;REEL/FRAME:008410/0330;SIGNING DATES FROM 19970220 TO 19970221RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google