JPS60251474A - Picture data processor - Google Patents
Picture data processorInfo
- Publication number
- JPS60251474A JPS60251474A JP10779184A JP10779184A JPS60251474A JP S60251474 A JPS60251474 A JP S60251474A JP 10779184 A JP10779184 A JP 10779184A JP 10779184 A JP10779184 A JP 10779184A JP S60251474 A JPS60251474 A JP S60251474A
- Authority
- JP
- Japan
- Prior art keywords
- point
- processing
- holding means
- initial value
- grating
- 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
- 238000006073 displacement reaction Methods 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 description 20
- 238000007792 addition Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は画像の回転処理を行なう画像データ処理装置に
関するものである。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to an image data processing device that performs image rotation processing.
従来例の構成とその問題点
近年、超小型計算機の普及に伴なって、画像情報の計算
機による処理も、その応用分野が急速に拡大しつつある
。Conventional configurations and their problems In recent years, with the spread of microcomputers, the field of application of image information processing by computers is rapidly expanding.
以下、ある第1の領域に存在する画像情報を角度θだけ
回転し、第2の領域に移す画像処理方法について説明す
る0
第1図のように領域11の画像情報(以下、原画と呼ぶ
。)を角度θだけ傾けて点Aが点Bへ対応するように領
域12へ移動する場合の回転作業は、領域11を座標軸
(例えばX軸)と平行な線分の要素に分解し、各線分を
角度θだけ傾けて領域12の対応する位置へ移動してや
れば良い0すなわち第2図に示すように、格子点p1〜
p6の濃度を点q1〜q5へ移す作業に帰着する0なお
画像 ゛を格子状の画素に分割して処理する場合、格子
点にしか画素は存在しない。点91〜q6は格子点では
ないため、各点の座標値を丸めて得られた点r−T に
よって近似するのが一般的である。Hereinafter, an image processing method will be described in which image information existing in a certain first area is rotated by an angle θ and transferred to a second area.0 As shown in FIG. ) by an angle θ to move to area 12 so that point A corresponds to point B. It is only necessary to move the lattice point p1 to the corresponding position in the area 12 by tilting it by the angle θ.
When the 0 image ゛, which results in the work of transferring the density of p6 to points q1 to q5, is divided into grid-like pixels and processed, pixels exist only at the grid points. Since the points 91 to q6 are not lattice points, they are generally approximated by a point r-T obtained by rounding the coordinate values of each point.
5 さて点pn、qnの座標をそれぞれ(xpn、Ypり。5 Now, the coordinates of points pn and qn are (xpn, Yp), respectively.
(x9n、Yqn)とすると、
なる関係が存在する。但しxb、Yb は平行移動のだ
めの定数である。そして従来はq1〜q5の各点の座標
をめるために、個別に第(1)式の計算を行なっていた
ため、1点につき4回、すなわち合計20回の乗算を必
要とした。When (x9n, Yqn), the following relationship exists. However, xb and Yb are constants for parallel movement. Conventionally, in order to find the coordinates of each point q1 to q5, equation (1) was calculated individually, which required four multiplications for each point, that is, a total of 20 times.
一般に乗算は加減算に比べて複雑なノ・−ドウエアと多
くの計算時間を必要とするので、回転の原画の画素数が
大きい場合は膨大な計算時間が必要であるという欠点を
有していた。In general, multiplication requires more complicated hardware and more calculation time than addition and subtraction, so it has the disadvantage that a huge amount of calculation time is required when the original image to be rotated has a large number of pixels.
発明の目的
本発明は上記欠点に鑑み、画像の回転を行なう際、格子
状に分割された多数の画素から成る画像の処理を簡単な
演算で高速に行なうことのできる画像データ処理装置を
提供するものである。OBJECTS OF THE INVENTION In view of the above drawbacks, the present invention provides an image data processing device that can process an image consisting of a large number of pixels divided into a lattice pattern at high speed with simple calculations when rotating an image. It is something.
発明の構成
本発明は画像の回転処理を行なう際に直前に処理した点
から格子点までの位置の変位量を保持する変位量保持手
段と、前記変位量保持手段に対し任意な初期値を与える
初期値設定手段と、処理を行なう各点の間の増分量を保
持する増分保持手段と、処理が行なわれた点に対応した
格子点の位置を記憶する格子点位置保持手段と、前記変
位量保持手段が保持している変位量と前記増分保持手段
が保持している増分量とを加算することにより回転を行
なう点の新たな座標点に対応した格子点をめて、前−記
格子点位置保持手段に通知する演算手段とを設けること
により、上記目的を達するものである。Structure of the Invention The present invention provides a displacement amount holding means for holding the displacement amount of a position from a point processed immediately before to a grid point when performing image rotation processing, and an arbitrary initial value is given to the displacement amount holding means. an initial value setting means, an increment holding means for holding an increment between each point to be processed, a lattice point position holding means for storing a position of a lattice point corresponding to a point on which processing is performed, and the displacement amount. By adding the displacement amount held by the holding means and the incremental amount held by the incremental holding means, a lattice point corresponding to the new coordinate point of the point to be rotated is found, and the lattice point The above object is achieved by providing calculation means for notifying the position holding means.
実施例の説明
以下、第3図及び第4図を参照しながら本発明の一実施
例について、説明する。DESCRIPTION OF EMBODIMENTS An embodiment of the present invention will be described below with reference to FIGS. 3 and 4.
第3図は本発明の一実施例における画像データ処理装置
のブロック結線図である。FIG. 3 is a block diagram of an image data processing device according to an embodiment of the present invention.
また第4図は原画の点列pn を角度θだけ回転させた
結果が点列qnであるとしたとき、その一部。各点qn
−1〜qn+2の位置を示すものである。Furthermore, Fig. 4 shows a part of the dot sequence qn, which is the result of rotating the dot sequence pn of the original image by an angle θ. Each point qn
This shows the positions from −1 to qn+2.
さて第3図において、1は変位量保持部で、点q8 に
おける格子点からの変位Rx、RY を保持している。In FIG. 3, reference numeral 1 denotes a displacement holding section which holds the displacements Rx and RY from the grid point at point q8.
1aは初期値設定手段で、変位量保持部1に対し、任意
な初期値を設定する。2は増分保持部で、点q6 と点
qs+1の間のそれぞれX軸方向、およびY軸方向の増
分ΔX、JYを保持している。Reference numeral 1a denotes an initial value setting means for setting an arbitrary initial value to the displacement amount holding section 1. Reference numeral 2 denotes an increment holding unit that holds increments ΔX and JY in the X-axis direction and Y-axis direction between point q6 and point qs+1, respectively.
3は格子の基準長であるlを保持している基準格子長保
持部である。4は格子点位置保持部で、後述するように
演算手段5の演算によりめた点qsが丸めた場合、どの
格子点Ks となるかを一時記憶している。たとえば点
qn−1はKn−1,qnはKn、qn+1はKn+
1.qn+2はKn+2として丸められた状態で記憶さ
れる。即ち、変位量を切り捨てに値で保持している。6
は濃度等の原画情報を格子状に分割して記憶している原
画情報記憶部である。Reference numeral 3 denotes a reference grating length holding section that holds l, which is the reference length of the grating. Reference numeral 4 denotes a lattice point position holding unit, which temporarily stores which lattice point Ks will be when the point qs determined by the calculation of the calculation means 5 is rounded, as will be described later. For example, point qn-1 is Kn-1, qn is Kn, qn+1 is Kn+
1. qn+2 is stored in a rounded state as Kn+2. That is, the amount of displacement is rounded down and held as a value. 6
is an original image information storage unit that stores original image information such as density divided into a grid pattern.
7は処理位置記憶部で、演算手段5により点pnの移動
先をめている際、現在点pnを処理中であることを記憶
している。Reference numeral 7 denotes a processing position storage unit which stores information that the current point pn is being processed when the calculating means 5 is determining the destination of the point pn.
上記のような構成において、以下第6図に示したフロー
チャートとともにその動作を説明する。The operation of the above configuration will be explained below with reference to the flowchart shown in FIG.
なお以下行なう説明は、点qnの移動位置をめた後、点
qn+1の移動位置をめるものである0(→ 演算手段
5は点pnの移動位置の計算終了後処理画素記憶部7に
対して、加算操作を施し、処理画素記憶7の内容が点陀
に対応するNから1増加して点pn+1に対応するN+
1となり、今後演算手段6で処理するものが点pn+1
であることを記憶する。In the following explanation, after calculating the moving position of point qn, the moving position of point qn+1 is calculated. Then, an addition operation is performed, and the contents of the processing pixel memory 7 are increased by 1 from N corresponding to point pn+1 to N+ corresponding to point pn+1.
1, and the point to be processed by the calculation means 6 in the future is point pn+1.
Remember that.
(リ 次に演算手段6は変位量保持部1が保持していた
X軸方向の格子線Kxnからの変位Rx と、増分保持
部2が保持しているX軸方向の増分ΔXとを加算する。(Next, the calculation means 6 adds the displacement Rx from the grid line Kxn in the X-axis direction held by the displacement amount holding unit 1 and the increment ΔX in the X-axis direction held by the increment holding unit 2. .
(]) 演算手段5は基準格子長保持部3が保持してい
るlX と、処理ブロック(→で行なった計算結果(R
,lc+ΔX)との大小を比較し、(Rx七■)≧ll
と判断する。(]) The calculation means 5 uses lX held by the reference lattice length holding unit 3 and the calculation result (R
, lc+ΔX), and (Rx7■)≧ll
I judge that.
なお(Rx+ΔK)<lxならば、そのまま処理ブロッ
ク(→に進む。Note that if (Rx+ΔK)<lx, proceed directly to the processing block (→).
に)演算手段6は(R工+ΔX)からlxを減算する0
そして、その値を再びR工として変位量保持手段1に送
出し変位量保持手段1にX軸方向の新たな変位量として
記憶更新させる。) The calculation means 6 subtracts lx from (R + ΔX).
Then, the value is sent out to the displacement amount holding means 1 again as an R process, and the displacement amount holding means 1 is stored and updated as a new displacement amount in the X-axis direction.
(ホ)演算手段5は格子点位置保持部4に対して加算操
作を施し、格子点位置保持部4が記憶していたX軸の格
子線Kxnにlxを加算した値、すなわちKx(n+1
)を新たな格子線として格子点位置保持手段4に記憶更
新させる。(e) The calculation means 5 performs an addition operation on the grid point position holding unit 4, and obtains the value obtained by adding lx to the grid line Kxn of the X axis stored in the grid point position holding unit 4, that is, Kx(n+1
) is stored and updated in the grid point position holding means 4 as a new grid line.
←) 次に演算手段5は変位量保持部1が保持していた
y軸方向の格子線Kynからの変位Ry と、増分保持
部2が保持しているy軸方向の増分ΔYとを加算する。←) Next, the calculation means 5 adds the displacement Ry from the grid line Kyn in the y-axis direction held by the displacement amount holding unit 1 and the increment ΔY in the y-axis direction held by the increment holding unit 2. .
(8演算手段6は基準格子長保持部3が保持しているl
アと、処理ブロック(ハ)で行なった計算結果Ry+l
Y との大小を比較し、(Rア+ΔY)≧lアと判断す
る。(8 calculation means 6 is held by reference grid length holding section 3.
A and the calculation result Ry+l performed in the processing block (c)
Comparing the magnitude with Y, it is determined that (Ra+ΔY)≧la.
なお(Rア+n)−4yならば、そのまま処理ブロック
(場に進む。Note that if (Ra+n)-4y, proceed directly to the processing block (field).
(→ 演算手段5は(Ry+ΔY)からlアを減算する
。(→ The calculation means 5 subtracts lA from (Ry+ΔY).
そして、その値を再びRyとして変位量保持手段1に送
出し、変位量保持手段1にY軸方向の新たな変位量とし
て記憶更新させる。Then, the value is sent again as Ry to the displacement amount holding means 1, and the displacement amount holding means 1 is updated as a new displacement amount in the Y-axis direction.
(1力 演算手段6は格子点位置保持部4に対して加算
操作を施し、格子点位置保持部4が記憶していた格子線
Kynに4y を加算した値、すなわちにア(n+1)
を新たな格子線として記憶更新を行なわせる。(1) The calculation means 6 performs an addition operation on the lattice point position holding unit 4, and calculates the value obtained by adding 4y to the grid line Kyn stored in the lattice point position holding unit 4, that is, a(n+1).
is used as a new grid line to update the memory.
(巧 新たにめられた格子点位置保持部4の内容(Kx
(n+1 ) tKy(n+1 )が原画情報保持部
6に送出される。原画情報保持部6は処理画素記憶部7
の内容を参照し、点pn+1 の移動位置が(Kx(n
+1 )tKy(n+1 ))の格子点となることを知
り処理情報として点pn+1における種々の情報を位置
(Kx(n+1 ) 1Ky(n+1 ))に転送する
。(Takumi The contents of the newly set grid point position holding unit 4 (Kx
(n+1) tKy(n+1) is sent to the original image information holding section 6. The original image information holding section 6 is a processing pixel storage section 7
With reference to the contents of , the moving position of point pn+1 is (Kx(n
+1)tKy(n+1)), and transfers various information at point pn+1 to the position (Kx(n+1)1Ky(n+1)) as processing information.
以上のように本実施例によれば上記操作を繰り返すこと
により、加・減算と大小判断だけで順次移動位置をめる
ことができ、第1図に示した領域11の各画素を領域1
2に回転移動させることができる。As described above, according to this embodiment, by repeating the above operations, it is possible to sequentially determine the movement position only by addition/subtraction and size judgment, and each pixel in area 11 shown in FIG.
It can be rotated to 2.
すなわちもともとqn−1〜qn+2は第2図に示した
ようにX軸と平行な原画の各画素P、n−1〜pn+2
の列を角度θだけ傾けた結果の点であるから、原画の各
画素の間隔は一定であり、また各点qn−1〜qn+2
の間隔も一定である。そこで第4図に示すようにそれぞ
れの点の座標の値の差ΔX、、fYは一定であり、
が成り立つ。That is, originally qn-1 to qn+2 are each pixel P, n-1 to pn+2 of the original image parallel to the X axis, as shown in FIG.
Since these points are the result of tilting the column of
The interval between is also constant. Therefore, as shown in FIG. 4, the difference ΔX, , fY between the coordinate values of each point is constant, and the following holds true.
そこで第(神式を用い、画素qnの座標(xqn、Yq
クカ分ッテイレば、点qn+1の座標(x9n+1.Y
qn+1)の値は
Y =y +ΔY
qn+1qn
よりめることができる0従って、最初の点q1の座標に
より、点q2以降は第(功式により順次求めていくこと
ができる。Therefore, using the divine ceremony, the coordinates of pixel qn (xqn, Yq
If the coordinates of point qn+1 are (x9n+1.Y
The value of qn+1) can be determined from Y = y + ΔY qn+1qn 0. Therefore, based on the coordinates of the first point q1, points q2 and subsequent points can be sequentially determined using the formula.
なお実施例では基準格子長保持部3を設けて基準格子長
IIx、Itアの定数により移動位置をめたが、基準格
子長1x、lアがともに1画素分の長さであれば処理ブ
ロックに)、(男において1を減算するように演算手段
6に設定しておけばよく、基準格子長保持部3を省くこ
ともできる0
以下第6図を参照して、第3図に示した画像データ処理
装置のより具体的な構成を説明する。In the embodiment, a reference grid length holding unit 3 is provided to determine the movement position using the constants of the reference grid lengths IIx and Ita, but if the reference grid lengths 1x and lA are both the length of one pixel, the processing block ), (The calculation means 6 may be set to subtract 1 for males, and the reference lattice length holding unit 3 may be omitted.0 With reference to FIG. 6 below, A more specific configuration of the image data processing device will be explained.
第6図において、601は記憶装置で、画像を格子状に
分割して記憶している。602は記憶装置601と後述
する各構成の集合体であるプロセッサとを接続するバス
、603はそのプロセッサの内部バスである。604は
命令レジスタで、格納されている命令は制御部605に
より解釈され、後述する各プロ・リフ606〜616を
制御する。In FIG. 6, 601 is a storage device that stores images divided into grids. 602 is a bus that connects the storage device 601 and a processor which is a collection of components to be described later, and 603 is an internal bus of the processor. Reference numeral 604 denotes an instruction register, and the stored instructions are interpreted by a control unit 605 to control each of the pro riffs 606 to 616, which will be described later.
eoeは演算器で、第4図を用いて説明したアルゴリズ
ムに応じた必要な加減算、大小比較等を実行する。60
7は原画画素のポインタで、このポインタの指定する画
素の持つ情報(例えば濃度情報)が原画データレジスタ
608によって保持される。609はX軸方向の格子線
のポインタ(以下、xPと称す)で、X軸に直角な格子
線の番号に8 を保持している。610はX軸方向の残
差レジスタ(以下、RXと称す)で、たとえば第3図に
示した点qnの格子点からの変位R工を保持する。61
0aは、前記X軸方向残差レジスタ610に対し、任意
な初期値を与える、RX初期値設定手段である。611
はX軸方向の増分レジスタ(以下、Dxと称す)で、第
3図におけるΔX1すなわちIt、cosθの値を保持
している。612゜613.613a、614はそれぞ
れY軸方向についての格子線番号のポインタ(yp)、
残差レジスタ(RY)、RY初期値設定手段、増分レジ
スタ(DY)で、各レジスタ609〜611とそれぞれ
同様の機能を有する。615は間隔レジスタで、格子線
の間隔、すなわち第3図における値lを保持している。eoe is an arithmetic unit that executes necessary additions, subtractions, size comparisons, etc. according to the algorithm explained using FIG. 60
Reference numeral 7 denotes an original pixel pointer, and information (for example, density information) possessed by the pixel specified by this pointer is held in the original image data register 608. 609 is a pointer for grid lines in the X-axis direction (hereinafter referred to as xP), which holds the number 8 for grid lines perpendicular to the X-axis. 610 is a residual register (hereinafter referred to as RX) in the X-axis direction, which holds, for example, the displacement R of point qn shown in FIG. 3 from the grid point. 61
0a is an RX initial value setting means for giving an arbitrary initial value to the X-axis direction residual register 610. 611
is an increment register in the X-axis direction (hereinafter referred to as Dx), which holds the values of ΔX1, that is, It and cos θ in FIG. 612°613.613a and 614 are respectively grid line number pointers (yp) in the Y-axis direction;
The residual register (RY), RY initial value setting means, and increment register (DY) have the same functions as the registers 609 to 611, respectively. 615 is an interval register which holds the interval between grid lines, that is, the value l in FIG.
以上のような構成において、以下その動作を説明する。The operation of the above configuration will be explained below.
まず命令レジスタ604に画像の回転の命令が格納され
ると、各ブロックeo6〜615の各部は次のように動
作する。First, when an image rotation command is stored in the command register 604, each part of each block eo6 to 615 operates as follows.
(1)最初に、Rx初期値設定手段610 aによりR
x610に2棟たRY初期値設定手段613aによりR
Y613にそれぞれ任意の初期値が設定される。(1) First, Rx initial value setting means 610a sets R
R by the RY initial value setting means 613a provided in the x610.
An arbitrary initial value is set for each Y613.
(io 次に原画ポインタ607の内容を1だけ増加し
、それを画素のアドレス情報としてバス602へ出力し
、記憶装置601からそのアドレスの内容を読み出し、
原画データレジスタ608へ格納する。(第6図のブロ
ック(−1)に対応)
(11) 次にRx610とpx611の内容を内部バ
ス603を介して演算器606へ転送し、両者を加算し
、その結果を再びRx610へ格納する。(io Next, increase the content of the original picture pointer 607 by 1, output it to the bus 602 as pixel address information, read the content of that address from the storage device 601,
The data is stored in the original image data register 608. (Corresponds to block (-1) in Figure 6) (11) Next, the contents of Rx610 and px611 are transferred to the arithmetic unit 606 via the internal bus 603, the two are added, and the result is stored in Rx610 again. .
(第4図のブロック(+:!lに対応)(iQ Rx6
10の内容と、−間隔レジスタ口16の内容を演算器6
06により比較し、Rx610の内容が間隔レジスタ6
15の内容値より小さい場合は後述する(V)へ、Rx
610の内容値の方が大きい場合は後述する(1■)へ
移行する。(第4図のブロック0・)に対応)
(y)Rx610の内容から間隔レジスタ615の内容
を減じ、その結果をRx610に格納する。(Corresponds to block (+:!l) in Figure 4) (iQ Rx6
The contents of 10 and the contents of the -interval register port 16 are input to the arithmetic unit 6.
06 and the contents of Rx610 are the interval register 6.
If it is smaller than the content value of 15, go to (V) described later, Rx
If the content value of 610 is larger, the process moves to (1) described later. (Corresponding to block 0 in FIG. 4) (y) Subtract the contents of the interval register 615 from the contents of Rx610 and store the result in Rx610.
その後XP609の内容を演算器606によシ1だけ増
加する。(第4図のブロック(=)、(ホ)に対応)
(vi) Y軸方向について(iiD 、(iv)と(
ψと同様な演算を行なう0(第4図のブロック(υ、(
−fi、(す)に対応)
(vi◇XP609とYP812とで指定される位置に
対応する記憶装置601内のアドレスへ原画チータレジ
スタロ08の内容を格納する。(第4図のブロック(図
に対応)
以上のように上記構成によれば、乗算は不要であり、小
数回の加減算と大小比較のみで、回転後の格子点の濃度
をめていくことができる。従って、第(1)式の計算を
各点についてすべて行なう従来の方式に比べて高速に画
像データ処理を行々うことができる。Thereafter, the contents of XP 609 are incremented by 1 by arithmetic unit 606. (Corresponds to blocks (=) and (e) in Figure 4) (vi) Regarding the Y-axis direction (iiD, (iv) and (
0 (block (υ, (
-fi, corresponds to (su)) (vi◇Stores the contents of the original Cheetah register row 08 to the address in the storage device 601 corresponding to the position specified by XP609 and YP812. (Block of FIG. As described above, according to the above configuration, there is no need for multiplication, and it is possible to determine the density of the lattice points after rotation by only adding and subtracting decimal times and comparing the sizes. Image data processing can be performed at a higher speed than in the conventional method in which all equations are calculated for each point.
次に第6図に示した構成に、以下述べる2つの条件を与
えた場合の動作について説明する。Next, the operation when two conditions described below are given to the configuration shown in FIG. 6 will be described.
(第1条件)
Rx610.RY613が保持できる最大値が格子間隔
it x r l yに等しいとする。(従って、RX
初期値設定手段610a、RY初期値設定手段613a
により、設定される初期値も、この範囲である0 )言
イ換IJLId、lx、lア=1トシテ、Rx610゜
RY613は小数点以下の値のみを保持するよう構成す
る。(First condition) Rx610. Assume that the maximum value that RY613 can hold is equal to the grid spacing it x r ly. (Therefore, RX
Initial value setting means 610a, RY initial value setting means 613a
Therefore, the initial value to be set is also within this range (0) In other words, IJLId, lx, 1 = 1, Rx610°RY613 is configured to hold only values below the decimal point.
(第2条件)
格子点のアドレスを第8図に示すように割付けする。即
ち、同一の水平線上の点は右へ行く程アドレスが増加し
、水平線の最右端の次のアドレスは1本下の水平線の最
左端に対応するものとし、画像空間の横幅の画素数はW
個であるとする。(Second condition) Addresses of lattice points are assigned as shown in FIG. In other words, the addresses of points on the same horizontal line increase as they go to the right, and the next address from the rightmost end of the horizontal line corresponds to the leftmost end of the horizontal line one line below, and the number of pixels in the width of the image space is W.
Suppose that there are
上記第11”K 、1: しf、f、Rx610.RY
613が格子間隔lx、lyよりも大きくなったときは
加算の際、桁上げが発生すると同時に、Rx610.R
Y613が保持できる最大値が減じられた値が、加算結
果となる。従って、第6図に示したブロック(+:?l
、に)は第7図に示すブロック(1v)にはまたブロ
ック(へ)。Above 11th "K, 1: Shif, f, Rx610.RY
When Rx613 becomes larger than the grid spacing lx, ly, a carry occurs during addition, and at the same time Rx610. R
The value obtained by subtracting the maximum value that Y613 can hold becomes the addition result. Therefore, the block (+:?l
The block (1v) shown in FIG. 7 is also a block (to).
ケ)はブロック(viDに置きかえられる0まだこの条
件により図に示す間隔レジスタ616を省くことができ
る。i) The block (viD) is replaced by 0. This condition allows the interval register 616 shown in the figure to be omitted.
一方上記第2条件によれば、格子点をあられすのにXP
609とYP612の2つの値のかわシに、−次元アド
レスAだけであられすことかできることにより、第5図
に示したブロック((ホ)はX軸方向に1だけ進むこと
を意味しているから第7図に示すブロック(1v)で置
きかえられる。また、ブロック(功はY軸方向に1だけ
進むことを意味しているから、アドレスはちょうど画像
空間の横幅の分だけ小さくなるようにすれば良く、ブロ
ック(viDで置き換えることができる。On the other hand, according to the second condition above, it takes
Since the two values 609 and YP612 can be filled with only the -dimensional address A, the block shown in Figure 5 ((e) means to move forward by 1 in the X-axis direction. is replaced by the block (1v) shown in Figure 7.Also, since the block (go) means to advance by 1 in the Y-axis direction, the address should be made smaller by exactly the width of the image space. If possible, it can be replaced with a block (viD).
また第5図に示したフローチャートによれば、原画の隣
接する2点が回転した結果、RX610の切シ捨てによ
って同一点に対応する場合、原画の右方の点の値が最終
的に残る値となるが、第7図のブロック011)のよう
に、原画の画素の濃度p、乏それを格納すべき点の値と
を演算して格納すぎことにより、より原画に忠実な結果
を得るこ〆ともできる。Furthermore, according to the flowchart shown in Fig. 5, when two adjacent points on the original image are rotated and correspond to the same point by truncating the RX610, the value of the point on the right side of the original image is the final value that remains. However, as shown in block 011 of FIG. 7, by calculating and storing the density p of the pixel of the original image and the value of the point where it should be stored, a result that is more faithful to the original image can be obtained. It can also be used as a finale.
なお、pは原画の各画素濃度を表わすとして説明したが
、濃度以外の情報でも良いことは言うまでもない。Although p has been described as representing the density of each pixel of the original image, it goes without saying that information other than density may also be used.
次に初期値設定についてさらに詳細に説明する。Next, initial value setting will be explained in more detail.
例えばRX610.RY613の初期値を0とした場合
について第9図を参照しながら説明する。For example, RX610. The case where the initial value of RY613 is set to 0 will be explained with reference to FIG. 9.
第9図は原画の点列p1〜pnを角度θ1だけ回転勢せ
た結果がq1〜qnとした時、その一部の各点、−〇
91〜q5の位置を示すものである。FIG. 9 shows the positions of some points -091 to q5 when the result of rotating the point sequence p1 to pn of the original image by an angle θ1 is q1 to qn.
さて第9図に示すように初期値を0とすると、回転処理
の結果得られる直線Qの始点は%となる0そしてql
及びq2 はに12に、またq3 はに3に、q4 は
に4に、q5はに5に、それぞれ丸められた状態で記憶
される。Now, as shown in Figure 9, if the initial value is 0, the starting point of the straight line Q obtained as a result of the rotation process is 0 and ql
and q2 are rounded to 12, q3 is rounded to 3, q4 is rounded to 4, and q5 is rounded to 5.
すなわちRX610.RY613に対して、それぞれ初
期値設定手段610a、613aから初期値=0を設定
することにより、その回転処理の結果は常時切り捨てが
行なわれた格子点がめられる。That is, RX610. By setting the initial value=0 to RY613 from the initial value setting means 610a and 613a, the result of the rotation process always shows the truncated lattice points.
次にRX610.RY613の初期値をl/2とした場
合について第10図を参照しながら説明する。Next is RX610. The case where the initial value of RY613 is 1/2 will be explained with reference to FIG. 10.
第1o図は第9図の回転と同様に原画の点列p1〜pn
を角度θ1 だけ回転させた結果がq1〜qnとした時
、その一部の各点91〜q5の位置を示すものである。Figure 1o is a dot sequence p1 to pn of the original image, similar to the rotation in Figure 9.
When the results of rotating the angle θ1 are q1 to qn, the positions of the points 91 to q5 are shown.
さて第10図に示すように初期値をl/2とすると、回
転処理の結果得られる直線Qの始点はQoとなる。そし
てql はに1 に、またq2はに2に、q3はに3に
Sq4 はに4に% q5は、K6に、それぞれ丸めら
れた状態で記憶される。Now, as shown in FIG. 10, if the initial value is 1/2, the starting point of the straight line Q obtained as a result of the rotation process is Qo. Then, ql is rounded to 1, q2 is rounded to 2, q3 is rounded to 3, Sq4 is rounded to 4, and q5 is stored in K6.
すなわちRX610.RY613に対して、それぞれ初
期値設定手段6’10a 、 613aがら初期値−l
/2を設定することにょ9、第9図の回転処理の結果が
常時切り捨て処理であったのに対して、第10図の場合
は常時4捨5人が行なわれた格子点がめられる。That is, RX610. For RY613, the initial value -l is set by the initial value setting means 6'10a and 613a, respectively.
By setting /2, the result of the rotation process in FIG. 9 is always rounding down, whereas in the case of FIG.
以上のように初期値設定を変化させることにより、その
処理結果は違ったものが得られる。この ′ような結果
は、たとえばある画像を数回に分けて回転処理を行ない
、その画像処理の結果同士を最終的につなぎ合わせて再
現するような際に、処理すべき画像ごとに初期値を変化
させると、その分けて処理した画像間がなめらかにつな
ぎ合わせることが多々できる。もちろん初期値設定はそ
の他の処理にも有効である。By changing the initial value settings as described above, different processing results can be obtained. A result like this ′ can be obtained by dividing an image into several rotations, for example, and then finally stitching together the results of the image processing to reproduce the image. By changing this, it is often possible to seamlessly connect images that have been processed separately. Of course, initial value setting is also effective for other processes.
発明の効果
本発明は以上のように、変位量保持手段が保持している
直前の処理点における格子点からの変位量と、増分量保
持手段が保持している各処理点間の増分量とを加算し、
その加算結果から現在処理している点に対応した格子点
を順次求めるよう構成することにより、多数の画素から
成る画像を簡単な演算で、かつ高速に処理して画像の回
転を行なうことができ、また、初期値設定手段により、
変位量保持手段に任意の初期値が設定できることにより
、より微妙な、処理が行うことができ、その価値は大な
るものがある。Effects of the Invention As described above, the present invention calculates the amount of displacement from the lattice point at the immediately previous processing point held by the displacement amount holding means, and the incremental amount between each processing point held by the incremental amount holding means. Add and
By configuring the system to sequentially find grid points corresponding to the point currently being processed from the addition results, it is possible to rotate an image by processing an image consisting of a large number of pixels with simple calculations and at high speed. , Also, by the initial value setting means,
By being able to set an arbitrary initial value to the displacement amount holding means, more delicate processing can be performed, which has great value.
第1図および第2図は画像の回転を示す図、第3図は本
発明の一実施例における画像データ処理装置のブロック
結線図、第4図は同装置の画像処理を示す図、第5図は
同装置のフローチャート、第6図は本発明の第2の実施
例における画像デー夕処理装置のブロック結線図、第7
図は第3の実施例における画像データ処理装置のフロー
チャート、第8図は同装置のアドレスの割付けを示す口
笛9図及び第10図は初期値設定による回転処理の概念
を示す図である。
1・・・・・・変位量保持部、1a・・・・・初期値設
定手段、2・・・・・・増分保持部、4・・・・・・格
子点位置保持部、5・・・・・・演算手段。
代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図
L−!−□”’フ・I) ノ゛1 p+2ノ第6図
第7図
第8図
w2セ、−一一一一一
第9図
レーノ一一1 and 2 are diagrams showing image rotation, FIG. 3 is a block diagram of an image data processing device according to an embodiment of the present invention, FIG. 4 is a diagram showing image processing of the device, and FIG. 6 is a block diagram of the image data processing device according to the second embodiment of the present invention, and FIG. 7 is a flowchart of the same device.
FIG. 8 is a flowchart of the image data processing device in the third embodiment, and FIG. 8 is a diagram showing address allocation in the device, and FIGS. 9 and 10 are diagrams showing the concept of rotation processing based on initial value setting. 1... Displacement amount holding section, 1a... Initial value setting means, 2... Increment holding section, 4... Grid point position holding section, 5... ...Calculation means. Name of agent: Patent attorney Toshio Nakao and 1 other person No. 1
Figure L-! -□”'F・I) No. 1 p+2 No. 6 Fig. 7 Fig. 8 w2 Se, -11111 Fig. 9 Reno 11
Claims (1)
点までの位置の変位置を保持する変位置保持手段と前記
変位量保持手段に対し任意な初期値を与える初期値設定
手段と、処理を行なう各点の間の増分量を保持する増分
保持手段と、処理が行なわれた点に対応した格子点の位
置を記憶する格子点位置保持手段と、前記変位量保持手
段が保持している変位量と前記増分保持手段が保持して
いる増分量とを加算することにより回転を行なう点の新
たな座標点に対応した格子点をめて、前記格子点位置保
持手段に通知すふ演算手段とを具備した画像データ処理
装置。Displacement position holding means for holding the displacement of the position from the point processed immediately before to the grid point when performing image rotation processing; and initial value setting means for giving an arbitrary initial value to the displacement amount holding means; an increment holding means for holding an increment between each point where processing is performed; a grid point position holding means for storing the position of a grid point corresponding to the point where the processing is performed; and the displacement holding means holds. calculating means for determining a lattice point corresponding to a new coordinate point of the point to be rotated by adding the displacement amount and the increment amount held by the increment holding means, and notifying the lattice point position holding means; An image data processing device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10779184A JPS60251474A (en) | 1984-05-28 | 1984-05-28 | Picture data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10779184A JPS60251474A (en) | 1984-05-28 | 1984-05-28 | Picture data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60251474A true JPS60251474A (en) | 1985-12-12 |
Family
ID=14468117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10779184A Pending JPS60251474A (en) | 1984-05-28 | 1984-05-28 | Picture data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60251474A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62237581A (en) * | 1986-04-09 | 1987-10-17 | Hitachi Ltd | Image processor |
JPH02144676A (en) * | 1988-11-28 | 1990-06-04 | Hitachi Ltd | Image rotation system |
JPH02168358A (en) * | 1988-09-07 | 1990-06-28 | Topcon Corp | Transfer method having coordinate converting function and channel unit thereof |
-
1984
- 1984-05-28 JP JP10779184A patent/JPS60251474A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62237581A (en) * | 1986-04-09 | 1987-10-17 | Hitachi Ltd | Image processor |
JPH0525143B2 (en) * | 1986-04-09 | 1993-04-12 | Hitachi Ltd | |
JPH02168358A (en) * | 1988-09-07 | 1990-06-28 | Topcon Corp | Transfer method having coordinate converting function and channel unit thereof |
JPH02144676A (en) * | 1988-11-28 | 1990-06-04 | Hitachi Ltd | Image rotation system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930007023B1 (en) | Method and apparatus for transforming image | |
JPS60251474A (en) | Picture data processor | |
JPH03105614A (en) | Matrix computation circuit | |
JPS59229669A (en) | Picture data processor | |
JPH0758510B2 (en) | Three-dimensional graphic processor | |
JPH0756673B2 (en) | Image processing method by divided space filter | |
JPS63106872A (en) | Image processor | |
JPS59214376A (en) | Picture data processor | |
JP3503758B2 (en) | Graph display control device and graph display control method | |
JPS60189579A (en) | Processor of picture data | |
JPH0368086A (en) | Linear interpolating circuit | |
JP2967228B2 (en) | Image data transfer device | |
JPS62184576A (en) | Clipping circuit | |
JPH01166177A (en) | Thick line drawing system for dda circuit | |
JP3681240B2 (en) | Three-dimensional shape display method and three-dimensional CAD system using the method | |
JP2803235B2 (en) | Digital image processing method | |
JPS6126714B2 (en) | ||
JPH02118782A (en) | Method for processing picture | |
JPH03168879A (en) | Method for plotting graphic | |
JPH02103678A (en) | Turning system for bit map data | |
JPH0522273B2 (en) | ||
JPH03184184A (en) | Image processor | |
JPS5977570A (en) | Graphic input system | |
JP2000057347A (en) | Pseudo three-dimensional information generating device, pseudo three-dimensional information generating method, storage medium recorded with pseudo three- dimensional information generating program and pseudo three-dimensional information display device | |
JPH02270079A (en) | Map picture synthesizing device |