JP2009124674A - Image processing apparatus, image scanning apparatus, image processing method, and image processing program - Google Patents

Image processing apparatus, image scanning apparatus, image processing method, and image processing program Download PDF

Info

Publication number
JP2009124674A
JP2009124674A JP2008112510A JP2008112510A JP2009124674A JP 2009124674 A JP2009124674 A JP 2009124674A JP 2008112510 A JP2008112510 A JP 2008112510A JP 2008112510 A JP2008112510 A JP 2008112510A JP 2009124674 A JP2009124674 A JP 2009124674A
Authority
JP
Japan
Prior art keywords
pixel
image
integer parameter
coordinate
integer
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.)
Granted
Application number
JP2008112510A
Other languages
Japanese (ja)
Other versions
JP4947314B2 (en
Inventor
Katsumi Minamino
勝巳 南野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2008112510A priority Critical patent/JP4947314B2/en
Priority to US12/211,157 priority patent/US8121441B2/en
Priority to CN2008101705470A priority patent/CN101420506B/en
Publication of JP2009124674A publication Critical patent/JP2009124674A/en
Application granted granted Critical
Publication of JP4947314B2 publication Critical patent/JP4947314B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing apparatus capable of performing an image rotating process in a short period of time. <P>SOLUTION: Two integers "a" and "b", of which the ratio a/b is equal to a tangent value of a rotation angle, are inputted to perform a rotation process. Each time an x-coordinate (m) of a target pixel of a rotated image is changed by one pixel, "a" is added to a y-direction weight factor "kwy". When the y-direction weight factor "kwy" becomes more than or equal to "b", "b" is subtracted from the y-direction weight factor "kwy", and a y-coordinate of a corresponding target pixel of an original image is changed by one pixel. Each time a y-coordinate (n) of the target pixel is changed by one pixel, "a" is added to an x-direction weight factor "kwx". When the x-direction weight factor "kwx" becomes more than or equal to "b", "b" is subtracted from the x-direction weight factor "kwx", and an x-coordinate (i) of the corresponding target pixel of the original image is changed by one pixel. Four pixels including the corresponding target pixel are used to acquire a pixel value of the target pixel by two-dimensional interpolation by ratios acquired by dividing the x-direction weight factor "kwx" and the y-direction weight factor "kwy" respectively by "b". <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、主要には、画像データを回転処理する画像処理装置に関する。   The present invention mainly relates to an image processing apparatus that rotates image data.

イメージスキャナ装置、コピー装置、ファクシミリ装置、光学式文字読取装置(OCR)等においては、原稿が斜行した状態で読み取られると、傾いた画像が得られることになって読取品質が低下する。これを回避するために、画像データを回転処理して斜行を電子的に補正可能な画像読取装置が提案されている。   In an image scanner device, a copy device, a facsimile device, an optical character reader (OCR), or the like, when an original is read in a skewed state, a tilted image is obtained and reading quality is deteriorated. In order to avoid this, there has been proposed an image reading apparatus capable of electronically correcting skew by rotating image data.

このような画像回転処理は、回転行列を用いて行うことが一般的に知られている。例えば非特許文献1には、元画像の任意の画素の座標を(x,y)、変換後の画像の対応する画素の座標を(x*,y*)としたときに、本願の図1に示す式を用いて画像の回転を行うことが開示されている。また、非特許文献1には、上記回転処理を含む画像の幾何学的補正処理において、二次元的な補間処理を行うことで中間の画素の階調値(画素値)を求め得ることが開示されている。
安居院猛、長尾智治共著,「画像の処理と認識」,初版,株式会社昭晃堂,2000年10月,p.20−22
It is generally known that such image rotation processing is performed using a rotation matrix. For example, in Non-Patent Document 1, when the coordinates of an arbitrary pixel of the original image are (x, y) and the coordinates of the corresponding pixel of the converted image are (x * , y * ), FIG. It is disclosed that the image is rotated using the equation shown in FIG. Further, Non-Patent Document 1 discloses that a gradation value (pixel value) of an intermediate pixel can be obtained by performing a two-dimensional interpolation process in the geometric correction process of the image including the rotation process. Has been.
Takeshi Yasui and Tomoharu Nagao, “Image Processing and Recognition”, First Edition, Shosodo Co., Ltd., October 2000, p.20-22

しかし、上記非特許文献1の方法は、通常は無理数であるsinθ及びcosθの乗算を画素毎に行うことになるため、計算コストが極めて大きくなってしまう。従って、このような画像回転処理は処理時間が著しく長くなってしまい、画像読取装置の斜行補正に適用する場合、高速読取を実現することが容易ではなかった。従って、より短時間で画像回転処理を行うことができる画像処理装置が求められていた。   However, since the method of Non-Patent Document 1 normally multiplies sinθ and cosθ, which are irrational numbers, for each pixel, the calculation cost becomes extremely high. Therefore, such an image rotation process significantly increases the processing time, and when applied to the skew correction of the image reading apparatus, it is not easy to realize high-speed reading. Therefore, an image processing apparatus capable of performing image rotation processing in a shorter time has been demanded.

課題を解決するための手段及び効果Means and effects for solving the problems

本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。   The problems to be solved by the present invention are as described above. Next, means for solving the problems and the effects thereof will be described.

本発明の第1の観点によれば、以下の構成の、元画像であるラスター画像を回転処理して回転画像を得る画像処理装置が提供される。即ち、この画像処理装置は、整数パラメータ入力部と、元画像対応位置演算部と、二次元補間部と、を備える。前記整数パラメータ入力部には、その比の値が回転角度の正接値に等しくなるような第1整数パラメータ及び第2整数パラメータが入力される。前記元画像対応位置演算部は、前記回転画像における注目画素のx座標を所定画素分変更するごとに、y方向重み係数に前記第1整数パラメータを加算し、前記y方向重み係数が前記第2整数パラメータ以上になったときは、当該y方向重み係数から前記第2整数パラメータを減算するとともに、元画像において前記注目画素に対応する位置の画素である対応注目画素のy座標を所定画素分変更する処理を行う。また、前記元画像対応位置演算部は、前記回転画像における前記注目画素のy座標を所定画素分変更するごとに、x方向重み係数に前記第1整数パラメータを加算し、前記x方向重み係数が前記第2整数パラメータ以上になったときは、当該x方向重み係数から前記第2整数パラメータを減算するとともに、元画像の前記対応注目画素のx座標を所定画素分変更する処理を行う。前記二次元補間部は、前記元画像における前記対応注目画素と、当該対応注目画素とx座標及びy座標の少なくとも一方が所定画素分異なっている3つの画素と、を対象として、前記x方向重み係数を前記第2整数パラメータで除した割合、及び、前記y方向重み係数を前記第2整数パラメータで除した割合によって二次元補間することにより、回転画像における前記注目画素の画素値を求める。   According to a first aspect of the present invention, there is provided an image processing apparatus having the following configuration, which obtains a rotated image by rotating a raster image that is an original image. That is, the image processing apparatus includes an integer parameter input unit, an original image corresponding position calculation unit, and a two-dimensional interpolation unit. The integer parameter input unit receives the first integer parameter and the second integer parameter such that the ratio value is equal to the tangent value of the rotation angle. The original image corresponding position calculation unit adds the first integer parameter to the y-direction weighting coefficient every time the x coordinate of the target pixel in the rotated image is changed by a predetermined number of pixels, and the y-direction weighting coefficient is the second weighting coefficient. When the number is greater than or equal to the integer parameter, the second integer parameter is subtracted from the y-direction weighting coefficient, and the y coordinate of the corresponding target pixel that is the pixel corresponding to the target pixel in the original image is changed by a predetermined pixel. Perform the process. In addition, the original image corresponding position calculation unit adds the first integer parameter to the x-direction weight coefficient every time the y-coordinate of the target pixel in the rotated image is changed by a predetermined pixel, and the x-direction weight coefficient is When the value is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the x-direction weight coefficient, and the x coordinate of the corresponding target pixel of the original image is changed by a predetermined number of pixels. The two-dimensional interpolation unit uses the corresponding pixel of interest in the original image and the corresponding pixel of interest as three pixels in which at least one of the x-coordinate and y-coordinate differs by a predetermined pixel. The pixel value of the pixel of interest in the rotated image is obtained by two-dimensional interpolation using the ratio obtained by dividing the coefficient by the second integer parameter and the ratio obtained by dividing the y-direction weight coefficient by the second integer parameter.

この構成により、2つの整数パラメータ及び重み係数を利用した整数演算処理及び整数比較処理を多用して、二次元補間を伴う回転処理を行うことができる。従って、浮動小数点演算等の計算コストの大きな処理を少なくでき、画質の良い回転画像を高速に得ることができる。   With this configuration, it is possible to perform rotation processing with two-dimensional interpolation by frequently using integer arithmetic processing and integer comparison processing using two integer parameters and weighting factors. Accordingly, it is possible to reduce processing with a large calculation cost such as floating point arithmetic and to obtain a high-quality rotated image at high speed.

前記画像処理装置においては、前記二次元補間部は、前記注目画素の画素値の計算において、前記第2整数パラメータの2乗による除算をまとめて行うことが好ましい。   In the image processing apparatus, it is preferable that the two-dimensional interpolation unit collectively performs division by the square of the second integer parameter in the calculation of the pixel value of the target pixel.

この構成により、計算コストの大きい除算処理を少なくできるので、回転処理を一層高速に行える。   With this configuration, division processing with a high calculation cost can be reduced, so that rotation processing can be performed at higher speed.

前記画像処理装置においては、前記二次元補間部は、前記第2整数パラメータを2の整数乗の値に変更し、更に、当該2の整数乗の値を変更前の前記第2整数パラメータで除して得られた比率を前記x方向重み係数及び前記y方向重み係数に乗じて整数値に近似した上で、前記注目画素の画素値の計算を行うことが好ましい。   In the image processing apparatus, the two-dimensional interpolation unit changes the second integer parameter to an integer power value of 2, and further divides the integer power value of 2 by the second integer parameter before the change. It is preferable to calculate the pixel value of the pixel of interest after multiplying the x-direction weighting coefficient and the y-direction weighting coefficient to approximate an integer value.

この構成により、除算処理の計算コストを著しく低減できるので、回転処理の一層の高速化が実現できる。   With this configuration, the calculation cost of the division process can be significantly reduced, so that the speed of the rotation process can be further increased.

本発明の第2の観点によれば、以下の構成の画像読取装置が提供される。即ち、前記画像処理装置と、原稿の画像を読み取って画像データを得る画像読取部と、前記画像データにおける2つの点の座標から、その比が原稿の傾き角度の正接値に等しくなるような2つの傾きパラメータ整数を得る傾き角度検出部と、を備える。そして、この画像読取装置は、2つの前記傾きパラメータ整数を前記画像処理装置に前記第1整数パラメータ及び第2整数パラメータとして与えて前記画像データを回転処理することで、原稿の傾きを補正した画像データを得るように構成されている。   According to a second aspect of the present invention, an image reading apparatus having the following configuration is provided. That is, from the image processing apparatus, the image reading unit that reads the image of the document to obtain image data, and the coordinates of two points in the image data, the ratio is equal to the tangent value of the tilt angle of the document. An inclination angle detection unit that obtains two inclination parameter integers. Then, the image reading apparatus provides the two inclination parameter integers to the image processing apparatus as the first integer parameter and the second integer parameter, and rotates the image data, thereby correcting the inclination of the document. It is configured to obtain data.

この構成により、傾きが補正された画像データを短時間で得ることができ、高速読取に特に好適である。   With this configuration, image data with corrected inclination can be obtained in a short time, which is particularly suitable for high-speed reading.

本発明の第3の観点によれば、以下の画像処理方法が提供される。即ち、この画像処理方法は、その比の値が回転角度の正接値に等しくなるような第1整数パラメータ及び第2整数パラメータに基づいて、元画像であるラスター画像を回転処理して回転画像を得る画像処理方法である。この画像処理方法は、元画像対応位置演算工程と、二次元補間工程と、を含む。前記元画像対応位置演算工程では、前記回転画像における注目画素のx座標を所定画素分変更するごとに、y方向重み係数に前記第1整数パラメータを加算し、前記y方向重み係数が前記第2整数パラメータ以上になったときは、当該y方向重み係数から前記第2整数パラメータを減算するとともに、元画像において前記注目画素に対応する位置の画素である対応注目画素のy座標を所定画素分変更する処理を行う。また、前記元画像対応位置演算工程では、前記回転画像における前記注目画素のy座標を所定画素分変更するごとに、x方向重み係数に前記第1整数パラメータを加算し、前記x方向重み係数が前記第2整数パラメータ以上になったときは、当該x方向重み係数から前記第2整数パラメータを減算するとともに、元画像の前記対応注目画素のx座標を所定画素分変更する処理を行う。前記二次元補間工程では、前記元画像における前記対応注目画素と、当該対応注目画素とx座標及びy座標の少なくとも一方が所定画素分異なっている3つの画素と、を対象として、前記x方向重み係数を前記第2整数パラメータで除した割合、及び、前記y方向重み係数を前記第2整数パラメータで除した割合によって二次元補間することにより、回転画像における前記注目画素の画素値を求める。   According to the third aspect of the present invention, the following image processing method is provided. That is, in this image processing method, based on the first integer parameter and the second integer parameter such that the value of the ratio is equal to the tangent value of the rotation angle, the raster image that is the original image is rotated to obtain the rotated image. An image processing method to obtain. This image processing method includes an original image corresponding position calculation step and a two-dimensional interpolation step. In the original image corresponding position calculation step, each time the x coordinate of the target pixel in the rotated image is changed by a predetermined number of pixels, the first integer parameter is added to the y direction weighting coefficient, and the y direction weighting coefficient is the second weighting coefficient. When the number is greater than or equal to the integer parameter, the second integer parameter is subtracted from the y-direction weighting coefficient, and the y coordinate of the corresponding target pixel that is the pixel corresponding to the target pixel in the original image is changed by a predetermined pixel. Perform the process. Further, in the original image corresponding position calculation step, each time the y coordinate of the target pixel in the rotated image is changed by a predetermined number of pixels, the first integer parameter is added to the x direction weight coefficient, and the x direction weight coefficient is calculated. When the value is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the x-direction weight coefficient, and the x coordinate of the corresponding target pixel of the original image is changed by a predetermined number of pixels. In the two-dimensional interpolation step, the weight in the x direction is targeted for the corresponding pixel of interest in the original image and three pixels in which at least one of the x coordinate and the y coordinate differs from the corresponding pixel of interest by a predetermined pixel. The pixel value of the pixel of interest in the rotated image is obtained by two-dimensional interpolation using the ratio obtained by dividing the coefficient by the second integer parameter and the ratio obtained by dividing the y-direction weight coefficient by the second integer parameter.

この方法により、2つの整数パラメータ及び重み係数を利用した整数演算処理及び整数比較処理を多用して、二次元補間を伴う回転処理を行うことができる。従って、浮動小数点演算等の計算コストの大きな処理を少なくでき、画質の良い回転画像を高速に得ることができる。   According to this method, it is possible to perform rotation processing with two-dimensional interpolation by making extensive use of integer arithmetic processing and integer comparison processing using two integer parameters and weighting factors. Accordingly, it is possible to reduce processing with a large calculation cost such as floating point arithmetic and to obtain a high-quality rotated image at high speed.

本発明の第4の観点によれば、以下のような、元画像であるラスター画像を回転処理して回転画像を得る画像処理プログラムが提供される。即ち、この画像処理プログラムは、整数パラメータ入力ステップと、元画像対応位置演算ステップと、二次元補間ステップと、を実行する。整数パラメータ入力ステップでは、その比の値が回転角度の正接値に等しくなるような第1整数パラメータ及び第2整数パラメータが入力される。前記元画像対応位置演算ステップでは、前記回転画像における注目画素のx座標を所定画素分変更するごとに、y方向重み係数に前記第1整数パラメータを加算し、前記y方向重み係数が前記第2整数パラメータ以上になったときは、当該y方向重み係数から前記第2整数パラメータを減算するとともに、元画像において前記注目画素に対応する位置の画素である対応注目画素のy座標を所定画素分変更する処理を行う。また、前記元画像対応位置演算ステップでは、前記回転画像における前記注目画素のy座標を所定画素分変更するごとに、x方向重み係数に前記第1整数パラメータを加算し、前記x方向重み係数が前記第2整数パラメータ以上になったときは、当該x方向重み係数から前記第2整数パラメータを減算するとともに、元画像の前記対応注目画素のx座標を所定画素分変更する処理を行う。前記二次元補間ステップでは、前記元画像における前記対応注目画素と、当該対応注目画素とx座標及びy座標の少なくとも一方が所定画素分異なっている3つの画素と、を対象として、前記x方向重み係数を前記第2整数パラメータで除した割合、及び、前記y方向重み係数を前記第2整数パラメータで除した割合によって二次元補間することにより、回転画像における前記注目画素の画素値を求める。   According to the fourth aspect of the present invention, there is provided an image processing program for obtaining a rotated image by rotating a raster image that is an original image as follows. That is, this image processing program executes an integer parameter input step, an original image corresponding position calculation step, and a two-dimensional interpolation step. In the integer parameter input step, the first integer parameter and the second integer parameter are inputted so that the value of the ratio becomes equal to the tangent value of the rotation angle. In the original image corresponding position calculating step, every time the x coordinate of the target pixel in the rotated image is changed by a predetermined number of pixels, the first integer parameter is added to the y-direction weighting coefficient, and the y-direction weighting coefficient is When the number is greater than or equal to the integer parameter, the second integer parameter is subtracted from the y-direction weighting coefficient, and the y coordinate of the corresponding target pixel that is the pixel corresponding to the target pixel in the original image is changed by a predetermined pixel. Perform the process. Further, in the original image corresponding position calculating step, every time the y coordinate of the target pixel in the rotated image is changed by a predetermined number of pixels, the first integer parameter is added to the x direction weight coefficient, and the x direction weight coefficient is calculated. When the value is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the x-direction weight coefficient, and the x coordinate of the corresponding target pixel of the original image is changed by a predetermined number of pixels. In the two-dimensional interpolation step, the weight in the x direction is targeted for the corresponding pixel of interest in the original image and three pixels that differ from the corresponding pixel of interest by at least one of the x coordinate and the y coordinate by a predetermined pixel. The pixel value of the pixel of interest in the rotated image is obtained by two-dimensional interpolation using the ratio obtained by dividing the coefficient by the second integer parameter and the ratio obtained by dividing the y-direction weight coefficient by the second integer parameter.

これにより、2つの整数パラメータ及び重み係数を利用した整数演算処理及び整数比較処理を多用して、二次元補間を伴う回転処理を行うことができる。従って、浮動小数点演算等の計算コストの大きな処理を少なくでき、画質の良い回転画像を高速に得ることができる。   As a result, it is possible to perform rotation processing with two-dimensional interpolation by making extensive use of integer arithmetic processing and integer comparison processing using two integer parameters and weighting factors. Accordingly, it is possible to reduce processing with a large calculation cost such as floating point arithmetic and to obtain a high-quality rotated image at high speed.

次に、発明の実施の形態を説明する。図2は本発明の一実施形態に係るイメージスキャナ装置の全体的な構成を示す正面断面図である。   Next, embodiments of the invention will be described. FIG. 2 is a front sectional view showing the overall configuration of the image scanner device according to the embodiment of the present invention.

図2に示すように、画像読取装置としてのイメージスキャナ装置101は、オートドキュメントフィーダ部及びフラットベッド部からなる画像読取部115を備えている。   As shown in FIG. 2, an image scanner device 101 as an image reading device includes an image reading unit 115 including an auto document feeder unit and a flat bed unit.

以下、具体的に説明する。即ち、このイメージスキャナ装置101は、読取原稿を載置するプラテンガラス102が配設された原稿台103と、この読取原稿を前記プラテンガラス上に押圧した状態で保持するための原稿台カバー104と、を備えている。また、イメージスキャナ装置101には、原稿の読取開始等を指示するための図略の操作パネルが備えられている。原稿台カバー104の下面には、原稿を下向きに押し付けるための押さえパッド121が、前記プラテンガラス102に対面するように取り付けられている。   This will be specifically described below. That is, the image scanner apparatus 101 includes an original table 103 on which a platen glass 102 on which a read original is placed is disposed, and an original table cover 104 for holding the read original in a pressed state on the platen glass. It is equipped with. Further, the image scanner device 101 is provided with an unillustrated operation panel for instructing the start of reading of a document. A pressing pad 121 for pressing the document downward is attached to the lower surface of the document table cover 104 so as to face the platen glass 102.

前記原稿台カバー104には、オートドキュメントフィーダ(自動原稿送り装置)107が配設されている。このオートドキュメントフィーダ107は、原稿台カバー104の上部に設けられた原稿トレイ111と、この原稿トレイ111の下方に設けられた排紙トレイ112と、を備える。   The document table cover 104 is provided with an auto document feeder (automatic document feeder) 107. The auto document feeder 107 includes a document tray 111 provided above the document table cover 104 and a paper discharge tray 112 provided below the document tray 111.

図2に示すように、前記原稿台カバー104の内部には、原稿トレイ111と排紙トレイ112とを繋ぐ湾曲状の原稿搬送経路113が構成されている。この原稿搬送経路113には、ピックアップローラ51と、分離ローラ52と、分離パッド53と、搬送ローラ55と、排紙ローラ58と、が配置されている。   As shown in FIG. 2, a curved document transport path 113 that connects the document tray 111 and the paper discharge tray 112 is formed inside the document table cover 104. A pickup roller 51, a separation roller 52, a separation pad 53, a conveyance roller 55, and a paper discharge roller 58 are disposed in the document conveyance path 113.

ピックアップローラ51は原稿トレイ111上の読取原稿を繰り込み、分離ローラ52及び分離パッド53は、繰り込まれた原稿を1枚ずつ分離するように構成されている。搬送ローラ55は、分離された原稿を原稿読取位置Pに向けて搬送し、排紙ローラ58は、読取後の原稿を排紙トレイ112へ排出するように構成されている。また、前記原稿読取位置Pにおいて、プラテンガラスに対向するように押さえ部材122が備えられている。   The pickup roller 51 feeds the read document on the document tray 111, and the separation roller 52 and the separation pad 53 are configured to separate the fed document one by one. The conveyance roller 55 conveys the separated document toward the document reading position P, and the paper discharge roller 58 is configured to discharge the read document to the paper discharge tray 112. A pressing member 122 is provided at the document reading position P so as to face the platen glass.

上記の構成で、原稿トレイ111に重ねてセットされた読取原稿は、1枚ずつ分離されて湾曲状の前記原稿搬送経路113に沿って搬送され、原稿読取位置Pを通過して後述のスキャナユニット21によって読み取られた後、排紙トレイ112へ排出される。   With the above-described configuration, the read originals set on the original tray 111 are separated one by one and conveyed along the curved original conveyance path 113, passing through the original reading position P, and a scanner unit described later. After being read by the printer 21, it is discharged to the paper discharge tray 112.

図2に示すように、前記原稿台103の内部にはスキャナユニット21が備えられる。このスキャナユニット21は、原稿台103の内部で移動可能なキャリッジを備えている。   As shown in FIG. 2, a scanner unit 21 is provided in the document table 103. The scanner unit 21 includes a carriage that can move inside the document table 103.

このキャリッジ30は、光源としての蛍光ランプ22と、反射ミラー23,23・・・と、集光レンズ27と、電荷結合素子(CCD)28と、を備える。蛍光ランプ22は読取原稿に対して光を照射し、読取原稿からの反射光は、複数の反射ミラー23,23・・・で反射した後、集光レンズ27を通過して収束してCCD28表面に結像する。前記CCD28は、入射された収束光を電気信号に変換して出力する。   The carriage 30 includes a fluorescent lamp 22 as a light source, reflection mirrors 23, 23..., A condenser lens 27, and a charge coupled device (CCD) 28. The fluorescent lamp 22 irradiates the read original with light, and the reflected light from the read original is reflected by a plurality of reflecting mirrors 23, 23. To form an image. The CCD 28 converts the incident convergent light into an electrical signal and outputs it.

本実施形態において前記CCD28は3ライン式のカラーCCDとされている。このCCD28は、主走査方向(原稿の幅方向)に細長く延びる一次元ラインセンサが赤、緑、青(RGB)の各色について設けられるとともに、各ラインセンサに対応して異なるカラーフィルタを備えた構成となっている。   In the present embodiment, the CCD 28 is a three-line color CCD. The CCD 28 is provided with a one-dimensional line sensor elongated in the main scanning direction (document width direction) for each color of red, green, and blue (RGB), and provided with a different color filter corresponding to each line sensor. It has become.

前記原稿台103の内部には、駆動プーリ47及び従動プーリ48が回転自在に支持される。そして、駆動プーリ47及び従動プーリ48の間に無端状の駆動ベルト49が張架され、この駆動ベルト49の適宜箇所に前記キャリッジ30が固定されている。この構成で、前記駆動プーリ47を図略の電動モータで正逆駆動することにより、キャリッジ30を副走査方向に沿って水平に走行させることができる。   A driving pulley 47 and a driven pulley 48 are rotatably supported in the document table 103. An endless drive belt 49 is stretched between the drive pulley 47 and the driven pulley 48, and the carriage 30 is fixed to an appropriate portion of the drive belt 49. With this configuration, the carriage 30 can be moved horizontally along the sub-scanning direction by driving the drive pulley 47 forward and backward with an electric motor (not shown).

この構成で、前記原稿読取位置Pに対応する位置に前記キャリッジ30を予め移動させた状態で、オートドキュメントフィーダ107を駆動する。すると、原稿搬送経路113を搬送される読取原稿が原稿読取位置Pにおいて走査され、蛍光ランプ22から照射されて読取原稿で反射した反射光はキャリッジ30内へ導入され、反射ミラー23,23・・・により集光レンズ27を通してCCD28へ導かれて結像する。この結果、CCD28は読取内容に応じた電気信号を出力することができる。   With this configuration, the auto document feeder 107 is driven in a state where the carriage 30 has been moved in advance to a position corresponding to the document reading position P. Then, the read original conveyed on the original conveyance path 113 is scanned at the original reading position P, and the reflected light irradiated from the fluorescent lamp 22 and reflected by the read original is introduced into the carriage 30, and the reflection mirrors 23, 23,. The light is guided to the CCD 28 through the condenser lens 27 to form an image. As a result, the CCD 28 can output an electrical signal corresponding to the read content.

また、フラットベッドスキャナとして使用する場合は、キャリッジ30をプラテンガラス102に沿って一定の速度で移動させながら、当該プラテンガラス102上に載置された読取原稿を走査する。原稿からの反射光は、上記と同様にキャリッジ30内のCCD28へ導かれて結像する。   Further, when used as a flatbed scanner, the read original placed on the platen glass 102 is scanned while moving the carriage 30 along the platen glass 102 at a constant speed. The reflected light from the document is guided to the CCD 28 in the carriage 30 to form an image as described above.

図3はイメージスキャナ装置101のブロック図である。図3に示すように、イメージスキャナ装置101は前記スキャナユニット21のほか、CPU41と、ROM42と、画像処理部43と、イメージメモリ66と、傾き検出部67と、傾き補正部(画像処理装置)68と、符号変換部69と、出力制御部70と、を備えている。   FIG. 3 is a block diagram of the image scanner device 101. As shown in FIG. 3, in addition to the scanner unit 21, the image scanner device 101 includes a CPU 41, a ROM 42, an image processing unit 43, an image memory 66, an inclination detecting unit 67, and an inclination correcting unit (image processing apparatus). 68, a code conversion unit 69, and an output control unit 70.

CPU41は、イメージスキャナ装置101に備えられるスキャナユニット21、傾き検出部67、傾き補正部68、出力制御部70等を制御するための制御部として設けられている。この制御のためのプログラム及びデータ等は、記憶部としてのROM42に格納されている。   The CPU 41 is provided as a control unit for controlling the scanner unit 21, the tilt detection unit 67, the tilt correction unit 68, the output control unit 70, and the like provided in the image scanner device 101. A program, data, and the like for this control are stored in a ROM 42 as a storage unit.

前記スキャナユニット21はアナログフロントエンド(AFE)63を備えており、このAFE63はCCD28に接続されている。原稿読取時において、CCD28が備えるRGB各色の前記ラインセンサは、原稿内容を主走査方向に走査して1ライン分を読み取り、各ラインセンサの信号は前記AFE63によってアナログ信号からデジタル信号に変換される。この主走査により、1ライン分の画素のデータがRGB各色の階調値としてAFE63から出力される。以上の処理を、原稿又はキャリッジ30を副走査方向に微小距離ずつ送りながら反復することで、原稿全体の画像データをデジタル信号として得ることができる。   The scanner unit 21 includes an analog front end (AFE) 63, and this AFE 63 is connected to the CCD 28. At the time of document reading, the RGB line sensors included in the CCD 28 scan the document content in the main scanning direction to read one line, and the signals of each line sensor are converted from analog signals to digital signals by the AFE 63. . By this main scanning, pixel data for one line is output from the AFE 63 as gradation values of RGB colors. By repeating the above processing while feeding the document or carriage 30 by a minute distance in the sub-scanning direction, the image data of the entire document can be obtained as a digital signal.

スキャナユニット21は画像処理部65を備えており、前記AFE63が出力する画像データのデジタル信号は、この画像処理部65に入力される。この画像処理部65は、主走査ごとに1ラインずつ入力される画素データに対しシェーディング補正を行って、スキャナユニット21の光学系に起因する読取ムラの補正を行う。また画像処理部65は、前記画素データに対し、CCD28におけるRGB各色のラインセンサの配置間隔(ラインギャップ)を原因とする色ズレを矯正する補正を行う。   The scanner unit 21 includes an image processing unit 65, and a digital signal of image data output from the AFE 63 is input to the image processing unit 65. The image processing unit 65 performs shading correction on pixel data input line by line for each main scan, and corrects reading unevenness caused by the optical system of the scanner unit 21. The image processing unit 65 corrects the pixel data to correct a color shift caused by the arrangement interval (line gap) of the RGB line sensors in the CCD 28.

前記イメージメモリ66は、スキャナユニット21で読み取った画像を蓄積するためのものである。スキャナユニット21で読み取られた画像データは、画像処理部43において公知の画像処理(フィルタ処理等)が更に行われた後、イメージメモリ66に入力されて蓄積される。   The image memory 66 is for accumulating images read by the scanner unit 21. The image data read by the scanner unit 21 is further subjected to known image processing (filter processing or the like) in the image processing unit 43, and then is input and stored in the image memory 66.

前記傾き検出部67は、スキャナユニット21から入力される画像データを解析して原稿の領域を検出し、これに基づいて原稿の傾き(傾きを矯正するために回転すべき角度)を自動検出するように構成されている。   The tilt detection unit 67 analyzes image data input from the scanner unit 21 to detect a document area, and automatically detects the tilt of the document (an angle to be rotated to correct the tilt) based on this. It is configured as follows.

傾き検出部67は、具体的には以下のような処理を行う。即ち、本実施形態において、走査される原稿の裏面側に配置される前記押さえパッド121及び押さえ部材122(図2)の表面には、通常の紙よりも明るい白色のシート(プラテンシート)が貼り付けられている。従って、CCD28で読み取られた画像データにおいて、原稿の周囲の背景部分は輝度が高くなる。   Specifically, the inclination detection unit 67 performs the following processing. That is, in this embodiment, a white sheet (a platen sheet) that is brighter than normal paper is pasted on the surface of the pressing pad 121 and the pressing member 122 (FIG. 2) arranged on the back side of the scanned document. It is attached. Therefore, in the image data read by the CCD 28, the brightness of the background portion around the document is high.

傾き検出部67はこれを利用して、画素データのRGB成分から公知の式に従って輝度(Y成分)を計算する画像処理を行い、その輝度が所定の値以上である場合は背景画素、所定の値を下回る場合は原稿画素として2値化処理を行う。   By using this, the inclination detection unit 67 performs image processing for calculating the luminance (Y component) from the RGB components of the pixel data according to a known formula. If the luminance is equal to or higher than a predetermined value, the background pixel, If the value is below the value, binarization processing is performed as a document pixel.

2値化された画像の例が図4に示される。なお、図4において、細かく区切られた1つのマスが1つの画素に対応するとともに、空白のマスが背景画素を、斜線が引かれたマスが原稿画素をそれぞれ表している。   An example of a binarized image is shown in FIG. In FIG. 4, one finely divided cell corresponds to one pixel, a blank cell represents a background pixel, and a hatched cell represents a document pixel.

図4の例では、原稿が斜行した状態でオートドキュメントフィーダ部により搬送され、スキャナユニット21で読み取られた結果、正規の向きから時計方向に若干回転した長方形の画像が原稿画素領域として得られている。   In the example of FIG. 4, as a result of the document being conveyed by the auto document feeder unit in a skewed state and read by the scanner unit 21, a rectangular image slightly rotated clockwise from the normal direction is obtained as the document pixel area. ing.

本実施形態では、前記傾き検出部67は、この原稿画素領域の角部に位置する2点(黒塗りのマスで図示)を、適宜の画像認識処理によって検出する。そして、検出された2つの点のx座標及びy座標をそれぞれ求めるとともに、2点のx座標の差及びy座標の差を演算して求める。ここで求められたy座標の差をdyとし、x座標の差をdxとする。図4の例では、dy=10,dx=50である。   In the present embodiment, the inclination detection unit 67 detects two points (illustrated by black squares) located at the corners of the document pixel area by appropriate image recognition processing. Then, the x coordinate and y coordinate of the two detected points are obtained, respectively, and the difference between the x coordinate and the y coordinate of the two points is calculated and obtained. The difference between the y coordinates obtained here is dy, and the difference between the x coordinates is dx. In the example of FIG. 4, dy = 10 and dx = 50.

そして、傾き検出部67は、y座標の差dy及びx座標の差dxをそれぞれ最大公約数で除し、得られた結果を傾きパラメータa,bとする。図4の例では、a=1,b=5である。   Then, the inclination detection unit 67 divides the y-coordinate difference dy and the x-coordinate difference dx by the greatest common divisor, and sets the obtained results as inclination parameters a and b. In the example of FIG. 4, a = 1 and b = 5.

ここで、原稿の傾き角度をθとすると、θ=tan-1(dy/dx)=tan-1(a/b)の関係が成り立つ。即ち、aとbの比の値(a/b)は、原稿の傾き角度の正接値tanθに一致する。ただし、本実施形態の傾き検出部67は傾きパラメータa,bを適宜のメモリに記憶するだけで、傾き角度θは計算しない。 Here, when the inclination angle of the document is θ, the relationship θ = tan −1 (dy / dx) = tan −1 (a / b) is established. That is, the ratio value (a / b) between a and b coincides with the tangent value tanθ of the document inclination angle. However, the inclination detector 67 of this embodiment only stores the inclination parameters a and b in an appropriate memory, and does not calculate the inclination angle θ.

2点のx座標及びy座標はそれぞれ整数で表されるので、上述したy座標の差dy及びx座標の差dxも整数となり、傾きパラメータa,bも整数になる。得られた傾きパラメータ整数a,bは、後述の傾き補正部68に与える整数パラメータとして使われる。   Since the x coordinate and y coordinate of the two points are respectively represented by integers, the above-described y coordinate difference dy and x coordinate difference dx are also integers, and the slope parameters a and b are also integers. The obtained slope parameter integers a and b are used as integer parameters given to the slope correction unit 68 described later.

なお、前述の傾きパラメータa,bの検出処理(角度検出処理)は、元画像を解像度変換(変倍)することなく行っても良いが、元画像を縮小化した縮小画像データを用いて角度検出を行ってもよい。縮小画像データを用いることにより、特にソフトウェアで処理する場合には、角度検出処理の短縮化が図れる。   The above-described detection processing (angle detection processing) of the inclination parameters a and b may be performed without converting the resolution of the original image (magnification), but the angle is determined using reduced image data obtained by reducing the original image. Detection may be performed. By using the reduced image data, the angle detection process can be shortened particularly when processing is performed by software.

図3に示す前記傾き補正部68は、前記傾き検出部67で得られた前記傾きパラメータ整数a,bに基づいてイメージメモリ66のラスター画像データを回転処理し、原稿の斜行を電子的に補正するように構成されている。この傾き補正部68は、整数パラメータ入力部71と、元画像対応位置演算部72と、二次元補間部73と、を備えている。   The tilt correction unit 68 shown in FIG. 3 rotates raster image data in the image memory 66 based on the tilt parameter integers a and b obtained by the tilt detection unit 67, and electronically skews the document. It is configured to correct. The inclination correction unit 68 includes an integer parameter input unit 71, an original image corresponding position calculation unit 72, and a two-dimensional interpolation unit 73.

パラメータ入力部71は、2つの傾きパラメータ整数を、第1整数パラメータa及び第2整数パラメータbとして取得可能に構成されている。上述のとおり、2つの整数パラメータa,bの比の値(a/b)は、画像を回転すべき角度(原稿の傾き角度)の正接値tanθに等しい。   The parameter input unit 71 is configured to be able to acquire two gradient parameter integers as a first integer parameter a and a second integer parameter b. As described above, the ratio value (a / b) of the two integer parameters a and b is equal to the tangent value tanθ of the angle at which the image is to be rotated (original tilt angle).

元画像対応位置演算部72は、回転画像における注目画素(m,n)の位置に基づいて所定の計算を行うことで、元画像において前記注目画素(m,n)に対応する位置の画素である対応注目画素(i,j)の位置を求める。また、元画像対応位置演算部72は、前記注目画素の位置に基づいて所定の計算を行うことで、前記二次元補間部73が行う補間において用いられるx方向重み係数kwx及びy方向重み係数kwyを求める。   The original image corresponding position calculation unit 72 performs a predetermined calculation based on the position of the pixel of interest (m, n) in the rotated image, so that the original image corresponds to the pixel of interest corresponding to the pixel of interest (m, n). The position of a certain corresponding target pixel (i, j) is obtained. Further, the original image corresponding position calculation unit 72 performs a predetermined calculation based on the position of the target pixel, so that the x-direction weighting coefficient kwx and the y-direction weighting coefficient kwy used in the interpolation performed by the two-dimensional interpolation unit 73. Ask for.

二次元補間部73は、前記対応注目画素(i,j)と、当該対応注目画素とx座標及びy座標の少なくとも何れか一方が異なる3つの画素と、に基づいて二次元補間を行うことにより、回転画像における注目画素の画素値Q(m,n)を求める。この二次元補間には、前記x方向重み係数kwx及びy方向重み係数kwyをそれぞれ整数bで除した割合(kwx/b,kwy/b)が用いられる。なお、傾き補正部68による回転処理の詳細は後述する。   The two-dimensional interpolation unit 73 performs two-dimensional interpolation based on the corresponding target pixel (i, j) and the corresponding target pixel and three pixels that are different in at least one of the x coordinate and the y coordinate. Then, the pixel value Q (m, n) of the target pixel in the rotated image is obtained. In this two-dimensional interpolation, ratios (kwx / b, kwy / b) obtained by dividing the x-direction weighting coefficient kwx and the y-direction weighting coefficient kwy by an integer b are used. Details of the rotation processing by the inclination correction unit 68 will be described later.

符号変換部69は、イメージメモリ66に保存された画像データに対し、例えばJPEG等の公知の圧縮処理を行って符号化する。   The code conversion unit 69 encodes the image data stored in the image memory 66 by performing a known compression process such as JPEG.

出力制御部70は、符号化された画像データを、イメージスキャナ装置101と接続される上位装置としてのパーソナルコンピュータ(図略)に送信する。送信方法は任意であるが、例えば、ローカルエリアネットワーク(LAN)を用いる方法、及びユニバーサルシリアルバス(USB)を用いる方法等が考えられる。   The output control unit 70 transmits the encoded image data to a personal computer (not shown) as a host device connected to the image scanner device 101. Although the transmission method is arbitrary, for example, a method using a local area network (LAN), a method using a universal serial bus (USB), and the like are conceivable.

本実施形態において、画像処理部65、傾き検出部67、傾き補正部68、及び符号変換部69等は、例えばASIC、FPGA等のハードウェアを用いて実現されている。後述の方法により画像回転処理を行う画像処理プログラムがASIC等に書き込まれることにより、前記傾き補正部68の回転処理機能が実現される。ただし、この傾き補正部68等は、CPU41とプログラムの組合せ等により実現しても良い。   In the present embodiment, the image processing unit 65, the inclination detection unit 67, the inclination correction unit 68, the code conversion unit 69, and the like are realized using hardware such as ASIC and FPGA, for example. An image processing program for performing image rotation processing by a method to be described later is written in the ASIC or the like, so that the rotation processing function of the tilt correction unit 68 is realized. However, the inclination correction unit 68 and the like may be realized by a combination of the CPU 41 and a program.

次に、前記傾き補正部68による画像の回転処理について、図5のフローチャートを参照しながら説明する。   Next, image rotation processing by the tilt correction unit 68 will be described with reference to the flowchart of FIG.

図5のフローが開始されると、傾き補正部68は先ず、傾き検出部67で求められた2つの傾きパラメータ整数を、第1整数パラメータa及び第2整数パラメータbとして入力する(S101)。なお、このS101の処理が、整数パラメータ入力ステップ(整数パラメータ入力工程)に相当する。   When the flow of FIG. 5 is started, the inclination correction unit 68 first inputs two inclination parameter integers obtained by the inclination detection unit 67 as the first integer parameter a and the second integer parameter b (S101). The process of S101 corresponds to an integer parameter input step (integer parameter input step).

次に、変数の初期化処理を行う(S102)。この初期化処理では、回転画像における注目画素のx座標m及びy座標nがゼロにリセットされる。また、対応注目画素(前記注目画素に対応する元画像の画素)の位置を演算する際に使用されるx方向のオフセット値moff及びy方向のオフセット値noffについてもゼロにリセットされる。更に、二次元補間に使用されるx方向重み係数kwx及びy方向重み係数kwyについても、ゼロにリセットされる。なお、上記の変数m,n,moff,noff,kwx,kwyは、何れも整数変数である。   Next, variable initialization processing is performed (S102). In this initialization process, the x coordinate m and the y coordinate n of the pixel of interest in the rotated image are reset to zero. Further, the x-direction offset value moff and the y-direction offset value noff used when calculating the position of the corresponding target pixel (the pixel of the original image corresponding to the target pixel) are also reset to zero. Furthermore, the x-direction weight coefficient kwx and the y-direction weight coefficient kwy used for two-dimensional interpolation are also reset to zero. Note that the variables m, n, moff, noff, kwx, and kwy are all integer variables.

次に、回転画像の注目画素(m,n)の画素値Q(m,n)を計算する(S103)。この処理では最初に、元画像の前記対応注目画素の位置(i,j)を計算する。対応注目画素のx座標iは、回転画像の注目画素のx座標mにオフセット値moffを加えることで得られる(i=m+moff)。同様に、対応注目画素のy座標jは、回転画像の注目画素のy座標nにオフセット値noffを加えることで得られる(j=n+noff)。   Next, the pixel value Q (m, n) of the target pixel (m, n) of the rotated image is calculated (S103). In this process, first, the position (i, j) of the corresponding target pixel of the original image is calculated. The x coordinate i of the corresponding target pixel is obtained by adding an offset value moff to the x coordinate m of the target pixel of the rotated image (i = m + moff). Similarly, the y coordinate j of the corresponding target pixel is obtained by adding the offset value noff to the y coordinate n of the target pixel of the rotated image (j = n + noff).

ここで、前記オフセット値moffは、回転画像の注目画素がy方向に(b/a)画素移動するごとに1減算される(S114)。また、オフセット値noffは、回転画像の注目画素がx方向に(b/a)画素移動するごとに1加算される(S107)。なお、このオフセット値の加算/減算処理については後述する。   Here, the offset value moff is decremented by 1 every time the target pixel of the rotated image moves (b / a) pixels in the y direction (S114). The offset value noff is incremented by 1 every time the target pixel of the rotated image moves by (b / a) pixels in the x direction (S107). The offset value addition / subtraction process will be described later.

図6に、図4の例で求めた傾きパラメータ整数a=1,b=5を傾き補正部68に第1整数パラメータ及び第2整数パラメータとして入力した場合の、回転画像の注目画素と元画像の対応注目画素との対応を示す。   FIG. 6 shows the pixel of interest and the original image of the rotated image when the slope parameter integers a = 1 and b = 5 obtained in the example of FIG. 4 are input to the slope correction unit 68 as the first integer parameter and the second integer parameter. The correspondence with the target pixel of interest is shown.

図6には、回転画像の1行目及び1列目を注目画素とした場合の当該注目画素と、元画像の対応注目画素が、二重線で囲ったマスでそれぞれ示されている。図6の上側で示すように、元画像の対応注目画素は、回転画像の注目画素がx方向に5画素(=b/a)移動するごとに、y方向に1画素分ズレる。また、元画像の対応注目画素は、回転画像の注目画素がy方向に5画素移動するごとに、x方向に1画素分ズレる。   In FIG. 6, the target pixel when the first row and the first column of the rotated image are set as the target pixel and the corresponding target pixel of the original image are indicated by squares surrounded by double lines. As shown in the upper side of FIG. 6, the corresponding target pixel of the original image is shifted by one pixel in the y direction every time the target pixel of the rotated image moves five pixels (= b / a) in the x direction. In addition, the corresponding target pixel of the original image is shifted by one pixel in the x direction every time the target pixel of the rotated image moves five pixels in the y direction.

次に、回転画像の注目画素の画素値Q(m,n)を、二次元線形補間することにより取得する。この二次元線形補間は、図7に示すように、元画像の対応注目画素(i,j)と、この対応注目画素にx方向で隣り合う画素(i−1,j)と、y方向で隣り合う画素(i,j+1)と、斜めに隣り合う画素(i−1,j+1)と、の計4つの画素を対象にして行われる。そして、この4つの画素それぞれの画素値P(i,j)、P(i−1,j)、P(i,j+1)、P(i−1,j+1)に基づいて、x方向重み係数kwxを第2整数パラメータbで除した割合(kwx/b)、及び、y方向重み係数kwyを第2整数パラメータbで除した割合(kwy/b)によって線形補間することにより、回転画像の注目画素(m,n)の画素値Q(m,n)を取得する。   Next, the pixel value Q (m, n) of the target pixel of the rotated image is acquired by two-dimensional linear interpolation. As shown in FIG. 7, the two-dimensional linear interpolation is performed in the y direction with the corresponding target pixel (i, j) of the original image, the pixel (i−1, j) adjacent to the corresponding target pixel in the x direction. This is performed for a total of four pixels, which are adjacent pixels (i, j + 1) and diagonally adjacent pixels (i-1, j + 1). Based on the pixel values P (i, j), P (i−1, j), P (i, j + 1), and P (i−1, j + 1) of the four pixels, the x-direction weighting coefficient kwx The pixel of interest of the rotated image is linearly interpolated by the ratio (kwx / b) divided by the second integer parameter b and the ratio (kwy / b) obtained by dividing the y-direction weight coefficient kwy by the second integer parameter b. A pixel value Q (m, n) of (m, n) is acquired.

ここで、x方向重み係数kwxは、回転画像の注目画素がy方向に1画素移動するごとに、第1整数パラメータaだけ加算される(図5のS112)。また、y方向重み係数kwyは、回転画像の注目画素がx方向に1画素移動するごとに、第1整数パラメータaだけ加算される(S105)。なお、この重み係数の加算処理については後述する。   Here, the x-direction weight coefficient kwx is incremented by the first integer parameter a every time the target pixel of the rotated image moves one pixel in the y direction (S112 in FIG. 5). The y-direction weight coefficient kwy is incremented by the first integer parameter a every time the target pixel of the rotated image moves one pixel in the x direction (S105). The weighting coefficient addition process will be described later.

図5のS103には、図7の概念図で説明した注目画素の画素値Q(m,n)の計算式が示されている。なお、この計算式は、第2整数パラメータbでの除算が大カッコ[〜]で括った外側に出るように変形されている。これにより、計算コストの大きい除算処理を第2整数パラメータの2乗(b2)での除算1回にまとめることができ、計算処理を高速化することができる。 In S103 of FIG. 5, a calculation formula of the pixel value Q (m, n) of the target pixel described in the conceptual diagram of FIG. 7 is shown. This calculation formula is modified so that the division by the second integer parameter b appears outside the brackets [~]. As a result, division processing with a high calculation cost can be combined into one division by the square of the second integer parameter (b 2 ), and the calculation processing can be speeded up.

S103の画素値の取得処理(二次元補間ステップ、二次元補間工程)が終了した後、注目画素のx座標mに1を加算する(S104)。この処理は、回転画像の注目画素(m,n)をx方向に1画素分移動させることに相当する。   After the pixel value acquisition process (two-dimensional interpolation step, two-dimensional interpolation step) in S103 is completed, 1 is added to the x coordinate m of the target pixel (S104). This process corresponds to moving the target pixel (m, n) of the rotated image by one pixel in the x direction.

次に、y方向重み係数kwyに第1整数パラメータaを加算する(S105)。そして、加算後のy方向重み係数kwyが第2整数パラメータb以上か否かを調べる(S106)。第2整数パラメータb以上であった場合は、y方向のオフセット値noffに1を加算するとともに(S107)、y方向重み係数kwyから第2整数パラメータbを減算する(S108)。その後、S106の処理に戻る。   Next, the first integer parameter a is added to the y-direction weight coefficient kwy (S105). Then, it is checked whether the y-direction weight coefficient kwy after the addition is equal to or larger than the second integer parameter b (S106). If it is greater than or equal to the second integer parameter b, 1 is added to the offset value noff in the y direction (S107), and the second integer parameter b is subtracted from the y direction weight coefficient kwy (S108). Thereafter, the process returns to S106.

y方向重み係数kwyが第2整数パラメータbを下回っている場合、S109の処理に移行し、回転画像の注目画素のx座標mが、回転画像の幅widthに原稿の傾き角度の余弦値(cosθ)を乗じた数を下回っているか否かが判定される。x座標mがwidth×cosθを下回っていた場合は、S103の処理に戻る。   If the y-direction weight coefficient kwy is below the second integer parameter b, the process proceeds to S109, and the x coordinate m of the pixel of interest of the rotated image is set to the cosine value (cosθ ) Is less than the number multiplied. If the x-coordinate m is less than width × cos θ, the process returns to S103.

以上のフローにより、回転画像の注目画素(m,n)を、そのx座標mを0から(width×cosθ−1)まで1ずつ変化させながら、画素値Q(m,n)を計算する処理が反復される。そして、x座標mが1変化するごとにy方向重み係数kwyがaずつ加算されるので(S105)、画素値Q(m,n)の計算の際の二次元補間において、図7の下側2つの画素値P(i,j+1)、P(i−1,j+1)が反映される重みが増大する。mが1変化するごとの当該重みの変化割合は、aをbで除した値に一致する。更に、y方向重み係数kwyがb以上になると、y方向オフセット値noffが1加算される。これは、元画像の対応注目画素(i,j)がy方向に1画素分ズレることを意味する。   With the above flow, the pixel value Q (m, n) is calculated while changing the x coordinate m of the pixel of interest (m, n) of the rotated image from 0 to (width × cos θ−1) one by one. Is repeated. Then, every time the x coordinate m changes by 1, the y-direction weighting coefficient kwy is added by a (S105). Therefore, in the two-dimensional interpolation in calculating the pixel value Q (m, n), the lower side of FIG. The weight in which the two pixel values P (i, j + 1) and P (i-1, j + 1) are reflected increases. The change ratio of the weight every time m changes by 1 matches the value obtained by dividing a by b. Further, when the y-direction weight coefficient kwy is equal to or greater than b, the y-direction offset value noff is incremented by 1. This means that the corresponding target pixel (i, j) of the original image is shifted by one pixel in the y direction.

S109の判断で、注目画素のx座標mがwidth×cosθ以上であった場合、当該x座標m、y方向オフセット値noff、及びy方向重み係数kwyが何れも0にリセットされるとともに(S110)、注目画素のy座標nに1が加算される(S111)。この処理は、回転画像の注目画素(m,n)をy方向に1画素分移動させることに相当する。   If it is determined in S109 that the x coordinate m of the pixel of interest is greater than width × cos θ, the x coordinate m, the y direction offset value not, and the y direction weight coefficient kwy are all reset to 0 (S110). Then, 1 is added to the y coordinate n of the target pixel (S111). This process corresponds to moving the target pixel (m, n) of the rotated image by one pixel in the y direction.

次に、x方向重み係数kwxに第1整数パラメータaを加算する(S112)。そして、加算後のx方向重み係数kwxが第2整数パラメータb以上か否かを調べる(S113)。第2整数パラメータb以上であった場合は、x方向のオフセット値moffに1を加算するとともに(S114)、x方向重み係数kwxから第2整数パラメータbを減算する(S115)。その後、S113の処理に戻る。   Next, the first integer parameter a is added to the x-direction weight coefficient kwx (S112). Then, it is checked whether or not the added x-direction weight coefficient kwx is greater than or equal to the second integer parameter b (S113). If it is greater than or equal to the second integer parameter b, 1 is added to the offset value moff in the x direction (S114), and the second integer parameter b is subtracted from the x direction weighting factor kwx (S115). Thereafter, the process returns to S113.

x方向重み係数kwxが第2整数パラメータbを下回っている場合、S116の処理に移行し、回転画像の注目画素のy座標nが、回転画像の高さheightに原稿の傾き角度の余弦値(cosθ)を乗じた数を下回っているか否かが判定される。y座標nがheight×cosθを下回っていた場合は、S103の処理に戻る。y座標nがheight×cosθ以上であった場合、注目画素の画素値の計算が全て完了したことを意味するので、処理を終了する。   When the x-direction weight coefficient kwx is smaller than the second integer parameter b, the process proceeds to S116, and the y coordinate n of the target pixel of the rotated image is set to the cosine value of the document tilt angle (height). It is determined whether it is below the number multiplied by cos θ). When the y coordinate n is less than height × cos θ, the process returns to S103. If the y coordinate n is equal to or higher than height × cos θ, it means that the calculation of the pixel value of the pixel of interest has been completed, and the processing is terminated.

以上のフローにより、回転画像の注目画素(m,n)を、そのy座標nを0から(height×cosθ−1)まで1ずつ変化させながら、画素値Q(m,n)を計算する処理が反復される。そして、nが1変化するごとにx方向重み係数kwxがaずつ加算されるので、画素値Q(m,n)の計算の際の二次元補間において、図7の左側2つの画素値P(i−1,j)、P(i−1,j+1)が反映される重みが増大する。nが1変化するごとの当該重みの変化割合は、aをbで除した値に一致する。更に、x方向重み係数kwxがb以上になると、x方向オフセット値moffが1減算される。これは、元画像の対応注目画素(i,j)がx方向に1画素分ズレることを意味する。なお、図5のS104〜S116の処理が、元画像対応位置演算ステップ(元画像対応位置演算工程)に相当する。   Processing for calculating the pixel value Q (m, n) of the target pixel (m, n) of the rotated image while changing the y coordinate n from 0 to (height × cos θ−1) one by one by the above flow. Is repeated. Each time n changes by 1, the x-direction weighting coefficient kwx is added by a. Therefore, in the two-dimensional interpolation when calculating the pixel value Q (m, n), the two pixel values P ( i-1, j) and P (i-1, j + 1) are reflected more frequently. The change ratio of the weight every time n changes by 1 matches the value obtained by dividing a by b. Further, when the x-direction weight coefficient kwx is equal to or greater than b, 1 is subtracted from the x-direction offset value moff. This means that the corresponding target pixel (i, j) of the original image is shifted by one pixel in the x direction. 5 corresponds to the original image corresponding position calculation step (original image corresponding position calculation step).

以上により、図8の上側に示すような元画像のラスター画像を回転処理して、下側に示すような回転画像を得ることができる。そして、図5に示すフローのうち二次元補間処理(S103)において、計算式の[〜]内は整数同士の加算及び乗算で実現でき、除算は1回のみ(整数b2による除算のみ)で注目画素の画素値Q(m,n)を得ることができる。また、重み係数の計算(S105,S108,S112,S115)は整数の加算/減算処理で実現でき、対応注目画素の位置をオフセットすべきか否かの判定(S106,S113)は整数同士の比較処理で実現できる。従って、計算コストを著しく低減でき、処理時間を短縮できる。 As described above, the raster image of the original image as shown on the upper side of FIG. 8 can be rotated to obtain a rotated image as shown on the lower side. In the two-dimensional interpolation processing (S103) in the flow shown in FIG. 5, the calculation formulas [˜] can be realized by addition and multiplication of integers, and division is performed only once (only division by the integer b 2 ). The pixel value Q (m, n) of the target pixel can be obtained. Further, the calculation of the weight coefficient (S105, S108, S112, S115) can be realized by integer addition / subtraction processing, and the determination as to whether or not the position of the corresponding target pixel should be offset (S106, S113) is a comparison processing between integers. Can be realized. Therefore, the calculation cost can be significantly reduced and the processing time can be shortened.

なお、図5及び図8は画像を反時計方向に回転する場合を示しているが、画像を時計方向に回転することも可能である。この処理は、図5のフローチャートのS103、S107及びS114の処理において、−1を+1に変更し、+1を−1に変更すれば良い。   5 and 8 show the case where the image is rotated counterclockwise, it is also possible to rotate the image clockwise. This process may be performed by changing -1 to +1 and changing +1 to -1 in the processes of S103, S107, and S114 in the flowchart of FIG.

また、図6及び図8では説明を簡単にするために縦18画素×横18画素の小さな画像で説明したが、本実施形態の回転処理は任意の大きさの画像に適用することができる。更に、図6及び図8ではグレースケール画像の例で説明しているが、本実施形態の回転処理は、RGBの各色の階調について上記と同様の処理を行うことによりカラー画像の回転にも適用できる。カラー画像を回転する場合、各画素について3成分共通の重み係数を生成した後、順次色成分毎に補間演算することが好ましい。即ち、画素ごとに色成分を切り替えることが好ましい。これにより、重み係数を算出する処理を色成分間で共通化でき、処理時間の短縮化を図ることができる。   Further, in FIGS. 6 and 8, for the sake of simplicity, the description has been made with a small image of 18 pixels in the vertical direction and 18 pixels in the horizontal direction, but the rotation processing of the present embodiment can be applied to an image of an arbitrary size. Furthermore, although the example of the gray scale image is described in FIGS. 6 and 8, the rotation processing of the present embodiment can also be performed by rotating the color image by performing the same processing as described above for the gradations of the RGB colors. Applicable. When rotating a color image, it is preferable to generate a weighting factor common to the three components for each pixel and then sequentially perform interpolation for each color component. That is, it is preferable to switch the color component for each pixel. As a result, the processing for calculating the weighting coefficient can be made common among the color components, and the processing time can be shortened.

以上に示すように、本実施形態のイメージスキャナ装置101が備える傾き補正部68は、元画像であるラスター画像を回転処理して回転画像を得るように構成されている。そして図3に示すように、前記傾き補正部68は、整数パラメータ入力部71と、元画像対応位置演算部72と、二次元補間部73と、を備えている。前記パラメータ入力部71には、その比の値(a/b)が回転角度の正接値tanθに等しくなるような第1整数パラメータa及び第2整数パラメータbが入力される。前記元画像対応位置演算部72は、前記回転画像における注目画素(m,n)のx座標mを1画素分変更するごとに、y方向重み係数kwyに前記第1整数パラメータaを加算する(S104、S105)。そして、このy方向重み係数kwyが前記第2整数パラメータb以上になったときは、元画像対応位置演算部72は、当該y方向重み係数kwyから前記第2整数パラメータbを減算し(S108)、更に元画像において前記注目画素(m,n)に対応する位置の画素である対応注目画素(i,j)のx座標iを1画素分変更する処理を行う(S107)。また、元画像対応位置演算部72は、前記回転画像における前記注目画素(m,n)のy座標nを1画素分変更するごとに、x方向重み係数kwxに前記第1整数パラメータaを加算する(S111、S112)。そして、このy方向重み係数kwyが前記第2整数パラメータb以上になったときは、元画像対応位置演算部72は、当該x方向重み係数kwxから前記第2整数パラメータbを減算するとともに(S115)、元画像の前記対応注目画素(i,j)のy座標jを1画素分変更する処理を行う(S114)。また、二次元補間部73は図7に示すように、前記元画像における前記対応注目画素(i,j)、及び、当該対応注目画素とx座標及びy座標の少なくとも一方が1画素分異なっている3つの画素(i−1,j)、(i,j+1)、(i−1,j+1)を対象として、前記x方向重み係数を第2整数パラメータで除した割合(kwx/b)、及び、前記y方向重み係数を第2整数パラメータで除した割合(kwy/b)によって二次元補間することにより、回転画像における前記注目画素の画素値Q(m,n)を求める。   As described above, the tilt correction unit 68 included in the image scanner device 101 of the present embodiment is configured to rotate a raster image that is an original image to obtain a rotated image. As shown in FIG. 3, the inclination correction unit 68 includes an integer parameter input unit 71, an original image corresponding position calculation unit 72, and a two-dimensional interpolation unit 73. The parameter input unit 71 receives the first integer parameter a and the second integer parameter b such that the ratio value (a / b) is equal to the tangent value tanθ of the rotation angle. The original image corresponding position calculation unit 72 adds the first integer parameter a to the y-direction weight coefficient kwy every time the x coordinate m of the pixel of interest (m, n) in the rotated image is changed by one pixel ( S104, S105). When the y-direction weight coefficient kwy becomes equal to or greater than the second integer parameter b, the original image corresponding position calculation unit 72 subtracts the second integer parameter b from the y-direction weight coefficient kwy (S108). Further, a process of changing the x coordinate i of the corresponding target pixel (i, j), which is a pixel at a position corresponding to the target pixel (m, n) in the original image, by one pixel (S107). The original image corresponding position calculation unit 72 adds the first integer parameter a to the x-direction weight coefficient kwx every time the y coordinate n of the pixel of interest (m, n) in the rotated image is changed by one pixel. (S111, S112). When the y-direction weight coefficient kwy becomes equal to or greater than the second integer parameter b, the original image corresponding position calculation unit 72 subtracts the second integer parameter b from the x-direction weight coefficient kwx (S115). ), A process of changing the y coordinate j of the corresponding target pixel (i, j) of the original image by one pixel is performed (S114). As shown in FIG. 7, the two-dimensional interpolation unit 73 differs from the corresponding target pixel (i, j) in the original image and the corresponding target pixel by at least one of the x coordinate and the y coordinate by one pixel. A ratio (kwx / b) obtained by dividing the x-direction weighting factor by a second integer parameter for three existing pixels (i−1, j), (i, j + 1), (i−1, j + 1), and The pixel value Q (m, n) of the pixel of interest in the rotated image is obtained by two-dimensional interpolation using the ratio (kwy / b) obtained by dividing the y-direction weighting factor by the second integer parameter.

これにより、整数パラメータa,b及び重み係数kwx,kwyを利用した整数演算処理及び整数比較処理を多用して、二次元補間を伴う回転処理を行うことができる。従って、浮動小数点演算等の計算コストの大きな処理を少なくでき、画質の良い回転画像を高速に得ることができる。   As a result, it is possible to perform rotation processing with two-dimensional interpolation by frequently using integer arithmetic processing and integer comparison processing using integer parameters a and b and weighting coefficients kwx and kwy. Accordingly, it is possible to reduce processing with a large calculation cost such as floating point arithmetic and to obtain a high-quality rotated image at high speed.

即ち、本実施形態のイメージスキャナ装置101の場合、オートドキュメントフィーダ部及びフラットベッド部の何れを用いて原稿を読み取る場合でも、原稿の傾き角度(回転すべき角度)θは通常数°程度である。この場合、cosθ=1とみなしても誤差(画質の低下)はほとんどない。本実施形態ではこの点に着目し、上記の処理を行うことで、計算を著しく簡単にすることができる。上記のように原稿の傾きが数°程度であれば、高い精度を維持することができ、かつ、従来技術のような複雑な処理を回避することができる。   In other words, in the case of the image scanner apparatus 101 of the present embodiment, the inclination angle (rotation angle) θ of the document is usually about several degrees, even when the document is read using either the auto document feeder unit or the flat bed unit. . In this case, there is almost no error (decrease in image quality) even if cos θ = 1. In this embodiment, paying attention to this point, the above processing can be performed to greatly simplify the calculation. As described above, when the inclination of the original is about several degrees, high accuracy can be maintained, and complicated processing as in the prior art can be avoided.

また、前記二次元補間部73は、前記注目画素の画素値Q(m,n)の計算(図5のS103)において、前記第2整数パラメータの2乗(b2)による除算をまとめて行っている。 Further, the two-dimensional interpolation unit 73 collectively performs the division by the square (b 2 ) of the second integer parameter in the calculation of the pixel value Q (m, n) of the target pixel (S103 in FIG. 5). ing.

これにより、計算コストの大きい除算処理を少なくできるので、回転処理を一層高速に行える。   As a result, division processing with a high calculation cost can be reduced, so that rotation processing can be performed at higher speed.

なお、注目画素の画素値Q(m,n)の計算処理(S103)は、前記第2整数パラメータbに適宜の比率を乗じて2の整数乗の値とし、更にx方向重み係数kwx及びy方向重み係数kwyに前記比率を乗じて整数値に近似した上で行うこともできる。例えば、図4の例ではa=1,b=5であるが、第2整数パラメータbに比率(16/5)を乗じて、2の4乗の値である16に変更することが考えられる。そして、x方向重み係数kwx及びy方向重み係数kwyにも当該比率(16/5)を乗じて整数値に近似し、画素値Q(m,n)の計算処理を行うことが好ましい。重み係数kwx,kwyに対して比率を乗じて整数値に丸めた結果は、元のkwx(kwy)の値が0の場合、1の場合、2の場合、・・・のそれぞれについて予め計算してルックアップテーブル等に記憶しておき、それを参照することで取得することとしてもよい。   In the calculation process (S103) of the pixel value Q (m, n) of the target pixel, the second integer parameter b is multiplied by an appropriate ratio to obtain a value of an integer power of 2, and the x-direction weighting factors kwx and y It is also possible to multiply the direction weight coefficient kwy by the above ratio and approximate it to an integer value. For example, although a = 1 and b = 5 in the example of FIG. 4, it is conceivable to multiply the second integer parameter b by a ratio (16/5) and change the value to 16 which is the value of 2 4. . Then, it is preferable that the x-direction weight coefficient kwx and the y-direction weight coefficient kwy are multiplied by the ratio (16/5) to approximate an integer value, and the pixel value Q (m, n) is calculated. The result obtained by multiplying the weighting factors kwx and kwy by a ratio and rounding them to an integer value is calculated in advance for each of the original kwx (kwy) value 0, 1 case 2, 2 ... It may be stored in a lookup table or the like and acquired by referring to it.

これにより、除算処理の計算コストを著しく低減できるので、回転処理の一層の高速化が実現できる。   As a result, the calculation cost of the division process can be significantly reduced, so that the speed of the rotation process can be further increased.

また、本実施形態のイメージスキャナ装置101は、図3に示すように、画像読取部115と、傾き検出部67と、を備える。画像読取部115は、原稿の画像を読み取って画像データを得るように構成されている。傾き検出部67は、前記画像データにおける2つの点の座標から、その比が原稿の傾き角度の正接値tanθに等しくなるような2つの傾きパラメータ整数a,bを得る。そして、イメージスキャナ装置101は、2つの前記傾きパラメータ整数a,bを前記傾き補正部68に2つの整数パラメータとして与えて前記画像データを回転処理することで、原稿の傾きを補正した画像データを得るように構成されている。   The image scanner apparatus 101 according to the present embodiment includes an image reading unit 115 and an inclination detection unit 67 as shown in FIG. The image reading unit 115 is configured to read an image of a document and obtain image data. The inclination detecting unit 67 obtains two inclination parameter integers a and b such that the ratio is equal to the tangent value tanθ of the original inclination angle from the coordinates of the two points in the image data. Then, the image scanner device 101 gives the two inclination parameter integers a and b to the inclination correction unit 68 as two integer parameters, and rotates the image data, whereby the image data in which the inclination of the document is corrected is obtained. Configured to get.

これにより、傾きが補正された画像データを短時間で得ることができ、高速読取に特に好適である。   This makes it possible to obtain image data whose inclination is corrected in a short time, which is particularly suitable for high-speed reading.

以上に本発明の好適な実施形態及びその変形例を説明したが、以上の構成は例えば以下のように変更することができる。   Although the preferred embodiment of the present invention and the modifications thereof have been described above, the above configuration can be modified as follows, for example.

傾き角度θが45°よりも小さい場合(a/bが1より小さくなる場合)は、S108の処理の後、S106に戻らずにS109に進むように変更することができる。同様に、S115の処理後、S113に戻らずにS116に進むように変更することができる。以上により、回転処理を一層高速化することができる。本実施形態のイメージスキャナ装置101は、通常の使用の限りにおいて45°以上の角度で原稿を回転させることが想定されないため、上記の変更は有効である。   When the tilt angle θ is smaller than 45 ° (when a / b is smaller than 1), the process can be changed to proceed to S109 without returning to S106 after the process of S108. Similarly, after the process of S115, it can change so that it may progress to S116, without returning to S113. As described above, the rotation process can be further speeded up. Since the image scanner apparatus 101 according to the present embodiment is not supposed to rotate the document at an angle of 45 ° or more as long as it is used normally, the above change is effective.

S105の処理においてy方向重み係数kwyに加算される値、及び、S112の処理においてx方向重み係数kwxに加算される値は、パラメータaそのものでなく、変倍率に応じた値に変更することができる。同様に、S108の処理においてy方向重み係数kwyから減算される値、及び、S115の処理においてx方向重み係数kwxから減算される値は、パラメータbそのものでなく、変倍率に応じた値に変更することができる。これにより、傾き補正と同時に拡大縮小処理を行うことができる。変倍率をXとした場合、S105及びS112の処理では重み係数にa/Xを加算すれば良く、S108及びS115の処理では重み係数からb/Xを減算すれば良い。例えば、50%縮小(X=1/2)を行う場合、S105及びS112の処理ではaでなく2aが加算され、S108及びS115の処理ではbでなく2bが減算される。   The value added to the y-direction weighting coefficient kwy in the process of S105 and the value added to the x-direction weighting coefficient kwx in the process of S112 can be changed not to the parameter a itself but to a value according to the scaling factor. it can. Similarly, the value subtracted from the y-direction weighting coefficient kwy in the process of S108 and the value subtracted from the x-direction weighting coefficient kwx in the process of S115 are changed not to the parameter b itself but to a value according to the scaling factor. can do. Thereby, enlargement / reduction processing can be performed simultaneously with inclination correction. When the scaling factor is X, a / X may be added to the weighting coefficient in the processes of S105 and S112, and b / X may be subtracted from the weighting coefficient in the processes of S108 and S115. For example, when 50% reduction (X = 1/2) is performed, 2a is added instead of a in the processes of S105 and S112, and 2b is subtracted instead of b in the processes of S108 and S115.

図5〜図8では元画像の回転中心が(0,0)の場合の回転処理を説明しているが、回転中心の位置は適宜変更することができる。この場合、図5のフローでの初期化処理(S102)におけるオフセット値moff,noffの初期値と、S110におけるnoffのリセット値とを、回転中心の位置に応じて適切に設定すれば良い。   5 to 8 illustrate the rotation processing when the rotation center of the original image is (0, 0), the position of the rotation center can be changed as appropriate. In this case, the initial values of the offset values moff and noff in the initialization process (S102) in the flow of FIG. 5 and the reset value of noff in S110 may be appropriately set according to the position of the rotation center.

二次元補間処理は、上記の線形補間に代えて、例えば二次曲線又はスプライン曲線等による二次元補間に変更することができる。   The two-dimensional interpolation process can be changed to two-dimensional interpolation using, for example, a quadratic curve or a spline curve, instead of the linear interpolation described above.

傾き角度検出処理は、図4のように原稿領域の抽出によって検出することに代えて、例えば原稿に記載されている文字の並び及び図形の傾きに基づいて2つの傾きパラメータ整数a,bを得るように変更することができる。   In the tilt angle detection processing, instead of detecting by extracting the document area as shown in FIG. 4, two tilt parameter integers a and b are obtained based on, for example, the arrangement of characters and the tilt of the figure described in the document. Can be changed as follows.

上記の画像回転処理は、オートドキュメントフィーダ部による原稿読取時の斜行補正のほか、フラットベッド部による原稿読取時の傾き補正のために行うことができる。また、上記の画像回転処理は、イメージスキャナ装置101に限らず、他の画像読取装置、例えばコピー装置、ファクシミリ装置、複合機、光学式文字読取装置(OCR)等に適用することができる。   The image rotation process described above can be performed not only for skew correction during document reading by the auto document feeder unit but also for tilt correction during document reading by the flat bed unit. The image rotation processing described above can be applied not only to the image scanner apparatus 101 but also to other image reading apparatuses such as a copying apparatus, a facsimile apparatus, a multifunction peripheral, and an optical character reading apparatus (OCR).

画像を回転させる場合の一般的な座標の変換式を示す図。The figure which shows the conversion formula of the general coordinate in the case of rotating an image. 本発明の一実施形態に係るイメージスキャナ装置の全体的な構成を示す正面断面図。1 is a front sectional view showing an overall configuration of an image scanner device according to an embodiment of the present invention. イメージスキャナ装置の電気的構成を示すブロック図。FIG. 3 is a block diagram showing an electrical configuration of the image scanner device. 傾き検出部において検出される2つの傾きパラメータ整数a,bを示す説明図。Explanatory drawing which shows two inclination parameter integers a and b detected in an inclination detection part. 傾き補正部で実行される回転処理を示すフローチャート。The flowchart which shows the rotation process performed in an inclination correction | amendment part. 回転処理の概要を示す説明図。Explanatory drawing which shows the outline | summary of a rotation process. 二次元補間処理を示す概念図。The conceptual diagram which shows a two-dimensional interpolation process. 元画像とその回転結果を示す図。The figure which shows an original image and its rotation result.

符号の説明Explanation of symbols

67 傾き検出部
68 傾き補正部(画像処理装置)
71 パラメータ入力部
72 元画像対応位置演算部
73 二次元補間部
101 イメージスキャナ装置(画像読取装置)
115 画像読取部
67 Inclination Detection Unit 68 Inclination Correction Unit (Image Processing Device)
71 Parameter Input Unit 72 Original Image Corresponding Position Calculation Unit 73 Two-dimensional Interpolation Unit 101 Image Scanner Device (Image Reading Device)
115 Image reading unit

Claims (6)

元画像であるラスター画像を回転処理して回転画像を得る画像処理装置において、
その比の値が回転角度の正接値に等しくなるような第1整数パラメータ及び第2整数パラメータが入力される整数パラメータ入力部と、
前記回転画像における注目画素のx座標を所定画素分変更するごとに、y方向重み係数に前記第1整数パラメータを加算し、
前記y方向重み係数が前記第2整数パラメータ以上になったときは、当該y方向重み係数から前記第2整数パラメータを減算するとともに、元画像において前記注目画素に対応する位置の画素である対応注目画素のy座標を所定画素分変更する処理を行い、
前記回転画像における前記注目画素のy座標を所定画素分変更するごとに、x方向重み係数に前記第1整数パラメータを加算し、
前記x方向重み係数が前記第2整数パラメータ以上になったときは、当該x方向重み係数から前記第2整数パラメータを減算するとともに、元画像の前記対応注目画素のx座標を所定画素分変更する処理を行う元画像対応位置演算部と、
前記元画像における前記対応注目画素と、当該対応注目画素とx座標及びy座標の少なくとも一方が所定画素分異なっている3つの画素と、を対象として、前記x方向重み係数を前記第2整数パラメータで除した割合、及び、前記y方向重み係数を前記第2整数パラメータで除した割合によって二次元補間することにより、回転画像における前記注目画素の画素値を求める二次元補間部と、
を備えることを特徴とする画像処理装置。
In an image processing apparatus that obtains a rotated image by rotating a raster image that is an original image,
An integer parameter input unit for inputting a first integer parameter and a second integer parameter such that the value of the ratio is equal to the tangent value of the rotation angle;
Each time the x coordinate of the pixel of interest in the rotated image is changed by a predetermined number of pixels, the first integer parameter is added to the y-direction weight coefficient,
When the y-direction weighting coefficient is greater than or equal to the second integer parameter, the second integer parameter is subtracted from the y-direction weighting coefficient, and the corresponding attention is a pixel at a position corresponding to the attention pixel in the original image A process of changing the y coordinate of the pixel by a predetermined pixel is performed,
Each time the y coordinate of the target pixel in the rotated image is changed by a predetermined number of pixels, the first integer parameter is added to the x-direction weight coefficient,
When the x-direction weighting coefficient is equal to or larger than the second integer parameter, the second integer parameter is subtracted from the x-direction weighting coefficient, and the x coordinate of the corresponding target pixel of the original image is changed by a predetermined pixel. An original image corresponding position calculation unit for processing,
Targeting the corresponding target pixel in the original image and three pixels in which at least one of the x coordinate and the y coordinate differs from the corresponding target pixel by a predetermined pixel, the x-direction weighting coefficient is set as the second integer parameter. A two-dimensional interpolation unit that obtains a pixel value of the pixel of interest in the rotated image by performing two-dimensional interpolation by the ratio divided by x and the ratio obtained by dividing the y-direction weighting factor by the second integer parameter;
An image processing apparatus comprising:
請求項1に記載の画像処理装置であって、
前記二次元補間部は、前記注目画素の画素値の計算において、前記第2整数パラメータの2乗による除算をまとめて行うことを特徴とする画像処理装置。
The image processing apparatus according to claim 1,
The image processing apparatus, wherein the two-dimensional interpolation unit collectively performs division by the square of the second integer parameter in the calculation of the pixel value of the target pixel.
請求項1又は2に記載の画像処理装置であって、
前記二次元補間部は、前記第2整数パラメータを2の整数乗の値に変更し、更に、当該2の整数乗の値を変更前の前記第2整数パラメータで除して得られた比率を前記x方向重み係数及び前記y方向重み係数に乗じて整数値に近似した上で、前記注目画素の画素値の計算を行うことを特徴とする画像処理装置。
The image processing apparatus according to claim 1, wherein:
The two-dimensional interpolation unit changes the second integer parameter to a value of an integer power of 2, and further calculates a ratio obtained by dividing the value of the integer power of 2 by the second integer parameter before the change. An image processing apparatus that calculates the pixel value of the target pixel after multiplying the x-direction weighting coefficient and the y-direction weighting coefficient to approximate an integer value.
請求項1から3までの何れか一項に記載の画像処理装置と、
原稿の画像を読み取って画像データを得る画像読取部と、
前記画像データにおける2つの点の座標から、その比が原稿の傾き角度の正接値に等しくなるような2つの傾きパラメータ整数を得る傾き角度検出部と、
を備え、
2つの前記傾きパラメータ整数を前記画像処理装置に前記第1整数パラメータ及び第2整数パラメータとして与えて前記画像データを回転処理することで、原稿の傾きを補正した画像データを得ることを特徴とする画像読取装置。
The image processing apparatus according to any one of claims 1 to 3,
An image reading unit that reads an image of a document and obtains image data;
A tilt angle detector that obtains two tilt parameter integers such that the ratio thereof is equal to the tangent value of the tilt angle of the document from the coordinates of the two points in the image data;
With
Two pieces of the inclination parameter integer are given to the image processing apparatus as the first integer parameter and the second integer parameter, and the image data is rotated to obtain image data in which the inclination of the document is corrected. Image reading device.
その比の値が回転角度の正接値に等しくなるような第1整数パラメータ及び第2整数パラメータに基づいて、元画像であるラスター画像を回転処理して回転画像を得る画像処理方法であり、
前記回転画像における注目画素のx座標を所定画素分変更するごとに、y方向重み係数に前記第1整数パラメータを加算し、
前記y方向重み係数が前記第2整数パラメータ以上になったときは、当該y方向重み係数から前記第2整数パラメータを減算するとともに、元画像において前記注目画素に対応する位置の画素である対応注目画素のy座標を所定画素分変更する処理を行い、
前記回転画像における前記注目画素のy座標を所定画素分変更するごとに、x方向重み係数に前記第1整数パラメータを加算し、
前記x方向重み係数が前記第2整数パラメータ以上になったときは、当該x方向重み係数から前記第2整数パラメータを減算するとともに、元画像の前記対応注目画素のx座標を所定画素分変更する元画像対応位置演算工程と、
前記元画像における前記対応注目画素と、当該対応注目画素とx座標及びy座標の少なくとも一方が所定画素分異なっている3つの画素と、を対象として、前記x方向重み係数を前記第2整数パラメータで除した割合、及び、前記y方向重み係数を前記第2整数パラメータで除した割合によって二次元補間することにより、回転画像における前記注目画素の画素値を求める二次元補間工程と、
を含むことを特徴とする画像処理方法。
Based on the first integer parameter and the second integer parameter such that the value of the ratio becomes equal to the tangent value of the rotation angle, an image processing method for obtaining a rotated image by rotating a raster image that is an original image,
Each time the x coordinate of the pixel of interest in the rotated image is changed by a predetermined pixel, the first integer parameter is added to the y-direction weight coefficient,
When the y-direction weighting coefficient is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the y-direction weighting coefficient, and the corresponding attention is a pixel at a position corresponding to the attention pixel in the original image A process of changing the y coordinate of the pixel by a predetermined pixel is performed,
Each time the y coordinate of the pixel of interest in the rotated image is changed by a predetermined amount, the first integer parameter is added to the x-direction weight coefficient,
When the x-direction weighting coefficient is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the x-direction weighting coefficient, and the x coordinate of the corresponding target pixel of the original image is changed by a predetermined pixel. Original image corresponding position calculation step,
Targeting the corresponding target pixel in the original image and three pixels that differ from the corresponding target pixel by at least one of the x coordinate and the y coordinate by a predetermined pixel, the x-direction weighting coefficient is set as the second integer parameter. A two-dimensional interpolation step of obtaining a pixel value of the pixel of interest in the rotated image by performing two-dimensional interpolation by the ratio divided by x and the ratio obtained by dividing the y-direction weighting factor by the second integer parameter;
An image processing method comprising:
元画像であるラスター画像を回転処理して回転画像を得る画像処理プログラムにおいて、
その比の値が回転角度の正接値に等しくなるような第1整数パラメータ及び第2整数パラメータを入力する整数パラメータ入力ステップと、
前記回転画像における注目画素のx座標を所定画素分変更するごとに、y方向重み係数に前記第1整数パラメータを加算し、
前記y方向重み係数が前記第2整数パラメータ以上になったときは、当該y方向重み係数から前記第2整数パラメータを減算するとともに、元画像において前記注目画素に対応する位置の画素である対応注目画素のy座標を所定画素分変更する処理を行い、
前記回転画像における前記注目画素のy座標を所定画素分変更するごとに、x方向重み係数に前記第1整数パラメータを加算し、
前記x方向重み係数が前記第2整数パラメータ以上になったときは、当該x方向重み係数から前記第2整数パラメータを減算するとともに、元画像の前記対応注目画素のx座標を所定画素分変更する処理を行う元画像対応位置演算ステップと、
前記元画像における前記対応注目画素と、当該対応注目画素とx座標及びy座標の少なくとも一方が所定画素分異なっている3つの画素と、を対象として、前記x方向重み係数を前記第2整数パラメータで除した割合、及び、前記y方向重み係数を前記第2整数パラメータで除した割合によって二次元補間することにより、回転画像における前記注目画素の画素値を求める二次元補間ステップと、
を実行することを特徴とする画像処理プログラム。
In an image processing program that obtains a rotated image by rotating a raster image that is an original image,
An integer parameter input step for inputting the first integer parameter and the second integer parameter such that the value of the ratio becomes equal to the tangent value of the rotation angle;
Each time the x coordinate of the pixel of interest in the rotated image is changed by a predetermined pixel, the first integer parameter is added to the y-direction weight coefficient,
When the y-direction weighting coefficient is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the y-direction weighting coefficient, and the corresponding attention is a pixel at a position corresponding to the attention pixel in the original image A process of changing the y coordinate of the pixel by a predetermined pixel is performed,
Each time the y coordinate of the pixel of interest in the rotated image is changed by a predetermined amount, the first integer parameter is added to the x-direction weight coefficient,
When the x-direction weighting coefficient is equal to or greater than the second integer parameter, the second integer parameter is subtracted from the x-direction weighting coefficient, and the x coordinate of the corresponding target pixel of the original image is changed by a predetermined pixel. An original image corresponding position calculating step for performing processing;
Targeting the corresponding target pixel in the original image and three pixels that differ from the corresponding target pixel by at least one of the x coordinate and the y coordinate by a predetermined pixel, the x-direction weighting coefficient is set as the second integer parameter. A two-dimensional interpolation step for obtaining a pixel value of the pixel of interest in the rotated image by performing two-dimensional interpolation by the ratio divided by x and the ratio obtained by dividing the y-direction weighting factor by the second integer parameter;
An image processing program characterized by executing
JP2008112510A 2007-10-26 2008-04-23 Image processing apparatus, image reading apparatus, image processing method, and image processing program Active JP4947314B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008112510A JP4947314B2 (en) 2007-10-26 2008-04-23 Image processing apparatus, image reading apparatus, image processing method, and image processing program
US12/211,157 US8121441B2 (en) 2007-10-26 2008-09-16 Image processing apparatus, image scanning apparatus, image processing method, and image processing program
CN2008101705470A CN101420506B (en) 2007-10-26 2008-10-17 Image processing apparatus, image scanning apparatus, image processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007278880 2007-10-26
JP2007278880 2007-10-26
JP2008112510A JP4947314B2 (en) 2007-10-26 2008-04-23 Image processing apparatus, image reading apparatus, image processing method, and image processing program

Publications (2)

Publication Number Publication Date
JP2009124674A true JP2009124674A (en) 2009-06-04
JP4947314B2 JP4947314B2 (en) 2012-06-06

Family

ID=40631092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008112510A Active JP4947314B2 (en) 2007-10-26 2008-04-23 Image processing apparatus, image reading apparatus, image processing method, and image processing program

Country Status (2)

Country Link
JP (1) JP4947314B2 (en)
CN (1) CN101420506B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109496326A (en) * 2017-12-29 2019-03-19 深圳配天智能技术研究院有限公司 A kind of image processing method, equipment and system
CN112215892A (en) * 2020-10-22 2021-01-12 常州大学 Method for monitoring position and motion path of site robot

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012782B (en) * 2010-09-17 2013-06-05 深圳市融创天下科技股份有限公司 Method and system for judging dragged moving direction
CN107918935B (en) * 2017-12-05 2022-03-08 深圳市北电仪表有限公司 Image matching cutting device and cutting method of embedded system
CN112907745B (en) * 2021-03-23 2022-04-01 北京三快在线科技有限公司 Method and device for generating digital orthophoto map

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002101285A (en) * 2000-09-21 2002-04-05 Konica Corp Method and apparatus for processing image as well as method and apparatus for forming image
JP2002142084A (en) * 2000-10-31 2002-05-17 Pfu Ltd Image reader
JP2006270387A (en) * 2005-03-23 2006-10-05 Fuji Xerox Co Ltd Image processor and method and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3826931B2 (en) * 2003-10-30 2006-09-27 村田機械株式会社 Color image processing device
JP3833212B2 (en) * 2003-11-19 2006-10-11 シャープ株式会社 Image processing apparatus, image processing program, and readable recording medium
JP4239094B2 (en) * 2004-03-03 2009-03-18 ノーリツ鋼機株式会社 Image processing apparatus, method, and program
CN1294523C (en) * 2004-06-04 2007-01-10 北京大学计算机科学技术研究所 Automatic typeface directioning and positioning method for known tables
JP4241643B2 (en) * 2005-02-28 2009-03-18 村田機械株式会社 Color determination apparatus and color determination method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002101285A (en) * 2000-09-21 2002-04-05 Konica Corp Method and apparatus for processing image as well as method and apparatus for forming image
JP2002142084A (en) * 2000-10-31 2002-05-17 Pfu Ltd Image reader
JP2006270387A (en) * 2005-03-23 2006-10-05 Fuji Xerox Co Ltd Image processor and method and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109496326A (en) * 2017-12-29 2019-03-19 深圳配天智能技术研究院有限公司 A kind of image processing method, equipment and system
CN109496326B (en) * 2017-12-29 2023-06-02 深圳配天智能技术研究院有限公司 Image processing method, device and system
CN112215892A (en) * 2020-10-22 2021-01-12 常州大学 Method for monitoring position and motion path of site robot
CN112215892B (en) * 2020-10-22 2024-03-12 常州大学 Method for monitoring position and motion path of site robot

Also Published As

Publication number Publication date
JP4947314B2 (en) 2012-06-06
CN101420506B (en) 2012-05-09
CN101420506A (en) 2009-04-29

Similar Documents

Publication Publication Date Title
JP4557184B2 (en) Image processing apparatus, image reading apparatus, and image processing program
JP4570670B2 (en) Image processing apparatus, image reading apparatus, image forming apparatus, image processing method, image processing program, and recording medium
JP6467598B2 (en) Image reading device
JP6547606B2 (en) Image reading system
JP4947314B2 (en) Image processing apparatus, image reading apparatus, image processing method, and image processing program
JP6118997B2 (en) Image reading device
US8121441B2 (en) Image processing apparatus, image scanning apparatus, image processing method, and image processing program
CN116582624A (en) Image reading apparatus, image reading system, and control method of image reading apparatus
JP4150316B2 (en) Image reading apparatus and shading correction method for the same
JP2010021937A (en) Image processing apparatus, image reading unit, image forming apparatus, image processing method, program, and recording medium thereof
JP3697828B2 (en) Document angle correction method and document angle correction device
JP6263749B2 (en) Image reading device
JP5231978B2 (en) Image reading apparatus, image processing method and program, and image reading system
JP2010103808A (en) Image processor, image reader, image forming apparatus, image processing method, image processing program and computer readable recording medium
US11601566B2 (en) Image reading device, image reading program, image processing device, and image processing program
JP7413917B2 (en) Image inspection device
JP5332912B2 (en) Image reading apparatus and image forming apparatus
JP6288514B2 (en) Image reading device
JP2007281703A (en) Image reader
JP2022181880A (en) Image reading device, method for controlling image reading device, and program
JP6424574B2 (en) Image reading apparatus and image forming apparatus
JP5847059B2 (en) Document reading apparatus and image forming apparatus
JP2014140134A (en) Original reader and image forming apparatus
JP2012019521A (en) Image reading device and image reading method
JP2006121622A (en) Image processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4947314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250