JP2016149097A - Image processing device, image processing method, program, and recording medium - Google Patents
Image processing device, image processing method, program, and recording medium Download PDFInfo
- Publication number
- JP2016149097A JP2016149097A JP2015026875A JP2015026875A JP2016149097A JP 2016149097 A JP2016149097 A JP 2016149097A JP 2015026875 A JP2015026875 A JP 2015026875A JP 2015026875 A JP2015026875 A JP 2015026875A JP 2016149097 A JP2016149097 A JP 2016149097A
- Authority
- JP
- Japan
- Prior art keywords
- range
- correction
- divided
- image
- drawing command
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 115
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000012937 correction Methods 0.000 claims abstract description 380
- 230000009466 transformation Effects 0.000 claims abstract description 216
- 230000036961 partial effect Effects 0.000 claims abstract description 136
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 120
- 239000011159 matrix material Substances 0.000 claims abstract description 116
- 238000000034 method Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 description 43
- 230000004048 modification Effects 0.000 description 30
- 238000012986 modification Methods 0.000 description 30
- 230000005484 gravity Effects 0.000 description 27
- 230000010365 information processing Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000000844 transformation Methods 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000003705 background correction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、撮影にて得られた画像データを所定型式のデータにフォーマット化した画像ファイルを生成する画像処理装置に関する。 The present invention relates to an image processing apparatus that generates an image file obtained by formatting image data obtained by photographing into data of a predetermined type.
デジタルカメラの普及が進み、掲示物や黒板に書かれた内容をデジタルカメラで撮影することにより記録するユーザが増えてきている。しかし、このような利用方法では、撮影対象物を正面から撮影できない場合も多く、歪んだ撮影画像が取得されることがある。これに対し、例えば特許文献1に示すように、歪んだ撮影画像に対して補正(歪み補正)する技術が従来から多数知られている。 With the spread of digital cameras, the number of users who record content recorded on bulletin boards or blackboards by taking pictures with digital cameras is increasing. However, in such a method of use, there are many cases where a subject to be photographed cannot be photographed from the front, and a distorted photographed image may be acquired. On the other hand, as shown in Patent Document 1, for example, many techniques for correcting (distortion correction) a distorted captured image are conventionally known.
ところで、デジタルカメラの撮影によって得られた撮影画像の画像データは、通常、所定型式のデータにフォーマット化された画像ファイル(例えばPDFファイル等)に変換されて保存される。ここで、デジタルカメラや、デジタルカメラを備えた携帯端末では、コンピュータの性能に制限があるため、歪み補正を施した撮影画像の画像データから画像ファイルを生成するとなると、画像ファイルの生成に時間を要してしまい、例えば処理対象が多い場合には問題となる。 By the way, image data of a photographed image obtained by photographing with a digital camera is usually converted into an image file (for example, PDF file) formatted into a predetermined type of data and stored. Here, since the performance of a computer is limited in a digital camera or a mobile terminal equipped with a digital camera, if an image file is generated from image data of a captured image that has been subjected to distortion correction, it takes time to generate the image file. For example, when there are many processing objects, it becomes a problem.
これに対し、特許文献2において、画像処理を施す前の画像データと、当該画像データの画像を表示する際に当該画像データに画像処理を施した状態で前記表示を行うようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを生成する技術が提案されている。この技術を利用すれば、コンピュータの性能に制限のある携帯端末等でも画像ファイルを速やかに生成することが可能になる。 On the other hand, in Patent Document 2, when displaying image data before image processing and an image of the image data, the computer is controlled to perform the display in a state where the image processing is performed on the image data. A technique for generating an image file in which a drawing command is embedded has been proposed. By using this technology, it is possible to quickly generate an image file even on a portable terminal or the like with limited computer performance.
そこで、歪み補正を施す前の画像データと、当該画像データの画像を表示する際に当該画像データに歪み補正を施した状態で前記表示を行うようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを生成することにより、画像ファイルの生成までの時間を短縮化させることが可能と考えられる。 Therefore, an image in which image data before distortion correction and a drawing command for controlling the computer to perform the display in a state where the image data is subjected to distortion correction when the image of the image data is displayed are embedded. By generating the file, it is considered possible to shorten the time until the generation of the image file.
ここで、歪み補正の手法としては特許文献1に示されるように射影変換が知られているが、画像ファイルのなかには、射影変換の範疇に入る全ての座標変換を利用することができず、射影変換のうち、アフィン変換(射影変換の一種)と呼ばれる座標変換しか利用できないものがある(例えばPDF(Portable Document Format)ファイル)。このような画像ファイルでは、アフィン変換を指示する描画コマンドを埋め込めるが、アフィン変換以外の射影変換を指示する描画コマンドを埋め込めないため、アフィン変換で対応困難な歪みについては、適切に補正することが困難という課題が生じる。 Here, as a distortion correction method, projective transformation is known as disclosed in Patent Document 1. However, in an image file, all coordinate transformations that fall within the category of projective transformation cannot be used. Among transformations, there is a transformation that can use only coordinate transformation called affine transformation (a kind of projective transformation) (for example, PDF (Portable Document Format) file). In such an image file, you can embed a drawing command that instructs affine transformation, but you cannot embed a drawing command that instructs projection transformation other than affine transformation, so correct distortion that is difficult to deal with by affine transformation. The problem that is difficult arises.
本発明は、前記課題に鑑みてなされたものであって、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する画像処理装置において、適切に歪み補正が行われる画像ファイルを生成することを目的とする。 The present invention has been made in view of the above-described problem, and in an image processing apparatus that generates an image file adapted to perform distortion correction by affine transformation when an image is displayed, distortion correction is appropriately performed. The purpose is to generate an image file to be performed.
上記の課題を解決するために、本発明の一態様の画像処理装置は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成するフォーマット化処理部と、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加するコマンド付加部と、を備え、前記コマンド付加部は、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第1差情報を求め、前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成することを特徴とする。 In order to solve the above problems, an image processing apparatus according to an aspect of the present invention includes a formatting processing unit that generates an image file in which image data of a captured image is formatted in a predetermined format, and the captured image of the image file. A command addition unit for creating a drawing command for controlling the computer to perform the display after performing distortion correction when displaying the image, and adding the drawing command to the image file. Determining a first difference information indicating a difference between a case where a correction target range is set for the photographed image and the correction target range is subjected to distortion correction by projective transformation and a case where the distortion correction is performed by affine transformation; When the difference is within an allowable range, the drawing command for performing the distortion correction is created by an affine transformation matrix determined from the correction target range, and the difference is allowable When not within the range, the correction target range is divided to set a plurality of partial areas, and the drawing command for performing the distortion correction is created for each partial area by an affine transformation matrix determined from the partial areas. To do.
本発明の一態様によれば、補正対象範囲に対して単一のアフィン変換用行列を用いて歪み補正を行うと補正誤差(アフィン変換に限定せずに射影変換を行って補正する場合に対して前記射影変換を前記アフィン変換に限定して補正する場合の誤差)が大きくなってしまうような場合、補正対象範囲を複数の部分領域に分割し、部分領域毎にアフィン変換用行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる(1つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、1つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる)。したがって、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する場合において、適切に歪み補正が行われる画像ファイルを生成できるという効果を奏する。 According to one aspect of the present invention, when distortion correction is performed on a correction target range using a single affine transformation matrix, a correction error (in contrast to a case where correction is performed by projective transformation without being limited to affine transformation). When the projection transformation is limited to the affine transformation, the correction target range is divided into a plurality of partial areas, and an affine transformation matrix is set for each partial area. Therefore, it is possible to realize distortion correction with a correction error suppressed (by dividing the corresponding range in one distortion correction matrix to reduce the range, the corresponding range in one distortion correction matrix) The correction error can be reduced and the correction error can be suppressed as a whole). Therefore, when generating an image file in which distortion correction is performed by affine transformation when an image is displayed, an image file in which distortion correction is appropriately performed can be generated.
〔前提技術の説明〕
本発明の実施形態を説明する前に、本発明の実施形態の前提技術となる射影変換(座標変換)について最初に説明する。
[Description of prerequisite technology]
Before describing the embodiment of the present invention, projection transformation (coordinate transformation), which is a prerequisite technology of the embodiment of the present invention, will be described first.
通常、2次元座標の座標値は(x、y)と表されるところ、同次座標では、実数w(ただしw≠0)を用いて(wx、wy、w)と表される。例えば、(x、y)=(2、3)となる2次元座標を同次座標で表現する場合、通常はw=1として(2、3、1)と表現するが、(4、6、2)、(6、9、3)など異なる形でも表現でき、(2、3、1)、(4、6、2)、(6、9、3)は、座標上で全て同じ位置(点)を示す。この同次座標を用いると、2次元の射影変換は数1に示すように3×3行列(以下では単に「行列」と称す)として表される。 Normally, the coordinate value of the two-dimensional coordinate is expressed as (x, y), but the homogeneous coordinate is expressed as (wx, wy, w) using a real number w (where w ≠ 0). For example, when expressing a two-dimensional coordinate with (x, y) = (2, 3) as a homogeneous coordinate, it is usually expressed as (2, 3, 1) with w = 1, but (4, 6, 2), (6, 9, 3), etc., can be expressed in different forms. (2, 3, 1), (4, 6, 2), (6, 9, 3) are all the same position (point) ). When this homogeneous coordinate is used, the two-dimensional projective transformation is expressed as a 3 × 3 matrix (hereinafter simply referred to as “matrix”) as shown in Equation 1.
数1において、(x、y、1)は、変換前の座標値を示し、(x’、y’、1)は、変換後の座標値を示し、”〜”は、同次座標において同じ位置(点)であることを示す記号である。 In Equation 1, (x, y, 1) represents coordinate values before conversion, (x ′, y ′, 1) represents coordinate values after conversion, and “˜” are the same in homogeneous coordinates. It is a symbol indicating a position (point).
数1の左辺の行列演算において、前述のwを求めると、w=xg+yh+1となる。このwはかならずしも1にならないため、変換後の座標値にwを乗算することにより(数1の右辺を(wx’、wy’、w)に置き換える)、左辺と右辺とは一致することになり、数2を得ることができる。 In the matrix operation on the left side of Equation 1, when the above-described w is obtained, w = xg + yh + 1. Since this w does not always become 1, by multiplying the coordinate value after conversion by w (replaces the right side of Equation 1 with (wx ′, wy ′, w)), the left side and the right side match. , Equation 2 can be obtained.
2次元の射影変換は、任意の四角形から他の四角形への変形に相当する(一例として台形から長方形への変形が可能である)。なお、射影変換のうち、数1の行列においてg=0且つh=0とした変換がアフィン変換に相当する。アフィン変換は平面上の任意の平行四辺形を他の平行四辺形に変形する変換であるが、それ以外の変換に対応できない。つまり、アフィン変換は、射影変換の範疇に含まれる様々な座標変換のうちの一種の座標変換である。 The two-dimensional projective transformation corresponds to a transformation from an arbitrary quadrangle to another quadrangle (as an example, a transformation from a trapezoid to a rectangle is possible). Of the projective transformations, the transformation with g = 0 and h = 0 in the matrix of Equation 1 corresponds to the affine transformation. The affine transformation is a transformation that transforms an arbitrary parallelogram on the plane into another parallelogram, but cannot cope with other transformations. That is, the affine transformation is a kind of coordinate transformation among various coordinate transformations included in the category of projective transformation.
つぎに、図1に示す変形1(任意の四角形から他の四角形への変形)を実現するための行列の係数の求め方を説明する。 Next, a method of obtaining matrix coefficients for realizing Modification 1 (deformation from any square to another square) shown in FIG. 1 will be described.
変形1は、いくつかの基本的な射影変換(変形2〜変形5)を順次適用することで実現可能である。具体的には、図1に示すように、四角形PQRSを四角形TUVWに変形する変形1は変形2〜変形5を順次適用したものと同じ変換になる。
変形1:四角形PQRSを四角形TUVWにする変形
変形2:Sが原点と一致するように四角形PQRSを平行移動する変形
変形3:Sが原点と一致する四角形PQRSを単位正方形に変形
変形4:単位正方形を、Wが原点に一致する四角形TUVWに変形
変形5:Wが原点に一致する四角形TUVWを平行移動する変形
変形2および変形5の平行移動は数3のように表わせる。
Modification 1 can be realized by sequentially applying some basic projective transformations (deformation 2 to modification 5). Specifically, as illustrated in FIG. 1, the deformation 1 that transforms the quadrangular PQRS into the quadrangular TUWW is the same conversion as that in which the modifications 2 to 5 are sequentially applied.
Deformation 1: Deformation of quadrangular PQRS to quadrilateral TUUV 2: Deformation of translating quadrilateral PQRS so that S coincides with the origin Deformation 3: Deformation of quadrilateral PQRS with S coincident with origin into unit square Deformation 4: Deformation of unit square Is transformed into a square TUWW where W coincides with the origin. Deformation 5 where the translation of the square TUWW where W coincides with the origin is translated.
つぎに、変形3および4について説明する。変形3および4は、一つの頂点が原点と一致している任意の四角形と単位正方形との間の変換に相当する。 Next, modifications 3 and 4 will be described. The deformations 3 and 4 correspond to conversion between an arbitrary square whose unit vertex coincides with the origin and a unit square.
まずは、変形4を行うための行列を求める手順について説明する。変形4は、単位正方形からWが原点と一致する四角形TUVWへの変形である。つまり、変形4は、単位正方形を構成する4つの頂点(0、1、1)、(1、1、1)、(1、0、1)、(0、0、1)が、一つの頂点が原点である任意の四角形の4つの頂点(x1、y1、1)、(x2、y2、1)、(x3、y3、1)、(0、0、1)への変換(移動)に相当する。そこで、単位正方形の4つの頂点の座標値を変換前の4点の座標値とし、任意の四角形の4つの頂点の座標値を変換後の4点の座標値として数2に代入することにより、数4が得られる。 First, a procedure for obtaining a matrix for performing modification 4 will be described. The deformation 4 is a deformation from a unit square to a quadrangle TUVW in which W coincides with the origin. That is, in the modification 4, the four vertices (0, 1, 1), (1, 1, 1), (1, 0, 1), (0, 0, 1) constituting the unit square are one vertex. Corresponds to conversion (movement) to four vertices (x1, y1, 1), (x2, y2, 1), (x3, y3, 1), (0, 0, 1) of an arbitrary rectangle whose origin is To do. Therefore, by substituting the coordinate values of the four vertices of the unit square as the coordinate values of the four points before the conversion and substituting the coordinate values of the four vertices of the arbitrary quadrangle as the coordinate values of the four points after the conversion, Equation 4 is obtained.
数4に列挙される式を連立方程式として解くことにより数5を得ることができる。数5を演算することにより、変形4の行列の係数a〜hを求めることができ、これにより変形4の行列を得ることができる。 By solving the equations listed in Equation 4 as simultaneous equations, Equation 5 can be obtained. By calculating Expression 5, the coefficients a to h of the matrix of the modification 4 can be obtained, and thereby the matrix of the modification 4 can be obtained.
なお、数5において、係数gを計算する式の分母が0となる条件は、単位正方形の原点以外の3点の移動後の3点が一直線上に並ぶ場合であり、想定している「単位正方形から一つの頂点が原点である任意の四角形への変形」という条件から外れる。また、hを計算するための式として式Aまたは式Bがあるが、計算精度を考慮すると、|x1−x2|>|y1−y2|の場合には式Aを用い、そうでない場合は式Bを用いることが好ましい。 In Equation 5, the condition that the denominator of the equation for calculating the coefficient g is 0 is that the three points after the movement of the three points other than the origin of the unit square are aligned on a straight line. It deviates from the condition of “transformation from a square to an arbitrary quadrilateral whose one vertex is the origin”. In addition, there is an expression A or an expression B as an expression for calculating h. In consideration of the calculation accuracy, the expression A is used when | x1-x2 |> | y1-y2 | It is preferable to use B.
変形3の行列については、次に述べるようにして求める。変形3は、Sが原点と一致する四角形PQRSから単位正方形への変形である。つまり、前述した変形4は、単位正方形から、1つの頂点が原点に位置する任意四角形への変形に相当するのに対し、変形3は、1つの頂点が原点に位置する任意四角形から単位正方形への変形に相当する。そこで、変形3については、(1)最初に、変形4の行列を求めた方法と同じ方法によって、変形3の逆の変形(単位正方形から、Sが原点と一致する四角形PQRSへの変形)を行うための行列を求め、(2)変形3の逆の変形を行うための行列の逆行列を求めればよい。この逆行列が変形3の行列に相当する。このようにすれば、変形4を求めた手法と同様に数2、数4、数5を用いて、変形3の行列を求めることができる。 The matrix of modification 3 is obtained as described below. The deformation 3 is a deformation from the quadrangle PQRS in which S coincides with the origin to a unit square. That is, the above-described modification 4 corresponds to a transformation from a unit square to an arbitrary quadrangle whose one vertex is located at the origin, whereas transformation 3 is a transformation from an arbitrary quadrangle whose one vertex is located at the origin to the unit square. It corresponds to the deformation. Therefore, with respect to the deformation 3, (1) First, by the same method as the method for obtaining the matrix of the deformation 4, the reverse deformation of the deformation 3 (from the unit square to the square PQRS in which S coincides with the origin) is performed. What is necessary is just to obtain | require the matrix for performing, and obtain | require the inverse matrix of the matrix for performing (2) deformation | transformation contrary to modification 3. This inverse matrix corresponds to the matrix of modification 3. In this way, the matrix of the modification 3 can be obtained using the equations 2, 4, and 5 in the same manner as the method for obtaining the modification 4.
そして、以上のようにして求められた変形2から変形5の行列を順次掛け算することにより、変形1の行列を求めることができる。つまり、変形前の四角形PQRSの各頂点の座標値と、変形後(目標)の四角形TUVWの各頂点の座標値とが定まれば、これら頂点の座標値を用いて四角形PQRSを四角形TUVWに変形するための変形1の行列を求めることができるのである。具体的には以下の通りである。 The matrix of modification 1 can be obtained by sequentially multiplying the matrices of modification 2 to modification 5 obtained as described above. That is, if the coordinate value of each vertex of the quadrilateral PQRS before deformation and the coordinate value of each vertex of the post-deformation (target) quadrangle TUWW are determined, the quadrangle PQRS is transformed into the quadrangle TUVW using the coordinate values of these vertices. It is possible to obtain the matrix of modification 1 for the purpose. Specifically, it is as follows.
最初に、四角形PQRSの頂点Sの座標値と原点の座標値とを用いて数3を演算することにより、変形2の行列を求める。同様に、四角形TUVWの頂点Wの座標値と原点の座標値とを用いて数3を演算することにより、変形5の行列を求める。 First, a matrix of deformation 2 is obtained by calculating Equation 3 using the coordinate value of the vertex S and the coordinate value of the origin of the quadrangle PQRS. Similarly, a matrix of deformation 5 is obtained by calculating Equation 3 using the coordinate value of the vertex W and the coordinate value of the origin of the quadrangle TUUV.
続いて、四角形PQRSの各頂点の座標値と変形2の行例とを用いて、頂点Sが原点に位置する四角形PQRSの各頂点の座標値を求める。そして、頂点Sが原点に位置する四角形PQRSの各頂点の座標値と、単位正方形を構成する各頂点の座標値とを用いて、数5を演算することで変形3の行列を求める。 Subsequently, the coordinate value of each vertex of the quadrangle PQRS where the vertex S is located at the origin is obtained using the coordinate value of each vertex of the quadrangle PQRS and the example of the second modification. Then, using the coordinate value of each vertex of the quadrangle PQRS where the vertex S is located at the origin and the coordinate value of each vertex constituting the unit square, the matrix of modification 3 is obtained by calculating Equation 5.
また、四角形TUVWの各頂点の座標値と変形5の行列とを用いて、頂点Wが原点に位置する四角形TUVWの各頂点の座標値を求める。そして、頂点Wが原点に位置する四角形TUVWの各頂点の座標値と、単位正方形を構成する各頂点の座標値とを用いて、数5を演算することで変形4の行列を求める。 Also, using the coordinate value of each vertex of the quadrangle TUUV and the matrix of deformation 5, the coordinate value of each vertex of the quadrangle TUWW where the vertex W is located at the origin is obtained. Then, using the coordinate value of each vertex of the quadrangle TUWW where the vertex W is located at the origin and the coordinate value of each vertex constituting the unit square, the matrix of the modification 4 is obtained by calculating Equation 5.
最後に、以上のようにして求めた変形1〜変形4の行列を掛けることにより、変形1の行列(つまり変形1の行列の係数a〜h)を得ることができる。 Finally, the matrix of modification 1 (that is, coefficients a to h of the matrix of modification 1) can be obtained by multiplying the matrices of modification 1 to modification 4 obtained as described above.
本願明細書では、射影変換を示す変形1の行列を歪み補正行列と称することにする。また、変形1の座標変換は射影変換であるが、変形前の四角形PQRSおよび変形後の四角形TUVWが平行四辺形の場合、変形1の行列の係数g,hはいずれも0になり、これは変形1がアフィン変換(射影変換の一種)であることを意味する。 In the present specification, the matrix of modification 1 indicating the projective transformation is referred to as a distortion correction matrix. The coordinate transformation of deformation 1 is projective transformation. However, when the quadrangle PQRS before deformation and the quadrangle TUUV after deformation are parallelograms, the coefficients g and h of the matrix of deformation 1 are both 0, It means that the deformation 1 is an affine transformation (a kind of projective transformation).
〔実施形態1〕
(実施形態の概要)
デジタルカメラや、デジタルカメラを搭載した携帯端末(例えばスマートフォン)によって撮影対象物(例えば掲示板に貼られている長方形の用紙)を斜めから撮影した場合、歪んだ撮影画像(撮影対象が歪んで示された撮影画像)が得られることがある(例えば、図3)。
Embodiment 1
(Outline of the embodiment)
When a subject to be photographed (for example, a rectangular paper affixed to a bulletin board) is photographed obliquely with a digital camera or a portable terminal (for example, a smartphone) equipped with a digital camera, a distorted photographed image (the subject to be photographed is distorted). Captured image) may be obtained (for example, FIG. 3).
このような撮影画像の画像データをPDFファイルに変換する場合(つまり撮影画像の画像データをPDFファイルに埋め込む場合)、歪み補正前の撮影画像の画像データと、前記撮影画像を表示する際には前記画像データに歪み補正を行った上で前記表示を行うようにコンピュータを制御する描画コマンドとを埋め込んだPDFファイルを作成すれば、PDFファイル作成時に歪み補正を行わないで済むため、PDFファイル作成にかかる処理時間を短縮できる。 When converting image data of such a captured image into a PDF file (that is, when embedding the image data of the captured image in a PDF file), when displaying the image data of the captured image before distortion correction and the captured image If a PDF file in which a drawing command for controlling the computer to perform the display is embedded after performing distortion correction on the image data is created, it is not necessary to perform distortion correction when creating the PDF file. Processing time can be reduced.
しかし、PDFファイルでは、射影変換のうちアフィン変換しか行えない。それゆえ、アフィン変換に限られない射影変換では補正可能な歪みであっても、アフィン変換では補正しきれないケースについては、PDFファイルでは適切に歪み補正できないことがあるという問題が生じる。 However, PDF files can only perform affine transformations among projective transformations. Therefore, even if the distortion can be corrected by projective transformation that is not limited to affine transformation, there is a problem that the PDF file may not be able to properly correct the distortion when it cannot be corrected by affine transformation.
図3は、歪み補正される前の撮影画像を示す図である。図3の撮影画像は、掲示板に貼られている用紙を撮影して得られた画像である。図3に示される四角形200は、ユーザによって設定された補正対象範囲であり、且つ、前記の用紙が示されている部分である。図3に示される撮影画像においては、補正対象範囲に示される画像(用紙)が強く歪んでしまっていることがわかる。 FIG. 3 is a diagram illustrating a captured image before distortion correction. The photographed image in FIG. 3 is an image obtained by photographing the paper pasted on the bulletin board. A square 200 shown in FIG. 3 is a correction target range set by the user, and is a portion where the paper is shown. In the captured image shown in FIG. 3, it can be seen that the image (paper) shown in the correction target range is strongly distorted.
図4は、図3の四角形200の範囲(補正対象範囲)に、アフィン変換に限ることなく射影変換を行って得られた画像を示す図である。図4の四角形200aは、図3の四角形200を射影変換した後の四角形に相当する。図3と図4とを比較すれば、アフィン変換に限定せずに射影変換を行うと、強い歪みであっても適切に歪みが補正されることがわかる。 FIG. 4 is a diagram showing an image obtained by performing projective transformation on the range (correction target range) of the rectangle 200 in FIG. 3 without being limited to affine transformation. The rectangle 200a in FIG. 4 corresponds to the rectangle after projective transformation of the rectangle 200 in FIG. Comparing FIG. 3 and FIG. 4, it can be seen that if the projection transformation is performed without being limited to the affine transformation, the distortion is appropriately corrected even if the distortion is strong.
図5Bは、図3の四角形200の範囲(補正対象範囲)にアフィン変換を施した画像を示す図である。図3、図4、図5Bを見比べれば、射影変換では適切に補正されるような歪みであっても、アフィン変換では補正しきれないケースがある事がわかる。 FIG. 5B is a diagram illustrating an image obtained by performing affine transformation on the range (correction target range) of the rectangle 200 in FIG. 3. Comparing FIG. 3, FIG. 4, and FIG. 5B, it can be seen that there are cases where distortion that can be corrected appropriately by projective transformation cannot be corrected by affine transformation.
なお、アフィン変換の歪み補正行列は、平行四辺形を他の平行四辺形へ変形させるための行列であるが、図3の補正対象範囲である四角形200は平行四辺形ではないため、図3の四角形200の4つの頂点の座標値からではアフィン変換の歪み補正行列を求めることができない。そこで、図5Aに示すように、四角形200の左辺201と、四角形200の下辺202と、左辺201に平行な右辺と、下辺202に平行な上辺とからなる平行四辺形200b(太線部分)を設定し、平行四辺形200bの各頂点の座標値を変換前座標値として、アフィン変換の歪み補正行列を求めるようにする。ここで、図5Bに示す平行四辺形200b´は、図5Aの平行四辺形200bをアフィン変換にて変形した後の平行四辺形に相当する。そして、図5Bの平行四辺形200b´の内側には、図3の四角形200に囲まれる補正対象範囲にアフィン変換を施した画像が示されることになる。このようにして、図3の四角形200のように平行四辺形でない補正対象範囲を設定した場合であっても、補正対象範囲にアフィン変換を施した画像を得ることができるのである。 Note that the distortion correction matrix of the affine transformation is a matrix for transforming the parallelogram into another parallelogram, but the quadrangle 200 that is the correction target range in FIG. 3 is not a parallelogram. From the coordinate values of the four vertices of the rectangle 200, a distortion correction matrix for affine transformation cannot be obtained. Therefore, as shown in FIG. 5A, a parallelogram 200b (thick line portion) is set which includes a left side 201 of the quadrangle 200, a lower side 202 of the quadrangle 200, a right side parallel to the left side 201, and an upper side parallel to the lower side 202. Then, the affine transformation distortion correction matrix is obtained using the coordinate values of the vertices of the parallelogram 200b as the pre-conversion coordinate values. Here, the parallelogram 200b ′ shown in FIG. 5B corresponds to the parallelogram after the parallelogram 200b of FIG. 5A is deformed by affine transformation. An image obtained by performing affine transformation on the correction target range surrounded by the rectangle 200 in FIG. 3 is shown inside the parallelogram 200b ′ in FIG. 5B. In this way, even when a correction target range that is not a parallelogram is set as in the quadrangle 200 in FIG. 3, an image in which the correction target range is subjected to affine transformation can be obtained.
また、図5Aおよび図5Bでは、補正対象範囲の四角形200の左辺201と下辺202とを用いて平行四辺形200bを設定したが、補正対象範囲の四角形200の各頂点のうちのいずれか一つの頂点から延びる第1の辺および第2の辺を用いて平行四辺形を設定できる。つまり、この第1の辺および第2の辺としては、上述のように左辺201と下辺202であってもよいし、左辺201と上辺203であってもよいし、右辺204と上辺203であってもよいし、右辺204と下辺202であってもよい(図3を参照)。 5A and 5B, the parallelogram 200b is set using the left side 201 and the lower side 202 of the rectangle 200 of the correction target range. However, any one of the vertices of the rectangle 200 of the correction target range is used. A parallelogram can be set using the first side and the second side extending from the vertex. In other words, as described above, the first side and the second side may be the left side 201 and the lower side 202, the left side 201 and the upper side 203, or the right side 204 and the upper side 203. It may be the right side 204 and the lower side 202 (see FIG. 3).
例えば、図3の右辺204と上辺203とを用いて平行四辺形を設定する場合、図6Aおよび図6Bのようにして処理が行われる。すなわち、図6Aに示すように、四角形200の右辺204と、四角形200の上辺203と、右辺204に平行な左辺と、上辺203に平行な下辺とからなる平行四辺形200cを設定し、平行四辺形200cの各頂点の座標値を変換前座標値として、アフィン変換の歪み補正行列を求めることにする。ここで、図6Bに示す平行四辺形200c´(太線部分)は、図6Aの平行四辺形200cをアフィン変換にて変形した後の平行四辺形に相当する。そして、図6Bにおける平行四辺形200c´の内側および周囲には、図3の四角形200に囲まれる補正対象範囲にアフィン変換を施した画像が示されることになる。ここで、図6Bによれば、右上部の歪みが補正されているものの、左下部にて新たな歪みが発生しており、結果として歪みが補正しきれていない事がわかる。 For example, when a parallelogram is set using the right side 204 and the upper side 203 in FIG. 3, processing is performed as shown in FIGS. 6A and 6B. That is, as shown in FIG. 6A, a parallelogram 200c is set, which includes a right side 204 of a quadrangle 200, an upper side 203 of the quadrangle 200, a left side parallel to the right side 204, and a lower side parallel to the upper side 203. A distortion correction matrix for affine transformation is obtained using the coordinate value of each vertex of the shape 200c as the coordinate value before conversion. Here, the parallelogram 200c ′ (thick line portion) shown in FIG. 6B corresponds to the parallelogram after the parallelogram 200c of FIG. 6A is deformed by affine transformation. Then, an image obtained by performing affine transformation on the correction target range surrounded by the rectangle 200 in FIG. 3 is shown inside and around the parallelogram 200c ′ in FIG. 6B. Here, according to FIG. 6B, although the distortion in the upper right part is corrected, a new distortion is generated in the lower left part, and as a result, it is understood that the distortion is not completely corrected.
以上の通りであるので、アフィン変換に限られない射影変換では補正可能な歪みであっても、アフィン変換では補正しきれないというケースがあるため、射影変換のうちアフィン変換しか描画コマンドで指定できないPDFファイルでは、適切に歪みを補正できないことがあるという問題が生じるのである。 As described above, there are cases in which distortion that can be corrected by projection transformation that is not limited to affine transformation cannot be corrected by affine transformation, so only affine transformation can be specified with drawing commands. The problem with PDF files is that distortion may not be corrected properly.
そこで、この問題を回避するため、本実施形態の携帯端末は、まず、前記撮影画像に対して補正対象範囲を設定し、第1誤差情報を求める。第1誤差情報とは、射影変換によって補正対象範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合の誤差(補正誤差)を示した値である(言い換えると、第1誤差情報は、補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて歪み補正する場合との差を示した値(第1差情報)ともいえる)。第1誤差情報の詳細については後に詳述する。 Therefore, in order to avoid this problem, the mobile terminal according to the present embodiment first sets a correction target range for the captured image and obtains first error information. The first error information is a value indicating an error (correction error) when distortion correction is performed by limiting the projection transformation to affine transformation with respect to the case where the correction target range is distortion-corrected by projective transformation (in other words, The first error information is also a value (first difference information) indicating a difference between the case where the correction target range is subjected to distortion correction by projective transformation and the case where distortion is corrected by affine transformation. Details of the first error information will be described later.
本実施形態の携帯端末は、第1誤差情報を求めた後、第1誤差情報に対して閾値処理を行うことにより、第1誤差情報の誤差が許容範囲内か否かを判定する。 After obtaining the first error information, the mobile terminal according to the present embodiment performs threshold processing on the first error information to determine whether or not the error of the first error information is within an allowable range.
本実施形態の携帯端末は、第1誤差情報の誤差が許容範囲内と判定する場合、前記補正対象範囲から設定される歪み補正行列によってアフィン変換を行った上で撮影画像を表示するようにコンピュータを制御する描画コマンドを生成し、この描画コマンドを、前記撮影画像と共にPDFファイルに埋め込む。 When determining that the error of the first error information is within an allowable range, the mobile terminal according to the present embodiment performs a affine transformation using a distortion correction matrix set from the correction target range, and displays a captured image. A drawing command for controlling the image is generated, and the drawing command is embedded in the PDF file together with the captured image.
これに対し、本実施形態の携帯端末は、第1誤差情報の誤差が許容範囲内にないと判定する場合、前記補正対象範囲を分割して複数の部分領域を生成し、部分領域から設定される歪み補正行列を用いてアフィン変換を行った上で撮影画像を表示するようにコンピュータを制御する描画コマンドを部分領域毎に生成し、生成した各描画コマンドを、撮影画像と共にPDFファイルに埋め込む。 On the other hand, when it is determined that the error of the first error information is not within the allowable range, the mobile terminal according to the present embodiment generates a plurality of partial areas by dividing the correction target range, and is set from the partial areas. A drawing command for controlling the computer to display a captured image after performing affine transformation using the distortion correction matrix is generated for each partial region, and each generated drawing command is embedded in the PDF file together with the captured image.
これにより、補正対象範囲に対して単一の歪み補正行列を用いてアフィン変換を行うと補正誤差が大きくなってしまうような場合(つまり適切に歪み補正を行えない場合)、前記補正範囲を複数の部分領域に分割し、部分領域毎に歪み補正行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる(1つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、1つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる)。 As a result, when affine transformation is performed on a correction target range using a single distortion correction matrix, a correction error increases (that is, when distortion correction cannot be performed properly), a plurality of correction ranges are provided. It is possible to realize distortion correction with reduced correction error by dividing the area into partial areas and setting a distortion correction matrix for each partial area (dividing the corresponding range with one distortion correction matrix) Thus, the correction error in the corresponding range can be reduced with one distortion correction matrix, and the correction error can be suppressed as a whole).
以下、本実施形態の携帯端末について詳細に説明する。 Hereinafter, the portable terminal of this embodiment will be described in detail.
(携帯端末の全体構成)
本発明の画像処理装置の一実施形態として携帯端末の構成を詳細に説明する。図2は、本実施形態の携帯端末の概略構成を示すブロック図である。
(Overall configuration of mobile device)
A configuration of a portable terminal will be described in detail as an embodiment of the image processing apparatus of the present invention. FIG. 2 is a block diagram illustrating a schematic configuration of the mobile terminal according to the present embodiment.
図2に示す携帯端末10は、撮影対象物を撮影して撮影画像を生成するカメラ機能と画像を表示する表示機能とを備えた携帯可能なコンピュータであり、例えばスマートフォンやタブレットが挙げられる。図2に示すように、携帯端末10は、少なくとも、情報処理部11、タッチパネル12、撮影部13、および記憶部14を備えている。 A portable terminal 10 shown in FIG. 2 is a portable computer having a camera function for photographing a photographing object and generating a photographed image and a display function for displaying an image, and examples thereof include a smartphone and a tablet. As shown in FIG. 2, the mobile terminal 10 includes at least an information processing unit 11, a touch panel 12, a photographing unit 13, and a storage unit 14.
さらに、図示しないが、携帯端末10は、通信インターフェイス、インターネット送受信部、音声操作部、音声出力部、テレビ放送受像部、GPS(Global Positioning System)など、携帯端末が標準的に備えている各種ハードウェアを備えている。 Further, although not shown, the mobile terminal 10 includes various types of hardware that are normally provided in the mobile terminal, such as a communication interface, an Internet transmission / reception unit, a voice operation unit, a voice output unit, a television broadcast receiver, and a GPS (Global Positioning System). Wear.
情報処理部11は、記憶部14に記憶されている各種情報およびプログラム(各種制御を実施するための制御プログラムやアプリケーション)を取り出して各種情報処理を行うブロックであり、たとえば、CPU(Central Processing Unit)を備えるマイクロコンピュータやマイクロプロセッサによって実現される。つまり、情報処理部11は、各種アプリケーションプログラムの実行、携帯端末10が備える各種ハードウェアの動作制御(表示制御を含む)、画像処理等の携帯端末10におけるあらゆる情報処理を行うブロックである。本実施形態では、特に、情報処理部11は、撮影部13にて得られた撮影画像の画像データをPDFファイルに変換するファイル生成モードを実行するようになっている。この点については詳述する。 The information processing unit 11 is a block that extracts various types of information and programs (control programs and applications for performing various types of control) stored in the storage unit 14 and performs various types of information processing. For example, a CPU (Central Processing Unit) ). That is, the information processing unit 11 is a block that performs various information processing in the mobile terminal 10 such as execution of various application programs, operation control (including display control) of various hardware included in the mobile terminal 10, and image processing. In the present embodiment, in particular, the information processing unit 11 executes a file generation mode for converting image data of a captured image obtained by the imaging unit 13 into a PDF file. This point will be described in detail.
記憶部14は、情報処理部11が実行する各種アプリケーションプログラム、OS(Operating System)プログラム、制御プログラム、これらプログラムを実行するときに読み出す各種データ(設定値、テーブル等)、撮影部13にて得られる撮影画像の画像データを記憶する記憶領域である。記憶部14としては、従来から公知の種々の記憶手段、例えば、リードオンリーメモリ、ランダムアクセスメモリ、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)などを用いることができる。また、記憶部14には、情報処理部11にて取り扱われている処理中のデータを一時的に記憶するワーキングメモリが含まれる。 The storage unit 14 receives various application programs executed by the information processing unit 11, an OS (Operating System) program, a control program, various data (setting values, tables, etc.) read when the programs are executed, and acquired by the imaging unit 13. This is a storage area for storing image data of captured images. As the storage unit 14, various conventionally known storage means such as read-only memory, random access memory, flash memory, EPROM (Erasable Programmable ROM), EEPROM (registered trademark) (Electrically EPROM) and the like can be used. . The storage unit 14 includes a working memory that temporarily stores data being processed by the information processing unit 11.
タッチパネル12は、画像を表示する表示部12aと、ユーザのタッチ操作に応じた入力信号を生成する入力部12bとが一体化されている装置である。タッチパネル12としては、周知のものを用いることができる。つまり、表示部12aはLCD(Liquid Crystal Display)などで構成され、入力部12bは表示部12aと一体化された静電容量センサなどで構成される。ユーザがタッチパネル12に対してタッチ操作を行うと、タッチ操作に応じた入力指示が情報処理部11に伝達され、情報処理部11は、当該入力指示に応じてタッチパネル12の表示制御を行うことになる。例えば、タップ操作が行われるとタップされたアイコンやファイルに応じた画像が表示されるようになっている。 The touch panel 12 is an apparatus in which a display unit 12a that displays an image and an input unit 12b that generates an input signal corresponding to a user's touch operation are integrated. As the touch panel 12, a known one can be used. That is, the display unit 12a is configured by an LCD (Liquid Crystal Display) or the like, and the input unit 12b is configured by a capacitance sensor or the like integrated with the display unit 12a. When the user performs a touch operation on the touch panel 12, an input instruction corresponding to the touch operation is transmitted to the information processing unit 11, and the information processing unit 11 performs display control of the touch panel 12 according to the input instruction. Become. For example, when a tap operation is performed, an image corresponding to the tapped icon or file is displayed.
なお、本実施形態の携帯端末10は、所謂スマートフォンやタブレットであるため、画像表示手段としてタッチパネル12を備えているが、画像表示手段はタッチパネル12に限られるものではない。つまり、携帯端末10において、表示部と入力部とが別々に構成されていてもよく、この場合、表示部はLCD等であり、入力部はキーボード等である。 In addition, since the portable terminal 10 of this embodiment is what is called a smart phone and a tablet, although the touch panel 12 is provided as an image display means, an image display means is not restricted to the touch panel 12. FIG. That is, in the mobile terminal 10, the display unit and the input unit may be configured separately. In this case, the display unit is an LCD or the like, and the input unit is a keyboard or the like.
撮影部13は、CCD(Charge Coupled Device)またはCMOS(Complementary Metal-Oxide Semiconductor)等からなるデジタルカメラである。撮影部13は、ユーザに入力された撮影指示信号に応じて撮影処理を行い、撮影画像を示す画像データを生成する。撮影部13にて生成される画像データは、A/D(analog to digital)変換やシェーディング補正等の所定の処理が行われて、一旦、記憶部14に記憶される。 The photographing unit 13 is a digital camera made up of a charge coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS). The photographing unit 13 performs a photographing process according to a photographing instruction signal input by the user, and generates image data indicating a photographed image. Image data generated by the imaging unit 13 is subjected to predetermined processing such as A / D (analog to digital) conversion and shading correction, and is temporarily stored in the storage unit 14.
(ファイル生成モード)
つぎに、ファイル生成モードについて詳細に説明する。ファイル生成モードとは、記憶部14に記憶されている撮影画像のなかから処理対象となる撮影画像をユーザに指定させ、指定された撮影画像の画像データを所定型式にフォーマット化された画像ファイルを生成して保存するモードである。なお、本実施形態では、前記画像ファイルは、PDF(Portable Document Format)ファイルであるものとする。
(File generation mode)
Next, the file generation mode will be described in detail. The file generation mode is an image file in which the user designates a photographed image to be processed from among photographed images stored in the storage unit 14, and the image data of the designated photographed image is formatted in a predetermined format. It is a mode to create and save. In the present embodiment, the image file is a PDF (Portable Document Format) file.
情報処理部11は、図2に示すように、ファイル生成モードを実行する描画コマンド生成部100およびフォーマット化処理部101を少なくとも備えている。なお、図2において、情報処理部11、タッチパネル12、撮影部13および記憶部14は、ハードウェアであるが、情報処理部11に含まれる各部(描画コマンド生成部100およびフォーマット化処理部101)は、情報処理部11が実行するソフトウェア(アプリケーション)の各機能を示す機能ブロックである。 As illustrated in FIG. 2, the information processing unit 11 includes at least a drawing command generation unit 100 that executes a file generation mode and a formatting processing unit 101. In FIG. 2, the information processing unit 11, the touch panel 12, the photographing unit 13, and the storage unit 14 are hardware, but each unit included in the information processing unit 11 (the drawing command generation unit 100 and the formatting processing unit 101). These are functional blocks indicating each function of software (application) executed by the information processing unit 11.
フォーマット化処理部101は、ユーザに指定された処理対象の撮影画像の画像データを埋め込んだPDFファイルを作成するブロックである。 The formatting processing unit 101 is a block that creates a PDF file in which image data of a captured image to be processed designated by the user is embedded.
描画コマンド生成部(コマンド付加部)100は、前記PDFファイルの画像を表示する場合には当該画像に歪み補正を施してから当該画像を表示するようにコンピュータを制御するための描画コマンドを生成し、フォーマット化処理部101にて生成されたPDFファイルに前記描画コマンドを付加する(埋め込む)ブロックである。 When displaying an image of the PDF file, the drawing command generation unit (command addition unit) 100 generates a drawing command for controlling the computer to display the image after correcting the distortion of the image. This block adds (embeds) the drawing command to the PDF file generated by the formatting processing unit 101.
つぎに、図7のフローチャートを用いてファイル生成モードの処理の流れを以下に説明する。 Next, the flow of processing in the file generation mode will be described below using the flowchart of FIG.
ユーザが携帯端末10のタッチパネル12を操作してファイル生成モードへの移行指示を入力すると、フォーマット化処理部101は、携帯端末10をファイル作成モードへ移行させる(S101)。 When the user operates the touch panel 12 of the mobile terminal 10 and inputs an instruction to shift to the file generation mode, the formatting processing unit 101 shifts the mobile terminal 10 to the file creation mode (S101).
S101の後、フォーマット化処理部101は、記憶部14に記憶されている撮影画像のなかから、処理対象としてユーザに指定された撮影画像を選択する(S102)。撮影画像の選択は、例えば、次のようにして行われる。フォーマット化処理部101は、ユーザ指示に応じて、記憶部14に記憶されている撮影画像のプレビューを順にタッチパネル12に表示させ、ユーザに指定されたプレビューの撮影画像を処理対象として選択する。 After S101, the formatting processing unit 101 selects a captured image designated by the user as a processing target from among the captured images stored in the storage unit 14 (S102). The selection of the photographed image is performed as follows, for example. In response to a user instruction, the formatting processing unit 101 sequentially displays the captured image previews stored in the storage unit 14 on the touch panel 12, and selects the captured image of the preview designated by the user as a processing target.
図7のS102によって処理対象の撮影画像が選択されると、描画コマンド生成部100は、処理対象の撮影画像において四角形の補正対象範囲を設定し、且つ、補正後表示範囲を設定する(S103)。 When a captured image to be processed is selected in S102 of FIG. 7, the drawing command generation unit 100 sets a rectangular correction target range in the captured image to be processed and sets a corrected display range (S103). .
補正対象範囲とは、撮影画像のうち、歪んでいる撮影対象物を囲った範囲であり、ユーザによって設定される。補正対象範囲の設定は、例えば、次のようにして行われる。描画コマンド生成部100は、図8に示すように、携帯端末10のタッチパネル12に撮影画像50を表示させる。ユーザは、タッチパネル12に表示されている撮影画像50のうち、補正対象範囲の各頂点とすべき4点をタッチ操作によって指定する。そして、図8に示すように、描画コマンド生成部100は、ユーザのタッチ操作にて指定された4点を頂点とした四角形を補正対象範囲60として設定する。 The correction target range is a range surrounding a distorted shooting target in the shot image, and is set by the user. The correction target range is set as follows, for example. The drawing command generation unit 100 displays the captured image 50 on the touch panel 12 of the mobile terminal 10 as shown in FIG. The user designates four points to be the vertices of the correction target range among the captured images 50 displayed on the touch panel 12 by a touch operation. Then, as illustrated in FIG. 8, the drawing command generation unit 100 sets, as the correction target range 60, a quadrangle having four vertices designated by the user's touch operation.
つぎに、S103の補正後表示範囲について説明する。補正後表示範囲とは、(1)補正対象範囲60に対して歪み補正する場合における補正後の補正対象範囲60の目標形状(目標範囲)を示したものであり、且つ、(2)PDFファイルを開いた際に表示される範囲でもある。なお、本実施形態では、PDFファイルが使用されるため、前記の補正後表示範囲としては定型の用紙サイズ(A3,A4等)のなかから設定される。ここで、定型の用紙サイズの形状は長方形(平行四辺形)であるため、このように設定される補正後表示範囲はアフィン変換による補正後の目標形状になり得るのである。 Next, the corrected display range in S103 will be described. The corrected display range indicates (1) the target shape (target range) of the corrected correction target range 60 when distortion correction is performed on the correction target range 60, and (2) a PDF file. It is also the range displayed when opening. In this embodiment, since a PDF file is used, the post-correction display range is set from a standard paper size (A3, A4, etc.). Here, since the shape of the standard paper size is a rectangle (parallelogram), the display range after correction set in this way can be a target shape after correction by affine transformation.
また、補正後表示範囲の設定は、例えば次のようにして行われる。描画コマンド生成部100は、図8に示すように、補正後表示範囲として補正後サイズをユーザに選択させるためのリストボックス471をタッチパネル12に表示させる。ユーザは、リストボックス471に示される各用紙サイズのなかから所望の用紙サイズを選択し、描画コマンド生成部100は、ユーザに選択された用紙サイズを補正後表示範囲として設定する。なお、ユーザが所望の用紙サイズを選ばない場合、描画コマンド生成部100は、デフォルトの用紙サイズを設定するようになっている。 The corrected display range is set as follows, for example. As illustrated in FIG. 8, the drawing command generation unit 100 causes the touch panel 12 to display a list box 471 for allowing the user to select a corrected size as the corrected display range. The user selects a desired paper size from among the paper sizes shown in the list box 471, and the drawing command generation unit 100 sets the paper size selected by the user as the corrected display range. When the user does not select a desired paper size, the drawing command generation unit 100 sets a default paper size.
例えば、図10に示すように、補正対象範囲60に対し、長方形状の補正後表示範囲70が設定されるようになっている。 For example, as shown in FIG. 10, a rectangular corrected display range 70 is set for the correction target range 60.
図7のS103の後、描画コマンド生成部100は、S103にて設定した補正対象範囲60および補正後表示範囲70を参照して、補正対象範囲60について第1誤差情報(第1差情報)を算出する(S104)。第1誤差情報を以下詳細に説明する。 After S103 in FIG. 7, the drawing command generation unit 100 refers to the correction target range 60 and the corrected display range 70 set in S103 and obtains first error information (first difference information) for the correction target range 60. Calculate (S104). The first error information will be described in detail below.
第1誤差情報とは、アフィン変換に限定せずに射影変換によって補正対象範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合の誤差(補正誤差)を示した値である(言い換えると、第1誤差情報は、補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて歪み補正する場合との差を示した値ともいえる)。S104では、図8に示す補正対象範囲60を補正後表示範囲70(図10参照)に変形する射影変換(アフィン変換に限定しない)にて補正する場合と、アフィン変換で歪み補正を行う場合との差を示した値を求めることになる。以下において、第1誤差情報をより詳細に説明する。 The first error information indicates an error (correction error) when distortion correction is performed by limiting the projection transformation to the affine transformation in contrast to the case where the correction target range is distortion-corrected by the projection transformation without being limited to the affine transformation. (In other words, the first error information can be said to be a value indicating a difference between a case where the correction target range is subjected to distortion correction by projective transformation and a case where distortion is corrected by affine transformation). In S104, the correction target range 60 shown in FIG. 8 is corrected by projective transformation (not limited to affine transformation) that transforms into the corrected display range 70 (see FIG. 10), and distortion correction is performed by affine transformation. A value indicating the difference between the two is obtained. Hereinafter, the first error information will be described in more detail.
図9Aは、四角形PQRSを補正対象範囲とし、四角形TUVWを補正後表示範囲として、四角形PQRSから四角形TUVWへ射影変換(変形1)する場合を示した模式図であり、図9Bは、図9Aの四角形TUVWの中心付近を拡大して示した図である。 FIG. 9A is a schematic diagram showing a case where the projective transformation (deformation 1) is performed from the quadrangle PQRS to the quadrangle TUWW, with the quadrangle PQRS as the correction target range and the quadrangle TUWW as the corrected display range, and FIG. It is the figure which expanded and showed the center vicinity of the square TUUV.
図9Aの点Z1は、補正対象範囲である四角形PQRSの重心(物理的重心)であり、四角形PQRSで対辺の関係にある辺PQと辺SRとの間にてこれら各辺の中点同士を繋いだ直線H1と、四角形PQRSで対辺の関係にある辺PSと辺QRとの間においてこれら各辺の中点同士を繋いだ直線H2との交点に相当する。 The point Z1 in FIG. 9A is the center of gravity (physical center of gravity) of the quadrangle PQRS that is the correction target range, and the midpoints of these sides are set between the side PQ and the side SR that are in the opposite side relationship in the quadrangle PQRS. This corresponds to the intersection of the connected straight line H1 and the straight line H2 connecting the midpoints of these sides between the side Ps and the side QR of the quadrangle PQRS.
図9Aの点Z3は、四角形PQRSから四角形TUVWへ射影変換を行う場合の点Z1の変換後の位置である。 A point Z3 in FIG. 9A is a position after the conversion of the point Z1 when performing the projective conversion from the quadrangle PQRS to the quadrangle TUWW.
図9Aの点Z2は、補正後表示範囲である四角形TUVWの重心(物理的重心)であり、四角形TUVWで対辺の関係にある辺TUと辺WVとの間にてこれら各辺の中点同士を繋いだ直線H3と、四角形TUVWで対辺の関係にある辺TWと辺UVとの間にてこれら各辺の中点同士を繋いだ直線H4との交点に相当する。 The point Z2 in FIG. 9A is the center of gravity (physical center of gravity) of the quadrangle TUWW, which is the corrected display range, and the midpoints of these sides between the side TU and the side WV that are in a side-to-side relationship in the quadrangle TUWW. And a straight line H4 that connects the midpoints of these sides between the side TW and the side UV that are in a side-to-side relationship with the quadrangle TUWW.
ここで、射影変換(変形1)がアフィン変換であれば、点Z1は点Z2に移されるため、点Z2と点Z3とが一致する。つまり、図9Bに示される点Z2と点Z3との距離d(直線距離)が0となる。これに対し、射影変換(変形1)がアフィン変換以外の座標変換の場合、点Z2と点Z3とは一致しないため、図9Bに示される点Z2と点Z3との距離dは0よりも大きな値となる(なお、距離dは、PDFファイルでの基準解像度である72dpiでの画素数(ドット数)に換算して評価される)。なお、アフィン変換の場合に点Z2と点Z3とが一致するのは、アフィン変換は、変換前の重心が変換後の重心に移される性質を有しているからであり、アフィン変換以外の変換の場合に点Z2と点Z3とが一致しないのは、変換前の四角形の重心が変換後の四角形の重心に移されるわけではないからである。 Here, if the projective transformation (deformation 1) is an affine transformation, the point Z1 is moved to the point Z2, and therefore the point Z2 and the point Z3 coincide. That is, the distance d (straight line distance) between the point Z2 and the point Z3 shown in FIG. 9B is zero. On the other hand, when the projective transformation (deformation 1) is a coordinate transformation other than the affine transformation, since the point Z2 and the point Z3 do not coincide with each other, the distance d between the point Z2 and the point Z3 shown in FIG. (The distance d is evaluated in terms of the number of pixels (number of dots) at 72 dpi, which is the reference resolution in the PDF file). Note that the point Z2 and the point Z3 coincide with each other in the case of affine transformation because the affine transformation has the property that the centroid before transformation is transferred to the centroid after transformation. In this case, the point Z2 and the point Z3 do not coincide with each other because the center of gravity of the square before conversion is not moved to the center of gravity of the square after conversion.
すなわち、点Z2と点Z3との間の距離dは、四角形PQRSを四角形TUVWに歪み補正する際、アフィン変換に限定せずに射影変換によって補正対象範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合において、所定画素(四角形PQRSの重心)の補正後位置の誤差の代表値と考えることができる。 That is, the distance d between the point Z2 and the point Z3 is equal to the projective transformation in the case of correcting the distortion of the correction target range by the projective transformation without being limited to the affine transformation when the quadrangle PQRS is corrected to the square TUUV. Can be considered as a representative value of the error in the corrected position of a predetermined pixel (the center of gravity of the quadrangle PQRS).
四角形PQRSおよび四角形TUVWが、両方共、平行四辺形であれば、前記射影変換は必然的にアフィン変換になるため、距離dはゼロになる。 If the quadrangle PQRS and the quadrangle TUUV are both parallelograms, the projective transformation is inevitably affine transformation, so the distance d is zero.
これに対し、四角形TUVWが平行四辺形である一方、四角形PQRSが非平行四辺形であれば、前記射影変換はアフィン変換以外の座標変換になる。ただし、この場合に距離dが小さければ、四角形PQRSは平行四辺形に近似する形状と考えることができ、このような場合なら、アフィン変換以外の射影変換で補正を行う場合とアフィン変換で補正を行う場合との間で補正精度の差が僅かであり、アフィン変換にて補正を行っても問題ないと考えることができる。 On the other hand, if the quadrangle TUUV is a parallelogram and the quadrangle PQRS is a non-parallelogram, the projective transformation is a coordinate transformation other than the affine transformation. However, in this case, if the distance d is small, the quadrangle PQRS can be considered as a shape approximating a parallelogram. In such a case, correction is performed using a projective transformation other than affine transformation and correction is performed using affine transformation. The difference in correction accuracy is small compared with the case where it is performed, and it can be considered that there is no problem even if correction is performed by affine transformation.
ところが、四角形TUVWが平行四辺形であっても、距離dが大きくなると、四角形PQRSは平行四辺形から離れた形状となり、アフィン変換以外の射影変換で補正を行う場合とアフィン変換で補正を行う場合との間で補正精度の差が目立つことになり、アフィン変換にて補正を行うと違いが際立つことになると考えられる。 However, even if the quadrangle TUUV is a parallelogram, when the distance d increases, the quadrangle PQRS becomes a shape away from the parallelogram, and correction is performed by projection transformation other than affine transformation and correction by affine transformation. The difference in correction accuracy is conspicuous between the two, and it is considered that when the correction is performed by affine transformation, the difference becomes conspicuous.
そこで、本実施形態では、描画コマンド生成部100は、S104において、補正対象範囲60について、点Z2と点Z3との間の距離dを補正誤差として示した第1誤差情報を求め、S105において、補正誤差が許容範囲か否かを判定するようになっている。 Therefore, in the present embodiment, the drawing command generation unit 100 obtains first error information indicating the distance d between the point Z2 and the point Z3 as a correction error for the correction target range 60 in S104, and in S105, It is determined whether the correction error is within an allowable range.
具体的には、描画コマンド生成部100は、S103にて設定した補正対象範囲60を補正後表示範囲70(例えばA4用紙)に射影変換(アフィン変換に限らない)する場合の歪み補正行例と、補正対象範囲60の物理的重心の座標値と、補正後表示範囲70の物理的重心の座標値とを求める。なお、歪み補正行例の求め方は〔前提技術〕の項にて説明したとおりである。すなわち、補正対象範囲60の4つの頂点の座標値を変換前の座標値とし、補正後表示範囲70の4つの頂点を変換後の座標値として、歪み補正行列を求める。ここで求めた歪み補正行列(補正対象範囲60を補正後表示範囲70へ変換する歪み補正行列)は以降の処理でも用いるため、この歪み補正行列を行列Aとして記憶部14に記憶しておく。また、図9Aの四角形PQRSを補正対象範囲60とし、四角形TUVWを補正後表示範囲70とすると、図9AのZ1が補正対象範囲60の物理的重心となり、図9AのZ2が補正後表示範囲70の物理的重心となる。 Specifically, the drawing command generation unit 100 performs a distortion correction example in the case of performing projective transformation (not limited to affine transformation) on the correction target range 60 set in S103 to a corrected display range 70 (for example, A4 paper). Then, the coordinate value of the physical center of gravity of the correction target range 60 and the coordinate value of the physical center of gravity of the corrected display range 70 are obtained. Note that the method for obtaining the distortion correction example is as described in the section [Prerequisite Technology]. That is, the distortion correction matrix is obtained by using the coordinate values of the four vertices of the correction target range 60 as the coordinate values before the conversion and the four vertices of the corrected display range 70 as the coordinate values after the conversion. Since the distortion correction matrix obtained here (distortion correction matrix for converting the correction target range 60 to the corrected display range 70) is used in the subsequent processing, the distortion correction matrix is stored in the storage unit 14 as the matrix A. Further, if the quadrangle PQRS in FIG. 9A is the correction target range 60 and the quadrangle TUWW is the corrected display range 70, Z1 in FIG. 9A is the physical center of gravity of the correction target range 60, and Z2 in FIG. 9A is the corrected display range 70. It becomes the physical center of gravity.
続いて、描画コマンド生成部100は、行列Aと、補正対象範囲60の物理的重心(重心位置)の座標値とを用いて、行列Aによって補正対象範囲60の物理的重心を移動させた後の位置(移動後位置とも称する)の座標値を求める(図9Aの位置Z3が移動後位置に相当する)。そして、描画コマンド生成部100は、S103にて設定した補正対象範囲60についての第1誤差情報として、補正後表示範囲70(目標範囲)の物理的重心(重心位置)と、移動後位置との距離dを求める。 Subsequently, the drawing command generation unit 100 uses the matrix A and the coordinate value of the physical centroid (centroid position) of the correction target range 60 to move the physical centroid of the correction target range 60 using the matrix A. Is obtained (the position Z3 in FIG. 9A corresponds to the post-movement position). Then, the drawing command generation unit 100 uses the physical center of gravity (center of gravity position) of the corrected display range 70 (target range) and the post-movement position as the first error information for the correction target range 60 set in S103. Find the distance d.
S104の後、描画コマンド生成部100は、S104にて求めた第1誤差情報に対して閾値処理を行うことにより、第1誤差情報に示されている補正誤差が許容範囲内か否かを判定する(S105)。例えば、描画コマンド生成部100は、第1誤差情報と予め設定されている閾値とを対比し、第1誤差情報が閾値未満であれば補正誤差が許容範囲内であると判定し、第1誤差情報が閾値以上であれば補正誤差が許容範囲内にないと判定するようになっている。なお、第1誤差情報(距離d)を、PDFファイルでの基準解像度である72dpiでの画素数(ドット数)に換算して評価する場合、第1誤差情報と対比される閾値として、例えば1が設定される。 After S104, the drawing command generation unit 100 determines whether or not the correction error indicated in the first error information is within an allowable range by performing threshold processing on the first error information obtained in S104. (S105). For example, the drawing command generation unit 100 compares the first error information with a preset threshold value, and determines that the correction error is within an allowable range if the first error information is less than the threshold value. If the information is equal to or greater than the threshold, it is determined that the correction error is not within the allowable range. When the first error information (distance d) is converted into the number of pixels (number of dots) at 72 dpi that is the reference resolution in the PDF file and evaluated, the threshold value compared with the first error information is, for example, 1 Is set.
描画コマンド生成部100は、補正誤差が許容範囲内であると判定した場合(S105にてYES)、撮影画像を表示する際にマスク領域(非表示領域)とする範囲を指定する(S106)。S106では、描画コマンド生成部100は、S103にて設定された補正後表示範囲よりも外側の範囲をマスク領域として指定する。 If the drawing command generation unit 100 determines that the correction error is within the allowable range (YES in S105), the drawing command generation unit 100 designates a range to be a mask area (non-display area) when displaying the captured image (S106). In S106, the drawing command generation unit 100 designates a range outside the corrected display range set in S103 as a mask region.
続いて、描画コマンド生成部100は、補正対象範囲60に対する描画コマンドを生成する(S107)。具体的には、以下の通りである。 Subsequently, the drawing command generation unit 100 generates a drawing command for the correction target range 60 (S107). Specifically, it is as follows.
まず、描画コマンド生成部100は、S103にて設定された補正対象範囲60を用いてアフィン変換用の歪み補正行列を求める。具体的には、以下のようにして歪み補正行列を求める。描画コマンド生成部100は、補正対象範囲60において内角が最も直角に近い頂点を特定し、補正対象範囲60の4つの辺のうち、特定された頂点から延びる第1の辺および第2の辺を抽出する。描画コマンド生成部100は、第1の辺と、第2の辺と、第1の辺に平行な第3の辺と、第2の辺に平行な第4の辺とからなる平行四辺形を設定する。例えば、図3に示す符号200に示す範囲が補正対象範囲60である場合、左辺201および下辺202が第1の辺および第2の辺として抽出され、図5Aに示す平行四辺形200bが設定されるようになっている。なお、内角が最も直角に近い頂点が複数ある場合、いずれか一つが無作為に抽出される。 First, the drawing command generation unit 100 obtains a distortion correction matrix for affine transformation using the correction target range 60 set in S103. Specifically, a distortion correction matrix is obtained as follows. The drawing command generation unit 100 specifies a vertex whose inner angle is closest to the right angle in the correction target range 60, and among the four sides of the correction target range 60, the first side and the second side extending from the specified vertex are determined. Extract. The drawing command generation unit 100 generates a parallelogram composed of a first side, a second side, a third side parallel to the first side, and a fourth side parallel to the second side. Set. For example, when the range indicated by reference numeral 200 shown in FIG. 3 is the correction target range 60, the left side 201 and the lower side 202 are extracted as the first side and the second side, and the parallelogram 200b shown in FIG. 5A is set. It has become so. When there are a plurality of vertices whose interior angles are closest to the right angle, any one is randomly selected.
なお、描画コマンド生成部100は、補正対象範囲60において内角が最も直角に近い頂点から延びる2つの辺を抽出しているが、補正対象範囲60のいずれかの頂点から延びる2つの辺を抽出するようになっていればよく、特に内角が最も直角に近い頂点から延びる2つの辺に限定されるものではない。 The drawing command generation unit 100 extracts two sides extending from a vertex whose inner angle is closest to the right angle in the correction target range 60, but extracts two sides extending from any vertex of the correction target range 60. In particular, the inner angle is not limited to the two sides extending from the vertex closest to the right angle.
そして、描画コマンド生成部100は、以上のようにして設定した平行四辺形の4つの頂点の座標値を変換前座標値とし、S103にて設定された補正後表示範囲(例えばA4)の4つの頂点の座標値を変換後座標値として、アフィン変換の歪み補正行列を求める。 Then, the drawing command generation unit 100 sets the coordinate values of the four vertices of the parallelogram set as described above as coordinate values before conversion, and sets the four corrected display ranges (for example, A4) set in S103. An affine transformation distortion correction matrix is obtained using the vertex coordinate values as converted coordinate values.
歪み補正行列が求められた後、描画コマンド生成部100は、補正対象範囲60に対する描画コマンドを生成する。具体的には、描画コマンド生成部100は、求めた歪み補正行列に応じたアフィン変換を画像データに施し、S106のマスク領域(補正後表示範囲70より外側の範囲)を非表示にした上で(マスク領域を隠す)、表示処理を行うようにコンピュータを制御する描画コマンドを生成する(S107)。 After the distortion correction matrix is obtained, the drawing command generation unit 100 generates a drawing command for the correction target range 60. Specifically, the drawing command generation unit 100 performs affine transformation in accordance with the obtained distortion correction matrix on the image data, and hides the mask area in S106 (the area outside the corrected display range 70). A drawing command for controlling the computer to perform display processing is generated (hides the mask area) (S107).
図14は、S107にて指定される描画コマンドを示した模式図である。図14の(1)は、マスク領域を非表示にする(描画される範囲をコマンドで指定された範囲に限定する)ことを示しており、図14の(2)は、アフィン変換を示しており、図14の(3)は、画像の描画(表示処理)を示している。 FIG. 14 is a schematic diagram showing the drawing command specified in S107. (1) in FIG. 14 indicates that the mask area is not displayed (the range to be drawn is limited to the range specified by the command), and (2) in FIG. 14 indicates the affine transformation. FIG. 14 (3) shows image drawing (display processing).
S107が行われるとS120へ移行する。S120において、フォーマット化処理部101が、歪み補正行列による処理が施されていない撮影画像の画像データを埋め込んだPDFファイルを作成し、描画コマンド生成部100が、S107にて生成した描画コマンドをPDFファイルに付加するようになっている。その後、このPDFファイルは記憶部14に保存される。 When S107 is performed, the process proceeds to S120. In step S120, the formatting processing unit 101 creates a PDF file in which image data of a captured image that has not been processed by the distortion correction matrix is created, and the drawing command generation unit 100 converts the drawing command generated in step S107 to PDF. Append to file. Thereafter, the PDF file is stored in the storage unit 14.
S106およびS107を経由して生成されたPDFファイルを開く指示がユーザから入力されると、S107にて生成された描画コマンドに応じた描画処理が行われることになる。すなわち、当該PDFファイルを処理するコンピュータは、単一の歪み補正行列を用いて画像データにアフィン変換を施し、補正後表示範囲70より外側の範囲をマスクしつつ画像データの画像を表示するようになっている。つまり、補正後表示範囲70内の画像が表示される。 When the user inputs an instruction to open the PDF file generated via S106 and S107, a drawing process corresponding to the drawing command generated in S107 is performed. That is, the computer that processes the PDF file performs affine transformation on the image data using a single distortion correction matrix, and displays an image of the image data while masking the range outside the corrected display range 70. It has become. That is, the image within the corrected display range 70 is displayed.
つぎに、S105においてNOの場合について説明する。描画コマンド生成部100は、補正対象範囲60について求めた第1誤差情報の補正誤差が許容範囲内でないと判定した場合(S105にてNO)、補正後表示範囲に対して分割処理を行って4つの補正後分割範囲を生成し、且つ、補正対象範囲60に対して分割処理を行って4つの分割範囲を生成する(S108)。以下、S108の処理内容を詳細に説明する。 Next, the case of NO in S105 will be described. When the drawing command generation unit 100 determines that the correction error of the first error information obtained for the correction target range 60 is not within the allowable range (NO in S105), the drawing command generation unit 100 performs division processing on the corrected display range to perform 4 Four post-correction division ranges are generated, and division processing is performed on the correction target range 60 to generate four division ranges (S108). Hereinafter, the processing content of S108 will be described in detail.
最初に、描画コマンド生成部100は、図10に示すように、補正後表示範囲70を4分割して、4つの補正後分割範囲を生成する。具体的には、描画コマンド生成部100は、補正後表示範囲70の上辺71、下辺72、右辺73、左辺74の各々の中点を検出する。図10において、中点71mが上辺71の中点になり、中点72mが下辺72の中点になり、中点73mが右辺73の中点であり、中点74mが左辺74の中点である。 First, as shown in FIG. 10, the drawing command generation unit 100 divides the corrected display range 70 into four to generate four corrected divided ranges. Specifically, the drawing command generation unit 100 detects the midpoint of each of the upper side 71, the lower side 72, the right side 73, and the left side 74 of the corrected display range 70. In FIG. 10, the midpoint 71m is the midpoint of the upper side 71, the midpoint 72m is the midpoint of the lower side 72, the midpoint 73m is the midpoint of the right side 73, and the midpoint 74m is the midpoint of the left side 74. is there.
続いて、描画コマンド生成部100は、補正後表示範囲70において対辺の関係にある2辺の中点同士を繋いだ直線を設定する。つまり、上辺71と下辺72との間にてこれら各辺の中点同士を繋いだ直線h3と、左辺74と右辺73との間にてこれら各辺の中点同士を繋いだ直線h4とが設定される。これに加えて、描画コマンド生成部100は、直線h3と直線h4との交点70kを検出するようになっている。なお、図10の交点70kは、S104にて求めた補正後表示範囲70の物理的重心に相当する。具体的には、図9Aの四角形TUVWを補正後表示範囲70とすると、図10の交点70kは図9Aの物理的重心Z2に対応し、図10の直線h3は図9Aの直線H3に相当し、図10の直線h4は図9Aの直線H4に対応する。つまり、描画コマンド生成部100は、S104にて補正後表示範囲70の物理的重心を求めた際の演算経過を記憶しておき、この演算経過を参照して、中点71m、72m、73m、74m、直線h3、h4、交点70kを検出するようになっていてもよい。 Subsequently, the drawing command generation unit 100 sets a straight line that connects the midpoints of the two sides that are opposite to each other in the corrected display range 70. That is, a straight line h3 that connects the midpoints of these sides between the upper side 71 and the lower side 72, and a straight line h4 that connects the midpoints of these sides between the left side 74 and the right side 73. Is set. In addition, the drawing command generation unit 100 detects an intersection 70k between the straight line h3 and the straight line h4. 10 corresponds to the physical center of gravity of the corrected display range 70 obtained in S104. Specifically, if the square TUUV in FIG. 9A is the corrected display range 70, the intersection 70k in FIG. 10 corresponds to the physical center of gravity Z2 in FIG. 9A, and the straight line h3 in FIG. 10 corresponds to the straight line H3 in FIG. The straight line h4 in FIG. 10 corresponds to the straight line H4 in FIG. 9A. That is, the drawing command generation unit 100 stores the calculation process when the physical center of gravity of the corrected display range 70 is obtained in S104, and refers to the calculation process, so that the midpoints 71m, 72m, 73m, 74m, straight lines h3 and h4, and intersection 70k may be detected.
つぎに、描画コマンド生成部100は、図10に示すように、補正後表示範囲70の4つの頂点75〜78、中点71m、72m、73m、74m、交点70kを用いて、補正後表示範囲70を4つの補正後分割範囲に分割する。具体的には、補正後表示範囲70の右上頂点75と中点71mと中点73mと交点70kとを頂点とする四角形からなる補正後分割範囲70aと、補正後表示範囲70の右下頂点76と中点73mと中点72mと交点70kとを頂点とする四角形からなる補正後分割範囲70bと、補正後表示範囲70の左下頂点77と中点72mと中点74mと交点70kとを頂点とする四角形からなる補正後分割範囲70cと、補正後表示範囲70の左上頂点78と中点74mと中点71mと交点70kとを頂点とする四角形からなる補正後分割範囲70dとが生成される。 Next, as shown in FIG. 10, the drawing command generation unit 100 uses the four vertices 75 to 78 of the corrected display range 70, the midpoints 71 m, 72 m, 73 m, and 74 m, and the intersection 70 k to correct the corrected display range. 70 is divided into four post-correction division ranges. Specifically, a corrected divided range 70a composed of a quadrangle having an upper right vertex 75, a middle point 71m, a middle point 73m, and an intersection 70k as vertices in the corrected display range 70, and a lower right vertex 76 in the corrected display range 70. And a corrected divided range 70b made up of a quadrangle having a vertex at a middle point 73m, a middle point 72m, and an intersection 70k, and a lower left vertex 77, a middle point 72m, a middle point 74m, and an intersection 70k as a vertex. And a post-correction divided range 70d composed of a quadrangle whose vertexes are the upper left vertex 78, the middle point 74m, the middle point 71m, and the intersection point 70k of the corrected display range 70.
つまり、補正後表示範囲70は、(1)上辺71と、右辺73と、直線h4と、直線h3とに囲まれる補正後分割範囲70aと、(2)右辺73と、下辺72と、直線h4と、直線h3とに囲まれる補正後分割範囲70bと、(3)下辺72と、左辺74と、直線h4と、直線h3とに囲まれる補正後分割範囲70cと、(4)左辺74と、上辺71と、直線h4と、直線h3とに囲まれる補正後分割範囲70dとに分割されるようになっている。 That is, the corrected display range 70 includes (1) a corrected divided range 70a surrounded by the upper side 71, the right side 73, the straight line h4, and the straight line h3, and (2) the right side 73, the lower side 72, and the straight line h4. And a post-correction divided range 70b surrounded by a straight line h3, (3) a lower side 72, a left side 74, a straight line h4, a post-correction divided range 70c surrounded by a straight line h3, and (4) a left side 74, It is divided into a post-correction division range 70d surrounded by the upper side 71, the straight line h4, and the straight line h3.
以上のようにして補正後表示範囲70が4分割されて補正後分割範囲70a〜70dが生成された後、描画コマンド生成部100は、補正対象範囲60を4分割して、4つの分割範囲を生成する。具体的には以下の通りである。 After the corrected display range 70 is divided into four and the corrected divided ranges 70a to 70d are generated as described above, the drawing command generation unit 100 divides the correction target range 60 into four, and sets the four divided ranges. Generate. Specifically, it is as follows.
まず、描画コマンド生成部100は、S104にて第1誤差情報を生成するために使用した行列A(補正対象範囲60を補正後表示範囲70に射影変換する歪み補正行列)を記憶部14から読み出し、行列Aの逆行列を求める。行列Aの逆行列は以降の処理でも用いるため、描画コマンド生成部100は、行列Aの逆行列を行列Bとして記憶部14に記憶しておく。 First, the drawing command generation unit 100 reads out from the storage unit 14 the matrix A (distortion correction matrix for projectively converting the correction target range 60 to the corrected display range 70) used for generating the first error information in S104. The inverse matrix of matrix A is obtained. Since the inverse matrix of the matrix A is used in the subsequent processes, the drawing command generation unit 100 stores the inverse matrix of the matrix A as the matrix B in the storage unit 14.
続いて、描画コマンド生成部100は、補正後表示範囲70の中点71m、72m、73m、74m、および、交点70kの5つの点に対して前記行列Bにて座標変換を行うことにより、点61m、62m、63m、64m、60kを求める(図10参照)。点61mは中点71mの変換結果であり、点62mは中点72mの変換結果であり、点63mは中点73mの変換結果であり、点64mは中点74mの変換結果であり、点60kは交点70kの変換結果である。つまり、点61m、62m、63m、64m、60kは、夫々、補正対象範囲60から補正後表示範囲70へ射影変換される前の中点71m、72m、73m、74m、交点70kの位置に対応している。なお、点61m、62m、63m、64m、60kは、補正対象範囲60が示される撮影画像(処理対象)上の1画素と一致する位置に変換されるとも限らないため、これらの座標値は、整数値とならない場合もあるが、整数化せずに少数のまま用いられる。 Subsequently, the drawing command generation unit 100 performs coordinate conversion using the matrix B on the five points of the midpoints 71m, 72m, 73m, 74m, and the intersection 70k after the corrected display range 70, thereby changing the point. 61 m, 62 m, 63 m, 64 m, and 60 k are obtained (see FIG. 10). Point 61m is the conversion result of midpoint 71m, point 62m is the conversion result of midpoint 72m, point 63m is the conversion result of midpoint 73m, point 64m is the conversion result of midpoint 74m, and point 60k Is the conversion result of the intersection 70k. That is, the points 61m, 62m, 63m, 64m, and 60k correspond to the positions of the midpoints 71m, 72m, 73m, 74m, and the intersection 70k before the projective transformation from the correction target range 60 to the corrected display range 70, respectively. ing. Note that the points 61m, 62m, 63m, 64m, and 60k are not necessarily converted to positions that coincide with one pixel on the captured image (processing target) in which the correction target range 60 is shown. Although it may not be an integer value, it is used as a small number without being converted to an integer.
なお、点61mは、辺61の中点上に位置するとは限らない。同様に、点62mは、下辺62の中点上に位置するとは限らない。また同様に、点63mは、右辺63の中点上に位置するとは限らない。また同様に、点64mは、左辺64の中点上に位置するとは限らない。また、点60kは、補正対象範囲60の物理的重心と一致するとは限らない。 The point 61m is not necessarily located on the midpoint of the side 61. Similarly, the point 62m is not necessarily located on the midpoint of the lower side 62. Similarly, the point 63m is not necessarily located on the midpoint of the right side 63. Similarly, the point 64m is not necessarily located on the midpoint of the left side 64. Further, the point 60k does not necessarily coincide with the physical center of gravity of the correction target range 60.
続いて、描画コマンド生成部100は、図10に示すように、補正対象範囲60の4つの頂点65〜68、点61m、62m、63m、64m、60kを用いて、補正対象範囲60を4つの分割範囲に分割する。 Subsequently, as illustrated in FIG. 10, the drawing command generation unit 100 uses the four vertices 65 to 68 and the points 61 m, 62 m, 63 m, 64 m, and 60 k of the correction target range 60 to generate four correction target ranges 60. Divide into division ranges.
具体的には、補正対象範囲60は、補正対象範囲60の右上頂点65と点61mと点63mと点60kとを頂点とする四角形からなる分割範囲60aと、補正対象範囲60の右下頂点66と点63mと点62mと点60kとを頂点とする四角形からなる分割範囲60bと、補正対象範囲60の左下頂点67と点62mと点64mと点60kとを頂点とする四角形からなる分割範囲60cと、補正対象範囲60の左上頂点68と点64mと点61mと点70kとを頂点とする四角形からなる分割範囲60dとに分割される。 Specifically, the correction target range 60 includes a divided range 60 a formed of a quadrangle having the upper right vertex 65, the point 61 m, the point 63 m, and the point 60 k as vertices, and the lower right vertex 66 of the correction target range 60. , A divided range 60b composed of a quadrangle with points 63m, 62m, and 60k as vertices, and a divided range 60c composed of a quadrangle with vertices at the lower left vertex 67, points 62m, 64m, and 60k of the correction target range 60. And the upper left vertex 68 of the correction target range 60, the point 64m, the point 61m, and the point 70k are divided into a divided range 60d composed of a quadrangle.
S108の後、描画コマンド生成部100は、4つの分割範囲60a〜60dのうちのいずれか一つを処理対象として選択する。そして、描画コマンド生成部100は、処理対象として選択した分割範囲について第2誤差情報(第2差情報)を算出する(S109)。第2誤差情報は、第1誤差情報と同様に補正誤差を示した値であるが、対象を補正対象範囲ではなく分割範囲としている点で第1誤差情報と異なる。つまり、第2誤差情報は、射影変換によって分割範囲を歪み補正する場合に対して前記射影変換をアフィン変換に限定して歪み補正する場合の誤差(補正誤差)を示した値である(言い換えると、第2誤差情報は、分割範囲を射影変換にて歪み補正する場合とアフィン変換にて歪み補正する場合との差を示した値ともいえる)。以下、S109の処理を具体的に説明する。 After S108, the drawing command generation unit 100 selects any one of the four divided ranges 60a to 60d as a processing target. Then, the drawing command generation unit 100 calculates second error information (second difference information) for the divided range selected as the processing target (S109). The second error information is a value indicating a correction error like the first error information, but differs from the first error information in that the target is not a correction target range but a divided range. That is, the second error information is a value indicating an error (correction error) when correcting the distortion by limiting the projection transformation to the affine transformation in contrast to correcting the division range by the projective transformation (in other words, The second error information can be said to be a value indicating a difference between the case where the division range is subjected to distortion correction by projective transformation and the case where distortion is corrected by affine transformation. Hereinafter, the process of S109 will be specifically described.
例えば、描画コマンド生成部100は、図10の補正対象範囲60から分割される4つの分割範囲60a〜60dのうち、最も右側且つ最も上側の分割範囲60aを処理対象として選択したものとする。この場合、描画コマンド生成部100は、補正後表示範囲70から分割される4つの補正後分割範囲70a〜70dのうち、処理対象となる分割範囲60aに対応する補正後分割範囲70aを抽出する。つまり、描画コマンド生成部100は、補正対象範囲60に対する分割範囲60aの位置関係(最も右側且つ最も上側の分割範囲)を参照し、補正後表示範囲70の4つの補正後分割範囲70a〜70dのうち、補正後表示範囲70に対して前記の位置関係と同様の位置関係を有する補正後分割範囲70aを抽出するようになっている。 For example, it is assumed that the drawing command generation unit 100 selects the rightmost and uppermost divided range 60a as the processing target among the four divided ranges 60a to 60d divided from the correction target range 60 of FIG. In this case, the drawing command generation unit 100 extracts the corrected divided range 70a corresponding to the divided range 60a to be processed from the four corrected corrected ranges 70a to 70d divided from the corrected display range 70. That is, the drawing command generation unit 100 refers to the positional relationship of the divided range 60a with respect to the correction target range 60 (the rightmost and uppermost divided range), and includes the four corrected divided ranges 70a to 70d of the corrected display range 70. Among them, the post-correction divided range 70a having the same positional relationship as the above-described positional relationship with respect to the corrected display range 70 is extracted.
そして、描画コマンド生成部100は、分割範囲60aの物理的重心の座標値と、補正後分割範囲70aの物理的重心の座標値とを求める。例えば図9Aの四角形PQRSを分割範囲60aとし、四角形TUVWを補正後分割範囲70aとすると、図9AのZ1が分割範囲60aの物理的重心となり、図9AのZ2が補正後分割範囲70aの物理的重心となる。さらに、描画コマンド生成部100は、記憶部14に記憶されている行列Aを用いて、分割範囲60aの物理的重心を移動させた後の位置(移動後位置)の座標値を求めるようになっている。 Then, the drawing command generation unit 100 obtains the coordinate value of the physical centroid of the divided range 60a and the coordinate value of the physical centroid of the corrected divided range 70a. For example, if the quadrangle PQRS in FIG. 9A is the divided range 60a and the quadrangle TUWW is the corrected divided range 70a, Z1 in FIG. 9A becomes the physical center of gravity of the divided range 60a, and Z2 in FIG. 9A is the physical in the corrected divided range 70a. Become the center of gravity. Further, the drawing command generation unit 100 uses the matrix A stored in the storage unit 14 to obtain the coordinate value of the position (post-movement position) after moving the physical center of gravity of the divided range 60a. ing.
そして、描画コマンド生成部100は、分割範囲60aについての第2誤差情報として、補正後分割範囲70a(目標範囲)の物理的重心(重心位置)と、分割範囲60aの物理的重心(重心位置)を行列Aによって移動させた後の移動後位置との距離を求める。 Then, the drawing command generation unit 100 uses the physical center of gravity (center of gravity position) of the corrected divided range 70a (target range) and the physical center of gravity (center of gravity position) of the divided range 60a as the second error information regarding the divided range 60a. Is moved by the matrix A, and the distance from the post-movement position is obtained.
以上のようにして第2誤差情報が算出された後(S109)、描画コマンド生成部100は、S109にて求めた第2誤差情報に対して閾値処理を行うことにより、処理対象の分割範囲60aについての補正誤差が許容範囲内か否かを判定する(S110)。S110の閾値処理は、S105の閾値処理と同様であり、閾値も同値であるとする。つまり、第2誤差情報と予め設定されている閾値とを対比し、第2誤差情報が閾値未満であれば補正誤差が許容範囲内であると判定し、第2誤差情報が閾値以上であれば補正誤差が許容範囲内にないと判定するようになっている。 After the second error information is calculated as described above (S109), the drawing command generation unit 100 performs threshold processing on the second error information obtained in S109, thereby processing target divided range 60a. It is determined whether or not the correction error is within an allowable range (S110). The threshold processing in S110 is the same as the threshold processing in S105, and the threshold is also assumed to be the same value. That is, the second error information is compared with a preset threshold, and if the second error information is less than the threshold, it is determined that the correction error is within the allowable range, and if the second error information is equal to or greater than the threshold. It is determined that the correction error is not within the allowable range.
描画コマンド生成部100は、分割範囲60aについての補正誤差が許容範囲内であると判定する場合(S110にてYES)、現時点にて生成されている全ての分割範囲について第2誤差情報を算出済か否かを判定する(S111)。ここでは、図10Aに示される4つの分割範囲60a〜60dのうち分割範囲60aについてのみ第2誤差情報が算出済であるため、描画コマンド生成部100は、現時点にて生成されている全ての分割範囲について第2誤差情報を算出済でないと判定し(S111にてNO)、処理対象を、分割範囲60aから次の分割範囲(第2誤差情報を未算出の分割範囲)へ変更した上で(S112)、S109以降の処理を繰り返す。 When the drawing command generation unit 100 determines that the correction error for the divided range 60a is within the allowable range (YES in S110), the second error information has been calculated for all the divided ranges generated at the present time. It is determined whether or not (S111). Here, since the second error information has been calculated only for the divided range 60a out of the four divided ranges 60a to 60d shown in FIG. 10A, the drawing command generation unit 100 performs all the divisions currently generated. It is determined that the second error information has not been calculated for the range (NO in S111), and the processing target is changed from the divided range 60a to the next divided range (the second error information is an uncalculated divided range) ( (S112), the process after S109 is repeated.
また、S110において、描画コマンド生成部100は、処理対象の分割範囲60aについての補正誤差が許容範囲内でないと判定する場合(S110にてNO)、S108に移行して、補正誤差が許容範囲内でない分割範囲60a(図10参照)と、この分割範囲60aに対応する補正後分割範囲70aとをさらに分割する。具体的には、図11に示すように、分割範囲60aから新たな4つの分割範囲60a1〜60a4が生成され、補正後分割範囲70aから新たな4つの補正後分割範囲70a1〜70a4が生成されるようになっている。 In S110, when the drawing command generation unit 100 determines that the correction error for the division range 60a to be processed is not within the allowable range (NO in S110), the process proceeds to S108 and the correction error is within the allowable range. The non-divided divided range 60a (see FIG. 10) and the corrected divided range 70a corresponding to the divided range 60a are further divided. Specifically, as illustrated in FIG. 11, four new divided ranges 60a1 to 60a4 are generated from the divided range 60a, and four new corrected divided ranges 70a1 to 70a4 are generated from the corrected divided range 70a. It is like that.
S108における分割範囲60aおよび補正後分割範囲70aに対する分割の手法は、補正対象範囲60および補正後表示範囲70に対する分割の手法と同じである(分割対象が補正対象範囲60および補正後表示範囲70から分割範囲60aおよび補正後分割範囲70aに代るだけで、処理内容は同じである)。 The division method for the division range 60a and the corrected division range 70a in S108 is the same as the division method for the correction target range 60 and the corrected display range 70 (the division target is from the correction target range 60 and the corrected display range 70). The processing contents are the same except that the divided range 60a and the corrected divided range 70a are replaced.
つまり、図11に示される分割範囲60aおよび補正後分割範囲70aの分割手法は以下の通りである。まず、描画コマンド生成部100は、図11に示されるように、補正後分割範囲70aの上辺の中点171m、補正後分割範囲70aの下辺の中点172m、補正後分割範囲70aの右辺の中点173m、補正後分割範囲70aの左辺の中点174mを設定する。 That is, the division method of the divided range 60a and the corrected divided range 70a shown in FIG. 11 is as follows. First, as shown in FIG. 11, the drawing command generation unit 100 includes a midpoint 171m of the upper side of the corrected divided range 70a, a midpoint 172m of the lower side of the corrected divided range 70a, and a right side of the corrected divided range 70a. A point 173m and a midpoint 174m on the left side of the post-correction divided range 70a are set.
また、描画コマンド生成部100は、補正後分割範囲70aにおいて対辺の関係にある2辺の中点同士を繋いだ直線を設定する。具体的には、中点171mと中点172mとを繋いだ直線h13と、中点173mと中点174mとを繋いだ直線h14とが設定される。また、描画コマンド生成部100は、直線h13と直線h14との交点170k(補正後分割範囲70aの物理的重心)を検出する。 In addition, the drawing command generation unit 100 sets a straight line that connects the midpoints of the two sides that are opposite to each other in the corrected divided range 70a. Specifically, a straight line h13 connecting the midpoint 171m and the midpoint 172m and a straight line h14 connecting the midpoint 173m and the midpoint 174m are set. In addition, the drawing command generation unit 100 detects an intersection 170k between the straight line h13 and the straight line h14 (physical center of gravity of the corrected divided range 70a).
続いて、描画コマンド生成部100は、図11に示すように、補正後分割範囲70aの4つの頂点、中点171m、172m、173m、174m、交点170kを用いて、補正後分割範囲70aを4つの補正後分割範囲70a1〜70a4に分割する。具体的には、補正後分割範囲70aの右上頂点(符号75)と中点171mと中点173mと交点170kとを頂点とする四角形からなる補正後分割範囲70a1と、補正後分割範囲70aの右下頂点(符号73m)と中点173mと中点172mと交点170kとを頂点とする四角形からなる補正後分割範囲70a2と、補正後分割範囲70aの左下頂点(符号70k)と中点172mと中点174mと交点170kとを頂点とする四角形からなる補正後分割範囲70a3と、補正後表示範囲70の左上頂点(符号71m)と中点174mと中点171mと交点170kとを頂点とする四角形からなる補正後分割範囲70a4とが生成される。 Subsequently, as illustrated in FIG. 11, the drawing command generation unit 100 uses the four vertices of the corrected divided range 70a, the midpoints 171m, 172m, 173m, 174m, and the intersection 170k to generate four corrected corrected ranges 70a. This is divided into two post-correction division ranges 70a1 to 70a4. Specifically, a corrected divided area 70a1 composed of a quadrangle having apexes at the upper right vertex (reference numeral 75), the midpoint 171m, the midpoint 173m, and the intersection 170k of the corrected divided area 70a, and the right of the corrected divided area 70a. A corrected divided range 70a2 composed of a quadrangle having a lower vertex (reference numeral 73m), a middle point 173m, a middle point 172m, and an intersection point 170k, and a lower left vertex (reference numeral 70k) and a middle point 172m of the corrected divided area 70a. From a post-correction divided range 70a3 composed of a quadrangle having a point 174m and an intersection 170k as vertices, and a quadrangle having a vertex at the upper left vertex (reference numeral 71m), the midpoint 174m, the midpoint 171m, and the intersection 170k having a vertex A post-correction divided range 70a4 is generated.
以上のようにして補正後分割範囲70aが4分割されて補正後分割範囲70a1〜70a4が生成された後、分割範囲60aが4分割されて4つの分割範囲60a1〜60a4が生成される。具体的には以下の通りである。 As described above, the post-correction division range 70a is divided into four to generate post-correction division ranges 70a1 to 70a4, and then the division range 60a is divided into four to generate four division ranges 60a1 to 60a4. Specifically, it is as follows.
まず、描画コマンド生成部100は、補正後分割範囲70aの中点171m、172m、173m、174m、および、交点170kの5つの点に対して、記憶部14に記憶されている行列Bにて座標変換を行うことにより、点161m、162m、163m、164m、160kを求める(図11参照)。点161mは中点171mの変換結果であり、点162mは中点172mの変換結果であり、点163mは中点173mの変換結果であり、点164mは中点174mの変換結果であり、点160kは交点170kの変換結果である。つまり、点161m、162m、163m、164m、160kは、夫々、分割範囲60aから補正後分割範囲70aへ射影変換される前の中点171m、172m、173m、174m、交点170kの位置に対応している。なお、図11では、説明の便宜上、点161m〜164mは、分割範囲60aの辺上の中点に位置しているが、分割範囲60aの辺上の中点に位置するとは限らないことは、図10の補正対象範囲60の場合と同様である。また、点160kが分割範囲60aの物理的重心に位置するとは限らない点も図10の補正対象範囲60の場合と同様である。 First, the drawing command generation unit 100 uses the matrix B stored in the storage unit 14 to coordinate the five points of the midpoints 171m, 172m, 173m, 174m, and the intersection 170k after the corrected divided range 70a. By performing the conversion, points 161m, 162m, 163m, 164m, and 160k are obtained (see FIG. 11). Point 161m is the conversion result of midpoint 171m, point 162m is the conversion result of midpoint 172m, point 163m is the conversion result of midpoint 173m, point 164m is the conversion result of midpoint 174m, and point 160k Is the conversion result of the intersection 170k. That is, the points 161m, 162m, 163m, 164m, and 160k correspond to the positions of the midpoints 171m, 172m, 173m, 174m, and the intersection point 170k before projective transformation from the division range 60a to the post-correction division range 70a, respectively. Yes. In FIG. 11, for convenience of explanation, the points 161m to 164m are located at the midpoint on the side of the divided range 60a, but are not necessarily located at the midpoint on the side of the divided range 60a. This is similar to the case of the correction target range 60 in FIG. Further, the point 160k is not necessarily located at the physical center of gravity of the divided range 60a, as in the case of the correction target range 60 in FIG.
続いて、描画コマンド生成部100は、図11に示すように、分割範囲60aの4つの頂点、点161m、162m、163m、164m、160kを用いて、分割範囲60aを4つの分割範囲60a1〜60a4に分割する。 Subsequently, as illustrated in FIG. 11, the drawing command generation unit 100 uses the four vertices 161m, 162m, 163m, 164m, and 160k of the divided range 60a to divide the divided range 60a into the four divided ranges 60a1 to 60a4. Divide into
具体的には、分割範囲60aは、分割範囲60aの右上頂点(符号65)と点161mと点163mと点160kとを頂点とする四角形からなる分割範囲60a1と、分割範囲60aの右下頂点(符号63m)と点163mと点162mと点160kとを頂点とする四角形からなる分割範囲60a2と、分割範囲60aの左下頂点(符号60k)と点62mと点64mと点160kとを頂点とする四角形からなる分割範囲60a3と、分割範囲60aの左上頂点(符号61m)と点164mと点161mと点160kとを頂点とする四角形からなる分割範囲60a4とに分割される。 Specifically, the division range 60a includes a division range 60a1 composed of a quadrangle having apexes at the upper right vertex (reference numeral 65) of the division range 60a, the points 161m, 163m, and 160k, and the lower right vertex of the division range 60a ( 63m), a division range 60a2 composed of a quadrangle having points 163m, 162m, and 160k as vertices, and a quadrangle having vertices at the lower left vertex (reference 60k), points 62m, 64m, and 160k of the division range 60a. Is divided into a divided range 60a4, and a divided range 60a4 made of a quadrangle having apexes at the upper left vertex (reference numeral 61m), the point 164m, the point 161m, and the point 160k of the divided range 60a.
このようにして、補正後分割範囲70aおよび分割範囲60aに対するさらなる分割が行われて、新たな補正後分割範囲70a1〜70a4および分割範囲60a1〜60a4が生成される。 In this way, further division is performed on the post-correction division range 70a and the division range 60a, and new post-correction division ranges 70a1 to 70a4 and division ranges 60a1 to 60a4 are generated.
描画コマンド生成部100は、以上のようにして新たな分割範囲および補正後分割範囲を生成すると(S108)、現時点で生成されている全ての分割範囲のうち、第2誤差情報が未算出の分割範囲を処理対象として定め、S109以降の処理を繰り返すようになっている。 When the drawing command generation unit 100 generates a new division range and a corrected division range as described above (S108), the division in which the second error information is not calculated among all the division ranges generated at the present time. The range is set as a processing target, and the processing after S109 is repeated.
そして、S111において、描画コマンド生成部100は、現時点で生成されている全ての分割範囲について第2誤差情報を算出済であると判定する場合、処理をS113に移行させる。なお、S111の時点で生成されている全ての分割範囲について第2誤差情報を算出済であるということは、S111の時点で生成されている全ての分割範囲の補正誤差は許容範囲内と判定されたことになる。 In S111, when the drawing command generation unit 100 determines that the second error information has been calculated for all the divided ranges generated at the present time, the drawing command generation unit 100 shifts the processing to S113. The fact that the second error information has been calculated for all the divided ranges generated at the time of S111 means that the correction errors of all the divided ranges generated at the time of S111 are within the allowable range. That's right.
つぎに、S113について説明する。S113において、描画コマンド生成部100は、これまでに生成された分割範囲を2つの部分領域にさらに分割する処理を行う。この処理を以下詳細に説明する。 Next, S113 will be described. In S113, the drawing command generation unit 100 performs a process of further dividing the division range generated so far into two partial areas. This process will be described in detail below.
例えば、これまでに生成された分割範囲は図10に示されるように4つであり、そのうちの一つが分割範囲60aであるものとする。ここで、描画コマンド生成部100は、図12に示すように、分割範囲60aについて一本の対角線を設定し、分割範囲60aを、対角線を挟んで互いに対向する部分領域60aaと部分領域60abとに分割する。ここで、対角線は、左上頂点と右下頂点とを結ぶ直線と、右上頂点と左下頂点とを結ぶ直線とのいずれであってもよいが、本実施形態では左上頂点と右下頂点とを結ぶ直線に設定される。 For example, it is assumed that the division ranges generated so far are four as shown in FIG. 10, and one of them is the division range 60a. Here, as shown in FIG. 12, the drawing command generation unit 100 sets one diagonal line for the divided range 60a, and the divided range 60a is divided into a partial area 60aa and a partial area 60ab that face each other across the diagonal line. To divide. Here, the diagonal line may be any of a straight line connecting the upper left vertex and the lower right vertex and a straight line connecting the upper right vertex and the lower left vertex, but in this embodiment, the upper left vertex and the lower right vertex are connected. Set to a straight line.
つまり、分割範囲60aは、図12に示すように、分割範囲60aの対角線と分割範囲60aの上辺と分割範囲60aの右辺とからなる三角形である部分領域60aaと、前記の対角線と分割範囲60aの下辺と分割範囲60aの左辺とからなる三角形である部分領域60abとに分割される。 That is, as shown in FIG. 12, the divided range 60a includes a partial area 60aa that is a triangle formed by the diagonal line of the divided range 60a, the upper side of the divided range 60a, and the right side of the divided range 60a, and the diagonal line and the divided range 60a. It is divided into a partial area 60ab which is a triangle composed of the lower side and the left side of the division range 60a.
そして、描画コマンド生成部100は、分割範囲60aのみならず、他の各分割範囲についても同様に2つの部分領域に分割する。したがって、図10に示される4つの分割領域(四角形)は、図13に示されるように8つの部分領域(三角形)に分割されることになる。 The drawing command generation unit 100 divides not only the divided range 60a but also other divided ranges into two partial areas in the same manner. Therefore, the four divided regions (squares) shown in FIG. 10 are divided into eight partial regions (triangles) as shown in FIG.
また、描画コマンド生成部100は、図10に示される4つの補正後分割範囲についても、4つの分割範囲と同様に、2つの補正後部分領域に分割する。つまり、分割範囲60aに対応する補正後分割範囲70aは、図12に示すように、左上頂点と右下頂点とを結ぶ対角線と補正後分割範囲70aの上辺と補正後分割範囲70aの右辺とからなる三角形である補正後部分領域70aaと、前記の対角線と補正後分割範囲70aの下辺と補正後分割範囲70aの左辺とからなる三角形である補正後部分領域70abとに分割される。また、補正後分割範囲70aのみならず、他の各補正後分割範囲についても同様に2つの部分領域に分割される。したがって、図10に示される4つの補正後分割領域(四角形)は、図13に示されるように8つの補正後部分領域(三角形)に分割されることになる。 In addition, the drawing command generation unit 100 also divides the four corrected divided ranges shown in FIG. 10 into two corrected partial regions in the same manner as the four divided ranges. That is, as shown in FIG. 12, the corrected divided range 70a corresponding to the divided range 60a includes a diagonal line connecting the upper left vertex and the lower right vertex, the upper side of the corrected divided range 70a, and the right side of the corrected divided range 70a. The corrected partial area 70aa, which is a triangle, and the corrected partial area 70ab, which is a triangle including the diagonal line, the lower side of the corrected divided area 70a, and the left side of the corrected divided area 70a. Further, not only the post-correction division range 70a but also the other post-correction division ranges are similarly divided into two partial areas. Therefore, the four corrected divided areas (rectangles) shown in FIG. 10 are divided into eight corrected partial areas (triangles) as shown in FIG.
図13に示すように部分領域および補正後部分領域が設定された後、描画コマンド生成部100は、全ての部分領域のうちのいずれか一つの部分領域を処理対象として選択する。例えば、図12に示される部分領域60abが処理対象として選択されたものとする。 After the partial area and the corrected partial area are set as shown in FIG. 13, the drawing command generation unit 100 selects any one of the partial areas as a processing target. For example, it is assumed that the partial area 60ab shown in FIG. 12 is selected as a processing target.
続いて、描画コマンド生成部100は、処理対象の部分領域について、撮影画像を表示する際にマスク領域(非表示領域)とする範囲を指定する(S114)。S114では、描画コマンド生成部100は、処理対象の部分領域60abに対応する補正後部分領域70abよりも外側の範囲をマスク領域として指定する。 Subsequently, the drawing command generation unit 100 specifies a range to be a mask area (non-display area) when displaying a captured image for the partial area to be processed (S114). In S114, the drawing command generation unit 100 designates a range outside the corrected partial area 70ab corresponding to the partial area 60ab to be processed as a mask area.
S114の後、描画コマンド生成部100は、処理対象の部分領域60abに対する描画コマンドを生成する(S115)。具体的には、以下の通りである。 After S114, the drawing command generation unit 100 generates a drawing command for the partial area 60ab to be processed (S115). Specifically, it is as follows.
まず、描画コマンド生成部100は、処理対象の部分領域60abを用いてアフィン変換用の歪み補正行列を求める。具体的には、以下のようにして歪み補正行列を求める。三角形の部分領域60abからアフィン変換用の歪み補正行列を求めるためには、まず、三角形の部分領域60abを含む平行四辺形を設定する必要がある。具体的には、以下の通りである。 First, the drawing command generation unit 100 obtains a distortion correction matrix for affine transformation using the partial area 60ab to be processed. Specifically, a distortion correction matrix is obtained as follows. In order to obtain a distortion correction matrix for affine transformation from the triangular partial region 60ab, it is first necessary to set a parallelogram including the triangular partial region 60ab. Specifically, it is as follows.
描画コマンド生成部100は、三角形の部分領域60abをなす3つの辺のうち(図12参照)、分割範囲60aの対角線に相当する辺以外の第1の辺および第2の辺を抽出し、この第1の辺および第2の辺と、第1の辺に平行な辺と、第2の辺に平行な辺とからなる平行四辺形を設定する。なお、図12において、前記第1の辺は分割範囲60aの左辺であり、前記第2の辺は分割範囲60aの下辺であり、前記第1の辺に平行な辺は破線Jであり、前記第2の辺に平行な辺は破線Kである。 The drawing command generation unit 100 extracts the first side and the second side other than the side corresponding to the diagonal line of the divided range 60a out of the three sides forming the triangular partial region 60ab (see FIG. 12). A parallelogram composed of a first side and a second side, a side parallel to the first side, and a side parallel to the second side is set. In FIG. 12, the first side is the left side of the division range 60a, the second side is the lower side of the division range 60a, the side parallel to the first side is the broken line J, A side parallel to the second side is a broken line K.
そして、描画コマンド生成部100は、以上のようにして部分領域60abから設定した平行四辺形の4つの頂点の座標値を変換前座標値とし、部分領域60abに対応する補正後部分領域70aaが属する補正後分割範囲70aの4つの頂点の座標値を変換後座標値として、アフィン変換の歪み補正行列を求める。 Then, the drawing command generation unit 100 uses the coordinate values of the four vertices of the parallelogram set from the partial area 60ab as described above as coordinate values before conversion, and the corrected partial area 70aa corresponding to the partial area 60ab belongs to it. Using the coordinate values of the four vertices of the post-correction divided range 70a as the post-conversion coordinate values, a distortion correction matrix for affine transformation is obtained.
歪み補正行列が求められた後、描画コマンド生成部100は、部分領域60abに対する描画コマンドを生成する。具体的には、描画コマンド生成部100は、部分領域60abから求めた歪み補正行列に応じたアフィン変換を画像データに施し、S114にて指定したマスク領域(補正後部分領域70abより外側の範囲)を非表示にした上で(マスク領域を隠す)、表示処理を行うようにコンピュータを制御する描画コマンドを生成する(S115)。 After the distortion correction matrix is obtained, the drawing command generation unit 100 generates a drawing command for the partial region 60ab. Specifically, the drawing command generation unit 100 performs affine transformation corresponding to the distortion correction matrix obtained from the partial region 60ab on the image data, and specifies the mask region specified in S114 (range outside the corrected partial region 70ab). Is hidden (the mask area is hidden), and a drawing command for controlling the computer to perform display processing is generated (S115).
S115の後、描画コマンド生成部100は、全ての部分領域に対して描画コマンドを生成したか否かを判定する(S116)。 After S115, the drawing command generation unit 100 determines whether drawing commands have been generated for all partial areas (S116).
全ての部分領域に対して描画コマンドを生成していない場合(S116にてNO)、描画コマンド生成部100は、処理対象を、部分領域60abから次の部分領域(描画コマンドを生成していない部分領域)へ変更した上で(S117)、S114以降の処理を繰り返す。 When drawing commands have not been generated for all partial areas (NO in S116), the drawing command generation unit 100 selects the next partial area from the partial area 60ab (the part that has not generated a drawing command) as the processing target. After changing to (region) (S117), the processing after S114 is repeated.
そして、全ての部分領域に対して描画コマンドの生成が完了した場合(S116にてYES)、S116からS120に移行する。S120では、フォーマット化処理部101は、歪み補正行列による処理が施されていない撮影画像の画像データを埋め込んだPDFファイルを作成し、描画コマンド生成部100は、部分領域毎に生成した描画コマンドを全てPDFファイルに付加するようになっている。その後、このPDFファイルは記憶部14に保存される。 If the generation of the drawing command is completed for all the partial areas (YES in S116), the process proceeds from S116 to S120. In S120, the formatting processing unit 101 creates a PDF file in which image data of a captured image that has not been processed by the distortion correction matrix is created, and the drawing command generating unit 100 generates a drawing command generated for each partial area. All are added to the PDF file. Thereafter, the PDF file is stored in the storage unit 14.
なお、図15は、S108〜S118を経由して得られたPDFファイルに埋め込まれる描画コマンドを示した模式図である。図15の(4)〜(6)は、ある部分領域に対する描画コマンドであり、図15の(7)〜(9)は、別の部分領域に対する描画コマンドである。(4)(7)は、マスク領域を非表示にすることを示しており、(5)(8)は、アフィン変換を示しており、(6)(9)は、画像の描画(表示処理)を示している。 FIG. 15 is a schematic diagram showing a drawing command embedded in the PDF file obtained through S108 to S118. (4) to (6) in FIG. 15 are drawing commands for a certain partial area, and (7) to (9) in FIG. 15 are drawing commands for another partial area. (4) and (7) indicate that the mask area is not displayed, (5) and (8) indicate affine transformation, and (6) and (9) indicate image drawing (display processing). ).
S108以降の処理を経由して生成されたPDFファイルを開く指示がユーザから入力されると、S115にて部分領域毎に生成された描画コマンドに応じた描画処理が行われることになる。例えば、当該PDFファイルを処理するコンピュータは、部分領域60aa(図12または図13参照)について設定された描画コマンドについて次のように処理を行うことになる。コンピュータは、部分領域60aaから設定された歪み補正行列を用いて画像データ(画像全体のデータ)にアフィン変換を施し、部分領域60aaに対応する補正後部分領域70aaより外側の範囲をマスクしつつ当該画像データの画像を表示する。このような処理が部分領域毎に生成された全ての描画コマンドについて行われる。これにより、図13の各部分領域の画像は各補正後部分領域の画像に座標変換され、全ての補正後部分領域の画像を合成した画像(補正後表示範囲70の画像)が表示されることになる。 When the user inputs an instruction to open the PDF file generated through the processing after S108, the drawing processing corresponding to the drawing command generated for each partial area in S115 is performed. For example, the computer that processes the PDF file processes the drawing command set for the partial area 60aa (see FIG. 12 or 13) as follows. The computer performs affine transformation on the image data (data of the entire image) using the distortion correction matrix set from the partial area 60aa, and masks the range outside the corrected partial area 70aa corresponding to the partial area 60aa. Displays an image of image data. Such processing is performed for all drawing commands generated for each partial area. As a result, the image of each partial area in FIG. 13 is coordinate-converted into an image of each corrected partial area, and an image obtained by combining all the corrected partial area images (image of the corrected display range 70) is displayed. become.
以上示した本実施形態のファイル生成処理によれば、補正対象範囲に対して単一の歪み補正行列を用いてアフィン変換を行うと補正誤差が大きくなってしまうような場合(つまり適切に歪み補正を行えない場合)、補正対象範囲を複数の部分領域に分割し、部分領域毎に歪み補正行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる(1つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、1つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる)。したがって、画像を表示する際にアフィン変換にて歪み補正を行うようになっているPDFファイルを生成する場合において、適切に歪み補正が行われるPDFファイルを生成できるのである。 According to the file generation process of the present embodiment described above, when affine transformation is performed on a correction target range using a single distortion correction matrix, a correction error increases (that is, distortion correction is appropriately performed). If the correction target range is divided into a plurality of partial areas and a distortion correction matrix is set for each partial area, it is possible to realize distortion correction with reduced correction errors (per one). By dividing and reducing the corresponding range in the distortion correction matrix, it is possible to reduce the correction error in the corresponding range with one distortion correction matrix and to suppress the correction error as a whole). Therefore, when generating a PDF file in which distortion correction is performed by affine transformation when displaying an image, a PDF file in which distortion correction is appropriately performed can be generated.
図19(a)は、図3の補正対象画像を射影変換によって歪み補正した出力画像であり、図19(b)は、図3の補正対象画像について本実施形態のファイル生成処理にて8つの部分領域に分割し、部分領域毎にアフィン変換によって歪み補正を行った出力画像である。図19に示すように、アフィン変換であっても、複数の部分領域に分割して部分領域毎に変換を行えば、射影変換の場合と遜色のない出力画像を得られることがわかる。 FIG. 19A shows an output image obtained by correcting the distortion of the correction target image of FIG. 3 by projective transformation. FIG. 19B shows the eight correction target images of FIG. It is an output image that is divided into partial areas and subjected to distortion correction by affine transformation for each partial area. As shown in FIG. 19, even in the case of affine transformation, it can be understood that an output image comparable to that in the case of projective transformation can be obtained by dividing into a plurality of partial regions and performing conversion for each partial region.
また、生成された四角形の分割範囲60aから歪み補正行列を求めてアフィン変換を施すと(図6と同様の手法で平行四辺形を設定して歪み補正行列を求める)、分割範囲の境界付近で歪みが大きくなるという不具合が生じることがある。これに対し、本実施形態では、四角形の分割範囲をさらに三角形に分割して、各三角形を部分領域として部分領域毎に歪み補正行列を求めることにより、以上のような不具合を抑制できるという効果がある。 Further, when a distortion correction matrix is obtained from the generated rectangular division range 60a and affine transformation is performed (a parallelogram is set by the same method as in FIG. 6 to obtain a distortion correction matrix), near the boundary of the division range. There may be a problem that distortion becomes large. On the other hand, in the present embodiment, the above-described inconvenience can be suppressed by further dividing the quadrangular division range into triangles and obtaining a distortion correction matrix for each partial area with each triangle as a partial area. is there.
また、本実施形態のS108〜S112によれば、描画コマンド生成部100は、分割処理にて生成される各分割範囲について第2誤差情報を求め、第2誤差情報に示される誤差が許容範囲内にない分割範囲を分割してさらに分割範囲を生成する処理を、全ての分割範囲において第2誤差情報の誤差が許容範囲内になるまで繰り返している。これにより、1つの歪み補正行列にて対応する範囲(部分領域)の補正誤差を許容範囲内に抑えることができ、且つ、全ての部分領域において補正誤差を許容範囲内に抑えるため、歪み補正を高精度に行うことができる。 Further, according to S108 to S112 of the present embodiment, the drawing command generation unit 100 obtains the second error information for each divided range generated by the dividing process, and the error indicated by the second error information is within the allowable range. The process of dividing the division range that is not present and generating further division ranges is repeated until the error of the second error information falls within the allowable range in all division ranges. As a result, the correction error of the corresponding range (partial region) in one distortion correction matrix can be suppressed within the allowable range, and the distortion correction is performed in order to suppress the correction error within the allowable range in all partial regions. It can be performed with high accuracy.
また、本実施形態によれば、PDFファイル生成時には、歪み補正行列を求めるものの、歪み補正行列を用いた補正(画素変換)までは行われないので、コンピュータの負荷を低減でき、速やかに画像ファイルを生成できるのである(歪み補正行列を求める処理は負荷が重くないが、画素変換は負荷が重い)。 Also, according to the present embodiment, when a PDF file is generated, a distortion correction matrix is obtained, but correction (pixel conversion) using the distortion correction matrix is not performed, so that the load on the computer can be reduced, and an image file can be quickly obtained. (The processing for obtaining the distortion correction matrix is not heavy, but pixel conversion is heavy).
また、本実施形態によれば、PDFファイルに埋め込まれる画像データは歪み補正前のデータ(元データ)であるため、歪み補正前のデータを残しておけるというメリットがある。すなわち、生成されたPDFファイルにおける歪み補正が適切でない場合、元データを用いてPDFファイルを再作成するといったことが可能になる。 Further, according to the present embodiment, since the image data embedded in the PDF file is data (original data) before distortion correction, there is an advantage that data before distortion correction can be left. That is, when the distortion correction in the generated PDF file is not appropriate, it is possible to recreate the PDF file using the original data.
また、本実施形態において、生成されたPDFファイルは一旦記憶部14に記憶されることになるが、当該PDFファイルは、記憶部14に一旦記憶された後、ユーザに指定される送信先に送信されるようになっていても勿論かまわない。なお、送信先としては、PDFファイルの画像を表示可能なアプリケーションがインストールされている装置であれば特に限定されない。すなわち、汎用のパソコン、各種携帯端末、サーバ装置、複合機等が挙げられる。 In the present embodiment, the generated PDF file is temporarily stored in the storage unit 14, but the PDF file is temporarily stored in the storage unit 14 and then transmitted to the transmission destination designated by the user. Of course, it doesn't matter if it comes to be. The transmission destination is not particularly limited as long as it is an apparatus in which an application capable of displaying an image of a PDF file is installed. That is, general-purpose personal computers, various portable terminals, server devices, multifunction devices, and the like can be given.
また、本実施形態では、S103において、定型の用紙サイズから補正後表示範囲70が選択されているが、定型の用紙サイズに限られるものではなく、例えばタッチパネル12を用いてユーザが任意の四角形を補正後表示範囲として設定するようになっていてもよい。 In this embodiment, the corrected display range 70 is selected from the standard paper size in S103. However, the display range 70 is not limited to the standard paper size. For example, the user uses the touch panel 12 to select an arbitrary rectangle. It may be set as a display range after correction.
また、本実施形態のファイル生成モードにて生成されたPDFファイルによれば、S108〜S116の処理を経由した場合には複数の部分領域が形成され、部分領域毎に設定される歪み補正行例に応じて部分領域毎に歪み補正が行われる。ここで、部分領域毎に設定される歪み補正行例に応じて部分領域毎に歪み補正が行われていることは、表示されている画像からではわからなくてもPDFファイルに記述されている描画コマンドを分析すれば明らかである。すなわち、図15に示すように、歪み補正やマスク指定に関する描画コマンドが部分領域毎に記述されている事が特定されれば、本実施形態のファイル生成モードにおけるS108〜S116の処理を経由して生成されたPDFファイルである事が明らかである。 Also, according to the PDF file generated in the file generation mode of the present embodiment, a plurality of partial areas are formed through the processing of S108 to S116, and distortion correction row examples set for each partial area Accordingly, distortion correction is performed for each partial region. Here, the fact that the distortion correction is performed for each partial area in accordance with the distortion correction row example set for each partial area is a drawing described in the PDF file even if it is not known from the displayed image. It is clear from analyzing the command. That is, as shown in FIG. 15, if it is specified that a drawing command related to distortion correction and mask designation is described for each partial area, the process proceeds from S108 to S116 in the file generation mode of this embodiment. It is clear that this is a generated PDF file.
〔実施形態2〕
実施形態1のS108〜S111によれば、全ての分割範囲において補正誤差が許容範囲になるまで分割処理が繰り返されるようになっているが、このような形態では、分割範囲および補正後分割範囲の数が多くなり過ぎることがあり、その場合はPDFファイルの画像を表示させる際に処理遅延が生じることになる。そこで、S108〜S111を採用するのではなく、S105の後、描画コマンド生成部100は、S104にて求めた第1誤差情報の補正誤差(距離d)に応じて分割範囲および補正後分割範囲の数を設定し、設定した数の分割範囲および補正後分割範囲を生成してS113に移行するようになっていてもよい。
[Embodiment 2]
According to S108 to S111 of the first embodiment, the division process is repeated until the correction error reaches the allowable range in all the divided ranges. In such a form, the divided ranges and the corrected divided ranges are not changed. The number may be too large, and in this case, a processing delay occurs when displaying an image of the PDF file. Therefore, instead of adopting S108 to S111, after S105, the drawing command generation unit 100 determines the division range and the corrected division range according to the correction error (distance d) of the first error information obtained in S104. The number may be set, the set number of divided ranges and the corrected divided ranges may be generated, and the process may proceed to S113.
例えば、描画コマンド生成部100は、図18(a)〜図18(c)に示すように、補正後表示範囲において対辺の関係にある2辺をn等分する分割用直線(破線)を生成し、この分割用直線に基づいて補正後表示範囲を分割するようになっている。 For example, as illustrated in FIGS. 18A to 18C, the drawing command generation unit 100 generates a dividing straight line (broken line) that equally divides two sides that are opposite to each other in the corrected display range. The corrected display range is divided based on the dividing straight line.
そして、第1誤差情報の補正誤差である距離dが1<d≦5の場合、図18(a)のようにn=2が設定される。この場合、実施形態1における1回目の分割処理と同様に処理が行われ、補正後表示範囲701が4分割され、補正対象範囲601も4分割される。但し、実施形態1では、場合によっては2回目の分割が行われるものの、ここでは2回目の分割は行われない。 When the distance d that is the correction error of the first error information is 1 <d ≦ 5, n = 2 is set as shown in FIG. In this case, processing is performed in the same manner as the first division processing in the first embodiment, the corrected display range 701 is divided into four, and the correction target range 601 is also divided into four. However, in the first embodiment, the second division is performed in some cases, but the second division is not performed here.
距離dが5<d≦10の場合、図18(b)のようにn=3が設定され、補正後表示範囲702が9個の補正後分割範囲へ分割される。また、この場合、補正後表示範囲702の各辺をn等分する分割用直線(破線)同士の交点、および、分割用直線(破線)と補正後表示範囲702の各辺との交点が、補正対象範囲602を補正後表示範囲702に射影変換するための歪み補正行列の逆行列によって座標変換される。図18の(b)の補正後表示範囲702上に示される黒丸箇所が逆行列による変換前の交点であり、図18の(b)の補正対象範囲602上に示される黒丸箇所が逆行列による変換後の交点である。 When the distance d is 5 <d ≦ 10, n = 3 is set as shown in FIG. 18B, and the corrected display range 702 is divided into nine corrected divided ranges. Also, in this case, the intersections of the dividing straight lines (broken lines) that divide each side of the corrected display range 702 into n equal parts, and the intersections of the dividing straight lines (broken lines) and the sides of the corrected display range 702 are: The coordinates are converted by the inverse matrix of the distortion correction matrix for projective conversion of the correction target range 602 to the corrected display range 702. A black circle portion shown on the corrected display range 702 in FIG. 18B is an intersection before conversion by an inverse matrix, and a black circle portion shown on the correction target range 602 in FIG. 18B is an inverse matrix. This is the intersection after conversion.
続いて、図18(b)に示すように、補正対象範囲602を分割することにより、補正後表示範囲702上の各補正後分割範囲に対応する各分割範囲を生成する。 Subsequently, as illustrated in FIG. 18B, the division range corresponding to each post-correction division range on the post-correction display range 702 is generated by dividing the correction target range 602.
具体的には、図18(b)の第1補正後分割範囲702aのように4つの頂点が全て前記交点(黒丸箇所)であれば、これら交点を前記逆行列で変換した各交点を各頂点とする四角形の第1分割範囲602aが第1補正後分割範囲702aに対応する分割範囲として形成される。 Specifically, if all four vertices are the intersections (black circles) as in the first corrected divided range 702a in FIG. 18B, the intersections obtained by transforming these intersections with the inverse matrix are the vertices. A rectangular first divided range 602a is formed as a divided range corresponding to the first corrected divided range 702a.
また、図18(b)の第2補正後分割範囲702bのように、1つの頂点が補正後表示範囲702の頂点(白丸箇所)と一致する場合、当該補正後表示範囲702の頂点と位置関係が同じである補正対象範囲602の頂点(白丸箇所)を1つの頂点とする第2分割範囲602bが第2補正後分割範囲702bに対応する分割範囲として形成される。
例えば、第2補正後分割範囲702bの1つの頂点が補正後表示範囲702の左下頂点と一致する場合、補正対象範囲602の左下頂点を1つの頂点とする第2分割範囲602bが形成される。なお、この場合、第2分割範囲602bの3つの頂点は、第2補正後分割範囲702bの3つの頂点(前記交点(黒丸箇所))を前記逆行列で変換して得られる点に一致する。
Also, as in the second corrected divided range 702b in FIG. 18B, when one vertex coincides with the vertex (white circle portion) of the corrected display range 702, the positional relationship with the vertex of the corrected display range 702 Is formed as a divided range corresponding to the second post-correction divided range 702b. The second divided range 602b has one vertex corresponding to the vertex (white circle portion) of the correction target range 602 having the same.
For example, when one vertex of the second corrected divided range 702b matches the lower left vertex of the corrected display range 702, the second divided range 602b having the lower left vertex of the correction target range 602 as one vertex is formed. In this case, the three vertices of the second divided range 602b coincide with the points obtained by converting the three vertices of the second corrected divided range 702b (the intersection (black circle)) with the inverse matrix.
このようにすれば、補正後表示範囲702上の各補正後分割範囲に対応する各分割範囲を形成できる。 In this way, each divided range corresponding to each corrected divided range on the corrected display range 702 can be formed.
また、距離dがd>10の場合、図18(c)のようにn=4が設定され、補正後表示範囲703が16個の補正後分割範囲へ分割される。また、この場合も、補正後表示範囲703の各辺をn等分する分割用直線(破線)同士の交点、および、分割用直線(破線)と補正後表示範囲703の各辺との交点が、補正対象範囲603を補正後表示範囲703に射影変換するための歪み補正行列の逆行列によって座標変換される。続いて、座標変換にて得られた交点を用いて、補正対象範囲603を分割することにより、補正後表示範囲703上の各補正後分割範囲に対応する各分割範囲を生成する。なお、分割範囲の生成手法は、図18(b)の場合と同様である。 When the distance d is d> 10, n = 4 is set as shown in FIG. 18C, and the corrected display range 703 is divided into 16 corrected divided ranges. Also in this case, the intersection of the straight lines for dividing (broken lines) that divide each side of the corrected display range 703 into n equal parts, and the intersection of the straight lines for dividing (broken lines) and the respective sides of the corrected display range 703 are as follows. The coordinate conversion is performed by the inverse matrix of the distortion correction matrix for projective conversion of the correction target range 603 to the corrected display range 703. Subsequently, by dividing the correction target range 603 using the intersection obtained by the coordinate conversion, each divided range corresponding to each corrected divided range on the corrected display range 703 is generated. Note that the method for generating the divided range is the same as that in the case of FIG.
以上にて説明した本実施形態の分割手法によれば、第1誤差情報の補正誤差に応じて分割範囲の数が設定(調整)されることになる。この形態の場合、実施形態1よりも分割範囲の補正誤差が若干大きくなるが、設定される補正後分割範囲の数および分割範囲の数の上限が決められているため、補正後分割範囲の数および分割範囲の数が多くなり過ぎるという問題を抑制できる。 According to the division method of the present embodiment described above, the number of division ranges is set (adjusted) according to the correction error of the first error information. In the case of this form, the correction error of the divided range is slightly larger than that of the first embodiment, but the number of post-correction divided ranges and the upper limit of the number of divided ranges are determined. And the problem that the number of division ranges becomes too large can be suppressed.
〔実施形態3〕
また、分割範囲の数および補正後分割範囲の数が多くなり過ぎるという問題を抑制するための構成としては、実施形態2の他に、以下に示す形態が挙げられる。
[Embodiment 3]
Moreover, as a configuration for suppressing the problem that the number of division ranges and the number of division ranges after correction are too large, the following forms can be cited in addition to the second embodiment.
本実施形態では、分割範囲の数に対する閾値として規定数(例えば32)が予め設定される。描画コマンド生成部100は、S110にてNOと判定した後、S108の分割処理を行う前に、当該分割処理を行うと分割範囲の総数が規定値を超えるか否かを判定するようになっている。 In the present embodiment, a specified number (for example, 32) is preset as a threshold for the number of division ranges. The drawing command generation unit 100 determines whether or not the total number of division ranges exceeds the specified value when the division processing is performed before the division processing of S108 is performed after determining NO in S110. Yes.
描画コマンド生成部100は、規定数を超えないと判定する場合、そのままS108の分割処理を行い、S109に移行するようになっている。 If the drawing command generation unit 100 determines that the specified number is not exceeded, it performs the dividing process of S108 as it is and proceeds to S109.
これに対し、描画コマンド生成部100は、規定数を超えると判定する場合、このまま分割すると規定数を超過する事を示す警告画像をタッチパネル12に表示してユーザに通知する。また、この警告画像においては、(1)分割範囲の総数が規定値を超えても分割処理を行う第1オプションと、(2)以後の分割処理を中止することにより前記分割範囲の総数を規定値以内に抑えてS113に移行する第2オプションと、(3)PDFファイルの生成自体を中止する第3オプションとのうちのいずれかをユーザに選択させるためのUIが表示されるようになっている。 In contrast, if the drawing command generation unit 100 determines that the specified number is exceeded, the drawing command generation unit 100 displays a warning image on the touch panel 12 to notify the user that the specified number will be exceeded if it is divided as it is. In this warning image, (1) the first option for performing the division process even if the total number of the divided ranges exceeds the specified value, and (2) the total number of the divided ranges are defined by stopping the subsequent divided processes. A UI for allowing the user to select one of the second option for shifting to S113 while keeping the value within the range and (3) the third option for stopping the generation of the PDF file itself is displayed. Yes.
ユーザが第1オプションを選択すると、分割範囲の総数が規定値を超えても、実施形態1と同様に、全ての分割範囲について第2誤差情報の誤差が許容範囲内になるまで分割処理が繰り返される。ユーザが第2オプションを選択すると、S108〜S112がスキップされ、S113に移行される。この場合、生成済の全ての分割範囲のうち、第2誤差情報の誤差が許容範囲を超えている分割範囲が残存することになるものの、分割範囲の総数を抑制できることになる。また、ユーザが第3オプションを選択すると、ファイル生成モード自体が中断される(PDFファイルの生成自体を中止する)。 When the user selects the first option, even if the total number of division ranges exceeds the specified value, the division process is repeated until the error of the second error information is within the allowable range for all the division ranges as in the first embodiment. It is. When the user selects the second option, S108 to S112 are skipped, and the process proceeds to S113. In this case, among all the generated divided ranges, a divided range in which the error of the second error information exceeds the allowable range remains, but the total number of divided ranges can be suppressed. When the user selects the third option, the file generation mode itself is interrupted (the generation of the PDF file itself is stopped).
本実施形態によれば、分割範囲の総数が規定値を超えてでも分割を行うことで補正精度を優先するか、それとも、分割範囲の総数を規定値に抑えることで表示速度を優先するか、あるいは、画像ファイルの生成自体を中止するかを、ユーザに選択させることができるというメリットを有する。 According to the present embodiment, priority is given to correction accuracy by performing division even when the total number of division ranges exceeds a specified value, or whether display speed is given priority by suppressing the total number of division ranges to a specified value, Alternatively, there is an advantage that the user can select whether to stop the generation of the image file itself.
〔実施形態4〕
S108以降の処理を経由して生成されたPDFファイルの画像を表示する場合、PDF表示プログラムの種類や表示倍率によっては、補正後部分領域同士(図13参照)の境界に隙間が生じるという表示不具合が発生する場合がある。図17Aは、当該表示不具合を示した図である。図17Aにおいては、ライン状のノイズが表示不具合として示されている。
[Embodiment 4]
When displaying an image of a PDF file generated through the processing after S108, a display defect that a gap occurs at the boundary between corrected partial areas (see FIG. 13) depending on the type of the PDF display program and the display magnification. May occur. FIG. 17A is a diagram showing the display defect. In FIG. 17A, line-shaped noise is shown as a display defect.
そこで、描画コマンド生成部100は、ある部分領域について生成される描画コマンドにおいて、当該部分領域に対応する補正後部分領域(補正後目標部分領域)を含み且つ当該補正後部分領域よりも広い範囲について表示処理(描画)が行われるようにマスク領域を設定し、全ての描画コマンドにおいて同様にマスク領域を設定するようになっていてもよい。このようにすれば、第1の補正後部分領域に基づく表示範囲が第1の補正後部分領域の隣に位置する第2の補正後部分領域にまで拡張されるため、第1の補正後部分領域と第2の補正後部分領域との間の境界に隙間が生じるという不具合を抑制できる。図17Bは、以上のようにマスク領域を設定した場合の表示画像を示す。図17Bにおいては図17Aの表示不具合が解消されている。 Therefore, the drawing command generation unit 100 includes a drawing command generated for a certain partial area including a corrected partial area (corrected target partial area) corresponding to the partial area and a range wider than the corrected partial area. The mask area may be set so that display processing (drawing) is performed, and the mask area may be set in the same manner for all drawing commands. In this way, the display range based on the first corrected partial area is extended to the second corrected partial area located next to the first corrected partial area, so the first corrected part A problem that a gap is generated at the boundary between the region and the second corrected partial region can be suppressed. FIG. 17B shows a display image when the mask area is set as described above. In FIG. 17B, the display defect of FIG. 17A is eliminated.
なお、本実施形態のようにマスク領域を指定する場合、補正後部分領域同士の境界において、補正後部分領域同士のオーバーラップが生じるが、オーバーラップの部分については、後から描画される内容が上書き表示され、もともと補正前画像でほぼ同じ位置の画素であるため、違和感は生じない。 When the mask area is specified as in the present embodiment, the corrected partial areas overlap at the boundary between the corrected partial areas. However, the overlapped part has contents drawn later. Since the pixels are overwritten and originally located at substantially the same position in the pre-correction image, there is no sense of incongruity.
また、図16は、本実施形態の処理によって部分領域毎に生成される描画コマンドを示した図である。図16の描画コマンドでは、実施形態1における図15の(4)のマスク領域を非表示にする設定が変更されており、画像の描画(表示処理)によって描画される範囲が、斜めの境界線方向に72dpi基準で0.5画素程度拡張した範囲が表示されるようにマスク領域が指定されている。 FIG. 16 is a diagram showing a drawing command generated for each partial region by the processing of this embodiment. In the drawing command of FIG. 16, the setting for hiding the mask area of (4) of FIG. 15 in the first embodiment is changed, and the range drawn by drawing (display processing) of the image is an oblique boundary line. The mask area is designated so that a range expanded by about 0.5 pixels on the basis of 72 dpi is displayed in the direction.
表示を行うコンピュータで使用しているPDF表示プログラムの種類や表示倍率によって表示に不具合が生じることが予め分かっている場合、本実施形態の処理が選択されるようになっていてもよい。 If it is known in advance that a display failure may occur depending on the type or display magnification of the PDF display program used in the computer that performs the display, the processing of this embodiment may be selected.
〔変形例〕
以上では、射影変換のうちアフィン変換しか利用できないフォーマットとしてPDFファイルを明示したが、勿論、射影変換のうちアフィン変換しか利用できないフォーマットであればPDFファイルに限定されるものではない。例えば、2次元グラフィックス描画を想定したファイルフォーマットでは射影変換のうちアフィン変換しか利用できないものが多く(例えば2次元グラフィックス描画を行うsvgフォーマット)、当該ファイルフォーマットに変換する装置やアプリケーションに本実施形態の処理を適用すると効果的である。
[Modification]
In the above, the PDF file is clearly shown as a format that can use only the affine transformation in the projective transformation. Of course, the format is not limited to the PDF file as long as it can use only the affine transformation in the projective transformation. For example, in many file formats that assume two-dimensional graphics drawing, only affine transformation can be used among projective transformations (for example, svg format that performs two-dimensional graphics drawing). It is effective to apply form processing.
また、本実施形態の携帯端末10にて実行されるファイル生成モードは、例えばサーバ装置や複合機にて行われるようになっていてもよい。この場合、図2に示す描画コマンド生成部100およびフォーマット化処理部101はサーバ装置または複合機に備えられていることになる。ユーザは、携帯端末10やデジタルカメラにて撮影した撮影画像を前記サーバ装置または複合機へ送信する。前記サーバ装置または複合機は、受信した撮影画像に対してファイル生成モードを実施してPDFファイルを生成し、ユーザに指定された保存先(携帯端末、各種端末、またはPDFファイル等)にPDFファイルを送信する。このようにすれば、ファイル生成モードを実行するアプリケーションがインストールされていない携帯端末やデジタルカメラのユーザであっても、本実施形態のファイル生成モードを利用可能である。特に、複合機は、射影変換用のハードウェアを搭載していないことが多く、複合機に適用するメリットがある。 Further, the file generation mode executed by the mobile terminal 10 according to the present embodiment may be performed by, for example, a server device or a multifunction device. In this case, the drawing command generation unit 100 and the formatting processing unit 101 illustrated in FIG. 2 are provided in the server device or the multifunction peripheral. The user transmits a captured image captured by the mobile terminal 10 or the digital camera to the server device or the multifunction device. The server device or the multifunction device executes a file generation mode on the received captured image to generate a PDF file, and the PDF file is stored in a storage destination (such as a mobile terminal, various terminals, or a PDF file) designated by the user. Send. In this way, the file generation mode of this embodiment can be used even by a user of a portable terminal or a digital camera in which an application that executes the file generation mode is not installed. In particular, multi-function machines often do not have projection conversion hardware installed, and have the advantage of being applied to multi-function machines.
また、以上の実施形態では、携帯端末10は、射影変換のうちアフィン変換しか利用できないフォーマットの画像ファイルを作成するようになっているが、アフィン変換に限らずに射影変換を利用可能なフォーマットの画像ファイルを作成するようになっていてもよい。すなわち、この場合、携帯端末10は、歪み補正前の撮影画像の画像データと、画像ファイルの撮影画像を描画(表示)する場合には射影変換(アフィン変換に限らない)によって当該撮影画像に歪み補正を施してから当該撮影画像を表示させるようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを作成する。そして、携帯端末10は、ユーザ指示に応じて、当該画像ファイルをユーザ指定の送信先(サーバ、他の端末等)へ送信する。あるいは、射影変換を利用可能なフォーマットの画像ファイルを作成する機能を有する携帯端末10において、歪み補正前の撮影画像の画像データと、画像ファイルの撮影画像を描画(表示)する場合にはアフィン変換によって当該撮影画像に歪み補正を施してから当該撮影画像を表示させるようにコンピュータを制御する描画コマンドとを埋め込んだ画像ファイルを作成するモードを備え、当該画像ファイルをユーザ指定の送信先(サーバ、他の端末等)へ送信するように構成されていても良い。この構成によれば、処理対象となる撮影画像が多い場合や、マルチタスクを行っている場合、処理負荷を軽減できるというメリットを有することになる。また、前記画像ファイルを作成する処理を、携帯端末10で行うのではなく、携帯端末10と通信可能なサーバ装置等やパソコンにて行うようになっていてもよい(つまり、携帯端末10にて撮影された撮影画像を、サーバ装置やパソコンに送信し、サーバ装置やパソコンにて画像ファイルを作成するようになっていてもよい)。 In the above embodiment, the mobile terminal 10 creates an image file in a format that can use only affine transformation among projective transformations. However, the portable terminal 10 is not limited to affine transformation but has a format that can use projective transformation. An image file may be created. That is, in this case, the mobile terminal 10 distorts the captured image by projective transformation (not limited to affine transformation) when drawing (displaying) the image data of the captured image before distortion correction and the captured image of the image file. After the correction, an image file is created in which a drawing command for controlling the computer is displayed so that the captured image is displayed. And the portable terminal 10 transmits the said image file to the transmission destination (a server, another terminal, etc.) designated by the user according to a user instruction. Alternatively, in the portable terminal 10 having a function of creating an image file in a format that can use projective transformation, affine transformation is used when drawing (displaying) the image data of the photographed image before distortion correction and the photographed image of the image file. And a mode for creating an image file in which a drawing command for controlling the computer is displayed so as to display the photographed image after performing distortion correction on the photographed image, and the image file is transmitted to a user-specified destination (server, It may be configured to transmit to another terminal or the like. According to this configuration, when there are many photographed images to be processed or when multitasking is performed, there is an advantage that the processing load can be reduced. Further, the processing for creating the image file may be performed not by the mobile terminal 10 but by a server device or a personal computer that can communicate with the mobile terminal 10 or a personal computer (that is, by the mobile terminal 10). The captured image may be transmitted to a server device or a personal computer, and an image file may be created on the server device or the personal computer).
また、以上の実施形態では、携帯端末10は、歪み補正が施されてない撮影画像と、PDFファイルを開いて撮影画像を描画する場合には歪み補正(アフィン変換)を行った上で描画するようにコンピュータを制御する描画コマンドとを埋め込んだPDFファイルを作成する構成になっているが、以下に示すような変形例になっていても勿論よい。まず、携帯端末10は、ファイル生成モードに移行すると、簡易処理モードと通常処理モードとのいずれかをユーザに選択させる。簡易モードが選択された場合、携帯端末10は、本実施形態と同様に、歪み補正が施されてない撮影画像と、PDFファイルを開いて撮影画像を描画する場合には歪み補正(アフィン変換)を行った上で描画するようにコンピュータを制御する描画コマンドとを埋め込んだPDFファイルを作成する。これに対し、通常処理モードが選択された場合、携帯端末10は、撮影画像に対してアフィン変換に限らずに射影変換を用いて歪み補正を行い、歪み補正後の撮影画像を埋め込んだPDFファイルを作成する。このようにすれば、ファイル作成処理に長時間要しても歪み補正された撮影画像が埋め込まれたファイルを所望するユーザの要求と、ファイル作成処理に時間を要することを嫌うユーザの要求とを満たすことができる。 Moreover, in the above embodiment, the portable terminal 10 performs drawing after performing distortion correction (affine transformation) when drawing a shot image that has not been subjected to distortion correction and a PDF file opened. As described above, the PDF file in which the drawing command for controlling the computer is embedded is created. However, the following modifications may be made. First, when the mobile terminal 10 shifts to the file generation mode, the mobile terminal 10 causes the user to select either the simple processing mode or the normal processing mode. When the simple mode is selected, as in the present embodiment, the mobile terminal 10 performs distortion correction (affine transformation) when a captured image that has not been subjected to distortion correction and when a PDF file is opened to draw a captured image. A PDF file in which a drawing command for controlling the computer is embedded so as to draw is created. On the other hand, when the normal processing mode is selected, the mobile terminal 10 performs distortion correction on the captured image using not only affine transformation but also projective transformation, and a PDF file in which the captured image after distortion correction is embedded. Create In this way, even if the file creation process takes a long time, a user's request for a file in which a captured image whose distortion has been corrected is embedded, and a user's request that does not like the file creation process taking a long time are requested. Can be satisfied.
また、携帯端末10の情報処理部11は、撮影画像に対して文字認識処理を行う文字認識部と、文字認識処理の結果に基づいて透明テキストを作成する透明テキスト処理部とを設け、フォーマット化処理部101は、描画コマンドの他に透明テキストを埋め込んで画像ファイルを作成するようになっていてもよい。 The information processing unit 11 of the mobile terminal 10 includes a character recognition unit that performs character recognition processing on the captured image, and a transparent text processing unit that creates transparent text based on the result of the character recognition processing, and is formatted. The processing unit 101 may create an image file by embedding transparent text in addition to the drawing command.
また、実施形態1,2では、補正対象範囲60(または分割範囲60a)と、補正後表示範囲70(または補正後分割範囲70a)とを、図10や図18によって説明した手法で分割しているが、分割の手法は、図10や図18によって説明した手法に限られるものではない。要は、分割前四角形を、分割前四角形よりも小さな複数の分割後四角形に分割するようになっていれば、分割手法自体に制限はない。例えば、補正後表示範囲70および補正対象範囲60を4分割ではなく、2分割するようになっていてもよい。また、補正後表示範囲70の分割よりも前に補正対象範囲60を分割するようになっていてもよい。この場合、最初に、補正対象範囲60の上辺の中点および下辺の中点を通過する分割線と、補正対象範囲60の左辺の中点および右辺の中点を通過する分割線とを設定し、これら分割線によって補正対象範囲60を4分割する。続いて、補正対象範囲60を4分割する過程で求めた4つの中点と分割線の交点とを、補正対象範囲60を補正後表示範囲70に射影変換するための歪み補正行列で変換し、これらの点を結ぶ線分によって補正後表示範囲70を4分割する。 In the first and second embodiments, the correction target range 60 (or the divided range 60a) and the corrected display range 70 (or the corrected divided range 70a) are divided by the method described with reference to FIGS. However, the division method is not limited to the method described with reference to FIGS. In short, as long as the pre-division square is divided into a plurality of post-division squares smaller than the pre-division square, there is no limitation on the division method itself. For example, the corrected display range 70 and the correction target range 60 may be divided into two instead of four. Further, the correction target range 60 may be divided before the post-correction display range 70 is divided. In this case, first, a dividing line that passes through the midpoint of the upper and lower sides of the correction target range 60 and a dividing line that passes through the midpoint of the left and right sides of the correction target range 60 are set. The correction target range 60 is divided into four by these dividing lines. Subsequently, the four midpoints obtained in the process of dividing the correction target range 60 into four and the intersections of the dividing lines are converted with a distortion correction matrix for projectively converting the correction target range 60 into the corrected display range 70, The corrected display range 70 is divided into four by a line segment connecting these points.
〔ソフトウェアによる実現例〕
情報処理部11は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
[Example of software implementation]
The information processing unit 11 may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like, or may be realized by software using a CPU (Central Processing Unit).
後者の場合、情報処理部11は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 In the latter case, the information processing unit 11 includes a CPU that executes instructions of a program that is software that implements each function, and a ROM (Read Only Memory) in which the program and various data are recorded so as to be readable by a computer (or CPU). Alternatively, a storage device (these are referred to as “recording media”), a RAM (Random Access Memory) that expands the program, and the like are provided. And the objective of this invention is achieved when a computer (or CPU) reads the said program from the said recording medium and runs it. As the recording medium, a “non-temporary tangible medium” such as a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used. The program may be supplied to the computer via an arbitrary transmission medium (such as a communication network or a broadcast wave) that can transmit the program. The present invention can also be realized in the form of a data signal embedded in a carrier wave in which the program is embodied by electronic transmission.
〔まとめ〕
本発明の態様1の画像処理装置(携帯端末10)は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成するフォーマット化処理部101と、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加するコマンド付加部(描画コマンド生成部100)とを備え、前記コマンド付加部は、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第1差情報を求め、前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成することを特徴とする。
[Summary]
An image processing apparatus (portable terminal 10) according to aspect 1 of the present invention displays a format processing unit 101 that generates an image file in which image data of a captured image is formatted in a predetermined format, and the captured image of the image file. A command adding unit (drawing command generating unit 100) for creating a drawing command for controlling the computer to perform the display after performing distortion correction, and adding the drawing command to the image file. The adding unit sets first correction information indicating a difference between a case where the correction target range is set for the photographed image and the correction target range is subjected to distortion correction by projective transformation and the case where the distortion correction is performed by affine transformation. When the difference is within the allowable range, the drawing command for performing the distortion correction using an affine transformation matrix determined from the correction target range is obtained. And when the difference is not within an allowable range, the correction target range is divided to set a plurality of partial areas, and the drawing command for performing the distortion correction by an affine transformation matrix determined from the partial areas is set to the partial area It is created every time.
本発明の構成によれば、補正対象範囲に対して単一のアフィン変換用行列を用いて歪み補正を行うと補正誤差(アフィン変換に限定せずに射影変換を行って補正する場合に対して前記射影変換を前記アフィン変換に限定して補正する場合の誤差)が大きくなってしまうような場合、補正対象範囲を複数の部分領域に分割し、部分領域毎にアフィン変換用行列を設定することにより、補正誤差を抑えた歪み補正を実現することが可能になる(1つ当たりの歪み補正行列にて対応する範囲を分割して小さくすることにより、1つの歪み補正行列にて対応する範囲の補正誤差を小さくでき、全体として補正誤差を抑制できる)。したがって、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する場合において、適切に歪み補正が行われるPDFファイルを生成できるという効果を奏する。 According to the configuration of the present invention, when distortion correction is performed on a correction target range using a single affine transformation matrix, a correction error (in contrast to a case where correction is performed by projective transformation without being limited to affine transformation). If the projection transformation is limited to the affine transformation and the correction is large, the correction target range is divided into a plurality of partial areas, and an affine transformation matrix is set for each partial area. Thus, it is possible to realize distortion correction with reduced correction error (by dividing the corresponding range in one distortion correction matrix to reduce the size of the corresponding range in one distortion correction matrix. The correction error can be reduced and the correction error can be suppressed as a whole). Therefore, when generating an image file in which distortion correction is performed by affine transformation when displaying an image, there is an effect that it is possible to generate a PDF file in which distortion correction is appropriately performed.
本発明の態様2の画像処理装置は、態様1の構成に加え、前記コマンド付加部が、前記差が許容範囲内にない場合、前記補正対象範囲を、複数の四角形の分割範囲に分割し、各分割範囲を、各分割範囲において一本の対角線を挟んで対向する各三角形に分割し、前記三角形を前記部分領域とすることを特徴とする。 In addition to the configuration of aspect 1, the image processing apparatus according to aspect 2 of the present invention divides the correction target range into a plurality of quadrangular division ranges when the difference is not within an allowable range, Each division range is divided into triangles facing each other across one diagonal line in each division range, and the triangle is used as the partial region.
四角形の分割範囲に対してアフィン変換を施すと分割範囲同士の境界付近で歪みが大きくなるという不具合が生じることがあるが、本発明の態様2のように、四角形の分割範囲をさらに三角形に分割して各三角形を部分領域としてアフィン変換を行うことにより、以上のような不具合を抑制できるという効果がある。 If the affine transformation is applied to the quadrangular division range, there is a problem that distortion increases in the vicinity of the boundary between the division ranges. However, as in the aspect 2 of the present invention, the quadrangular division range is further divided into triangles. By performing affine transformation using each triangle as a partial region, there is an effect that the above problems can be suppressed.
本発明の態様3の画像処理装置は、態様2の構成に加え、前記コマンド付加部が、生成される分割範囲について、当該分割範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第2差情報を求め、第2差情報に示される差が許容範囲内にない分割範囲を分割してさらに分割範囲を生成する処理を、全ての分割範囲において前記第2差情報の前記差が許容範囲内になるまで繰り返すことを特徴とする。 In the image processing apparatus according to aspect 3 of the present invention, in addition to the configuration of aspect 2, when the command adding unit corrects the distortion of the divided range by projective transformation and generates the distortion by affine transformation. The second difference information indicating the difference from the correction case is obtained, and the process of dividing the divided range where the difference indicated by the second difference information is not within the allowable range and generating the divided range is performed for all the divided ranges. It repeats until the difference of the second difference information falls within an allowable range.
本発明の態様3によれば、1つの歪み補正行列にて対応する範囲(部分領域)の補正誤差を予め定めている許容範囲(閾値)内に抑えることができ、且つ、全ての部分領域において補正誤差を許容範囲内に抑えるため、歪み補正を高精度に行うことができるという効果を奏する。 According to the aspect 3 of the present invention, the correction error of the corresponding range (partial region) in one distortion correction matrix can be suppressed within a predetermined allowable range (threshold), and in all the partial regions In order to suppress the correction error within an allowable range, there is an effect that distortion correction can be performed with high accuracy.
本発明の態様4の画像処理装置は、態様2に加えて、前記コマンド付加部が、前記第1差情報の前記差に応じて前記分割範囲の数を設定するようになっており、前記分割範囲の数の上限が定められていることを特徴とする。 In addition to aspect 2, the image processing apparatus according to aspect 4 of the present invention is configured such that the command adding unit sets the number of the divided ranges in accordance with the difference in the first difference information. The upper limit of the number of ranges is defined.
前記分割範囲の数(すなわち部分領域の数)が多すぎると画像ファイルの画像を表示させる際に処理遅延が生じるという問題が生じるが、本発明の態様4によれば、設定される分割範囲の数の上限が決められているため、分割範囲の数が多くなり過ぎるという問題を抑制できる。 If the number of the divided ranges (that is, the number of partial areas) is too large, there is a problem that processing delay occurs when displaying the image of the image file. According to the aspect 4 of the present invention, Since the upper limit of the number is determined, the problem that the number of division ranges becomes too large can be suppressed.
本発明の態様5の画像処理装置は、態様1から4のいずれかに加えて、前記第1差情報は、前記補正対象範囲に対して設定される歪み補正後の目標範囲の重心位置と、前記補正対象範囲の重心位置を前記射影変換で移動させた後の位置との距離に応じた値であることを特徴とする。 In addition to any one of the first to fourth aspects, the image processing apparatus according to the fifth aspect of the present invention is configured such that the first difference information includes a barycentric position of a target range after distortion correction set for the correction target range; The center of gravity position of the correction target range is a value corresponding to a distance from the position after being moved by the projective transformation.
本発明の態様5によれば、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差(補正誤差)を示した数値を第1差情報として容易に求めることができる。 According to the fifth aspect of the present invention, a numerical value indicating a difference (correction error) between when the correction target range is distortion-corrected by projective transformation and when the distortion is corrected by affine transformation is easily used as the first difference information. Can be requested.
本発明の態様6の画像処理装置は、態様3に加え、前記第2差情報は、前記分割範囲に対して設定される歪み補正後の目標範囲の重心位置と、前記分割範囲の重心位置を前記射影変換で移動させた後の位置との距離に応じた値であることを特徴とする。 In addition to aspect 3, the image processing apparatus according to aspect 6 of the present invention is configured such that the second difference information includes a centroid position of a target range after distortion correction set for the division range and a centroid position of the division range. It is a value according to the distance from the position after being moved by the projective transformation.
本発明の態様6によれば、前記分割範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差(補正誤差)を示した数値を第2差情報として容易に求めることができる。 According to the sixth aspect of the present invention, a numerical value indicating a difference (correction error) between the case where the division range is subjected to distortion correction by projective transformation and the case where the distortion correction is performed by affine transformation is easily used as the second difference information. Can be sought.
本発明の態様7の画像処理装置は、態様3または6に加えて、前記コマンド付加部が、前記第2差情報の前記差が許容範囲内にない分割範囲を分割すると分割範囲の総数が規定値を超える場合、当該分割を行う前に、(1)分割範囲の総数が規定値を超えても当該分割を行う第1オプションと、(2)当該分割を中止して前記分割範囲の総数を規定値以内に抑える第2オプションと、(3)前記画像ファイルの生成を中止する第3オプションとのうちのいずれかをユーザに選択させるようになっていることを特徴とする。 In the image processing apparatus according to aspect 7 of the present invention, in addition to aspects 3 and 6, when the command adding unit divides a divided range in which the difference in the second difference information is not within an allowable range, the total number of divided ranges is defined. If the value exceeds the value, before performing the division, (1) the first option for performing the division even if the total number of division ranges exceeds the specified value; and (2) canceling the division and calculating the total number of the division ranges. The user is allowed to select one of a second option to be kept within a specified value and (3) a third option to stop the generation of the image file.
前述したように、前記分割範囲の数(すなわち部分領域の数)が多すぎると画像ファイルの画像を表示させる際に処理遅延が生じるという問題が生じる。これに対し、本発明の態様7によれば、分割範囲の総数が規定値を超えてでも分割を行うことで補正の精度を優先するか、それとも、分割範囲の総数を規定値に抑えることで表示速度を優先するか、あるいは画像ファイルの生成自体を中止するかを、ユーザに選択させることができる。 As described above, when the number of the divided ranges (that is, the number of partial areas) is too large, there is a problem that processing delay occurs when displaying the image of the image file. On the other hand, according to aspect 7 of the present invention, priority is given to the accuracy of correction by performing division even when the total number of division ranges exceeds the specified value, or the total number of division ranges is suppressed to the specified value. The user can select whether to give priority to the display speed or to cancel the image file generation itself.
本発明の態様8の画像処理装置は、態様1から7に加えて、前記第1差情報に示される差が許容範囲内でない場合において、前記部分領域に対して生成される描画コマンドは、前記部分領域から設定されるアフィン変換用行列による歪み補正を前記画像データに施して、前記部分領域に対して設定される補正後目標部分領域の外側をマスク領域とした上で表示処理を行うようにコンピュータを制御するコマンドであり、前記マスク領域は、前記補正後目標部分領域を含み且つ前記補正後目標部分領域よりも広い範囲が表示されるように設定されることを特徴とする。 In an image processing apparatus according to an eighth aspect of the present invention, in addition to the first to seventh aspects, when the difference indicated by the first difference information is not within an allowable range, the drawing command generated for the partial region is Distortion correction using an affine transformation matrix set from a partial area is performed on the image data, and display processing is performed with the outside of the corrected target partial area set for the partial area as a mask area. A command for controlling a computer, wherein the mask area is set so as to display a range that includes the corrected target partial area and is wider than the corrected target partial area.
本発明の態様8の画像処理装置によれば、前記画像ファイルを開いて表示させる際、互いに隣り合う補正後目標部分領域と補正後目標部分領域との境界に隙間が発生するという表示不具合を抑制できるという効果を奏する。 According to the image processing device of aspect 8 of the present invention, when the image file is opened and displayed, a display defect that a gap is generated at the boundary between the corrected target partial area and the corrected target partial area that are adjacent to each other is suppressed. There is an effect that can be done.
本発明の態様9は、撮影画像の画像データを所定形式にフォーマット化した画像ファイルを生成し、前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加する画像処理方法であって、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第1差情報を求め、前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成することを特徴とする。 According to the ninth aspect of the present invention, an image file obtained by formatting image data of a captured image into a predetermined format is generated, and the display is performed after distortion correction is performed when the captured image of the image file is displayed. An image processing method for creating a drawing command for controlling a computer and adding the drawing command to the image file, wherein a correction target range is set for the captured image, and the correction target range is subjected to distortion correction by projective transformation. First difference information indicating a difference between the case and the case of correcting the distortion by affine transformation is obtained, and when the difference is within an allowable range, the distortion correction is performed using an affine transformation matrix determined from the correction target range. When the drawing command is created and the difference is not within the allowable range, the correction target range is divided to set a plurality of partial areas, and an area defined from the partial areas is set. The fin conversion matrix, characterized in that to create the drawing command for the distortion correction for each of the partial regions.
本発明の態様9によれば、態様1〜8の構成と同様に、画像を表示する際にアフィン変換にて歪み補正を行うようになっている画像ファイルを生成する場合において、適切に歪み補正が行われるPDFファイルを生成できるという効果を奏する。 According to the ninth aspect of the present invention, similarly to the configurations of the first to eighth aspects, when generating an image file in which distortion correction is performed by affine transformation when an image is displayed, distortion correction is appropriately performed. The effect is that a PDF file can be generated.
本発明の態様1〜8に係る画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを画像処理装置の各部として動作させることにより、画像処理装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。 The image processing apparatus according to aspects 1 to 8 of the present invention may be realized by a computer, and in this case, a program for causing the computer to realize the image processing apparatus by causing the computer to operate as each unit of the image processing apparatus. And a computer-readable recording medium on which it is recorded also fall within the scope of the present invention.
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。 The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope shown in the claims, and embodiments obtained by appropriately combining technical means disclosed in different embodiments. Is also included in the technical scope of the present invention. Furthermore, a new technical feature can be formed by combining the technical means disclosed in each embodiment.
本発明は、デジタルカメラ等による撮影にて得られた画像データを所定型式にフォーマット化した画像ファイルを生成する画像処理装置に適用できる。前記画像処理装置としては、例えば、デジタルカメラ、撮影装置を搭載した携帯端末(スマートフォン、タブレット、ノード型パソコン、携帯電話等)が挙げられる。また、前記画像処理装置として、デジタルカメラや携帯端末から受信した撮影画像を処理可能なコンピュータ、複合機、サーバ装置等も挙げられる。 The present invention can be applied to an image processing apparatus that generates an image file in which image data obtained by photographing with a digital camera or the like is formatted in a predetermined format. Examples of the image processing device include a mobile terminal (smart phone, tablet, node type personal computer, mobile phone, etc.) equipped with a digital camera and a photographing device. Examples of the image processing apparatus include a computer, a multi-function peripheral, a server apparatus, and the like that can process a captured image received from a digital camera or a portable terminal.
10 携帯端末(画像処理装置)
11 情報処理部
12 タッチパネル
60 補正対象範囲
60a 分割範囲
60a1〜60a4 分割範囲
60aa 部分領域
60ab 部分領域
70 補正後表示範囲
70a 補正後分割範囲
70aa 補正後部分領域(補正後目標部分領域)
70ab 補正後部分領域(補正後目標部分領域)
100 描画コマンド生成部(コマンド付加部)
101 フォーマット化処理部
10 Mobile terminal (image processing device)
DESCRIPTION OF SYMBOLS 11 Information processing part 12 Touch panel 60 Correction object range 60a Division range 60a1-60a4 Division range 60aa Partial region 60ab Partial region 70 After-correction display range 70a After-correction division range 70aa After-correction partial region (after-correction target partial region)
70ab partial area after correction (target partial area after correction)
100 Drawing command generation part (command addition part)
101 Formatting processor
Claims (11)
前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加するコマンド付加部と、を備え、
前記コマンド付加部は、前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第1差情報を求め、
前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、
前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成する画像処理装置。 A formatting processing unit that generates an image file in which image data of a captured image is formatted into a predetermined format;
A command addition unit for creating a drawing command for controlling the computer to perform the display after performing distortion correction when displaying the captured image of the image file, and adding the drawing command to the image file; Prepared,
The command adding unit sets a correction target range for the photographed image, and shows a difference between a case where the correction target range is subjected to distortion correction by projective transformation and a case where the distortion correction is performed by affine transformation. Seeking information,
If the difference is within an allowable range, create the drawing command to perform the distortion correction by an affine transformation matrix determined from the correction target range,
When the difference is not within the allowable range, the correction target range is divided to set a plurality of partial areas, and the drawing command for performing the distortion correction is generated for each partial area by an affine transformation matrix determined from the partial areas An image processing apparatus.
前記分割範囲の数の上限が定められていることを特徴とする請求項2に記載の画像処理装置。 The command adding unit is configured to set the number of the divided ranges according to the difference of the first difference information,
The image processing apparatus according to claim 2, wherein an upper limit of the number of the divided ranges is set.
前記マスク領域は、前記補正後目標部分領域を含み且つ前記補正後目標部分領域よりも広い範囲が表示されるように設定されることを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。 When the difference indicated by the first difference information is not within an allowable range, the drawing command generated for the partial area performs distortion correction on the image data using an affine transformation matrix set from the partial area. And a command for controlling the computer to perform display processing on the outside of the corrected target partial area corresponding to the partial area as a mask area,
8. The mask area according to claim 1, wherein the mask area is set so as to display a range that includes the corrected target partial area and is wider than the corrected target partial area. Image processing apparatus.
前記画像ファイルの前記撮影画像を表示する際に歪み補正を施した上で前記表示を行うようにコンピュータを制御する描画コマンドを作成し、描画コマンドを前記画像ファイルに付加する画像処理方法であって、
前記撮影画像に対し補正対象範囲を設定し、前記補正対象範囲を射影変換にて歪み補正する場合とアフィン変換にて前記歪み補正する場合との差を示した第1差情報を求め、
前記差が許容範囲内の場合、前記補正対象範囲から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを作成し、
前記差が許容範囲内でない場合、前記補正対象範囲を分割して複数の部分領域を設定し、部分領域から定められるアフィン変換用行列によって前記歪み補正を行う前記描画コマンドを前記部分領域毎に作成する画像処理方法。 Generate an image file in which the image data of the shot image is formatted into a predetermined format,
An image processing method for creating a drawing command for controlling a computer to perform the display after performing distortion correction when displaying the captured image of the image file, and adding the drawing command to the image file. ,
A correction target range is set for the captured image, and first difference information indicating a difference between a case where the correction target range is subjected to distortion correction by projective transformation and a case where the distortion correction is performed by affine transformation is obtained,
If the difference is within an allowable range, create the drawing command to perform the distortion correction by an affine transformation matrix determined from the correction target range,
When the difference is not within the allowable range, the correction target range is divided to set a plurality of partial areas, and the drawing command for performing the distortion correction is generated for each partial area by an affine transformation matrix determined from the partial areas Image processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015026875A JP2016149097A (en) | 2015-02-13 | 2015-02-13 | Image processing device, image processing method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015026875A JP2016149097A (en) | 2015-02-13 | 2015-02-13 | Image processing device, image processing method, program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016149097A true JP2016149097A (en) | 2016-08-18 |
Family
ID=56691245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015026875A Pending JP2016149097A (en) | 2015-02-13 | 2015-02-13 | Image processing device, image processing method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016149097A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7219413B1 (en) | 2022-08-31 | 2023-02-08 | 岩崎通信機株式会社 | Angle measuring device, angle measuring method, angle measuring program |
-
2015
- 2015-02-13 JP JP2015026875A patent/JP2016149097A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7219413B1 (en) | 2022-08-31 | 2023-02-08 | 岩崎通信機株式会社 | Angle measuring device, angle measuring method, angle measuring program |
JP2024033802A (en) * | 2022-08-31 | 2024-03-13 | 岩崎通信機株式会社 | Angle measurement device, method for measuring angle, and angle measurement program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018214365A1 (en) | Image correction method, apparatus, device, and system, camera device, and display device | |
CN109509146B (en) | Image splicing method and device and storage medium | |
CN110996081B (en) | Projection picture correction method and device, electronic equipment and readable storage medium | |
CN108028900B (en) | Projection apparatus, projection method, and program storage medium | |
CN107122774A (en) | A kind of adaptive chart pasting method moved with key point in image and system | |
US20160048942A1 (en) | Information processing method, information processing device, and program | |
KR101450782B1 (en) | Image processing device and program | |
JP2010118040A (en) | Image processing method and image processor for fisheye correction and perspective distortion reduction | |
JP2014071850A (en) | Image processing apparatus, terminal device, image processing method, and program | |
WO2019041650A1 (en) | Method, apparatus and device for correcting calibration parameters of video camera, and storage medium | |
JP3837710B2 (en) | Digital camera | |
JP2016149097A (en) | Image processing device, image processing method, program, and recording medium | |
CN111882588A (en) | Image block registration method and related product | |
CN110140148B (en) | Method and apparatus for multi-band blending of seams in images from multiple cameras | |
US11055823B2 (en) | Image correction device, image correction method, and program | |
JP5955003B2 (en) | Image processing apparatus, image processing method, and program | |
CN111428707B (en) | Method and device for identifying pattern identification code, storage medium and electronic equipment | |
JP5387276B2 (en) | Image processing apparatus and image processing method | |
US9781353B2 (en) | Image processing apparatus, electronic apparatus, and image processing method | |
JP6230001B2 (en) | Image correction apparatus, image correction method, and program | |
JP6273881B2 (en) | Image processing apparatus, image processing method, and program | |
JP6937722B2 (en) | Image processing device and image processing method | |
US11893706B2 (en) | Image correction device | |
CN115278184B (en) | Projection picture correction method and device | |
CN117939093A (en) | Projection correction method, apparatus, computer device, and storage medium |