JP3471115B2 - 画像座標変換方法 - Google Patents
画像座標変換方法Info
- Publication number
- JP3471115B2 JP3471115B2 JP09724595A JP9724595A JP3471115B2 JP 3471115 B2 JP3471115 B2 JP 3471115B2 JP 09724595 A JP09724595 A JP 09724595A JP 9724595 A JP9724595 A JP 9724595A JP 3471115 B2 JP3471115 B2 JP 3471115B2
- Authority
- JP
- Japan
- Prior art keywords
- sub
- image
- conversion
- region
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000011426 transformation method Methods 0.000 title description 2
- 238000006243 chemical reaction Methods 0.000 claims description 99
- 238000000034 method Methods 0.000 claims description 51
- 238000004364 calculation method Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 3
- 239000003086 colorant Substances 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Generation (AREA)
Description
【0001】
【産業上の利用分野】本発明は、画像座標変換方法に関
し、特に、2値画像に表示されるイメージデータを拡大
したり縮小したり回転させたりする画像座標変換方法に
関する。
し、特に、2値画像に表示されるイメージデータを拡大
したり縮小したり回転させたりする画像座標変換方法に
関する。
【0002】
【従来の技術】一般に、白地に黒色の2値画像に表示さ
れるイメージデータを拡大したり縮小したり回転させた
りする場合、変換後画像の各画素(X,Y)に相当する
変換前画像の画素(x,y)を計算で見つけ出し、見つ
け出された変換前画像の画素(x,y)の色を変換後画
像の画素(X,Y)に描画する。例えば、図8に示す画
像に対し、画像左上隅の点(0,0)を中心に角度θ回
転させつつE倍に拡大する画像変換を行って図9に示す
ような画像を得る場合を考える。
れるイメージデータを拡大したり縮小したり回転させた
りする場合、変換後画像の各画素(X,Y)に相当する
変換前画像の画素(x,y)を計算で見つけ出し、見つ
け出された変換前画像の画素(x,y)の色を変換後画
像の画素(X,Y)に描画する。例えば、図8に示す画
像に対し、画像左上隅の点(0,0)を中心に角度θ回
転させつつE倍に拡大する画像変換を行って図9に示す
ような画像を得る場合を考える。
【0003】第1ステップS1として、図10に示すよ
うに、3X3変換行列
うに、3X3変換行列
【数1】
を設定する。いまの場合、a=cos(−θ)/E、b
=−sin(−θ)/E、c=f=0、d=sin(−
θ)/E、e=cos(−θ)/Eとなる。これらのa
ないしfの値を変更することによって、画像を回転させ
たり、拡大、縮小や平行移動させたり、歪ませたりする
ことができる。続いて、第2ステップS2において、第
1ステップS1で設定した変換行列を用いて、変換後画
像における各画素(X,Y)に相当する変換前画像の画
素(x,y)を算出する。第3ステップS3では、算出
された画素(x,y)が2値のうちいずれの値によって
規定される色、例えば、黒色か否かを調べる。ただし、
画素(x,y)が変換前画像の枠から外れているときは
白色とみなされる。第4または第5ステップS4、S5
では、調べられた変換前画像の画素(x,y)の色と同
様に変換後画像の画素(X,Y)を描画する。こういっ
た処理をx座標方向およびy座標方向に順次繰り返し
(第6、第7ステップS6、S7)、変換後画像の全て
の画素(X,Y)に関して描画を行う。
=−sin(−θ)/E、c=f=0、d=sin(−
θ)/E、e=cos(−θ)/Eとなる。これらのa
ないしfの値を変更することによって、画像を回転させ
たり、拡大、縮小や平行移動させたり、歪ませたりする
ことができる。続いて、第2ステップS2において、第
1ステップS1で設定した変換行列を用いて、変換後画
像における各画素(X,Y)に相当する変換前画像の画
素(x,y)を算出する。第3ステップS3では、算出
された画素(x,y)が2値のうちいずれの値によって
規定される色、例えば、黒色か否かを調べる。ただし、
画素(x,y)が変換前画像の枠から外れているときは
白色とみなされる。第4または第5ステップS4、S5
では、調べられた変換前画像の画素(x,y)の色と同
様に変換後画像の画素(X,Y)を描画する。こういっ
た処理をx座標方向およびy座標方向に順次繰り返し
(第6、第7ステップS6、S7)、変換後画像の全て
の画素(X,Y)に関して描画を行う。
【0004】
【発明が解決しようとする課題】ところが、前記のよう
な処理を行う場合、例えば、変換前画像の大半が空白で
あっても、常に、変換後画像の全ての画素について行列
変換を行う。したがって、画像変換の高速化を図るため
には、画像に変化のない空白部分についてはなるべく無
駄な計算処理時間を省きたい。
な処理を行う場合、例えば、変換前画像の大半が空白で
あっても、常に、変換後画像の全ての画素について行列
変換を行う。したがって、画像変換の高速化を図るため
には、画像に変化のない空白部分についてはなるべく無
駄な計算処理時間を省きたい。
【0005】本発明は、かかる実情に鑑みてなされたも
ので、2値画像内で、同一の値によって規定される色の
画素のみから構成される部分については画像変換を高速
化することができる画像座標変換方法を提供することを
目的とする。
ので、2値画像内で、同一の値によって規定される色の
画素のみから構成される部分については画像変換を高速
化することができる画像座標変換方法を提供することを
目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、第1発明に係る画像座標変換方法は、2値画像から
なる変換前画像を複数のサブ領域に分割する工程と、サ
ブ領域ごとに、そのサブ領域が2値のうち一方の値によ
って規定される色の画素のみから構成されているか否か
を判定する工程と、2値画像からなる変換後画像を複数
のサブブロックに分割する工程と、変換後画像のサブブ
ロックごとに、そのサブブロックに含まれる画素に対応
する変換前の画素を含む全てのサブ領域を検出する工程
と、検出されたサブ領域の全てが同一の値によって規定
される色の画素のみから構成されていると判定されてい
る場合に、変換後画像のサブブロックをその値によって
規定される色で塗りつぶす工程とを含むことを特徴とす
る。
に、第1発明に係る画像座標変換方法は、2値画像から
なる変換前画像を複数のサブ領域に分割する工程と、サ
ブ領域ごとに、そのサブ領域が2値のうち一方の値によ
って規定される色の画素のみから構成されているか否か
を判定する工程と、2値画像からなる変換後画像を複数
のサブブロックに分割する工程と、変換後画像のサブブ
ロックごとに、そのサブブロックに含まれる画素に対応
する変換前の画素を含む全てのサブ領域を検出する工程
と、検出されたサブ領域の全てが同一の値によって規定
される色の画素のみから構成されていると判定されてい
る場合に、変換後画像のサブブロックをその値によって
規定される色で塗りつぶす工程とを含むことを特徴とす
る。
【0007】また、第2発明によれば、第1発明に係る
画像座標変換方法において、前記サブブロックの分割数
は、変換前画像に含まれる画素の2値の比率に基づいて
決定されることを特徴とする。
画像座標変換方法において、前記サブブロックの分割数
は、変換前画像に含まれる画素の2値の比率に基づいて
決定されることを特徴とする。
【0008】さらに、第3発明によれば、第1発明に係
る画像座標変換方法において、変換後画像のサブブロッ
クごとに、サブブロックの頂点座標を変換前画像に座標
変換して、座標変換された頂点座標を用いて変換前画像
に仮想領域を画成する工程と、仮想領域が変換前画像の
サブ領域に関して回転移動している場合には、仮想領域
を囲む輪郭線上に位置するサブ領域を検出して、その検
出されたサブ領域に基づいて、サブブロックに含まれる
画素に対応する変換前の画素を含む全てのサブ領域を検
出する工程と、仮想領域が変換前画像のサブ領域に関し
て回転移動していない場合には、座標変換によって得ら
れる仮想領域の頂点座標から、サブブロックに含まれる
画素に対応する変換前の画素を含む全てのサブ領域を検
出する工程とを含むことを特徴とする。
る画像座標変換方法において、変換後画像のサブブロッ
クごとに、サブブロックの頂点座標を変換前画像に座標
変換して、座標変換された頂点座標を用いて変換前画像
に仮想領域を画成する工程と、仮想領域が変換前画像の
サブ領域に関して回転移動している場合には、仮想領域
を囲む輪郭線上に位置するサブ領域を検出して、その検
出されたサブ領域に基づいて、サブブロックに含まれる
画素に対応する変換前の画素を含む全てのサブ領域を検
出する工程と、仮想領域が変換前画像のサブ領域に関し
て回転移動していない場合には、座標変換によって得ら
れる仮想領域の頂点座標から、サブブロックに含まれる
画素に対応する変換前の画素を含む全てのサブ領域を検
出する工程とを含むことを特徴とする。
【0009】
【作用】第1発明に係る方法によれば、検出されたサブ
領域の全てが同一の値によって規定される色の画素のみ
から構成されていると判定されている場合に、変換後画
像のサブブロックをその値によって規定される色で塗り
つぶしてしまう。
領域の全てが同一の値によって規定される色の画素のみ
から構成されていると判定されている場合に、変換後画
像のサブブロックをその値によって規定される色で塗り
つぶしてしまう。
【0010】また、第2発明に係る方法によれば、変換
前画像に含まれる画素の2値の比率に基づいて、サブブ
ロックの分割数が決定されるので、画像変換の高速化に
最適な分割数によって画像を分割することによって、よ
り一層の効率化を図ることができる。
前画像に含まれる画素の2値の比率に基づいて、サブブ
ロックの分割数が決定されるので、画像変換の高速化に
最適な分割数によって画像を分割することによって、よ
り一層の効率化を図ることができる。
【0011】さらに、第3発明に係る方法によれば、画
像の回転変換の有無によって計算処理を振り分け、一層
の効率化を図ることができる。
像の回転変換の有無によって計算処理を振り分け、一層
の効率化を図ることができる。
【0012】
【実施例】以下、添付図面を参照しつつ本発明の好適な
実施例を説明する。
実施例を説明する。
【0013】図1に従って本発明に係る画像座標変換方
法を説明する。まず、第1ステップQ1で、白地に黒色
の2値画像からなる変換前画像を複数個、この場合(x
1)X(y1)個のサブ領域r(x,y)に分割する
(図2参照)。各サブ領域r(x,y)は正方形に構成
され、例えば、計算機が32ビットデータを一括して扱
えるとしたら、1つのサブ領域r(x,y)には、32
X32ドット、64X64ドットなど、32nX32n
(n=1、2、3、…)ドットの画素が含まれることが
望ましい。
法を説明する。まず、第1ステップQ1で、白地に黒色
の2値画像からなる変換前画像を複数個、この場合(x
1)X(y1)個のサブ領域r(x,y)に分割する
(図2参照)。各サブ領域r(x,y)は正方形に構成
され、例えば、計算機が32ビットデータを一括して扱
えるとしたら、1つのサブ領域r(x,y)には、32
X32ドット、64X64ドットなど、32nX32n
(n=1、2、3、…)ドットの画素が含まれることが
望ましい。
【0014】第2ステップQ2では、サブ領域ごとに、
そのサブ領域が2値のうち一方の値によって規定される
色の画素のみからなるか否かが判定される。サブ領域r
(x,y)内の画素が全て白色であれば、そのサブ領域
r(x,y)に対してラベル0(x,y)を付し、全て
黒色であれば、そのサブ領域r(x,y)に対してラベ
ル2(x,y)を付する。サブ領域r(x,y)内に白
色および黒色の両者が含まれる場合には、そのサブ領域
r(x,y)にラベル1(x,y)が付される(図3参
照)。
そのサブ領域が2値のうち一方の値によって規定される
色の画素のみからなるか否かが判定される。サブ領域r
(x,y)内の画素が全て白色であれば、そのサブ領域
r(x,y)に対してラベル0(x,y)を付し、全て
黒色であれば、そのサブ領域r(x,y)に対してラベ
ル2(x,y)を付する。サブ領域r(x,y)内に白
色および黒色の両者が含まれる場合には、そのサブ領域
r(x,y)にラベル1(x,y)が付される(図3参
照)。
【0015】第3ステップQ3では、白地に黒色の2値
画像からなる変換後画像を複数個、この場合(x2)X
(y2)個のサブブロックR(x,y)に分割する(図
4参照)。前述のサブ領域と同様に、サブブロックR
(x,y)に含まれる画素の数は、計算機が扱うことの
できるビット数の整数倍であることが好ましい。ただ
し、変換前画像の場合と同じ大きさの正方形に分割する
必要はなく、同じ数に分割する必要もない。
画像からなる変換後画像を複数個、この場合(x2)X
(y2)個のサブブロックR(x,y)に分割する(図
4参照)。前述のサブ領域と同様に、サブブロックR
(x,y)に含まれる画素の数は、計算機が扱うことの
できるビット数の整数倍であることが好ましい。ただ
し、変換前画像の場合と同じ大きさの正方形に分割する
必要はなく、同じ数に分割する必要もない。
【0016】第4ステップQ4では、変換後画像のサブ
ブロックR(x,y)が相当する変換前画像の仮想領域
R1(s,t)を特定する。すなわち、変換後画像のサ
ブブロックR(x,y)の4つの頂点の座標(X1,Y
1)、(X2,Y1)、(X1,Y2)および(X2,
Y2)に式(1)の変換行列を用いて座標変換を行い、
これらの4つの頂点が変換前画像において相当する4つ
の座標R1(s1,t1)、R1(s2,t2)、R1
(s3,t3)およびR1(s4,t4)を求める。こ
れら4つの座標R1(s1,t1)、R1(s2,t
2)、R1(s3,t3)およびR1(s4,t4)を
頂点とする四角形を仮想領域R1(s,t)とする。
ブロックR(x,y)が相当する変換前画像の仮想領域
R1(s,t)を特定する。すなわち、変換後画像のサ
ブブロックR(x,y)の4つの頂点の座標(X1,Y
1)、(X2,Y1)、(X1,Y2)および(X2,
Y2)に式(1)の変換行列を用いて座標変換を行い、
これらの4つの頂点が変換前画像において相当する4つ
の座標R1(s1,t1)、R1(s2,t2)、R1
(s3,t3)およびR1(s4,t4)を求める。こ
れら4つの座標R1(s1,t1)、R1(s2,t
2)、R1(s3,t3)およびR1(s4,t4)を
頂点とする四角形を仮想領域R1(s,t)とする。
【0017】続いて、第5ステップQ5では、この求め
られた仮想領域R1(s,t)と1点以上の共通画素を
含む変換前画像のサブ領域r(x,y)を全て見つけ出
す。こうすることによって、変換後画像のサブブロック
R(x,y)ごとに、そのサブブロックR(x,y)に
含まれる画素に対応する変換前の画素を含む全てのサブ
領域r(x,y)が検出される。ただし、該当するサブ
領域が全く検出されないときは、仮想領域が変換前画像
の枠外にあるので、第6ステップQ6に進み、そのサブ
ブロックR(x,y)に含まれる画素を全て白色で塗り
つぶす。この場合には、続いて、第7ステップQ7に進
み、全てのサブブロックR(x,y)の座標変換処理が
終了したか否かが判断される。終了していれば変換処理
を終了し、終了していなければ再び第4ステップQ4へ
戻って他のサブブロックR(x,y)の変換処理を行
う。
られた仮想領域R1(s,t)と1点以上の共通画素を
含む変換前画像のサブ領域r(x,y)を全て見つけ出
す。こうすることによって、変換後画像のサブブロック
R(x,y)ごとに、そのサブブロックR(x,y)に
含まれる画素に対応する変換前の画素を含む全てのサブ
領域r(x,y)が検出される。ただし、該当するサブ
領域が全く検出されないときは、仮想領域が変換前画像
の枠外にあるので、第6ステップQ6に進み、そのサブ
ブロックR(x,y)に含まれる画素を全て白色で塗り
つぶす。この場合には、続いて、第7ステップQ7に進
み、全てのサブブロックR(x,y)の座標変換処理が
終了したか否かが判断される。終了していれば変換処理
を終了し、終了していなければ再び第4ステップQ4へ
戻って他のサブブロックR(x,y)の変換処理を行
う。
【0018】第5ステップQ5において、求められた仮
想領域R1(s,t)と1点以上の共通画素を含む変換
前画像のサブ領域r(x,y)が検出されると、全ての
サブ領域r(x,y)のラベルが「0」であるか否かが
判定される。全てのサブ領域r(x,y)のラベルが
「0」であると、第6ステップQ6に進み、サブブロッ
クR(x,y)内の全ての画素を白色で塗りつぶす。サ
ブ領域r(x,y)が複数個ある場合には、第1のサブ
領域r(x,y)のラベルが「0」であることを確認
し、後続するサブ領域r(x,y)のラベルが「0」で
なくなった時点で、後述する第11ステップQ11に進
むようにしてもよい。
想領域R1(s,t)と1点以上の共通画素を含む変換
前画像のサブ領域r(x,y)が検出されると、全ての
サブ領域r(x,y)のラベルが「0」であるか否かが
判定される。全てのサブ領域r(x,y)のラベルが
「0」であると、第6ステップQ6に進み、サブブロッ
クR(x,y)内の全ての画素を白色で塗りつぶす。サ
ブ領域r(x,y)が複数個ある場合には、第1のサブ
領域r(x,y)のラベルが「0」であることを確認
し、後続するサブ領域r(x,y)のラベルが「0」で
なくなった時点で、後述する第11ステップQ11に進
むようにしてもよい。
【0019】最初のサブ領域r(x,y)が「2」のと
きは、第9ステップQ9に進み、交わりを持つ全てのサ
ブ領域r(x,y)がラベルが「2」であるか否かが判
定される。全てのサブ領域r(x,y)のラベルが
「2」であると、第10ステップQ10に進み、サブブ
ロックR(x,y)内の全ての画素を黒色で塗りつぶ
す。サブ領域r(x,y)が複数個ある場合には、第1
のサブ領域r(x,y)のラベルが「2」であることを
確認し、後続するサブ領域r(x,y)のラベルが
「2」でなくなった時点で、後述する第11ステップQ
11に進むようにしてもよい。
きは、第9ステップQ9に進み、交わりを持つ全てのサ
ブ領域r(x,y)がラベルが「2」であるか否かが判
定される。全てのサブ領域r(x,y)のラベルが
「2」であると、第10ステップQ10に進み、サブブ
ロックR(x,y)内の全ての画素を黒色で塗りつぶ
す。サブ領域r(x,y)が複数個ある場合には、第1
のサブ領域r(x,y)のラベルが「2」であることを
確認し、後続するサブ領域r(x,y)のラベルが
「2」でなくなった時点で、後述する第11ステップQ
11に進むようにしてもよい。
【0020】第8ステップQ8から第6ステップQ6へ
の処理や、第9ステップQ9から第10ステップQ10
への処理を通じて、検出されたサブ領域の全てが同一の
値によって規定される色の画素のみから構成されている
と判断され、変換後画像のサブブロックがその値によっ
て規定される色で塗りつぶされる。
の処理や、第9ステップQ9から第10ステップQ10
への処理を通じて、検出されたサブ領域の全てが同一の
値によって規定される色の画素のみから構成されている
と判断され、変換後画像のサブブロックがその値によっ
て規定される色で塗りつぶされる。
【0021】以上の過程を通じて最初のサブ領域r
(x,y)のラベルが「1」であると判定された場合
や、仮想領域R1(x,y)に交わるサブ領域r(x,
y)のラベルに「0」や「1」、「2」が混在している
と判定された場合には、第11ステップQ11に進み、
図10と同様に、サブブロックR(x,y)に含まれる
全ての画素について行列変換を行い、対応する変換前画
像の画素の色を変換後画像の画素に描画する。これを全
てのサブブロックR(x,y)の変換が終了するまで繰
り返す。
(x,y)のラベルが「1」であると判定された場合
や、仮想領域R1(x,y)に交わるサブ領域r(x,
y)のラベルに「0」や「1」、「2」が混在している
と判定された場合には、第11ステップQ11に進み、
図10と同様に、サブブロックR(x,y)に含まれる
全ての画素について行列変換を行い、対応する変換前画
像の画素の色を変換後画像の画素に描画する。これを全
てのサブブロックR(x,y)の変換が終了するまで繰
り返す。
【0022】このような方法によれば、変換前画像のサ
ブ領域を構成する画素の色を判定することによって、変
換後画像のサブブロックにおける全ての画素を2値のい
ずれかによって規定される色により塗りつぶすことがで
きるので、全ての画素について行列変換処理を行う必要
がない。その結果、従来に比べ、処理時間の短縮化が図
られる。
ブ領域を構成する画素の色を判定することによって、変
換後画像のサブブロックにおける全ての画素を2値のい
ずれかによって規定される色により塗りつぶすことがで
きるので、全ての画素について行列変換処理を行う必要
がない。その結果、従来に比べ、処理時間の短縮化が図
られる。
【0023】すなわち、変換後画像をBドットXBドッ
トのサブブロックに分割し、式(1)の変換行列を用い
て画素の座標変換を行う場合、変換後画像のサブブロッ
ク1個に含まれる画素数はB2 個となり、変換前画像の
サブ領域に含まれる画素数は、変換行列の成分を用い
て、
トのサブブロックに分割し、式(1)の変換行列を用い
て画素の座標変換を行う場合、変換後画像のサブブロッ
ク1個に含まれる画素数はB2 個となり、変換前画像の
サブ領域に含まれる画素数は、変換行列の成分を用い
て、
【数2】
となる。ここで、変換前画像において全ての画素に対し
て白い画素が含まれる比率をpとすると、変換前画像の
サブ領域内の全ての画素が白色である確率は、
て白い画素が含まれる比率をpとすると、変換前画像の
サブ領域内の全ての画素が白色である確率は、
【数3】
変換前画像のサブ領域内の全ての画素が黒色である確率
は、
は、
【数4】
となる。変換後画像において、水平方向のドット数をM
個、垂直方向のドット数をN個とし、サブブロック内の
画素をまとめて処理することにより、変換後画像の全て
の画素について行列変換を行う場合に比べて削減するこ
とができる処理時間は、(1画素当たりの計算時間削減
量)X(変換前画像のサブ領域の画素が全て白色か黒色
である確率)X(変換後画像のサブブロック内の画素
数)X(変換後画像に含まれるサブブロックの個数)に
よって表される。したがって、1画素当たりの計算時間
削減量、すなわち、いわゆる従来の処理により1点の画
素の色を決定するために必要とされる時間をC1とおく
と、
個、垂直方向のドット数をN個とし、サブブロック内の
画素をまとめて処理することにより、変換後画像の全て
の画素について行列変換を行う場合に比べて削減するこ
とができる処理時間は、(1画素当たりの計算時間削減
量)X(変換前画像のサブ領域の画素が全て白色か黒色
である確率)X(変換後画像のサブブロック内の画素
数)X(変換後画像に含まれるサブブロックの個数)に
よって表される。したがって、1画素当たりの計算時間
削減量、すなわち、いわゆる従来の処理により1点の画
素の色を決定するために必要とされる時間をC1とおく
と、
【数5】
となる。
【0024】次に、変換後画像のサブブロックの頂点が
変換前画像のどの画素に相当するかを計算する時間は、
(画素1点を変換する時間)X(変換後画像のサブブロ
ックの頂点数)で表される。したがって、画素1点を変
換する時間、すなわち、画素の座標に変換行列をかけ、
座標を変換するために必要とされる時間をC2とおく
と、
変換前画像のどの画素に相当するかを計算する時間は、
(画素1点を変換する時間)X(変換後画像のサブブロ
ックの頂点数)で表される。したがって、画素1点を変
換する時間、すなわち、画素の座標に変換行列をかけ、
座標を変換するために必要とされる時間をC2とおく
と、
【数6】
となる。
【0025】また、変換前画像のサブ領域のラベルを調
べるために必要とされる計算時間の合計は、(1つのラ
ベルを調べるために必要とされる時間)X(全てのラベ
ルの数)、言い換えると、(1つのラベルを調べるため
に必要とされる時間)X(1つの変換後画像のサブブロ
ックと交わりを持つ変換前画像のサブ領域の個数)X
(変換後画像に含まれるサブブロックの数)によって表
される。したがって、1つの変換前画像のサブ領域のラ
ベルを調べるために必要とされる時間をC3とおくと、
べるために必要とされる計算時間の合計は、(1つのラ
ベルを調べるために必要とされる時間)X(全てのラベ
ルの数)、言い換えると、(1つのラベルを調べるため
に必要とされる時間)X(1つの変換後画像のサブブロ
ックと交わりを持つ変換前画像のサブ領域の個数)X
(変換後画像に含まれるサブブロックの数)によって表
される。したがって、1つの変換前画像のサブ領域のラ
ベルを調べるために必要とされる時間をC3とおくと、
【数7】
が得られる。以上の結果、次式(2)で表される総計算
時間が削減されることとなる。
時間が削減されることとなる。
【0026】
【数8】
ここで、定数C1、C2およびC3の値は、実行する計
算機やプログラムによって異なり、プログラム作成後に
計算時間を実測してこれらの定数は決定される。この式
(2)に含まれるBドットの値として32ドット、64
ドット等を代入し、式(2)の結果が最大となるBを求
めることが最適である。したがって、変換後画像のサブ
ブロックの分割数は、変換前画像に含まれる画素の2値
の比率に基づいて決定されることとなる。
算機やプログラムによって異なり、プログラム作成後に
計算時間を実測してこれらの定数は決定される。この式
(2)に含まれるBドットの値として32ドット、64
ドット等を代入し、式(2)の結果が最大となるBを求
めることが最適である。したがって、変換後画像のサブ
ブロックの分割数は、変換前画像に含まれる画素の2値
の比率に基づいて決定されることとなる。
【0027】次に、前述の第5ステップQ5で、仮想領
域R1(s,t)と交わりを持つサブブロックを検出す
る手順についてさらに詳述する。仮想領域R1(s,
t)の回転角が比較的小さいとき、すなわち、式(1)
の行列成分b、dの絶対値がa、eの絶対値に比べて小
さいときには第1手法を用い、反対に、式(1)の行列
成分b、dの絶対値がa、eの絶対値に比べて大きいと
きには第2手法を用いる。
域R1(s,t)と交わりを持つサブブロックを検出す
る手順についてさらに詳述する。仮想領域R1(s,
t)の回転角が比較的小さいとき、すなわち、式(1)
の行列成分b、dの絶対値がa、eの絶対値に比べて小
さいときには第1手法を用い、反対に、式(1)の行列
成分b、dの絶対値がa、eの絶対値に比べて大きいと
きには第2手法を用いる。
【0028】第1手法によれば、図5および図6に示す
ように、まず、第1ステップT1で仮想領域R1(s,
t)の4つの頂点の座標R1(s1,t1)、R1(s
2,t2)、R1(s3,t3)およびR1(s4,t
4)を求める。第2ステップT2では、それらの座標の
x座標およびy座標について最大値Xmax、Ymax
および最小値Xmin、Yminを求める。これによっ
て仮想領域R1(s,t)を完全に包含する四角い領域
(Xmax,Ymax)、(Xmin,Ymax)、
(Xmin,Ymin)、(Xmax,Ymin)が画
成される。
ように、まず、第1ステップT1で仮想領域R1(s,
t)の4つの頂点の座標R1(s1,t1)、R1(s
2,t2)、R1(s3,t3)およびR1(s4,t
4)を求める。第2ステップT2では、それらの座標の
x座標およびy座標について最大値Xmax、Ymax
および最小値Xmin、Yminを求める。これによっ
て仮想領域R1(s,t)を完全に包含する四角い領域
(Xmax,Ymax)、(Xmin,Ymax)、
(Xmin,Ymin)、(Xmax,Ymin)が画
成される。
【0029】第3ステップT3では、四角い領域の1つ
の頂点である(Xmin,Ymin)を含んでいるサブ
領域r(m,n)を求める。サブ領域r(m,n)の位
置は、x座標およびy座標をそれぞれ1サブ領域のドッ
ト数Bで割り、得られた値の整数部分のみを抜き出して
これに1を加えることによって得られる。第4ステップ
T4では、四角い領域のもう1つの頂点である(Xma
x,Ymax)を含んでいるサブ領域r(M,N)を求
める。以上の計算から、m≦i≦Mおよびn≦j≦Nの
条件下でサブ領域r(i、j)は仮想領域R1(s,
t)と交わりを持つサブ領域となる(第5ステップT
5)。
の頂点である(Xmin,Ymin)を含んでいるサブ
領域r(m,n)を求める。サブ領域r(m,n)の位
置は、x座標およびy座標をそれぞれ1サブ領域のドッ
ト数Bで割り、得られた値の整数部分のみを抜き出して
これに1を加えることによって得られる。第4ステップ
T4では、四角い領域のもう1つの頂点である(Xma
x,Ymax)を含んでいるサブ領域r(M,N)を求
める。以上の計算から、m≦i≦Mおよびn≦j≦Nの
条件下でサブ領域r(i、j)は仮想領域R1(s,
t)と交わりを持つサブ領域となる(第5ステップT
5)。
【0030】次に、第2手法によれば、図7に示すよう
に、まず、第1ステップU1で仮想領域R1(s,t)
の4本の輪郭から任意の線分(sa,ta)−(sb,
tb)を取り出す。第2ステップU2では、この線分
(sa,ta)−(sb,tb)が水平線(−∞,y)
−(∞,y)(ここで、0≦y≦(変換前画像の垂直方
向の画素数−1)、yは整数)と交わるか否かを調べ
る。その線分が水平線と交わりを持たない場合には、そ
の線分自体が水平線であると判断され、第3ステップU
3に進み、m1=[sa/B]+1、m2=[sb/
B]+1およびn=[ta/B]+1を計算する。ここ
で、[]でくくられた部分では、割り算によって得られ
た値の整数部分のみが取り出されることを意味する(以
下、同様)。計算から得られたm1、m2およびnから
線分上に位置するサブ領域r(m1,n)、r(m1+
1,n)、…、r(m2−1,n)、r(m2,n)が
得られる(第4ステップU4)。
に、まず、第1ステップU1で仮想領域R1(s,t)
の4本の輪郭から任意の線分(sa,ta)−(sb,
tb)を取り出す。第2ステップU2では、この線分
(sa,ta)−(sb,tb)が水平線(−∞,y)
−(∞,y)(ここで、0≦y≦(変換前画像の垂直方
向の画素数−1)、yは整数)と交わるか否かを調べ
る。その線分が水平線と交わりを持たない場合には、そ
の線分自体が水平線であると判断され、第3ステップU
3に進み、m1=[sa/B]+1、m2=[sb/
B]+1およびn=[ta/B]+1を計算する。ここ
で、[]でくくられた部分では、割り算によって得られ
た値の整数部分のみが取り出されることを意味する(以
下、同様)。計算から得られたm1、m2およびnから
線分上に位置するサブ領域r(m1,n)、r(m1+
1,n)、…、r(m2−1,n)、r(m2,n)が
得られる(第4ステップU4)。
【0031】第2ステップU2で、水平線との交わりが
あると判断されると、第5ステップU5に進み、y座標
の値をtaからtbまで変化させながら水平線(−∞,
y)−(∞,y)が線分(sa,ta)−(sb,t
b)と交差する点の座標(xs,y)を求める。第6ス
テップU6では、求められた座標(xs,y)から、m
=[xs/B]+1およびn=[y/B]+1を求め
る。計算から得られたmおよびnから線分(sa,t
a)−(sb,tb)上に位置するサブ領域r(m,
n)を全て求める。以上の処理を4本全ての線分に行っ
たことが確認されると、第7ステップU7に進む。
あると判断されると、第5ステップU5に進み、y座標
の値をtaからtbまで変化させながら水平線(−∞,
y)−(∞,y)が線分(sa,ta)−(sb,t
b)と交差する点の座標(xs,y)を求める。第6ス
テップU6では、求められた座標(xs,y)から、m
=[xs/B]+1およびn=[y/B]+1を求め
る。計算から得られたmおよびnから線分(sa,t
a)−(sb,tb)上に位置するサブ領域r(m,
n)を全て求める。以上の処理を4本全ての線分に行っ
たことが確認されると、第7ステップU7に進む。
【0032】第7ステップU7では、求められた4本の
線分上のサブ領域r(m,n)から、x軸方向の位置m
におけるy軸方向の最小値Yminおよび最大値Yma
xを検出する。その結果、r(m,Ymin)〜r
(m,Ymax)に位置する全てのサブ領域は仮想領域
R1(s,t)に含まれることとなる。この処理をx軸
方向位置mを最小値から最大値まで変化させて実行する
と、仮想領域R1(s,t)に含まれる全てのサブ領域
r(m,n)が検出される。第8ステップU8で全ての
サブ領域r(m,n)が検出されたことが確認される
と、処理は終了する。
線分上のサブ領域r(m,n)から、x軸方向の位置m
におけるy軸方向の最小値Yminおよび最大値Yma
xを検出する。その結果、r(m,Ymin)〜r
(m,Ymax)に位置する全てのサブ領域は仮想領域
R1(s,t)に含まれることとなる。この処理をx軸
方向位置mを最小値から最大値まで変化させて実行する
と、仮想領域R1(s,t)に含まれる全てのサブ領域
r(m,n)が検出される。第8ステップU8で全ての
サブ領域r(m,n)が検出されたことが確認される
と、処理は終了する。
【0033】前述の第1手法では、計算処理が簡単であ
り、比較的計算処理に要する時間が短い。その一方で、
ある程度仮想領域R1(s,t)の回転角が大きくなる
と(例えば、図6に示すような場合)、実際には交わり
を持たないサブ領域についても交わりを持つものと判断
してしまう。第2手法では、仮想領域R1(s,t)の
輪郭線上に位置するサブ領域r(m,n)を検出し、そ
の後、輪郭線に囲まれた領域にあるサブ領域r(m,
n)を求めることから、仮想領域R1(s,t)と交わ
りを持つサブ領域r(m,n)を正確に検出することが
できる。したがって、両者の手法を組み合わせることに
よってより効率的な計算処理を行うことができる。
り、比較的計算処理に要する時間が短い。その一方で、
ある程度仮想領域R1(s,t)の回転角が大きくなる
と(例えば、図6に示すような場合)、実際には交わり
を持たないサブ領域についても交わりを持つものと判断
してしまう。第2手法では、仮想領域R1(s,t)の
輪郭線上に位置するサブ領域r(m,n)を検出し、そ
の後、輪郭線に囲まれた領域にあるサブ領域r(m,
n)を求めることから、仮想領域R1(s,t)と交わ
りを持つサブ領域r(m,n)を正確に検出することが
できる。したがって、両者の手法を組み合わせることに
よってより効率的な計算処理を行うことができる。
【0034】なお、以上説明した本発明に係る画像座標
変換方法は、画像の拡大・縮小のみならず、画像を回転
させたり、画像を歪ませたりする際にも用いられる。
変換方法は、画像の拡大・縮小のみならず、画像を回転
させたり、画像を歪ませたりする際にも用いられる。
【0035】
【発明の効果】第1発明に係る方法によれば、検出され
たサブ領域の全てが同一の値によって規定される色の画
素のみから構成されていると判定されている場合に、変
換後画像のサブブロックをその値によって規定される色
で塗りつぶしてしまう。その結果、2値画像内で、画像
に変化のない空白部分についてはなるべく無駄な計算処
理時間を省き、画像変換を高速化することができる。
たサブ領域の全てが同一の値によって規定される色の画
素のみから構成されていると判定されている場合に、変
換後画像のサブブロックをその値によって規定される色
で塗りつぶしてしまう。その結果、2値画像内で、画像
に変化のない空白部分についてはなるべく無駄な計算処
理時間を省き、画像変換を高速化することができる。
【0036】また、第2発明に係る方法によれば、変換
前画像に含まれる画素の2値の比率に基づいて、サブブ
ロックの分割数が決定されるので、画像変換の高速化に
最適な分割数によって画像を分割することによって、よ
り一層の効率化を図ることができる。
前画像に含まれる画素の2値の比率に基づいて、サブブ
ロックの分割数が決定されるので、画像変換の高速化に
最適な分割数によって画像を分割することによって、よ
り一層の効率化を図ることができる。
【0037】さらに、第3発明に係る方法によれば、画
像の回転変換の有無によって計算処理を振り分け、一層
の効率化を図ることができる。
像の回転変換の有無によって計算処理を振り分け、一層
の効率化を図ることができる。
【図1】 本発明に係る画像座標変換方法を示すフロー
チャートである。
チャートである。
【図2】 サブ領域に分割された変換前画像を示す図で
ある。
ある。
【図3】 サブ領域ごとにラベルが付された変換前画像
を示す図である。
を示す図である。
【図4】 サブブロックに分割された変換後画像を示す
図である。
図である。
【図5】 仮想領域と交わるサブ領域を検出する第1手
法を示すフローチャートである。
法を示すフローチャートである。
【図6】 仮想領域と変換前画像との関係を示す図であ
る。
る。
【図7】 仮想領域と交わるサブ領域を検出する第2手
法を示すフローチャートである。
法を示すフローチャートである。
【図8】 変換前画像の一例を示す図である。
【図9】 図8の画像を回転縮小した変換後画像を示す
図である。
図である。
【図10】 従来例に従った画像座標変換方法を示すフ
ローチャートである。
ローチャートである。
(x,y) 変換前画像の画素、(X,Y) 変換後画
像の画素、r(x,y) 変換前画像のサブ領域、R
(x,y) 変換後画像のサブブロック、R1(s,
t) 仮想領域。
像の画素、r(x,y) 変換前画像のサブ領域、R
(x,y) 変換後画像のサブブロック、R1(s,
t) 仮想領域。
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G06T 3/00 100
G06T 3/40
H04N 1/387 101
H04N 1/393
Claims (3)
- 【請求項1】 2値画像からなる変換前画像を複数のサ
ブ領域に分割する工程と、 サブ領域ごとに、そのサブ領域が2値のうち一方の値に
よって規定される色の画素のみから構成されているか否
かを判定する工程と、 2値画像からなる変換後画像を複数のサブブロックに分
割する工程と、 変換後画像のサブブロックごとに、そのサブブロックに
含まれる画素に対応する変換前の画素を含む全てのサブ
領域を検出する工程と、 検出されたサブ領域の全てが同一の値によって規定され
る色の画素のみから構成されていると判定されている場
合に、変換後画像のサブブロックをその値によって規定
される色で塗りつぶす工程と、 を含むことを特徴とする画像座標変換方法。 - 【請求項2】 請求項1記載の画像座標変換方法におい
て、前記サブブロックの分割数は、変換前画像に含まれ
る画素の2値の比率に基づいて決定されることを特徴と
する画像座標変換方法。 - 【請求項3】 請求項1記載の画像座標変換方法におい
て、 変換後画像のサブブロックごとに、サブブロックの頂点
座標を変換前画像に座標変換して、座標変換された頂点
座標を用いて変換前画像に仮想領域を画成する工程と、 仮想領域が変換前画像のサブ領域に関して回転移動して
いる場合には、仮想領域を囲む輪郭線上に位置するサブ
領域を検出して、その検出されたサブ領域に基づいて、
サブブロックに含まれる画素に対応する変換前の画素を
含む全てのサブ領域を検出する工程と、 仮想領域が変換前画像のサブ領域に関して回転移動して
いない場合には、座標変換によって得られる仮想領域の
頂点座標から、サブブロックに含まれる画素に対応する
変換前の画素を含む全てのサブ領域を検出する工程とを
含むことを特徴とする画像座標変換方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09724595A JP3471115B2 (ja) | 1995-04-21 | 1995-04-21 | 画像座標変換方法 |
US08/618,868 US5818962A (en) | 1995-04-21 | 1996-03-20 | Coordinate transformation method for binary image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09724595A JP3471115B2 (ja) | 1995-04-21 | 1995-04-21 | 画像座標変換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08293021A JPH08293021A (ja) | 1996-11-05 |
JP3471115B2 true JP3471115B2 (ja) | 2003-11-25 |
Family
ID=14187210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09724595A Expired - Fee Related JP3471115B2 (ja) | 1995-04-21 | 1995-04-21 | 画像座標変換方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5818962A (ja) |
JP (1) | JP3471115B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3679512B2 (ja) | 1996-07-05 | 2005-08-03 | キヤノン株式会社 | 画像抽出装置および方法 |
US6453069B1 (en) | 1996-11-20 | 2002-09-17 | Canon Kabushiki Kaisha | Method of extracting image from input image using reference image |
US6014614A (en) * | 1998-05-29 | 2000-01-11 | Oracle Corporation | Method and mechanism for performing spatial joins |
US6894704B1 (en) | 1999-11-22 | 2005-05-17 | Adobe Systems Incorporated | Processing complex regions of illustration artwork |
US6859553B1 (en) * | 2001-03-23 | 2005-02-22 | Adobe Systems Incorporated | Flattening images with abstracted objects |
US7181687B2 (en) * | 2002-06-27 | 2007-02-20 | Adobe Systems Incorporated | Previewing the effects of flattening transparency |
KR101030430B1 (ko) * | 2007-09-12 | 2011-04-20 | 주식회사 코아로직 | 영상 처리 장치와 방법 및 그 기록매체 |
US8463074B2 (en) * | 2009-11-11 | 2013-06-11 | General Dynamics Advanced Information Systems | System and method for rotating images |
JP5316385B2 (ja) * | 2009-12-01 | 2013-10-16 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
JP5708653B2 (ja) * | 2010-09-10 | 2015-04-30 | 富士通株式会社 | 画像データ形成方法、画像データの書込方法、及び、画像データ処理回路 |
US9607394B2 (en) * | 2014-11-20 | 2017-03-28 | Lenovo (Beijing) Co., Ltd. | Information processing method and electronic device |
CN112258386A (zh) * | 2020-10-26 | 2021-01-22 | 中国科学院微电子研究所 | 图像变形加速处理方法及装置、电子设备和可读存储介质 |
CN112669200A (zh) * | 2020-12-16 | 2021-04-16 | 中国科学院微电子研究所 | 图像变形方法、装置及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4783829A (en) * | 1983-02-23 | 1988-11-08 | Hitachi, Ltd. | Pattern recognition apparatus |
JP2651517B2 (ja) * | 1990-08-10 | 1997-09-10 | 日本電信電話株式会社 | 画像処理方式 |
JPH04239980A (ja) * | 1991-01-24 | 1992-08-27 | Nec Off Syst Ltd | 画像回転装置 |
-
1995
- 1995-04-21 JP JP09724595A patent/JP3471115B2/ja not_active Expired - Fee Related
-
1996
- 1996-03-20 US US08/618,868 patent/US5818962A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08293021A (ja) | 1996-11-05 |
US5818962A (en) | 1998-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6016152A (en) | Apparatus and method for non-uniform image scaling | |
US7884825B2 (en) | Drawing method, image generating device, and electronic information apparatus | |
JP3471115B2 (ja) | 画像座標変換方法 | |
US7432936B2 (en) | Texture data anti-aliasing method and apparatus | |
US6124858A (en) | Raster image mapping | |
US6768491B2 (en) | Barycentric centroid sampling method and apparatus | |
CN111508052A (zh) | 三维网格体的渲染方法和装置 | |
JP3466661B2 (ja) | 画像処理装置及びその方法 | |
JP3433828B2 (ja) | ピクセル画像のエッジ改良のための方法と装置 | |
JPH11506846A (ja) | 効率的なディジタル・モデリング及びテクスチャ・マッピングのための方法並びに装置 | |
US5864639A (en) | Method and apparatus of rendering a video image | |
US20050017969A1 (en) | Computer graphics rendering using boundary information | |
JPH06348860A (ja) | 画像合成装置およびこれを用いたゲーム装置 | |
JP3174342B2 (ja) | 多値レベルから2値レベルへのラスタ形状コンバータ | |
JP2973573B2 (ja) | 画像変換装置 | |
JP3547250B2 (ja) | 描画方法 | |
JP2957511B2 (ja) | グラフィック処理装置 | |
KR0179354B1 (ko) | 텍스쳐 매핑 방법 및 화상 처리 장치 | |
JP2006522978A (ja) | 動きぼかしの生成 | |
JPH05297861A (ja) | グラフィックス用途向け1/nビット化位相合わせのための方法 | |
JP2973432B2 (ja) | 画像処理方法および装置 | |
JP3872056B2 (ja) | 描画方法 | |
JP4106719B2 (ja) | 画像処理装置 | |
JPH0944695A (ja) | テクスチャマッピング方法およびテクスチャマッピング装置 | |
JP2586473B2 (ja) | 画像変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080912 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |