JP3495841B2 - Image processing apparatus and method, and computer program product thereof - Google Patents
Image processing apparatus and method, and computer program product thereofInfo
- Publication number
- JP3495841B2 JP3495841B2 JP04163796A JP4163796A JP3495841B2 JP 3495841 B2 JP3495841 B2 JP 3495841B2 JP 04163796 A JP04163796 A JP 04163796A JP 4163796 A JP4163796 A JP 4163796A JP 3495841 B2 JP3495841 B2 JP 3495841B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- value
- processing
- image
- smoothing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は画像処理装置及びそ
の方法及びそのコンピュータプログラム製品に関し、例
えば、多値画像を2値化するための2値化閾値を決定し
て多値画像の2値化を行う画像処理装置及びその方法及
びそのコンピュータプログラム製品に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus, a method thereof, and a computer program product thereof, for example, binarization of a multi-valued image by determining a binarization threshold value for binarizing the multi-valued image. The present invention relates to an image processing apparatus and method, and a computer program product thereof.
【0002】[0002]
【従来の技術】近年の画像処理技術の発展はめざまし
く、写真/文字が混在するフルカラー画像等の多値画像
の処理や、多値画像内の文字認識処理等が可能な画像処
理装置も普及してきている。2. Description of the Related Art In recent years, image processing technology has been remarkably developed, and image processing apparatuses capable of processing multi-valued images such as full-color images in which photographs / characters are mixed, and character recognition processing in multi-valued images have become widespread. ing.
【0003】このような画像処理技術において、写真/
文字が混在する多値画像の2値化処理は不可欠な技術と
なっている。In such an image processing technique, a photograph /
Binarization processing of multi-valued images in which characters are mixed has become an indispensable technology.
【0004】従来の2値化手法としては、原稿の1ライ
ン又は数ラインごとに最大値及び最小値を算出し、その
最大値及び最小値に基づき2値化閾値を決定し、単純2
値化を行う手法があった。また、原稿のブロック単位ご
との最大値と最小値との差に基づき2値化閾値を決定
し、単純2値化を行う手法があった。さらに、原稿のヒ
ストグラムをある閾値で2クラスに分割した場合のクラ
ス間分散が最大になる時の閾値を2値化閾値とする大津
法(大津、“判別および最小2乗規準に基づく自動しき
い値選定法”、電子通信学会論文誌、vol.J63−
D,no.4,pp.349−356,1980)等が
あった。As a conventional binarization method, a maximum value and a minimum value are calculated for each one line or several lines of a document, and a binarization threshold value is determined based on the maximum value and the minimum value.
There was a method of digitization. Further, there is a method of determining the binarization threshold value based on the difference between the maximum value and the minimum value for each block unit of the document and performing the simple binarization. Furthermore, when the histogram of the original is divided into two classes with a certain threshold, the threshold when the variance between the classes becomes maximum is the binarization threshold. The Otsu method (Otsu, “Automatic threshold based on discrimination and least squares criterion Value Selection Method ", IEICE Transactions, vol.J63-
D, no. 4, pp. 349-356, 1980).
【0005】[0005]
【発明が解決しようとする課題】しかしながら、上述し
たような従来の画像処理装置における2値化方法におい
ては、以下のような問題があった。However, the binarizing method in the conventional image processing apparatus as described above has the following problems.
【0006】画像中に写真/文字が混在する原稿を2値
化する際、原稿のラインごとに2値化する手法では、同
一ライン上の写真/文字が混載するため、写真/文字そ
れぞれに適した閾値を設定することが難しく、その結
果、写真部分を優先すると文字部分がつぶれてしまった
り、文字部分を優先すると写真部分がつぶれたり、かす
れたりしてしまっていた。また、原稿のブロックごとに
2値化する手法では、ブロック内が写真領域なのか文字
領域なのかを判別することができないため、写真/文字
それぞれに適した閾値を設定することが難しく、2値化
結果がつぶれたり、かすれたりしてしまっていた。ま
た、ブロックごとに2値化処理を行うため、2値化結果
にブロック歪がでてしまうという場合もあった。また、
ひとつのブロックの中に下地がありその上に文字がある
場合、2値化によって、その下地までも濃度を再現して
しまい、文字部分にノイズの多い2値画像が生成されて
しまっていた。When binarizing a document in which photographs / characters are mixed in an image, the method of binarizing each line of the document is suitable for each photograph / character because photos / characters on the same line are mixed. It is difficult to set the threshold value, and as a result, the character portion is crushed when the photograph portion is prioritized, and the photograph portion is crushed or faint when the character portion is prioritized. Also, with the method of binarizing each block of the document, it is difficult to set a threshold value suitable for each photo / character because it is difficult to determine whether the inside of the block is a photo area or a character area. The result of mashup was crushed or faint. Further, since the binarization process is performed for each block, block distortion may occur in the binarization result. Also,
When there is a background in one block and a character on it, the density is reproduced even in the background by binarization, and a binary image with a lot of noise in the character part is generated.
【0007】さらに大津法では、写真部分と文字部分に
おいて2クラスの分布の特徴が異なり、2クラスの分布
が極端に異なる場合においては、大きい方のクラスに閾
値が寄ってしまうという性質があり、従ってノイズの多
い2値画像が生成されてしまっていた。Further, in the Otsu method, the characteristics of the distributions of the two classes are different between the photograph part and the character part, and when the distributions of the two classes are extremely different, the threshold value is closer to the larger class. Therefore, a noisy binary image has been generated.
【0008】本発明は上述した課題を解決するためにな
されたものであり、画像内の文字部分とそれ以外の部分
とのそれぞれに、背景から対象物を適切に分離するよう
な適切な2値化閾値を自動的に設定し、さらにブロック
歪が無い2値化画像を得ることができる、画像処理装置
及びその方法及びそのコンピュータプログラム製品を提
供することを目的とする。The present invention has been made in order to solve the above-mentioned problems, and an appropriate binary value that appropriately separates the object from the background for each of the character portion and the other portion in the image. It is an object of the present invention to provide an image processing device, a method thereof, and a computer program product thereof, which can automatically set a threshold value and obtain a binary image without block distortion.
【0009】又、本発明は補間を行なう領域等のパラメ
ータを調整可能とすることにより、スムージングのため
の補間処理時間を短縮したり、入力装置や入力画像の解
像度等の特定に応じた補間処理を実現することができる
画像処理装置及びその方法の提供を目的とする。Further, according to the present invention, by making it possible to adjust parameters such as a region to be interpolated, the interpolation processing time for smoothing can be shortened, and the interpolation processing according to the specification of the input device or the resolution of the input image can be performed. It is an object of the present invention to provide an image processing apparatus and method capable of realizing the above.
【0010】[0010]
【課題を解決するための手段】上述した目的を達成する
ために、本発明の画像処理方法は以下の構成を備える。In order to achieve the above-mentioned object, the image processing method of the present invention has the following configuration.
【0011】[0011]
【0012】[0012]
【0013】[0013]
【0014】[0014]
【0015】 即ち、多値画像中のブロックごとに輝度
頻度を算出し、該輝度頻度に基づいてブロック単位の2
値化閾値を算出し、該ブロック単位の2値化閾値を補間
する領域を設定し、当該設定された領域に対し前記ブロ
ック単位の2値化閾値を補間することで画素単位の2値
化閾値を算出する。That is, the brightness frequency is calculated for each block in the multi-valued image, and 2 in block units is calculated based on the brightness frequency.
Calculating a binarization threshold, the pixels by setting the region to interpolate binarization threshold of the block interpolates binarization threshold of the relative said set region Bro <br/> click units The unitary binarization threshold is calculated.
【0016】又、本発明の画像処理装置は以下の構成を
備える。The image processing apparatus of the present invention has the following configuration.
【0017】 即ち、多値画像中のブロックごとに輝度
頻度を算出する第1演算手段と、該輝度頻度に基づいて
ブロック単位の2値化閾値を算出する第2演算手段と、
該ブロック単位の2値化閾値を補間する領域を設定する
第1設定手段と、前記第1設定手段により設定された領
域に対し前記ブロック単位の2値化閾値を補間すること
で画素単位の2値化閾値を算出する補間手段とを備え
る。That is, first calculation means for calculating the luminance frequency for each block in the multi-valued image, and second calculation means for calculating the binarization threshold value for each block based on the luminance frequency,
2 of the first setting means and the pixel unit by relative set region by said first setting means for interpolating the binarizing threshold of the block unit for setting a region for interpolating the binarizing threshold of the block And an interpolating means for calculating a threshold value.
【0018】[0018]
【発明の実施の形態】以下、図面を参照して本発明に係
る実施の形態について詳細に説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings.
【0019】図1は、本実施の形態における2値化処理
を実行するシステム構成を示すブロック図である。図1
において、1は画像の2値化処理、文字認識処理などを
行う画像処理装置であり、2は画像を入力するスキャナ
等の画像入力装置、3は処理後の画像を表示する若しく
は処理後の画像を記録する画像出力装置である。FIG. 1 is a block diagram showing a system configuration for executing the binarization processing in the present embodiment. Figure 1
In the figure, 1 is an image processing apparatus that performs image binarization processing, character recognition processing, and the like, 2 is an image input apparatus such as a scanner that inputs an image, and 3 is a processed image that is displayed or a processed image Is an image output device for recording.
【0020】画像処理装置1において、4は画像入力装
置2とのインターフェースとなる入力部、5は処理中の
データを記憶するメモリ等の記憶部、6は入力画像の輝
度頻度(ヒストグラム)を累計する輝度頻度累計部であ
る。7は入力画像が文字画像かどうかを判別する画像特
徴判別部、8は入力画像のブロック単位の2値化閾値を
算出する2値化閾値算出部であり、9はブロック単位の
2値化閾値をもとに補間処理を行い画素単位の2値化閾
値を算出する補間処理部、10は補間処理部9において
算出された画素単位の2値化閾値を用いて2値化画像を
作成する2値化部である。11は文字領域として抽出さ
れた領域に対する文字認識処理を行う文字認識部、12
は文字領域以外に分離された領域に対する各種画像処理
や画像のレイアウト処理を行う画像処理部、13は画像
表示装置3とのインターフェースとなる出力部である。
これら各構成は、CPU,ROM,RAMにより構成さ
れる制御部15により統括的に制御される。In the image processing apparatus 1, 4 is an input section that serves as an interface with the image input apparatus 2, 5 is a storage section such as a memory for storing data being processed, and 6 is a cumulative total of luminance frequencies (histograms) of input images. It is a luminance frequency accumulation unit. Reference numeral 7 is an image feature determination unit that determines whether the input image is a character image, 8 is a binarization threshold value calculation unit that calculates a binarization threshold value for each block of the input image, and 9 is a binarization threshold value for each block. An interpolation processing unit 10 which performs an interpolating process based on the above to calculate a binarization threshold value in pixel units, and 10 creates a binarized image using the binarization threshold value in pixel units calculated in the interpolation processing unit 2 It is a valuation unit. Reference numeral 11 denotes a character recognition unit that performs character recognition processing on the area extracted as the character area, and 12
Is an image processing unit that performs various image processing and image layout processing on a region other than the character region, and 13 is an output unit that serves as an interface with the image display device 3.
Each of these components is comprehensively controlled by the control unit 15 including a CPU, ROM, and RAM.
【0021】上述した構成をなす本実施の形態の画像処
理装置1において実行される文字認識処理について、以
下説明する。The character recognition processing executed in the image processing apparatus 1 of the present embodiment having the above-mentioned configuration will be described below.
【0022】図2は、本実施の形態の特徴である2値化
閾値決定方法を利用した文字認識処理を示すフローチャ
ートである。FIG. 2 is a flowchart showing a character recognition process using the binarization threshold value determining method which is a feature of this embodiment.
【0023】まず、ステップS201ではスキャナなど
の画像入力装置2により、画像データを入力する。ここ
での入力は、8ビットの多値画像データとして行われ
る。続いてステップS202では、画像入力時に発生す
る画像入力装置2の電気的ノイズの除去や、原稿画像の
劣化、原稿の傾きなど、入力画像に対する補正を行う。
続いてステップS203においては、ステップS201
で入力された多値画像に対し、本実施の形態の特徴であ
るところの文字ブロック(つぶれ文字ブロック、かすれ
文字ブロック)の判別をし、それぞれに最適な2値化閾
値を決定して、該2値化閾値により2値画像を生成す
る。そして、ステップS204に進み、ステップS20
3において2値化された2値画像が、文字ブロックと判
別されたブロックであるか否かの判断をし、ステップS
205では、該文字ブロックを2値画像から切り出し、
該2値画像に対して文字認識処理を行い、認識された文
字コードを出力する。ステップS206では、未処理ブ
ロックが画像中にあるかの判断をし、ある場合はステッ
プS204へ、ない場合はステップS207へ進む。ス
テップS207では、文字ブロックと、非文字ブロック
とを合成し、原稿画像と同じレイアウトにする。First, in step S201, image data is input by the image input device 2 such as a scanner. The input here is performed as 8-bit multivalued image data. Then, in step S202, the electrical noise of the image input device 2 generated at the time of image input is removed, and the input image is corrected such as deterioration of the original image and inclination of the original.
Then, in step S203, step S201
With respect to the multi-valued image input in, the character blocks (blurred character block, blurred character block), which is the feature of the present embodiment, are discriminated, and the optimum binarization threshold value is determined for each of them, A binary image is generated according to the binarization threshold. Then, the process proceeds to step S204 and step S20.
It is determined whether the binary image binarized in 3 is a block determined to be a character block, and step S
In 205, the character block is cut out from the binary image,
Character recognition processing is performed on the binary image, and the recognized character code is output. In step S206, it is determined whether or not there is an unprocessed block in the image. If yes, the process goes to step S204; otherwise, the process goes to step S207. In step S207, the character block and the non-character block are combined to have the same layout as the original image.
【0024】《2値化処理》次に、本実施の形態の特徴
であるところの文字ブロック(つぶれ文字ブロック、か
すれ文字ブロック)の判別をし、2値化処理を行うステ
ップS203について、図3のフローチャートを参照し
て詳細に説明する。<< Binarization Process >> Next, step S203 for performing the binarization process by discriminating the character block (blurred character block, faint character block) which is the feature of this embodiment will be described with reference to FIG. This will be described in detail with reference to the flowchart of FIG.
【0025】図3において、まずステップS301で8
ビットの多値画像を画像処理装置1内の記憶部5から不
図示のメモリ等に処理ブロックの単位(64画素×64
画素)ごとに入力する。尚、該多値画像は、スキャナー
などの画像入力装置2により、予め記憶部5に格納され
ているものとする。そして、ステップS302におい
て、文字ブロック(つぶれ文字ブロック、かすれ文字ブ
ロック)の判別をし、入力画像の処理ブロックの単位
(64画素×64画素)ごとに2値化のための閾値決定
処理を行う。つぶれ文字とは1文字の画数が多いため、
つぶれてしまっている文字、又かすれ文字とはうすくな
ってしまった文字のことである。本例ではこれらの文字
にも最適な閾値を割り当てることができる。ステップS
303では、文字フラグMFが「1」かどうかの判断
(処理中のブロックが文字ブロックかどうかの判断。詳
細後述)をする。その結果が、文字ブロックであればス
テップS305へ、文字ブロックでなければステップS
304へ進む。ステップS304では、閾値THを下限
値Lと上限値Hによる制限を行う。つまり、ステップS
302で決定された閾値THが、下限値Lよりも小さい
ときは閾値THをLで代表させ、上限値Hよりも大きい
ときは閾値THをHで代表させるような制限処理を行
う。尚、この下限値Lと上限値Hは、画像入力装置2の
特性により決定される値である。In FIG. 3, first, in step S301, 8
A multi-valued image of bits is transferred from the storage unit 5 in the image processing apparatus 1 to a memory or the like (not shown) in processing block units (64 pixels × 64
Input for each pixel. It is assumed that the multi-valued image is stored in the storage unit 5 in advance by the image input device 2 such as a scanner. Then, in step S302, a character block (blurred character block, blurred character block) is determined, and threshold value determination processing for binarization is performed for each unit (64 pixels × 64 pixels) of the processing block of the input image. Since there are many strokes of one character with a collapsed character,
Characters that have been crushed and faint characters are those that have become thin. In this example, an optimum threshold can be assigned to these characters as well. Step S
At 303, it is determined whether the character flag MF is "1" (determination whether the block being processed is a character block. Details will be described later). If the result is a character block, go to step S305. If not, go to step S305.
Proceed to 304. In step S304, the threshold TH is limited by the lower limit value L and the upper limit value H. That is, step S
When the threshold value TH determined in 302 is smaller than the lower limit value L, the threshold value TH is represented by L, and when it is larger than the upper limit value H, the threshold value TH is represented by H. The lower limit value L and the upper limit value H are values determined by the characteristics of the image input device 2.
【0026】ステップS305では、つぶれ文字フラグ
TFが「1」かどうかの判断(処理中のブロックがつぶ
れ文字ブロックかどうかの判断。詳細後述)をする。そ
の結果が、つぶれ文字ブロックであればステップS30
6へ、つぶれ文字ブロックでなければステップS307
へ進む。ステップS306では、閾値THの制限を行
う。つまり、ステップS302またはステップS304
で決定された閾値THに文字つぶれ防止用の定数TPを
かけるような制限処理を行う。ここで、定数TPは画像
入力装置2の特性により決定される値である。そして、
ステップS307では、入力画像の最後の処理ブロック
(64画素×64画素)かどうかの判断をし、最後の処
理ブロックであればステップS308へ進み、未処理ブ
ロックがあればS301へ戻る。ステップS308で
は、ステップS302、またはステップS304、また
はステップS306で決定されたブロック単位の閾値T
Hに基づきスムージング処理(詳細後述)を行い、画素
単位の閾値THを算出する。最後に、ステップS309
ではステップS308で算出された画素単位の閾値TH
を用い単純2値化処理を行い、この2値化処理を終え
る。In step S305, it is determined whether the collapsed character flag TF is "1" (determination whether the block being processed is a collapsed character block, which will be described in detail later). If the result is a collapsed character block, step S30.
6. If not a block character block, step S307.
Go to. In step S306, the threshold TH is limited. That is, step S302 or step S304
A limiting process is performed such that the threshold value TH determined in step 3 is multiplied by a constant character TP for preventing character collapse. Here, the constant TP is a value determined by the characteristics of the image input device 2. And
In step S307, it is determined whether or not it is the last processing block (64 pixels × 64 pixels) of the input image. If it is the last processing block, the process proceeds to step S308, and if there is an unprocessed block, the process returns to step S301. In step S308, the threshold value T in block units determined in step S302, step S304, or step S306.
Smoothing processing (described in detail later) is performed on the basis of H to calculate the threshold value TH for each pixel. Finally, step S309
Then, the threshold value TH for each pixel calculated in step S308
Is used to perform a simple binarization process, and this binarization process ends.
【0027】《閾値決定処理》次に、本実施の形態にお
ける2値化の閾値決定処理について、図4のフローチャ
ートを参照して詳細に説明する。<< Threshold Value Determining Process >> Next, the binarizing threshold value determining process in the present embodiment will be described in detail with reference to the flowchart of FIG.
【0028】ステップS401において、パラメータS
TART、ENDにそれぞれ「0」、「255」をセッ
トする。START、ENDはそれぞれ、後段のステッ
プS402やステップS403で求める輝度値の統計量
の始点及び終点に対応する。また、閾値決定処理ループ
回数iに「0」をセットする。ステップS401では同
時に、処理ブロック(64画素×64画素)中の全画素
を用い、8ビット、即ち「0」から「255」までの各
デジタル値に対する頻度(ヒストグラム)を計算する。In step S401, the parameter S
Set “0” and “255” to TART and END, respectively. START and END respectively correspond to the start point and end point of the statistic of the brightness value obtained in the subsequent step S402 or step S403. Also, "0" is set to the threshold value determination processing loop count i. In step S401, at the same time, using all the pixels in the processing block (64 pixels × 64 pixels), the frequency (histogram) for each digital value of 8 bits, that is, “0” to “255” is calculated.
【0029】ステップS402では、STARTからE
NDまでのデジタル値に対応する画素の平均値AVを算
出する。たとえば、START=0、END=255で
あれば、「0」から「255」の値を持つ画素の平均値
AVを算出し、START=0、END=109であれ
ば「0」から「109」の値を持つ画素の平均値AVを
算出する。In step S402, START to E
An average value AV of pixels corresponding to digital values up to ND is calculated. For example, if START = 0 and END = 255, the average value AV of pixels having values of “0” to “255” is calculated, and if START = 0 and END = 109, “0” to “109”. The average value AV of the pixels having the value of is calculated.
【0030】ステップS403では、STARTからE
NDまでの輝度値に対応する画素のスキュー値SKを算
出する。スキュー値とは、ヒストグラム分布の偏りを示
す統計量である。スキュー値の算出には、以下に示す
(1)式を用いる。In step S403, START to E
The skew value SK of the pixel corresponding to the brightness value up to ND is calculated. The skew value is a statistic indicating the bias of the histogram distribution. Equation (1) shown below is used to calculate the skew value.
【0031】
SK=(Σ(Xi−AV)3)/D ・・・ (1)
ここで、Xiは画素の輝度値である。また、Dは画像全
体の分散値であり、(2)式により算出される。SK = (Σ (Xi-AV) 3 ) / D (1) Here, Xi is the luminance value of the pixel. D is a variance value of the entire image and is calculated by the equation (2).
【0032】 D=Σ(Xi−AV)2 ・・・ (2)D = Σ (Xi-AV) 2 (2)
【0033】上述した式(1)において、スキュー値は
各画素の輝度値と、その平均値との差分を3乗すること
により算出されるが、奇数乗であれば3乗に限定される
ものではない。In the above equation (1), the skew value is calculated by raising the difference between the luminance value of each pixel and its average value to the third power, but if it is an odd power, it is limited to the third power. is not.
【0034】ステップS404では、1つの処理ブロッ
クにおける閾値決定処理ループ回数iの判断(i=0、
つまり最初のループかどうかの判断)を行う。iが
「0」であればステップS405へ、iが「0」以外で
あればステップS406へ進む。ステップS405で
は、処理中のブロックが「文字ブロック」かどうかの画
像特徴判別を行い(詳細後述)、ステップS414へ進
む。In step S404, the threshold value determination processing loop count i in one processing block is determined (i = 0,
That is, it is determined whether it is the first loop). If i is "0", the process proceeds to step S405, and if i is other than "0", the process proceeds to step S406. In step S405, image feature determination is made as to whether or not the block being processed is a “character block” (details will be described later), and the flow advances to step S414.
【0035】ステップS406では(3)式に示すよう
にヒストグラムの偏りの大きさを判断する。In step S406, the magnitude of bias in the histogram is determined as shown in equation (3).
【0036】
−0.1<SK かつ SK<0.1 ・・・ (3)
つまり、スキュー値SKの絶対値が「0.1」未満かの
判断を行う。ステップS406が真ならばステップS4
16へ、偽ならばステップS407へ進む。−0.1 <SK and SK <0.1 (3) That is, it is determined whether the absolute value of the skew value SK is less than “0.1”. If step S406 is true, step S4
16. If false, the process advances to step S407.
【0037】ステップS407では、閾値決定処理ルー
プ回数iの判断を行い、iが「1」ならばステップS4
08へ、「1」以外ならステップS409へ進む。ステ
ップS408では、処理中のブロックが「つぶれ文字ブ
ロック」かどうかの判断と処理を行い(詳細後述)、ス
テップS409へ進む。ステップS409では、閾値決
定処理ループ回数iの判断を行い、iが「9」ならばス
テップS416へ、「9」以外ならステップS410へ
進む。ステップS410では、処理中のブロックが「か
すれ文字ブロック」かどうかの判断と処理を行い(詳細
後述)、ステップS411へ進む。ステップS411で
は、かすれ文字フラグKFが「1」かどうかの判断を
し、「1」ならばステップS416へ、「1」以外なら
ステップS412へ進む。In step S407, the number i of threshold value determination processing loops is determined. If i is "1", step S4 is performed.
08, if other than "1", the process proceeds to step S409. In step S408, it is determined whether or not the block being processed is a "blurred character block" and the process is performed (details will be described later), and the process proceeds to step S409. In step S409, the number i of threshold value determination processing loops is determined. If i is "9", the process proceeds to step S416, and if it is not "9", the process proceeds to step S410. In step S410, it is determined and processed whether or not the block being processed is a "blurred character block" (details will be described later), and the process proceeds to step S411. In step S411, it is determined whether or not the blurred character flag KF is "1". If "1", the process proceeds to step S416. If not "1", the process proceeds to step S412.
【0038】ステップS412では、以下に示す(4)
式によりヒストグラムの偏りの方向を判断する。In step S412, the following (4) is shown.
The direction of the bias of the histogram is determined by the formula.
【0039】SK > 0 ・・・ (4)SK> 0 (4)
【0040】ステップS412において(4)式が真
(ヒストグラムの偏りが平均値AVよりも大きい値の範
囲にある事を意味する)ならばステップS413へ進
み、偽(ヒストグラムの偏りが平均値AVよりも小さい
値の範囲にある事を意味する)ならばステップS414
へ進む。If the expression (4) is true in step S412 (meaning that the bias of the histogram is in the range of the value larger than the average value AV), the process proceeds to step S413, and false (the bias of the histogram is more than the average value AV). Also means that it is within a small value range), step S414
Go to.
【0041】ステップS413では、STARTに平均
値AVをセットし、ENDは変化させない。そして、ス
テップS415へ進む。ステップS414では、STA
RTは変化させず、ENDに平均値AVをセットする。
そして、ステップS415へ進む。ステップS415で
は、閾値決定処理ループ回数iに「1」を加え、そして
ステップS402に戻り、再びSTART値からEND
値までの平均値AVを算出する。In step S413, the average value AV is set in START and END is not changed. Then, the process proceeds to step S415. In step S414, the STA
The average value AV is set in END without changing RT.
Then, the process proceeds to step S415. In step S415, "1" is added to the threshold value determination processing loop count i, and the process returns to step S402 to again END from the START value.
The average value AV up to the value is calculated.
【0042】最後に、ステップS416では平均値AV
を、2値化閾値THとして設定し、この閾値決定処理を
終える。Finally, in step S416, the average value AV
Is set as the binarization threshold value TH, and the threshold value determination process is ended.
【0043】以上説明したようにして本実施の形態にお
ける2値化処理が行われるが、式(3)、(4)で示し
た範囲は、これに限定されるものではない。Although the binarization processing in this embodiment is performed as described above, the ranges shown by the equations (3) and (4) are not limited to this.
【0044】《数値演算処理》次に本実施の形態の平均
値AV算出処理(図4のS402)とスキュー値算出処
理(図4のS403)の2つの処理を一連の処理として
コンピュータ上で実現した例を図17のフローチャート
を参照して具体的に説明する。<< Numerical Arithmetic Process >> Next, the two processes of the average value AV calculation process (S402 of FIG. 4) and the skew value calculation process (S403 of FIG. 4) of this embodiment are realized as a series of processes on a computer. This example will be specifically described with reference to the flowchart of FIG.
【0045】ステップS1301において有効桁数保存
変数Seido1、Seido2を決定する。In step S1301, effective digit number storage variables Seido1 and Seido2 are determined.
【0046】Seido1は整数演算で少数部分の精度
を保つために演算値の桁数を繰り上げるように演算値に
掛ける変数で、コンピュータ内部の整数有効数値によっ
て決定される。本実施の形態では、コンピュータ内部整
数が16bitの場合8bit分の256、32bit
の場合16bit分の65536とする。本数値演算処
理は多値画像の8bitデータを扱うので、元の数値部
分を8bit以上確保するように桁数の繰り上げ幅(S
eido1)を決めている。Seido1 is a variable for multiplying the calculated value so that the number of digits of the calculated value is moved up in order to keep the precision of the decimal part in integer calculation, and is determined by the integer effective numerical value inside the computer. In the present embodiment, when the computer internal integer is 16 bits, 256 bits or 32 bits corresponding to 8 bits are used.
In the case of, it is set to 65536 for 16 bits. Since this numerical calculation process handles 8-bit data of a multivalued image, the carry width (S) of the number of digits is increased so as to secure the original numerical value portion of 8 bits or more.
eido1) has been decided.
【0047】Seido2は整数演算で演算結果がコン
ピュータの扱える整数有効数値(本実施の形態では32
bit)を越える(オーバーフロー)を防ぐために演算
値の桁数を切り捨てるように演算値を割る変数で、平均
値AV算出とスキュー値算出を一単位とする閾値決定処
理ループ回数iの数値によって決定される。閾値決定処
理ループ回数を重ねるにつれSTART、END間が狭
まりヒストグラムの要素数が減り、オーバーフローの可
能性が少なくなるため、iの値により決定するようにし
ている。本実施の形態では、閾値決定処理ループ回数i
の数値が大きくなるに従い、演算値の桁数切り捨て量を
減少させるように以下の式によりSeido2の値を決
定する。Seido2 is an integer operation, and the operation result is an integer effective numerical value that can be handled by a computer (32 in this embodiment).
bit) is a variable that divides the calculated value so as to cut off the number of digits of the calculated value in order to prevent it from overflowing (overflow), and is determined by the numerical value of the threshold value determination loop count i in which the average value AV calculation and the skew value calculation are one unit. It As the number of loops for the threshold value determination process increases, the interval between START and END becomes narrower, the number of elements in the histogram decreases, and the possibility of overflow decreases. Therefore, the value of i is determined. In the present embodiment, the threshold determination processing loop count i
The value of Seido2 is determined by the following formula so that the number of digits of the calculated value is reduced as the numerical value of becomes larger.
【0048】
Seido2=2^(10−i) ・・・ (8)
この値は閾値決定処理ループ回数ごとの最大演算桁数の
理論上のbit数のオーバーフロー桁数により決めてい
る。Seido2 = 2 ^ (10-i) (8) This value is determined by the overflow digit number of the theoretical bit number of the maximum operation digit number for each number of threshold value determination processing loops.
【0049】輝度値Kにおけるヒストグラムの値をHI
ST〔K〕とすると、平均AVは以下の式で表わせる。The value of the histogram at the luminance value K is HI.
If ST [K], the average AV can be expressed by the following equation.
【0050】 AV=(Σ(HIST〔K〕×K))/(Σ(HIST〔K〕))…(9)[0050] AV = (Σ (HIST [K] × K)) / (Σ (HIST [K])) (9)
【0051】ステップS1302では累計変数Sum1
=Σ(HIST〔K〕×K)と累積変数num=Σ(H
IST〔K〕)を求め、ステップS1303ではSum
1をnumで割り、平均値AVを求める。In step S1302, the cumulative variable Sum1
= Σ (HIST [K] × K) and cumulative variable num = Σ (H
IST [K]), and in step S1303, Sum
1 is divided by num to obtain the average value AV.
【0052】ステップS1304ではSum1にステッ
プS1301で決定したSeido1を掛け、ステップ
S1305ではスキュー値算出処理用の精度確保平均値
AV′を求める。In step S1304, Sum1 is multiplied by Seido1 determined in step S1301, and in step S1305, a precision ensuring average value AV 'for skew value calculation processing is obtained.
【0053】本実施の形態の式(1)(2)を演算処理
しやすい形に変えたものが以下のステップS1306〜
S1313である。The equations (1) and (2) of the present embodiment are changed into a form that facilitates arithmetic processing.
It is S1313.
【0054】ステップS1306はスキュー値算出処理
の処理ループの輝度値Kの初期値STARTを設定す
る。In step S1306, the initial value START of the brightness value K of the processing loop of the skew value calculation processing is set.
【0055】ステップS1307では中間変数Tmpを
求めている。In step S1307, the intermediate variable Tmp is calculated.
【0056】Tmp=(K×Seido1−AV′)×
(K×Seido1−AV′)の輝度値Kには精度確保
平均値AV′と同様にステップS1301で決定したS
eido1を掛ける。Tmp = (K × Seido1-AV ') ×
For the brightness value K of (K × Seido1-AV ′), the value S determined in step S1301 is determined in the same manner as the accuracy ensuring average value AV ′.
Multiply eido1.
【0057】ステップS1308ではTmpをステップ
S1301で決定したSeido2で割る。例えばi=
1で、64×64の処理ブロック単位、8bit画像、
8bit分の精度確保の場合、次のステップで最大演算
桁数が理論上32bitを超え40bitになるため、
このステップでオーバーフローを防ぐ処理を行う。この
ときSeido2の値が10なのは、処理ブロック単位
に余裕を持たせるためである。In step S1308, Tmp is divided by Seido2 determined in step S1301. For example i =
1, 64 × 64 processing block unit, 8-bit image,
In the case of ensuring the accuracy of 8 bits, the maximum number of arithmetic digits theoretically exceeds 32 bits and becomes 40 bits in the next step.
In this step, processing to prevent overflow is performed. At this time, the value of Seido2 is 10 in order to provide a margin for each processing block.
【0058】ステップS1309ではTmpにヒストグ
ラムの値HIST〔K〕を掛ける。In step S1309, Tmp is multiplied by the histogram value HIST [K].
【0059】ステップS1310では累積変数Sum2
にTmpを加え、累積変数Sum3にはTmp×(K×
Seido1−AV′)を加える。In step S1310, the cumulative variable Sum2
To the cumulative variable Sum3, and Tmp × (K ×
Seido1-AV ') is added.
【0060】ステップS1311はK=ENDか調べ、
スキュー値算出処理の処理ループ終了の判定を行う。In step S1311, it is checked whether K = END,
The end of the processing loop of the skew value calculation processing is determined.
【0061】ステップS1312はKに1を加えステッ
プS1307に戻る。In step S1312, 1 is added to K and the process returns to step S1307.
【0062】ステップS1313ではSum3をSum
2で割ってスキュー値SKを求め、分子分母間(Sum
3とSum2)での有効桁数保存変数の不均衡(分子3
乗項に対し分母2乗項)を解消するため、ステップS1
301で決定したSeido1で割る。In step S1313, Sum3 is set to Sum.
The skew value SK is calculated by dividing by 2 and the numerator and denominator (Sum
3 and Sum2), the imbalance of the significant number conservation variable (numerator 3
To eliminate the denominator squared term for the power term, step S1
Divide by Seido1 determined in 301.
【0063】以上により数値演算処理を終わる。With the above, the numerical calculation process is completed.
【0064】以上説明した様に本実施の形態の平均値A
V算出処理とスキュー値算出処理が行われるが、ここで
示した有効桁数保存変数Seido1、Seido2の
決定条件はこれに限定されるものではない。As described above, the average value A of this embodiment
Although the V calculation process and the skew value calculation process are performed, the determination conditions of the effective digit number storage variables Seido1 and Seido2 shown here are not limited to this.
【0065】以上説明したように本実施の形態における
数値演算処理によれば、コンピュータの処理環境によっ
て決めた有効桁数保存変数を演算値に掛けることにより
整数演算でも小数点以下の精度を保つことを可能にし、
また平均値算出、スキュー値算出を一単位として各単位
ごとに求めた有効桁数保存変数で演算値を割ることで演
算結果がコンピュータの扱える整数有効数値を超えるこ
となく演算することが可能となる。これにより、一定の
精度を保ちつつ、高速な画像処理の数値演算方法を得る
ことができる。As described above, according to the numerical calculation processing of the present embodiment, the precision below the decimal point can be maintained even in the integer calculation by multiplying the calculated value by the effective digit number storage variable determined by the processing environment of the computer. Enable and
Also, by calculating the average value and skew value as one unit and dividing the calculated value by the effective digit number saving variable obtained for each unit, it is possible to perform the operation without exceeding the integer effective value that the computer can handle. . This makes it possible to obtain a high-speed numerical calculation method for image processing while maintaining a constant accuracy.
【0066】 《画像特徴判別処理》
次に、ステップS405における画像特徴判別処理につ
いて、図5を用い詳細に説明する。ステップS501で
は、処理中のブロックが「文字ブロック」かどうかを示
す、文字フラグMFに「0」をセットする。また、閾値
決定処理ループにおける最初のスキュー値を表わすSK
0にスキュー値SKをセットする(これは、この画像特
徴判別処理は閾値決定処理ループにおける最初のループ
のみ処理が行われるからである)。ステップS502で
は、処理中のブロックが「文字ブロック」かどうかの判
断を(5)式により行う。<< Image Feature Determination Process >> Next, the image feature determination process in step S405 will be described in detail with reference to FIG. In step S501, "0" is set to the character flag MF indicating whether the block being processed is a "character block". SK representing the first skew value in the threshold value determination processing loop
The skew value SK is set to 0 (this is because this image feature determination processing is performed only in the first loop of the threshold value determination processing loop). In step S502, whether or not the block being processed is a "character block" is determined by the equation (5).
【0067】SK0 < MH ・・・ (5)
ここで、MHは処理中のブロックが「文字ブロック」か
どうかを示す値であり、ここでは、「MH=−20.
0」とする。ステップS502において(5)式が真な
らばステップS503へ、偽ならばこの画像特徴判別処
理を終える。ステップS503では、処理中のブロック
が「文字ブロック」であることを示す、文字フラグMH
に「1」をセットし、この画像特徴判別処理を終える。SK0 <MH ... (5) Here, MH is a value indicating whether the block being processed is a “character block”, and here, “MH = −20.
0 ”. If the equation (5) is true in step S502, the process proceeds to step S503, and if false, the image feature determination process is ended. In step S503, the character flag MH indicating that the block being processed is a "character block".
Is set to "1", and the image feature discrimination processing is completed.
【0068】以上説明したようにして本実施の形態にお
ける画像特徴判別処理が行われるが、式(5)で示した
条件は、これに限定されるものではない。Although the image feature discrimination processing according to the present embodiment is performed as described above, the condition shown in equation (5) is not limited to this.
【0069】《つぶれ文字処理》次に、ステップS40
8におけるつぶれ文字処理について、図6を用い詳細に
説明する。ステップS601では、処理中のブロックが
「つぶれ文字ブロック」かどうかを示す、つぶれ文字フ
ラグTFに「0」をセットする。また、処理中のブロッ
クのヒストグラムの偏りが大きいことを示すフラグPF
に「0」をセットする。そしてステップS602で、閾
値決定処理ループにおける最初のループのスキュー値S
K0と、処理中のループのスキュー値SKが共にマイナ
スであるかの判断をし、共にマイナスであれば、ステッ
プS603でフラグPFに「1」をセットする。ステッ
プS604では、文字フラグMFが「 1」かどうかの
判断(つまり処理中のブロックが文字ブロックかどうか
の判断)を行い、「1」ならばステップS605へ、
「1」以外ならこのつぶれ文字処理を終える。ステップ
S605では、処理中のブロックが「つぶれ文字ブロッ
ク」かどうかの判断を(6)式により行う。<< Crushed Character Processing >> Next, step S40.
The blurred character processing in 8 will be described in detail with reference to FIG. In step S601, a collapsed character flag TF indicating whether or not the block being processed is a "crushed character block" is set to "0". Further, a flag PF indicating that the histogram of the block being processed has a large bias
Set "0" to. Then, in step S602, the skew value S of the first loop in the threshold value determination processing loop
It is determined whether K0 and the skew value SK of the loop being processed are both negative, and if both are negative, "1" is set to the flag PF in step S603. In step S604, it is determined whether the character flag MF is "1" (that is, whether the block being processed is a character block). If "1", the process proceeds to step S605.
If it is other than "1", this crushed character processing ends. In step S605, whether or not the block being processed is a "blank character block" is determined by the equation (6).
【0070】
SK0/SK < −SR ・・・ (6)
ここで、−SRは処理中のブロックが「つぶれ文字ブロ
ック」かどうかを示す値であり、ここでは、「−SR=
−3.0」とする。ステップS605において(6)式
が真ならばステップS606へ、偽ならばこのつぶれ文
字処理を終える。ステップS606では、処理中のブロ
ックが「つぶれ文字ブロック」であることを示す、つぶ
れ文字フラグTFに「1」をセットし、このつぶれ文字
処理を終える。SK0 / SK <−SR (6) Here, −SR is a value indicating whether the block being processed is a “blank character block”, and here, “−SR =
-3.0 ". If the expression (6) is true in step S605, the process proceeds to step S606, and if false, the crushed character processing is ended. In step S606, the collapsed character flag TF indicating that the block being processed is the "crushed character block" is set to "1", and the collapsed character processing is finished.
【0071】以上説明したようにして本実施の形態にお
ける、つぶれ文字処理が行われるが、式(6)で示した
条件は、これに限定されるものではない。The crushed character processing in this embodiment is performed as described above, but the condition shown in equation (6) is not limited to this.
【0072】《かすれ文字処理》さらに、ステップS4
10におけるかすれ文字処理について、図7を用い詳細
に説明する。ステップS701では、処理中のブロック
が「かすれ文字ブロック」かどうかを示す、かすれ文字
フラグKFに「0」をセットする。ステップS702で
は、文字フラグMFが「1」かどうかの判断(処理中の
ブロックが文字ブロックかどうかの判断)を行い、
「1」ならばステップS703へ、「1」以外ならこの
かすれ文字処理を終える。ステップS703では、フラ
グPFが「1」かどうかの判断をし、「1」ならばステ
ップS704へ、「1」以外ならこのかすれ文字処理を
終える。ステップS704では、処理中のブロックが
「かすれ文字ブロック」かどうかの判断を(7)式によ
り行う。<< Faint Character Processing >> Further, step S4
The blurred character processing in 10 will be described in detail with reference to FIG. In step S701, "0" is set to the blurred character flag KF indicating whether the block being processed is a "blurred character block". In step S702, it is determined whether the character flag MF is "1" (whether the block being processed is a character block),
If it is "1", the flow proceeds to step S703, and if it is other than "1", this blurred character processing is ended. In step S703, it is determined whether the flag PF is "1". If "1", the process proceeds to step S704. In step S704, whether or not the block being processed is a "blurred character block" is determined by the equation (7).
【0073】
SK0/SK > SR ・・・ (7)
ここで、SRは処理中のブロックが「かすれ文字ブロッ
ク」かどうかを示す値であり、ここでは、「SR=3.
0」とする。ステップS704において(7)式が真な
らばステップS705へ、偽ならばこのかすれ文字処理
を終える。ステップS705では、処理中のブロックが
「かすれ文字ブロック」であることを示す、かすれ文字
フラグKFに「1」をセットし、このかすれ文字処理を
終える。SK0 / SK> SR (7) Here, SR is a value indicating whether the block being processed is a “blurred character block”, and here, “SR = 3.
0 ”. If the expression (7) is true in step S704, the process proceeds to step S705, and if false, the faint character process ends. In step S705, the faint character flag KF indicating that the block being processed is a "faint character block" is set to "1", and the faint character processing ends.
【0074】以上説明したようにして本実施の形態にお
けるかすれ文字処理が行われるが、式(7)で示した条
件は、これに限定されるものではない。Although the faint character processing according to the present embodiment is performed as described above, the condition shown in equation (7) is not limited to this.
【0075】以下、具体的な画像の例を参照し、本実施
の形態の閾値決定処理について更に詳細に説明する。The threshold value determination process of this embodiment will be described in more detail below with reference to a specific image example.
【0076】まず、図8に示すヒストグラムの例を用い
て、本実施の形態における図4の2値化閾値THの決定
処理について説明する。First, the process of determining the binarization threshold TH of FIG. 4 in the present embodiment will be described using the example of the histogram shown in FIG.
【0077】図8は、つぶれ文字画像(8ビット入力)
のヒストグラムを示したものである。図8において、横
軸は、左端が「0」即ち黒、右端が「255」即ち白を
表わす輝度のデジタル値であり、縦軸は、各デジタル値
の頻度を表わしている。図9は、図8に示す様なヒスト
グラムを有する画像に対して、上述した図4で示す2値
化処理においてステップS402とS403で示した処
理の際の、各パラメータの値の変化を示す図である。
尚、図9において示される各パラメータ値は、ステップ
S402及びS403を通過する回数によって、それぞ
れ示されている。FIG. 8 shows a blurred character image (8-bit input).
It shows a histogram of. In FIG. 8, the horizontal axis is the digital value of the brightness at which the left end represents “0”, that is, black, and the right end is “255”, that is, white, and the vertical axis represents the frequency of each digital value. FIG. 9 is a diagram showing a change in the value of each parameter during the processing shown in steps S402 and S403 in the binarization processing shown in FIG. 4 described above with respect to the image having the histogram shown in FIG. Is.
Each parameter value shown in FIG. 9 is indicated by the number of times it passes through steps S402 and S403.
【0078】まず、ステップS402及びS403を通
過する1回目の処理(閾値決定処理ループ回数i=0)
では、START=0、END=255で平均値AV、
統計量SKを計算し、それぞれ「109」、「−27.
4」という値を得る。そして、i=0であるので、ステ
ップS404からステップS405へ進む。ステップS
405の画像特徴判別処理では、(5)式により統計量
SKが「−20.0」未満であるため真となり、文字フ
ラグMFに「1」がセットされ、ステップS414でS
TART=0、END=109が設定される。First, the first processing that passes through steps S402 and S403 (threshold determination processing loop count i = 0)
Then, with START = 0, END = 255, the average value AV,
The statistic SK is calculated, and “109” and “−27.
Get the value of 4 ". Then, since i = 0, the process proceeds from step S404 to step S405. Step S
In the image feature determination processing of 405, since the statistic SK is less than “−20.0” according to the equation (5), it becomes true, the character flag MF is set to “1”, and S is obtained in step S414.
TART = 0 and END = 109 are set.
【0079】続いて2回目の処理(i=1)では、ST
ART=0、END=109における平均値AV、統計
量SKを計算し、それぞれ「62」、「8.9」という
値を得る。統計量SKが「0.1」を超えるため、ステ
ップS406からステップS407へ進み、i=1であ
るのでステップS408へ進む。ステップS408で
は、スキュー値SKがプラスのため、フラグPFは
「0」のままとなる。そして、(6)式の結果が「−
3.08(=−27.4/8.9)」と真なので、つぶ
れ文字フラグTFに「1」がセットされる。そして、ス
テップS410では、フラグPFが「0」のままなので
かすれフラグKFは「0」のままである。さらに、スキ
ュー値SKがプラスの為、ステップS413でSTAR
T=62、END=109が設定される。Subsequently, in the second processing (i = 1), ST
The average value AV and the statistic SK at ART = 0 and END = 109 are calculated to obtain the values “62” and “8.9”, respectively. Since the statistic SK exceeds “0.1”, the process proceeds from step S406 to step S407, and since i = 1, the process proceeds to step S408. In step S408, since the skew value SK is positive, the flag PF remains "0". Then, the result of the equation (6) is "-
3.08 (= −27.4 / 8.9) ”, which is true, so that the collapsed character flag TF is set to“ 1 ”. Then, in step S410, since the flag PF remains "0", the blur flag KF remains "0". Furthermore, since the skew value SK is positive, STAR is set in step S413.
T = 62 and END = 109 are set.
【0080】続いて3回目の処理(i=2)では、ST
ART=62、END=109における平均値AV、統
計量DKを計算し、それぞれ「84」、「1.9」とい
う値を得る。この場合は、統計量SKが「0.1」を超
えるため、ステップS407、ステップS409へと進
む。そして、スキュー値SKがプラスの為、ステップS
413でSTART=84、END=109が設定され
る。Subsequently, in the third processing (i = 2), ST
The average value AV and the statistic DK at ART = 62 and END = 109 are calculated to obtain the values “84” and “1.9”, respectively. In this case, since the statistic SK exceeds “0.1”, the process proceeds to steps S407 and S409. Then, since the skew value SK is positive, step S
At 413, START = 84 and END = 109 are set.
【0081】続いて4回目の処理(i=3)では、ST
ART=84、END=109における平均値AV、統
計量SKを計算し、それぞれ「96」、「0.6」とい
う値を得る。この場合は、統計量SKが「0.1」を超
えるため、処理が続き、スキュー値SKがプラスの為、
ステップS413でSTART=96、END=109
が設定される。Subsequently, in the fourth processing (i = 3), ST
The average value AV and the statistic SK at ART = 84 and END = 109 are calculated to obtain the values “96” and “0.6”, respectively. In this case, since the statistic SK exceeds “0.1”, the processing continues, and the skew value SK is positive,
In step S413, START = 96, END = 109
Is set.
【0082】続いて5回目の処理(i=4)では、ST
ART=96、END=109における平均値AV、統
計量SKを計算し、それぞれ「102」、「−0.3」
という値を得る。この場合は、統計量SKが「−0.
1」未満のため、処理が続き、スキュー値SKがマイナ
スの為、ステップS414でSTART=96、END
=102が設定される。Then, in the fifth processing (i = 4), ST
The average value AV and the statistic SK at ART = 96 and END = 109 are calculated, and “102” and “−0.3” are calculated, respectively.
Is obtained. In this case, the statistic SK is "-0.
Since it is less than 1 ”, the processing continues, and since the skew value SK is negative, START = 96, END in step S414.
= 102 is set.
【0083】続いて6回目の処理(i=5)では、ST
ART=96、END=102における平均値AV、統
計量SKを計算し、それぞれ「98」、「0.3」とい
う値を得る。この場合は、統計量SKが「0.1」を超
えるため、処理が続き、スキュー値SKがプラスの為、
ステップS413でSTART=98、END=102
が設定される。Subsequently, in the sixth processing (i = 5), ST
The average value AV and the statistic SK at ART = 96 and END = 102 are calculated to obtain the values “98” and “0.3”, respectively. In this case, since the statistic SK exceeds “0.1”, the processing continues, and the skew value SK is positive,
In step S413, START = 98, END = 102
Is set.
【0084】続いて7回目の処理(i=6)では、ST
ART=98、END=102における平均値AV、統
計量SKを計算し、それぞれ「99」、「0.4」とい
う値を得る。この場合は、統計量SKが「0.1」を超
えるため、処理が続き、スキュー値SKがプラスの為、
ステップS413でSTART=99、END=102
が設定される。Then, in the seventh processing (i = 6), ST
The average value AV and the statistic SK at ART = 98 and END = 102 are calculated to obtain the values “99” and “0.4”, respectively. In this case, since the statistic SK exceeds “0.1”, the processing continues, and the skew value SK is positive,
In step S413, START = 99, END = 102
Is set.
【0085】続いて8回目の処理(i=7)では、ST
ART=99、END=102における平均値AV、統
計量SKを計算し、それぞれ「100」、「0.2」と
いう値を得る。この場合は、統計量SKが「0.1」を
超えるため、処理が続き、スキュー値SKがプラスの
為、ステップS413でSTART=100、END=
102が設定される。Subsequently, in the eighth processing (i = 7), ST
The average value AV and the statistic SK at ART = 99 and END = 102 are calculated to obtain the values “100” and “0.2”, respectively. In this case, since the statistic SK exceeds “0.1”, the process continues, and the skew value SK is positive. Therefore, in step S413, START = 100, END =
102 is set.
【0086】続いて9回目の処理(i=8)では、ST
ART=100、END=102における平均値AV、
統計量SKを計算し、それぞれ「101」、「−0.
2」という値を得る。この場合は、統計量SKが「−
0.1」未満のため、処理が続き、スキュー値SKがマ
イナスの為、ステップS414でSTART=100、
END=101が設定される。Subsequently, in the ninth processing (i = 8), ST
Average value AV at ART = 100 and END = 102,
The statistic SK is calculated, and “101” and “−0.
You get the value 2 ". In this case, the statistic SK is “−
Since it is less than 0.1 ”, the processing continues, and the skew value SK is negative, so START = 100 in step S414,
END = 101 is set.
【0087】続いて10回目の処理(i=9)では、S
TART=100、END=101における平均値A
V、統計量SKを計算し、それぞれ「100」、「0.
2」という値を得る。この場合は、統計量SKが「0.
1」を超えるが、閾値決定処理ループ回数iが「9」の
ため、ステップS409における判断により、ステップ
S416へと進み、閾値THに平均値AVである「10
0」をセットし、この閾値決定処理を終える。ただし、
この例におけるブロックは、つぶれ文字フラグTFに
「1」がセットされているため、図3のステップS30
5の判断が真となり、ステップS306で閾値に制限を
受け、THには「85(=100×0.85)」がセッ
トされ、ステップS308での閾値THのスムージング
処理の後、ステップS309で2値化される。(この場
合TPに「0.85」がセットされている。)そして、
2値化された画像は記憶部5に格納される。Subsequently, in the tenth processing (i = 9), S
Average value A at TART = 100 and END = 101
V and the statistic SK are calculated, and “100” and “0.
You get the value 2 ". In this case, the statistic SK is "0.
However, since the number i of times of threshold value determination processing loop is "9", the process proceeds to step S416 by the determination in step S409, and the threshold value TH is the average value AV "10".
"0" is set, and the threshold value determination process is completed. However,
Since the block in this example has the collapsed character flag TF set to "1", step S30 in FIG.
The determination in step 5 is true, the threshold value is limited in step S306, TH is set to “85 (= 100 × 0.85)”, and after smoothing processing of the threshold value TH in step S308, 2 is set in step S309. Valued. (In this case, "0.85" is set in TP.)
The binarized image is stored in the storage unit 5.
【0088】次に、図10に示すヒストグラムの例を用
いて、本実施の形態における図4の2値化閾値THの決
定処理について説明する。Next, the process of determining the binarization threshold value TH of FIG. 4 in the present embodiment will be described using the example of the histogram shown in FIG.
【0089】図10は、かすれ文字画像(8ビット入
力)のヒストグラムを示したものである。図11は、図
10に示す様なヒストグラムを有する画像に対して、上
述した図4で示す2値化処理においてステップS402
とS403で示した処理の際の、各パラメータの値の変
化を示す図である。尚、図11において示される各パラ
メータ値は、ステップS402及びS403を通過する
回数によって、それぞれ示されている。FIG. 10 shows a histogram of a blurred character image (8-bit input). FIG. 11 shows step S402 in the binarization processing shown in FIG. 4 described above for an image having a histogram as shown in FIG.
FIG. 6 is a diagram showing changes in the values of the respective parameters during the processing shown in S403 and S403. Each parameter value shown in FIG. 11 is indicated by the number of times it passes through steps S402 and S403.
【0090】まず、ステップS402及びS403を通
過する1回目の処理(閾値決定処理ループ回数i=0)
では、START=0、END=255で平均値AV、
統計量SKを計算し、それぞれ「130」、「−60.
2」という値を得る。そして、i=0であるので、ステ
ップS404からステップS405へ進む。ステップS
405の画像特徴判別処理では、(5)式により統計量
SKが「−20.0」未満であるため真となり、文字フ
ラグMFに「1」がセットされ、ステップS414でS
TART=0、END=130が設定される。First, the first processing that passes through steps S402 and S403 (threshold determination processing loop count i = 0)
Then, with START = 0, END = 255, the average value AV,
The statistic SK is calculated, and “130” and “−60.
You get the value 2 ". Then, since i = 0, the process proceeds from step S404 to step S405. Step S
In the image feature determination processing of 405, since the statistic SK is less than “−20.0” according to the equation (5), it becomes true, the character flag MF is set to “1”, and S is obtained in step S414.
TART = 0 and END = 130 are set.
【0091】続いて2回目の処理(i=1)では、ST
ART=0、END=130における平均値AV、統計
量SKを計算し、それぞれ「95」、「−19.3」と
いう値を得る。統計量SKが「0.1」を超えるため、
ステップS406からステップS407へ進み、i=1
であるのでステップ408へ進む。ステップS408で
は、スキュー値SK、SK0が共にマイナスのため、フ
ラグPFに「1」がセットされる。そして、(6)式の
結果が「3.11(=−60.2/−19.3)」と偽
なので、つぶれ文字フラグTFは「0」のままとなる。
そして、ステップS410のかすれ文字処理では、文字
フラグMF、フラグPF共に「1」なので、ステップS
704で(7)式の計算を行い、結果が「3.11(=
−60.2/−19.3)」と真なので、かすれ文字フ
ラグKFに「1」をセットする。かすれフラグKFが
「1」なので、ステップS411からステップS416
へと進み、閾値THに平均値AVの「95」をセット
し、この閾値決定処理を終える。そして、図3のステッ
プS308での閾値THのスムージング処理の後、ステ
ップS309で2値化され、2値化された画像は記憶部
5に格納される。Then, in the second processing (i = 1), ST
The average value AV and the statistic SK at ART = 0 and END = 130 are calculated to obtain the values “95” and “−19.3”, respectively. Since the statistical value SK exceeds “0.1”,
From step S406 to step S407, i = 1
Therefore, the process proceeds to step 408. In step S408, since the skew values SK and SK0 are both negative, "1" is set in the flag PF. Then, since the result of the expression (6) is false as "3.11 (= -60.2 / -19.3)", the collapsed character flag TF remains "0".
Then, in the faint character processing of step S410, both the character flag MF and the flag PF are "1", so step S410
In step 704, the formula (7) is calculated, and the result is “3.11 (=
-60.2 / -19.3) "is true, the faint character flag KF is set to" 1 ". Since the blur flag KF is "1", steps S411 to S416
Then, the average value AV of "95" is set to the threshold value TH, and the threshold value determining process ends. Then, after the smoothing process of the threshold value TH in step S308 of FIG. 3, the image is binarized in step S309, and the binarized image is stored in the storage unit 5.
【0092】《スムージング処理》では、図3のステッ
プS308のスムージング処理の説明を図12〜図16
を用いて説明する。In the "smoothing process", the smoothing process of step S308 of FIG. 3 will be described with reference to FIGS.
Will be explained.
【0093】図12は、図3のステップS308のスム
ージング処理の構成を最も良く示すフローチャートであ
る。図12において、ステップS1201からステップ
S1204までは、ブロック単位で行なうスムージング
処理の各種パラメータの設定を行なうステップであり、
ステップS1201は、スムージングを行なうブロック
の垂直方向スムージング領域の設定、ステップS120
2は、スムージングを行なうブロックの水平方向スムー
ジング領域の設定、ステップS1203は、スムージン
グを行なうブロックの垂直方向スムージングステップの
設定、ステップS1204は、スムージングを行なうブ
ロックの水平方向のスムージングステップの設定を行な
う。そして、ステップS1205からステップS120
9までは、ステップS1201からステップS1204
までの設定に基づきブロック単位で2値化閾値のスムー
ジングを実行するステップである。ステップS1205
は、スムージング処理ブロック画像の抽出を行ない、ス
テップS1206は、スムージングを行なうブロックの
4隅の閾値の設定、ステップS1207は、垂直方向ス
ムージング処理、ステップS1208は、水平方向スム
ージング処理を行なう。そして、ステップS1209で
は未処理のスムージングを行なうブロックがあるか否か
を判断し、未処理のブロックがある場合は、ステップS
1205に行き、スムージング処理を継続し、未処理の
スムージングを行なうブロックがない場合は、終了す
る。FIG. 12 is a flow chart best showing the configuration of the smoothing process of step S308 of FIG. In FIG. 12, steps S1201 to S1204 are steps for setting various parameters of smoothing processing performed in block units.
A step S1201 sets a vertical smoothing area of a block to be smoothed, a step S120.
In step S1203, the horizontal smoothing area of the block to be smoothed is set. In step S1203, the vertical smoothing step of the block to be smoothed is set. In step S1204, the horizontal smoothing step of the block to be smoothed is set. Then, from step S1205 to step S120
Up to 9, steps S1201 to S1204
This is a step of executing the smoothing of the binarization threshold value in block units based on the above settings. Step S1205
Performs the smoothing processing block image extraction, step S1206 sets the thresholds of the four corners of the block to be smoothed, step S1207 performs the vertical smoothing processing, and step S1208 performs the horizontal smoothing processing. Then, in step S1209, it is determined whether or not there is an unprocessed block for smoothing. If there is an unprocessed block, step S1209 is performed.
In step 1205, the smoothing process is continued, and if there is no unprocessed block to be smoothed, the process ends.
【0094】以下、各ステップの詳細を行なうために、
ステップS301〜S307までのループにおけるブロ
ック単位の閾値を算出するブロックとスムージング処理
を行なうブロックとの関係について説明したあと、ステ
ップS1201〜ステップS1209までの各ステップ
の詳細を説明する。Below, in order to perform the details of each step,
The relationship between the block for calculating the threshold value for each block and the block for performing the smoothing process in the loop of steps S301 to S307 will be described, and then the details of each step of steps S1201 to S1209 will be described.
【0095】図13は、図3のステップS301〜S3
07までのループにおけるブロック単位の閾値を算出す
るブロックの単位を示しているもので、左上隅から64
×64画素毎にブロックが区切られており、B11〜B
nmとブロックに番号が示されている。以下、ステップ
S301〜S307までのブロック単位の閾値の算出ル
ープをブロック閾値算出ループと呼び、その結果得られ
た閾値をブロック閾値と呼ぶ。FIG. 13 shows steps S301 to S3 of FIG.
It shows the unit of the block for calculating the threshold value of the block unit in the loop up to 07, and is 64 from the upper left corner.
Blocks are divided for every 64 pixels, and B11 to B
The numbers are shown in nm and blocks. Hereinafter, the block-by-block threshold calculation loop of steps S301 to S307 is called a block threshold calculation loop, and the resulting threshold is called a block threshold.
【0096】図14は、ブロック閾値算出ループにて算
出された2値化のためのブロック閾値と画素単位の閾値
を算出するためのスムージング処理の単位となるブロッ
クとの関係を示した図である。図14において、細い実
線は図13のブロック分けと同様のもので、左上第1画
素を起点とした64×64のブロック分けを示す。ブロ
ック閾値算出ループでは、ブロック閾値はこの細い実線
で分割されたブロック単位で算出されるので、ブロック
閾値はそのブロックを代表する閾値と考えることができ
る。そこで、この細い実線で分割されたブロックの中心
点、即ち、太い点線の交点がブロック閾値算出ループよ
り得られたブロック閾値とし、ステップS308のスム
ージング処理では、その新たに太い点線で分割されたブ
ロック単位で、各太い点線で分割されたブロックの4隅
の閾値に基づき補間処理することにより、その太い点線
で分割されたブロックの画素単位の閾値を算出する。以
下、この太い点線で分割されたブロックをスムージング
ブロックと呼ぶ。FIG. 14 is a diagram showing the relationship between the block threshold for binarization calculated in the block threshold calculation loop and the block serving as the unit of smoothing processing for calculating the threshold in pixel units. . In FIG. 14, a thin solid line is the same as the block division in FIG. 13, and shows a 64 × 64 block division starting from the upper left first pixel. In the block threshold calculation loop, the block threshold is calculated in units of blocks divided by the thin solid line, and thus the block threshold can be considered as a threshold representing the block. Therefore, the center point of the block divided by the thin solid line, that is, the intersection of the thick dotted lines is set as the block threshold value obtained from the block threshold value calculation loop, and in the smoothing process of step S308, the block newly divided by the thick dotted line is used. For each unit, interpolation processing is performed based on the threshold values at the four corners of the block divided by the thick dotted lines to calculate the threshold value in pixel units of the block divided by the thick dotted lines. Hereinafter, the block divided by the thick dotted line is referred to as a smoothing block.
【0097】つまり、ステップS308のスムージング
処理では、図14における太い点線で分割されたBL1
1、BL12、...BL1(m−1),BL1m,B
L21,bl22,...BLn(m−1),BLnm
を新たにスムージング処理のためのスムージングブロッ
クと定義し、各ブロックの交点、即ち、太い点線の交点
には、図中に示しているようなブロック閾値を定義す
る。例えば、BL11の4隅の閾値は、TH11,TH
11,TH11,TH11であり、BL22の4隅の閾
値は、TH11,TH12,TH21,TH22であ
る。そして、スムージングブロックにおいて、その4隅
の閾値により、垂直方向、又は、水平方向の線形補間を
行なう。たとえば、BL22のスムージング処理は、T
H11,TH12,TH21,TH22の4つの閾値に
より垂直水平方向の線形補間がおこなわれる。That is, in the smoothing process of step S308, BL1 divided by the thick dotted line in FIG.
1, BL12 ,. . . BL1 (m-1), BL1m, B
L21, bl22 ,. . . BLn (m-1), BLnm
Is newly defined as a smoothing block for smoothing processing, and a block threshold value as shown in the figure is defined at the intersection of the blocks, that is, the intersection of the thick dotted lines. For example, the thresholds at the four corners of BL11 are TH11, TH
11, TH11, TH11, and the thresholds at the four corners of BL22 are TH11, TH12, TH21, TH22. Then, in the smoothing block, linear interpolation in the vertical direction or the horizontal direction is performed according to the threshold values at the four corners. For example, the smoothing process for BL22 is T
Linear interpolation in the vertical and horizontal directions is performed using four thresholds H11, TH12, TH21, and TH22.
【0098】さて、図12のステップS1201からS
1204までを、図15を用いて説明する。Now, steps S1201 to S1201 in FIG.
Up to 1204 will be described with reference to FIG.
【0099】図15において、TH_TL,TH_T
R,TH_BL,TH_BRは、そのスムージングブロ
ックにおける4隅のブロック閾値を示し、各スムージン
グブロックにおけるTH_TL,TH_TR,TH_B
L,TH_BRの値とブロック閾値算出ループより算出
されたブロック閾値との関係は、前記に説明した通りで
ある。In FIG. 15, TH_TL, TH_T
R, TH_BL, TH_BR represent block thresholds at the four corners of the smoothing block, and TH_TL, TH_TR, TH_B in each smoothing block.
The relationship between the values of L and TH_BR and the block threshold calculated by the block threshold calculation loop is as described above.
【0100】ステップS1201は、垂直方向スムージ
ング領域の設定を行なう。垂直方向スムージング領域と
は、垂直方向の補間演算を行なう領域であり、図15に
示されているように、V1とV2によって設定されてい
る。例えば、V1=1,V2=64の場合、垂直方向補
間演算は全領域に対して行なわれる、また、V1=1
7,V2=48の時は、スムージングブロックにおい
て、第1行から第16行までは、垂直方向の補間演算が
行なわれず第1行の閾値が繰り返し用いられる、第17
行から第48行までは、TH_TL,TH_TR,TH
_BL,TH_BRを用いて垂直方向の補間演算が行な
われ、そして、第49行から第64行までは、垂直方向
の補間演算が行なわれず、第49行の値が繰り返し用い
られる。A step S1201 sets a vertical smoothing area. The vertical smoothing area is an area for performing interpolation calculation in the vertical direction, and is set by V1 and V2 as shown in FIG. For example, when V1 = 1 and V2 = 64, the vertical direction interpolation calculation is performed on the entire area, and V1 = 1.
7, V2 = 48, in the smoothing block, the interpolation calculation in the vertical direction is not performed from the first row to the 16th row, and the threshold value of the first row is repeatedly used.
From line to line 48, TH_TL, TH_TR, TH
Vertical interpolation calculation is performed using _BL and TH_BR, and vertical interpolation calculation is not performed from the 49th line to the 64th line, and the value of the 49th line is repeatedly used.
【0101】ステップS1202は、水平方向のスムー
ジング領域の設定を行なう。水平方向のスムージング領
域とは、水平方向の補間演算を行なう領域であり、図1
5に示されているように、H1とH2によって設定され
る。例えば、H1=1,H2=64の場合、水平方向補
間演算は全領域に対して行なわれる、また、H1=1
7,H2=48の時は、スムージングブロックにおい
て、第1列から第16列までは、水平方向の補間演算が
行なわれず第1列の閾値が繰り返し用いられる、第17
列から第48列までは、TH_TL,TH_TR,TH
_BL,TH_BRを用いて水平方向の補間演算が行な
われ、そして、第49列から第64列までは、水平方向
の補間演算が行なわれず、第49列の値が繰り返し用い
られる。A step S1202 sets a horizontal smoothing area. The horizontal smoothing area is an area in which horizontal interpolation calculation is performed.
It is set by H1 and H2, as shown in FIG. For example, when H1 = 1 and H2 = 64, the horizontal direction interpolation calculation is performed on the entire area, and H1 = 1.
7, H2 = 48, in the smoothing block, the interpolation calculation in the horizontal direction is not performed from the first column to the 16th column, and the threshold value of the first column is repeatedly used.
From the column to the 48th column, TH_TL, TH_TR, TH
Horizontal interpolation calculation is performed using _BL and TH_BR, and horizontal interpolation calculation is not performed from the 49th column to the 64th column, and the value of the 49th column is repeatedly used.
【0102】従って、図15において、(0,0)を左
上隅,(H1,V1)を右下隅とした四角形領域は、T
H_TLの値が繰り返され、(H2,0)を左上隅,
(64,V1)を右下隅とした四角形領域は、TH_T
Rの値が繰り返され、(0,V2)を左上隅,(H1,
64)を右下隅とした四角形領域は、TH_BLの値が
繰り返され、(H2,V2)を左上隅,(64,64)
を右下隅とした四角形領域は、TH_BRの値が繰り返
される。(0,V1)を左上隅,(H1,V2)を右下
隅とした四角形領域と(H2,V1)を左上隅,(6
4,V2)を右下隅とした四角形領域は、垂直方向の補
間演算のみが行われ、(H1,0)を左上隅,(H2,
V1)を右下隅とした四角形領域と(H1,V2)を左
上隅,(H2,64)を右下隅とした四角形領域は、水
平方向の補間演算のみが行われる。そして、(H1,V
1)を左上隅,(H2,V2)を右下隅とした四角形領
域は、垂直方向と水平方向の両方の補間演算が行われ
る。Therefore, in FIG. 15, the quadrangle region having (0,0) at the upper left corner and (H1, V1) at the lower right corner is T
The value of H_TL is repeated, (H2,0) is in the upper left corner,
The rectangular area having the lower right corner of (64, V1) is TH_T.
The value of R is repeated, (0, V2) is in the upper left corner, (H1,
In the rectangular area with the lower right corner at 64), the value of TH_BL is repeated, and (H2, V2) is at the upper left corner, (64, 64).
The value of TH_BR is repeated in the rectangular area with the lower right corner of. A square area having (0, V1) at the upper left corner, (H1, V2) at the lower right corner, and (H2, V1) at the upper left corner, (6
4, V2) is the lower right corner of the quadrangle region, only vertical interpolation calculation is performed, and (H1,0) is the upper left corner, and (H2,
Only the interpolation operation in the horizontal direction is performed on the quadrangle region having V1) as the lower right corner, the quadrangle region having (H1, V2) as the upper left corner, and (H2, 64) as the lower right corner. And (H1, V
For a quadrangular area having 1) in the upper left corner and (H2, V2) in the lower right corner, both vertical and horizontal interpolation calculations are performed.
【0103】以上説明したように、垂直、水平方向のス
ムージング領域を小さくすればするほど、スムージング
のための補間演算回数が減り、スムージング処理のため
の計算時間を短くすることができる、しかし、スムージ
ング領域を小さくすればするほど、ブロックの境界の画
像データの変化が急峻となるため、ブロック歪みが出や
すくなるという特性を持つ。本実施の形態では、この領
域設定が可変であるため、入力装置や入力画像の解像度
に最適なスムージング領域の設定が可能となる。As described above, the smaller the smoothing area in the vertical and horizontal directions is, the smaller the number of interpolation calculations for smoothing can be and the shorter the calculation time for smoothing processing can be. The smaller the area, the steeper the change in the image data at the boundary of the block, so that the block distortion is likely to occur. In the present embodiment, since the area setting is variable, it is possible to set the smoothing area that is optimum for the resolution of the input device or the input image.
【0104】ステップS1203は、垂直方向スムージ
ングステップの設定を行なう。垂直方向スムージングス
テップとは、ステップS1201で設定された垂直方向
のスムージング領域内の補間演算を何画素おきに演算す
るかを示す値であり、VSTEPによって設定される。
例えば、垂直方向スムージングステップVSTEPが1
の時は、1画素毎に補間演算を行ない、4の時は、4画
素おきに行なう。そして、複数画素おきに補間演算を行
なった場合、その補間演算により得られた値と値の間の
値は、補間演算によって得られた値を繰り返して用い
る。例えば、V1=1,V2=64で垂直方向スムージ
ングステップVSTEPが16の場合、第1行、第17
行、第33行、第49行の値が、4隅のブロック閾値か
ら補間演算によって算出される。そして、第2行から1
6行までは、第1行の値が繰り返され、第18行から第
32行までの値は、第17行の値が繰り返され、第34
行から第48行までの値は、第33行の値が繰り返さ
れ、第50行から第64行までの値は、第49行の値が
繰り返される。A step S1203 sets a vertical smoothing step. The vertical direction smoothing step is a value indicating how many pixels are to be calculated for the interpolation calculation in the vertical direction smoothing area set in step S1201, and is set by VSTEP.
For example, the vertical smoothing step VSTEP is 1
In the case of, the interpolation calculation is performed for each pixel, and in the case of 4, it is performed every four pixels. When the interpolation calculation is performed for every plural pixels, the value obtained by the interpolation calculation is repeatedly used as the value between the values. For example, when V1 = 1, V2 = 64 and the vertical smoothing step VSTEP is 16, the first row, the 17th row
The values of the lines, the 33rd line, and the 49th line are calculated by interpolation calculation from the block thresholds at the four corners. And from the second row 1
The values in the first row are repeated up to the sixth row, and the values in the eighteenth to thirty-second rows are repeated in the seventeenth row.
The values in the 33rd row are repeated for the values from the row to the 48th row, and the values in the 49th row are repeated for the values in the 50th to 64th rows.
【0105】ステップS1204は、水平方向スムージ
ングステップの設定を行なう。水平方向スムージングス
テップとは、ステップS1202で設定された水平方向
のスムージング領域内の補間演算を何画素おきに演算す
るかを示す値であり、HSTEPによって設定される。
例えば、水平方向スムージングステップHSTEPが1
の時は、1画素毎に補間演算を行ない、4の時は、4画
素おきに行なう。そして、複数画素おきに補間演算を行
なった場合、その補間演算により得られた値と値の間の
値は、補間演算によって得られた値を繰り返して用い
る。例えば、H1=1,H2=64で水平方向スムージ
ングステップHSTEPが16の場合、第1列、第17
列、第33列、第49列の値が、4隅のブロック閾値か
ら補間演算によって算出される。そして、第2列から1
6列までは、第1列の値が繰り返され、第18列から第
32列までの値は、第17列の値が繰り返され、第34
列から第48列までの値は、第33列の値が繰り返さ
れ、第50列から第64列までの値は、第49列の値が
繰り返される。A step S1204 sets a horizontal smoothing step. The horizontal smoothing step is a value indicating how many pixels are to be calculated for the interpolation calculation in the horizontal smoothing area set in step S1202, and is set by HSTEP.
For example, the horizontal smoothing step HSTEP is 1
In the case of, the interpolation calculation is performed for each pixel, and in the case of 4, it is performed every four pixels. When the interpolation calculation is performed for every plural pixels, the value obtained by the interpolation calculation is repeatedly used as the value between the values. For example, when H1 = 1, H2 = 64 and the horizontal smoothing step HSTEP is 16, the first column, the 17th column
The values of the column, the 33rd column, and the 49th column are calculated by interpolation calculation from the block thresholds at the four corners. And from the second column 1
The values in the first column are repeated up to the sixth column, and the values in the eighteenth column to the thirty-second column are repeated in the seventeenth column.
The values in the 33rd column are repeated for the values from the column to the 48th column, and the values in the 49th column are repeated for the values in the 50th to 64th columns.
【0106】従って、垂直、水平方向のスムージングス
テップを小さくすればするほど、スムージングのための
補間演算回数が減り、スムージング処理のための計算時
間を短くすることができる、しかし、スムージングステ
ップを小さくすればするほど、スムージング領域の閾値
の変化が粗くなるため、ブロック歪みが出やすくなると
いう特性を持つ。本実施の形態では、この領域設定が可
変であるため、入力装置や入力画像の解像度に最適なス
ムージングステップの設定が可能となる。Therefore, the smaller the number of smoothing steps in the vertical and horizontal directions, the less the number of interpolation calculations for smoothing, and the shorter the calculation time for smoothing processing. However, if the smoothing steps are made smaller. As the threshold value is increased, the change in the threshold value of the smoothing area becomes coarser, and thus the block distortion is likely to occur. In the present embodiment, since the area setting is variable, it is possible to set the smoothing step that is optimum for the resolution of the input device or the input image.
【0107】次に、ステップS1205からステップS
1209までの補間演算を行なうループの説明を行なう
前に、図15を用いて、垂直方向と水平方向の補間演算
方法を説明した後で、補間演算ループの説明を行なう。
図15に於いて、垂直方向の補間演算に関し、TH_T
LとTH_BLを用いた垂直方向補間処理結果をVLi
(i=1,2,...,(V2−V1+1)/VSTE
P)とし、HT_TRとTH_BRを用いた垂直方向補
間処理結果をVRi(i=1,2,...,(V2−V
1+1)/VSTEP)とすると、VLi,VRiは、
VLi=TH_TL+(i−1)*(TH_BL−TH_TL)/((V2−
V1+1)/VSTEP)
... (12−1)
VRi=TH_TR+(i−1)*(TH_BR−TH_TR)/((V2−
V1+1)/VSTEP)
... (12−2)
と表すことができる。そして、このVLiとVRiを用
いて各行の水平方向補間処理を行なう。その補間結果を
Hij(i=1,2,...,(V2−V1+1)/V
STEP,j=i=1,2,...,(H2−H1+
1)/HSTEP)とすると、Hijは、
Hij=VLi+(j−1)*(VRi−VLi)/((H2−H1+1)/
HSTEP)...(12−3)
と表すことができる。ここで、(V2−V1+1)/V
STEPは、垂直方向の1ライン当たりの補間演算回数
を、(H2−H1+1)/HSTEPは、水平方向の1
ラインあたりの補間演算回数を示す。Next, from step S1205 to step S
Before describing the loop for performing the interpolation calculation up to 1209, the interpolation calculation method in the vertical direction and the horizontal direction will be described with reference to FIG. 15, and then the interpolation calculation loop will be described.
In FIG. 15, regarding the interpolation calculation in the vertical direction, TH_T
VLi the vertical direction interpolation processing result using L and TH_BL
(I = 1, 2, ..., (V2-V1 + 1) / VSTE
P) and the vertical direction interpolation processing result using HT_TR and TH_BR is VRi (i = 1, 2, ..., (V2-V
1 + 1) / VSTEP), VLi and VRi are VLi = TH_TL + (i-1) * (TH_BL-TH_TL) / ((V2-V1 + 1) / VSTEP). . . (12-1) VRi = TH_TR + (i-1) * (TH_BR-TH_TR) / ((V2-V1 + 1) / VSTEP). . . It can be expressed as (12-2). Then, using the VLi and VRi, horizontal interpolation processing of each row is performed. The interpolation result is Hij (i = 1, 2, ..., (V2-V1 + 1) / V
STEP, j = i = 1, 2 ,. . . , (H2-H1 +
1) / HSTEP), Hij is Hij = VLi + (j-1) * (VRi-VLi) / ((H2-H1 + 1) / HSTEP). . . It can be expressed as (12-3). Where (V2-V1 + 1) / V
STEP is the number of interpolation calculations per line in the vertical direction, and (H2-H1 + 1) / HSTEP is 1 in the horizontal direction.
Indicates the number of interpolation calculations per line.
【0108】V1=1,V2−64,H1=1,H2=
64,VSTEP=1,HSTEP=1で、TH_TL
=32,TH_TR=96,TH_BL=96,TH_
BR=160とすると、上記(12−1)式、(12−
2)式、(12−3)式からスムージングブロック内の
閾値を算出すると図16のようになる。V1 = 1, V2-64, H1 = 1, H2 =
64, VSTEP = 1, HSTEP = 1, TH_TL
= 32, TH_TR = 96, TH_BL = 96, TH_
If BR = 160, the above formula (12-1), (12-
When the threshold value in the smoothing block is calculated from the equations (2) and (12-3), it becomes as shown in FIG.
【0109】次に、ステップS1205からステップS
1209までのループの処理について詳細に説明する。
このループは、図14に示したBL11、BL1
2、...BL1(m−1),BL1m,BL21,B
L22,...BLn(m−1),BLnmのスムージ
ングブロック毎に処理するループである。
・ステップS1205において、BL11の画像データ
を抽出する。
・ステップS1206にて、その4隅の閾値が、TH_
TL=TH11,TH_TR=TH11,TH_BL=
TH11,TH_BR=TH11のように設定される。
・ステップS1207では、垂直方向のスムージング処
理を行なうが、HT_TLとTH_BLの値が同じで、
TH_TRとTH_BLの値が同じため、垂直方向の補
間演算は行なわれず、同じ値TH11が繰り返される。
・ステップS1208では、水平方向の補間処理に関し
ても左端と右端の値が同じため、水平方向の補間演算は
行なわれず、同じ値TH11が繰り返される。
・ステップS1209では、未処理ブロックがあるので
ステップS1205に進む。Next, from step S1205 to step S
The loop processing up to 1209 will be described in detail.
This loop includes BL11 and BL1 shown in FIG.
2 ,. . . BL1 (m-1), BL1m, BL21, B
L22 ,. . . This is a loop for processing for each smoothing block of BLn (m-1), BLnm. -In step S1205, the image data of BL11 is extracted. -In step S1206, the four corner thresholds are TH_
TL = TH11, TH_TR = TH11, TH_BL =
TH11, TH_BR = TH11 are set. In step S1207, smoothing processing in the vertical direction is performed, but the values of HT_TL and TH_BL are the same,
Since TH_TR and TH_BL have the same value, interpolation calculation in the vertical direction is not performed, and the same value TH11 is repeated. In step S1208, since the values at the left end and the right end are the same for the horizontal interpolation process, the horizontal interpolation calculation is not performed and the same value TH11 is repeated. In step S1209, since there is an unprocessed block, the process proceeds to step S1205.
【0110】次にスムージングブロックBL12の処理
が行なわれる。
・ステップS1205では、次のスムージングブロック
BL12の画像データが抽出される。
・ステップS1206では、4隅のブロック閾値TH_
TL=TH11,TH_TR=TH12,TH_BL=
TH11,TH_BR=TH12が設定される。
・ステップS1207では、TH_TLとTH_BL、
そして、TH_TRとTH_BRが同じ値のため、垂直
方向の補間演算は行なわれず、VLiではTH11が、
VRiではTH12が繰り返される。
・ステップS1208では、上記(12−3)式に基づ
き、水平方向の補間演算が行なわれる。ただし、i=
1,2,...,(V2−V1+1)/VSTEPにお
いて、常にVLi=TH11,VRi=TH12である
ため、Hijの値は、iが変化しても同じとなる。従っ
て、i=2以降は、i=1の時の値H1j(j=1,
2,...,(H2−H1+1)/HSTEP)が繰り
返し用いられる。
・ステップS1209では、未処理ブロックがあるので
ステップS1205に進む。
以下、上記スムージングブロックBL12と同様の処理
がスムージングブロックBL13,BL14,...,
BL1mまで繰り返される。Next, the smoothing block BL12 is processed. -In step S1205, the image data of the next smoothing block BL12 is extracted. -In step S1206, block thresholds TH_ at four corners
TL = TH11, TH_TR = TH12, TH_BL =
TH11 and TH_BR = TH12 are set. In step S1207, TH_TL and TH_BL,
Since TH_TR and TH_BR are the same value, vertical interpolation calculation is not performed, and TH11 in VLi is
In VRi, TH12 is repeated. In step S1208, the interpolation calculation in the horizontal direction is performed based on the equation (12-3). However, i =
1, 2 ,. . . , (V2-V1 + 1) / VSTEP, VLi = TH11 and VRi = TH12 are always satisfied, so that the value of Hij is the same even if i changes. Therefore, after i = 2, the value H1j (j = 1,
2 ,. . . , (H2-H1 + 1) / HSTEP) are repeatedly used. In step S1209, since there is an unprocessed block, the process proceeds to step S1205. Hereinafter, the same processing as the smoothing block BL12 is performed by the smoothing blocks BL13, BL14 ,. . . ,
Repeated up to BL1m.
【0111】次にスムージングブロックBL21の処理
が行なわれる。
・ステップS1205では、次のスムージングブロック
BL21の画像データが抽出される。・ステップS12
06では、4隅のブロック閾値TH_TL=TH11,
TH_TR=TH11,TH_BL=TH21,TH_
BR=TH21が設定される。
・ステップS1207では、上記(12−1)式に基づ
きVLiが、上記(12−2)式に基づきVRiの補間
演算が行なわれ、VLi,VRiが求められる。
・ステップS1208では、TH_TLとTH_TR、
そして、TH_BLとTH_BRが同じためVLiとV
Riの値が、i=1,2,...(V2−V1+1)/
VSTEPの全てにおいて、同じとなるためi=1の時
のみ、水平方向の補間演算は行なわれず、VLiの値が
Hij(j=1,2,...,(H2−H1+1)/H
STEP)が繰り返し用いられる。そして、この繰り返
しが、i=1,2,...(V2−V1+1)/VST
EPまで行なわれる。
・ステップS1209では、未処理ブロックがあるので
ステップS1205に進む。Then, the smoothing block BL21 is processed. In step S1205, the image data of the next smoothing block BL21 is extracted.・ Step S12
In 06, block thresholds at four corners TH_TL = TH11,
TH_TR = TH11, TH_BL = TH21, TH_
BR = TH21 is set. In step S1207, VLi and VRi are interpolated based on the equation (12-1) and VRi based on the equation (12-2) to obtain VLi and VRi. In step S1208, TH_TL and TH_TR,
Since TH_BL and TH_BR are the same, VLi and V
The value of Ri is i = 1, 2 ,. . . (V2-V1 + 1) /
Since all VSTEPs are the same, only when i = 1, the horizontal interpolation operation is not performed, and the value of VLi is Hij (j = 1, 2, ...
STEP) is used repeatedly. This repetition is repeated for i = 1, 2 ,. . . (V2-V1 + 1) / VST
It is done up to EP. In step S1209, since there is an unprocessed block, the process proceeds to step S1205.
【0112】次にスムージングブロックBL22の処理
が行なわれる。
・ステップS1205では、次のスムージングブロック
BL22の画像データが抽出される。
・ステップS1206では、4隅のブロック閾値TH_
TL=TH11,TH_TR=TH12,TH_BL=
TH21,TH_BR=TH22が設定される。
・ステップS1207では、上記(12−1)式に基づ
きVLiが、上記(12−2)式に基づきVRiの補間
演算が行なわれ、VLi,VRiが求められる。
・ステップS1208では、上記(12−3)式に基づ
き、水平方向の補間演算が行なわれ、Hijが求められ
る。
・ステップS1209では、未処理ブロックがあるので
ステップS1205に進む。Next, the smoothing block BL22 is processed. -In step S1205, the image data of the next smoothing block BL22 is extracted. -In step S1206, block thresholds TH_ at four corners
TL = TH11, TH_TR = TH12, TH_BL =
TH21 and TH_BR = TH22 are set. In step S1207, VLi and VRi are interpolated based on the equation (12-1) and VRi based on the equation (12-2) to obtain VLi and VRi. In step S1208, interpolation calculation in the horizontal direction is performed based on the above equation (12-3) to obtain Hij. In step S1209, since there is an unprocessed block, the process proceeds to step S1205.
【0113】以下、上記と同様の処理がBLnmまで繰
り返されて、画像全域の2値化閾値のステップS308
のスムージング処理が終了する。Thereafter, the same processing as described above is repeated up to BLnm, and the binarization threshold value of the entire image is determined in step S308.
The smoothing process of is completed.
【0114】この様に本実施の形態の閾値決定方法によ
れば、多値画像中のブロックごとに輝度頻度を算出し、
該輝度頻度に基づいてブロック単位の2値化閾値を算出
し、該ブロック単位の2値化閾値を補間することで画素
単位の2値化閾値を算出することにより、即ち、画像中
のブロック単位で対象物と背景濃度の間に適切な閾値を
自動的に設定し、さらに画素単位で2値化閾値を自動的
に設定することが可能になる。これにより、画像中の文
字部分/それ以外の部分それぞれに対し、背景から対象
物を適切に分離し、かつブロック歪の無い2値化画像を
得ることができる。As described above, according to the threshold value determining method of the present embodiment, the luminance frequency is calculated for each block in the multivalued image,
A binarization threshold value for each block is calculated based on the luminance frequency, and a binarization threshold value for each pixel is calculated by interpolating the binarization threshold value for each block unit, that is, for each block in an image. With, it becomes possible to automatically set an appropriate threshold value between the object and the background density, and further to automatically set the binarization threshold value in pixel units. This makes it possible to properly separate the object from the background for each of the character portion / other portions in the image and obtain a binary image without block distortion.
【0115】《スムージング処理の他の例》前記実施の
形態では、スムージング処理を実施するために、垂直方
向のスムージング処理を行った後に水平方向のスムージ
ング処理を行っているが、この順番はこれに限らず、水
平方向のスムージング処理の後で垂直方向のスムージン
グ処理を実施してもよい。<< Another Example of Smoothing Process >> In the above embodiment, in order to perform the smoothing process, the smoothing process is performed in the vertical direction and then the smoothing process in the horizontal direction. However, the vertical smoothing process may be performed after the horizontal smoothing process.
【0116】また、前記実施の形態では、スムージング
処理を実施するためスムージングブロックを定義し、ス
ムージングブロックごとに補間演算を行なっているが、
この演算順序はこれに限らず、上下左右、様々に分割し
て、スムージング処理を実現しても良い。例えば、全画
像領域の第1ラインの補間演算を行なった後に、第2ラ
イン、第3ラインとラスター順次で行っても良い。さら
に、実施の形態で定義したスムージングブロックのBL
21,BL22,...,BL2m,BL3
1,...,BLnmまでを上下2つに分けて、
BL11,BL12,...,BL1m
BL21上,BL22上,...,BL2m上
BL21下,BL22下,...,BL2m下
BL31上,BL32上,...,BL3m上
BL31下,BL32下,...,BL3m下
・・・・・・・・・・・・
BLn1下,BLn2下,...,BLnm下
とスムージングをすることもできる。Further, in the above-mentioned embodiment, the smoothing block is defined in order to carry out the smoothing process, and the interpolation operation is performed for each smoothing block.
The calculation order is not limited to this, and the smoothing process may be realized by dividing the calculation order into various directions such as top, bottom, left, and right. For example, after the interpolation calculation of the first line of the entire image area is performed, the second line and the third line may be sequentially rasterized. Furthermore, the BL of the smoothing block defined in the embodiment
21, BL22 ,. . . , BL2m, BL3
1 ,. . . , BLnm are divided into upper and lower parts, and BL11, BL12 ,. . . , BL1m on BL21, on BL22 ,. . . , BL2m above BL21 below, BL22 below ,. . . , BL2m below BL31, above BL32 ,. . . , BL3m above BL31 below, BL32 below ,. . . , BL3m below ... BLn1 below, BLn2 below ,. . . , BLnm and smoothing can also be performed.
【0117】このとき、スムージングパラメータをV1
=33,V2=64,H1=1,H2=64と設定し、
スムージングブロックの第1行から第32行までと第3
3行からスムージングブロックの最終行までとで上下に
2つに分けると、スムージングブロックの上側は、TH
_TLとTH_TRから水平方向のスムージングのみを
行ない、下側はTH_TL,TH_TR,TH_BL,
TH_BRの4つから垂直水平方向のスムージングを行
なう。この場合は、BL11,BL12,...,BL
1m,BL21上,...,BL2m上は、図13の第
1バンドと第2バンドの結果の閾値のみを用いてスムー
ジング処理をすることができ、BL21下,BL22
下,...,BL2m下,BL3上,BL32
上,...,BL3m上は、図13の第1バンドと第2
バンドの結果の閾値のみを用いてスムージング処理をす
ることができる。BL31下以降も、スムージングブロ
ックの下側と上側をセットにして処理することにより、
前バンドのブロック閾値を保存しておくだけで、図13
に示されているバンド単位で処理することができる。こ
れにより、本発明をバンド処理で実現する場合に複数バ
ンド持つことなく、シングルバンドでスムージング処理
を実現できるため、画像用バンドメモリを節約すること
ができる。At this time, the smoothing parameter is set to V1.
= 33, V2 = 64, H1 = 1, H2 = 64,
Smoothing block lines 1 to 32 and 3
If you divide it into three parts from the 3rd row to the last row of the smoothing block, the upper side of the smoothing block is TH.
Only horizontal smoothing is performed from _TL and TH_TR, and the lower side is TH_TL, TH_TR, TH_BL,
Smoothing in the vertical and horizontal directions is performed from four TH_BRs. In this case, BL11, BL12 ,. . . , BL
1m, on BL21 ,. . . , BL2m, the smoothing process can be performed using only the threshold values of the results of the first band and the second band in FIG.
under,. . . , BL2m below, BL3 above, BL32
Up,. . . , BL3m, the first band and the second band in FIG.
The smoothing process can be performed using only the threshold value of the band result. By processing the lower side and the upper side of the smoothing block as a set even after BL31 and below,
By only saving the block threshold of the previous band,
It can be processed in band units shown in. Accordingly, when the present invention is implemented by band processing, smoothing processing can be implemented by a single band without having a plurality of bands, so that it is possible to save the image band memory.
【0118】(他の実施の形態)前記実施の形態におい
て、画像の入力は、1画素単色の8ビットの多値画像デ
ータとしたが、これに限定する必要はなく、複数のカラ
ーであってもよい。つまりは、2値化するためのデータ
として複数ビットの情報があればよい。(Other Embodiments) In the above embodiments, the image input is 8-bit multi-valued image data of one pixel single color, but it is not limited to this and a plurality of colors can be used. Good. That is, it is sufficient that the data for binarization has a plurality of bits of information.
【0119】また、ヒストグラムを算出する際の画像の
処理ブロックについて、64画素×64画素としたが、
ブロックの大きさは32画素×32画素でもよい。さら
にはブロックの形は正方形でも長方形でもよい。つま
り、処理ブロックを64画素×96画素のようにしても
よい。メモリの容量によっては、画像全面を処理ブロッ
クとしてもよい。Further, the image processing block for calculating the histogram is 64 pixels × 64 pixels,
The block size may be 32 pixels × 32 pixels. Further, the block shape may be square or rectangular. That is, the processing block may be 64 pixels × 96 pixels. Depending on the memory capacity, the entire image may be used as the processing block.
【0120】また、ヒストグラムを算出する際の画像に
おけるサンプリングについて、全画素でも、数画素おき
でもよい。さらに、平均AVや統計量SKなどの計算
は、8ビットで行なわなくてもよく、高速化、メモリ削
減等のため、少ないビット数で演算するようにしてもよ
い。Further, the sampling in the image when calculating the histogram may be all pixels or every few pixels. Further, the calculation of the average AV and the statistic SK does not have to be performed with 8 bits, and may be performed with a small number of bits for speeding up, memory reduction, and the like.
【0121】また、統計量SKの収束条件を「±0.
1」としたが、これに限定することはなく、別の条件を
定めてもよく、統計量SKを用いて2値化の閾値を決定
するように構成すればよく、限定しない。また、画像入
力装置や画像入力条件により変化させる等、別の条件を
定めてもよい。Further, the convergence condition of the statistic SK is set to "± 0.
However, the present invention is not limited to this, and another condition may be set, and the threshold for binarization may be determined using the statistic SK, and there is no limitation. Further, another condition may be set, such as changing depending on the image input device or the image input condition.
【0122】また、(5)式の文字ブロックの判定に関
し、文字フラグMFを「−20.0」としたが、これに
限定することはなく、統計量SKを用いて文字ブロック
の判定を行うよう、別の条件を定めてもよい。また、画
像入力装置や画像入力条件により変化させる等、別の条
件を定めてもよい。Although the character flag MF is set to "-20.0" in the determination of the character block of the expression (5), the present invention is not limited to this, and the determination of the character block is performed using the statistic SK. Therefore, another condition may be set. Further, another condition may be set, such as changing depending on the image input device or the image input condition.
【0123】また、(6)式、(7)式でつぶれ文字ブ
ロックやかすれ文字ブロックの判定に、SR値を用い
「3.0」としたが、これに限定することはなく、統計
量SKを用いてつぶれ文字ブロックやかすれ文字ブロッ
クの判定を行うよう、別の条件を定めてもよい。また、
画像入力装置や画像入力条件により変化させる等、別の
条件を定めてもよい。Further, the SR value is used as "3.0" for the judgment of the blurred character block or the blurred character block in the expressions (6) and (7), but the present invention is not limited to this, and the statistic value SK Another condition may be set so as to determine a blurred character block or a blurred character block using. Also,
Other conditions may be set, such as changing depending on the image input device or the image input conditions.
【0124】また、閾値の下限値Lと上限値Hについ
て、画像入力装置や画像入力条件により変化させる等、
構成してもよい。Further, the lower limit value L and the upper limit value H of the threshold value may be changed depending on the image input device and the image input condition.
You may comprise.
【0125】また、つぶれ防止の為に定数TPを用い
「0.85」としたが、これに限定することはなく、画
像入力装置や画像入力条件により変化させる等、別の条
件を定めてもよい。Further, the constant TP is used to prevent crushing and is set to "0.85". However, the present invention is not limited to this, and another condition such as a change depending on the image input device or the image input condition may be set. Good.
【0126】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
憶した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読み出し実行することによっても、達成されることは言
うまでもない。Further, an object of the present invention is to supply a storage medium storing a program code of software for realizing the functions of the above-described embodiments to a system or apparatus, and to supply a computer (or CPU) of the system or apparatus.
It is needless to say that the above can be achieved by reading out and executing the program code stored in the storage medium.
【0127】この場合、記憶媒体から読み出されたプロ
グラムコード自体が前述した実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
【0128】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピーディスク、ハードディ
スク、光ディスク、光磁気ディスク、CD−ROM、C
D−R、磁気テープ、不揮発性のメモリカード、ROM
などを用いる事ができる。As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, C
DR, magnetic tape, non-volatile memory card, ROM
Can be used.
【0129】例えば、図18を例に説明すると、1〜3
は図1の1〜3に対応し、この装置のCPU101が、
フロッピーディスク103に格納されたプログラムコー
ドをメモリ102に読み出し、実行することによって達
成される。For example, referring to FIG. 18, as an example,
Corresponds to 1 to 3 in FIG. 1, and the CPU 101 of this device
This is achieved by reading the program code stored in the floppy disk 103 into the memory 102 and executing it.
【0130】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOS(オペ
レーティングシステム)などが実際の処理の一部又は全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。Further, not only the functions of the above-described embodiments are realized by executing the program code read by the computer, but also the OS (operating system) running on the computer based on the instructions of the program code. It is needless to say that this also includes a case where the above) performs a part or all of the actual processing and the processing realizes the functions of the above-described embodiments.
【0131】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部または全部を行
い、その処理によって前述した実施形態の機能が実現さ
れる場合も含まれることは言うまでもない。Further, after the program code read from the storage medium is written in the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, based on the instruction of the program code, It goes without saying that a case where the CPU or the like included in the function expansion board or the function expansion unit performs some or all of the actual processing and the processing realizes the functions of the above-described embodiments is also included.
【0132】本発明を上記記憶媒体に適応する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図19のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。When the present invention is applied to the above-mentioned storage medium, the storage medium stores the program code corresponding to the above-mentioned flowchart. Briefly, the memory map example of FIG. Each module shown will be stored in the storage medium.
【0133】すなわち、例えば、図3のS301処理ブ
ロック抽出処理に対応する「ブロック処理モジュー
ル」、図4のS401ヒストグラム算出処理に対応する
「ヒストグラム算出モジュール」、図4のS402平均
値算出処理に対応する「平均値算出モジュール」、図4
のS403SK値算出処理に対応する「Skew値算出
モジュール」、図4のS405画像特徴判別処理に対応
する「画像特徴判別処理モジュール」、図4のS416
閾値算出処理、または図3のS304閾値制限処理、ま
たは図3のS306閾値制限処理に対する「閾値算出モ
ジュール」、図3のS308スムージング処理に対応す
る「スムージング処理モジュール」および、図3のS3
09単純2値化処理に対応する「2値化処理モジュー
ル」、の各モジュールのプログラムコードを記憶媒体に
格納すればよい。That is, for example, the “block processing module” corresponding to the S301 processing block extraction processing of FIG. 3, the “histogram calculation module” corresponding to the S401 histogram calculation processing of FIG. 4, and the S402 average value calculation processing of FIG. "Average value calculation module", Figure 4
4. “Skew value calculation module” corresponding to S403 SK value calculation processing of FIG. 4, “Image feature determination processing module” corresponding to S405 image feature determination processing of FIG. 4, and S416 of FIG.
"Threshold calculation module" for the threshold calculation processing, S304 threshold restriction processing of FIG. 3, or S306 threshold restriction processing of FIG. 3, "smoothing processing module" corresponding to S308 smoothing processing of FIG. 3, and S3 of FIG.
The program code of each module of “binarization processing module” corresponding to 09 simple binarization processing may be stored in the storage medium.
【0134】以上説明したように、本実施例の形態によ
れば、2値化においてブロック歪のない滑らかな2値再
現が可能となる。As described above, according to the embodiment, it is possible to perform smooth binary reproduction without block distortion in binarization.
【0135】特に、本実施の形態によれば、多値画像中
のブロックごとに輝度頻度を算出し、該輝度頻度に基づ
いてブロック単位の2値化閾値を算出し、該ブロック単
位の2値化閾値を補間することで画素単位の2値化閾値
を算出することにより、即ち、画像中のブロック単位で
対象物と背景濃度の間に適切な閾値を自動的に設定し、
さらに画素単位で2値化閾値を自動的に設定することが
可能になる。これにより、画像中の文字部分/それ以外
の部分それぞれに対し、背景から対象物に適切に分離
し、かつブロック歪の無い2値化画像を得ることができ
る。Particularly, according to the present embodiment, the luminance frequency is calculated for each block in the multi-valued image, the binarization threshold value for each block is calculated based on the luminance frequency, and the binary value for each block unit is calculated. By calculating the binarization threshold value for each pixel by interpolating the threshold value, that is, automatically setting an appropriate threshold value between the object and the background density for each block in the image,
Further, it becomes possible to automatically set the binarization threshold value for each pixel. This makes it possible to obtain a binarized image in which the object is appropriately separated from the background for each of the character portion / other portion in the image and the block distortion is not generated.
【0136】また、本実施の形態の補間(スムージング
処理)により、ブロック歪みを除去することができる。
また、スムージングのためのパラメータを調整すること
により、スムージングのための補間処理時間を短縮した
り、入力装置や入力画像の解像度等の特性に応じた補間
処理を実現することができる。さらに、ブロックと同じ
高さの画像用バンドメモリを用いたバンド処理を本発明
に適用した場合、スムージングパラメータの設定によ
り、シングルバンドのみでスムージングを実現すること
ができ、バンドメモリに必要となるコストを抑えること
ができる。Further, the block distortion can be removed by the interpolation (smoothing process) of this embodiment.
Further, by adjusting the parameters for smoothing, it is possible to shorten the interpolation processing time for smoothing and realize the interpolation processing according to the characteristics such as the resolution of the input device or the input image. Furthermore, when band processing using an image band memory having the same height as a block is applied to the present invention, smoothing can be realized by only a single band by setting smoothing parameters, and the cost required for the band memory is reduced. Can be suppressed.
【0137】又、コンピュータの処理環境によって決め
た有効桁数保存変数を演算値に掛けることにより整数演
算でも小数点以下の精度を保つことを可能にし、また平
均値算出、スキュー値算出を一単位として各単位ごとに
求めた有効桁数保存変数で演算値を割ることで演算結果
がコンピュータの扱える整数有効数値を超えることなく
演算することが可能となる。これにより、一定の精度を
保ちつつ、高速な画像処理の数値演算方法を得ることが
できる。Further, by multiplying the calculated value by the effective digit number storage variable determined by the processing environment of the computer, it is possible to maintain the precision below the decimal point even in the integer calculation, and the average value calculation and the skew value calculation are made as one unit. By dividing the calculated value by the effective digit number storage variable obtained for each unit, it is possible to perform the operation without exceeding the integer effective value that the computer can handle. This makes it possible to obtain a high-speed numerical calculation method for image processing while maintaining a constant accuracy.
【0138】[0138]
【発明の効果】以上説明したように本発明によれば、多
値画像中のブロックごとに輝度頻度を算出し、該輝度頻
度に基づいてブロック単位の2値化閾値を算出し、該ブ
ロック単位の2値化閾値を補間することで画素単位の2
値化閾値を算出することにより、画像中のブロック単位
で対象物と背景濃度の間に適切な閾値を自動的に設定で
き、さらに画素単位で2値化閾値を自動的に設定するこ
とが可能になる。これにより、画像中の文字部分/それ
以外の部分それぞれに対し、背景から対象物を適切に分
離し、かつブロック歪の無い2値化画像を得ることがで
きる。As described above, according to the present invention, the brightness frequency is calculated for each block in a multi-valued image, the binarization threshold value for each block is calculated based on the brightness frequency, and the block unit By interpolating the binarization threshold of
By calculating the binarization threshold, it is possible to automatically set an appropriate threshold between the object and the background density for each block in the image, and it is also possible to automatically set the binarization threshold for each pixel. become. This makes it possible to properly separate the object from the background for each of the character portion / other portions in the image and obtain a binary image without block distortion.
【0139】又、補間を行なう際のパラメータを調整可
能としたことにより補間処理時間を短縮したり、入力装
置や入力画像の解像度等の特性に応じた補間処理を実現
することができる。Also, by making it possible to adjust the parameters when performing the interpolation, it is possible to shorten the interpolation processing time and realize the interpolation processing according to the characteristics such as the resolution of the input device or the input image.
【図1】本発明に係る実施の形態における画像処理装置
のシステム構成を示すブロック図である。FIG. 1 is a block diagram showing a system configuration of an image processing apparatus according to an embodiment of the present invention.
【図2】本実施の形態における文字認識処理を示すフロ
ーチャートである。FIG. 2 is a flowchart showing a character recognition process in the present embodiment.
【図3】本実施の形態における2値化処理を示すフロー
チャートである。FIG. 3 is a flowchart showing a binarization process in the present embodiment.
【図4】本実施の形態における閾値決定処理を示すフロ
ーチャートである。FIG. 4 is a flowchart showing a threshold value determining process in the present embodiment.
【図5】本実施の形態における画像特徴判別処理を示す
フローチャートである。FIG. 5 is a flowchart showing image feature determination processing according to the present embodiment.
【図6】本実施の形態におけるつぶれ文字処理を示すフ
ローチャートである。FIG. 6 is a flowchart showing a blurred character process according to the present embodiment.
【図7】本実施の形態におけるかすれ文字処理を示すフ
ローチャートである。FIG. 7 is a flowchart showing faint character processing according to the present embodiment.
【図8】本実施の形態におけるつぶれ文字画像のヒスト
グラム例を示す図である。FIG. 8 is a diagram showing an example of a histogram of a blurred character image according to the present embodiment.
【図9】本実施の形態のつぶれ文字の2値化処理におけ
る各変数値の変遷例を示す図である。FIG. 9 is a diagram showing a transition example of each variable value in the binarization processing of a blurred character according to the present embodiment.
【図10】本実施の形態におけるかすれ文字画像のヒス
トグラム例を示す図である。FIG. 10 is a diagram showing a histogram example of a blurred character image in the present embodiment.
【図11】本実施の形態のかすれ文字の2値化処理にお
ける各変数値の変遷例を示す図である。FIG. 11 is a diagram showing a transition example of each variable value in binarization processing of a blurred character according to the present embodiment.
【図12】本実施の形態におけるスムージング処理を示
すフローチャートである。FIG. 12 is a flowchart showing smoothing processing according to the present embodiment.
【図13】図3のステップS301〜ステップS307
までのブロック単位の閾値を算出するループにおけるブ
ロックを示す図である。FIG. 13 shows steps S301 to S307 of FIG.
It is a figure which shows the block in the loop which calculates the threshold value of every block unit up to.
【図14】スムージングブロックとブロック閾値との関
係を示す図である。FIG. 14 is a diagram showing a relationship between a smoothing block and a block threshold value.
【図15】スムージングブロックの4隅の閾値と垂直方
向スムージング領域、水平方向スムージング領域を示す
図である。FIG. 15 is a diagram showing thresholds at four corners of a smoothing block, a vertical smoothing area, and a horizontal smoothing area.
【図16】TH_TL=32,TH_TR=96,TH
_BL=96,TH_BR=160としたときの、スム
ージングブロック内の補間演算結果を示す図である。FIG. 16 is TH_TL = 32, TH_TR = 96, TH
It is a figure which shows the interpolation calculation result in a smoothing block when _BL = 96 and TH_BR = 160.
【図17】数値演算処理を示すフローチャートである。FIG. 17 is a flowchart showing a numerical calculation process.
【図18】本発明に係る実施の形態におけるコンピュー
タプログラム製品例を説明する図である。FIG. 18 is a diagram illustrating an example of a computer program product according to an embodiment of the present invention.
【図19】本発明の実施形態である画像処理を実行する
ためのプログラムモジュールの所定の記憶媒体でのレイ
アウトの一例の図である。FIG. 19 is a diagram showing an example of a layout of a program module for executing image processing according to the embodiment of the present invention on a predetermined storage medium.
1 画像処理装置 2 画像入力装置 3 画像表示装置 4 入力部 5 記憶部 6 輝度頻度累計部 7 画像特徴判別部 8 2値化閾値算出部 9 補間処理部 10 2値化部 11 文字認識部 12 画像処理部 13 出力部 15 制御部 1 Image processing device 2 Image input device 3 Image display device 4 Input section 5 memory 6 Luminance frequency accumulation section 7 Image feature discriminator 8 Binarization threshold calculation unit 9 Interpolation processing unit 10 binarization unit 11 Character recognition part 12 Image processing unit 13 Output section 15 Control unit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 森 浩 東京都大田区下丸子3丁目30番2号キヤ ノン株式会社内 (56)参考文献 特開 平7−212591(JP,A) 特開 平5−191649(JP,A) 特開 昭62−297980(JP,A) 特開 昭63−146173(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 1/40 - 1/409 H04N 1/46 H04N 1/60 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Hiroshi Mori 3-30-2 Shimomaruko, Ota-ku, Tokyo Canon Inc. (56) Reference JP-A-7-212591 (JP, A) JP-A-5 -191649 (JP, A) JP 62-297980 (JP, A) JP 63-146173 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB name) H04N 1/40- 1/409 H04N 1/46 H04N 1/60
Claims (8)
算出し、該輝度頻度に基づいてブロック単位の2値化閾
値を算出し、該ブロック単位の2値化閾値を補間する領
域を設定し、当該設定された領域に対し前記ブロック単
位の2値化閾値を補間することで画素単位の2値化閾値
を算出することを特徴とする画像処理方法。1. A brightness frequency is calculated for each block in a multi-valued image, a binarization threshold value for each block is calculated based on the brightness frequency, and an area for interpolating the binarization threshold value for each block is set. and, an image processing method and calculates a binarization threshold of each pixel by to the set region interpolating binarization threshold of the block unit.
ない領域では、前記ブロック単位の2値化閾値を繰り返
し用いることを特徴とする請求項1記載の画像処理方
法。Wherein a region that does not interpolate binarization threshold of the block unit, the image processing method according to claim 1, wherein the repeatedly using binarization threshold of the block unit.
算を行なう画素の間隔を設定することを特徴とする請求
項1記載の画像処理方法。3. Interpolation Starring the binarization threshold of the block
The image processing method according to claim 1, wherein setting the interval of pixels for performing calculations.
い、補間演算されていない画素の閾値は前記補間演算で
算出された閾値を繰り返し用いることを特徴とする請求
項3記載の画像処理方法。4. performs interpolation operation on the set interval, the threshold of the pixels that are not interpolated operation by the interpolation operation
The image processing method according to claim 3, wherein the calculated threshold value is repeatedly used.
算出する第1演算手段と、 該輝度頻度に基づいてブロック単位の2値化閾値を算出
する第2演算手段と、 該ブロック単位の2値化閾値を補間する領域を設定する
第1設定手段と、前記第1設定手段により 設定された領域に対し前記ブロ
ック単位の2値化閾値を補間することで画素単位の2値
化閾値を算出する補間手段とを有することを特徴とする
画像処理装置。5. A first calculation means for calculating a luminance frequency for each block in a multi-valued image, a second calculation means for calculating a binarization threshold value for each block based on the luminance frequency, and a first calculation means for each block. a first setting means for setting an area for interpolating the binarizing threshold, pixel by interpolating the binarizing thresholds of the Bro <br/> click units to set region by said first setting means And an interpolating unit that calculates the binarization threshold of the image processing apparatus.
位の2値化閾値を補間する領域に設定されなかった領域
では、前記ブロック単位の2値化閾値を繰り返し用いる
ことを特徴とする請求項5記載の画像処理装置。 6. The block unit is configured by the first setting unit.
In areas not set in the area to interpolate the position of the binarization threshold, the image processing apparatus according to claim 5, wherein the repeatedly using binarization threshold of the block unit.
算を行なう画素の間隔を設定する第2設定手段を有する
ことを特徴とする請求項5記載の画像処理装置。7. Interpolation Starring the binarization threshold of the block
The image processing apparatus according to claim 5 , further comprising a second setting unit that sets an interval between pixels for which calculation is performed.
補間演算を行ない、補間演算されていない画素の閾値は
前記補間演算で算出された閾値を繰り返し用いることを
特徴とする請求項7記載の画像処理装置。8. Interpolation calculation is performed at intervals set by the second setting means, and a threshold value of a pixel not subjected to interpolation calculation is
The image processing apparatus according to claim 7, wherein the threshold value calculated by the interpolation calculation is repeatedly used.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04163796A JP3495841B2 (en) | 1996-02-28 | 1996-02-28 | Image processing apparatus and method, and computer program product thereof |
US08/807,606 US6333788B1 (en) | 1996-02-28 | 1997-02-27 | Image processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04163796A JP3495841B2 (en) | 1996-02-28 | 1996-02-28 | Image processing apparatus and method, and computer program product thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09233326A JPH09233326A (en) | 1997-09-05 |
JP3495841B2 true JP3495841B2 (en) | 2004-02-09 |
Family
ID=12613852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04163796A Expired - Fee Related JP3495841B2 (en) | 1996-02-28 | 1996-02-28 | Image processing apparatus and method, and computer program product thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3495841B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1213592C (en) | 2001-07-31 | 2005-08-03 | 佳能株式会社 | Adaptive two-valued image processing method and equipment |
US8073284B2 (en) | 2008-04-03 | 2011-12-06 | Seiko Epson Corporation | Thresholding gray-scale images to produce bitonal images |
JP5417312B2 (en) * | 2010-12-20 | 2014-02-12 | 日本電信電話株式会社 | Image search apparatus and image search program |
CN106991753B (en) * | 2017-04-07 | 2019-07-26 | 深圳怡化电脑股份有限公司 | A kind of image binaryzation method and device |
JP6885177B2 (en) * | 2017-04-19 | 2021-06-09 | 株式会社デンソー | Electronic control device |
-
1996
- 1996-02-28 JP JP04163796A patent/JP3495841B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09233326A (en) | 1997-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4568460B2 (en) | Image processing apparatus and recording medium | |
EP0803842B1 (en) | Binary image forming device | |
JP4219542B2 (en) | Image processing apparatus, image processing method, and recording medium storing image processing program | |
CN100397420C (en) | Image processing device and image processing method and its program | |
EP1014688B1 (en) | Image processing method and apparatus, image processing system, and storage medium | |
US6333788B1 (en) | Image processing apparatus and method | |
JP2001016447A (en) | Picture processor, picture processing method and recording medium with picture processing program stored therein | |
US6476934B1 (en) | Geometrically reducing influence halftoning | |
US20050089247A1 (en) | Sharpening a digital image in accordance with magnification values | |
JP3357776B2 (en) | Image processing method | |
US6289136B1 (en) | Image processing method and apparatus | |
JP3495841B2 (en) | Image processing apparatus and method, and computer program product thereof | |
US7706619B2 (en) | Image processing device that produces high-quality reduced image at fast processing speed | |
US6785415B1 (en) | Image processing method, an image processing apparatus, and a recording media on which an image processing program is recorded | |
JPH11298716A (en) | Image processor | |
JP3100383B2 (en) | Character region separation method and apparatus | |
JP2000022943A (en) | Device and method for discriminating image area, and recording medium recorded with image area discriminating program | |
US8554005B1 (en) | Digital image enhancement method and system that embolden or thin image features | |
US20060119897A1 (en) | Output apparatus and program thereof | |
JPH09231054A (en) | Unit, method and computer program product for numerical operation | |
JPH07334648A (en) | Method and device for processing image | |
JP2000276581A (en) | Device and method for image processing, and recording medium with image processing program recorded thereon | |
JPH08221512A (en) | Device and method for processing image | |
JPH0652304A (en) | Device and method for processing image | |
JP2000067244A (en) | Area integrating method for color image, and program storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20031111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |