JPH09106453A - 画像の変形方法 - Google Patents
画像の変形方法Info
- Publication number
- JPH09106453A JPH09106453A JP7290323A JP29032395A JPH09106453A JP H09106453 A JPH09106453 A JP H09106453A JP 7290323 A JP7290323 A JP 7290323A JP 29032395 A JP29032395 A JP 29032395A JP H09106453 A JPH09106453 A JP H09106453A
- Authority
- JP
- Japan
- Prior art keywords
- image
- block
- grid
- transformation
- grid point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000002452 interceptive effect Effects 0.000 claims abstract description 10
- 230000009466 transformation Effects 0.000 claims description 54
- 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 description 31
- 230000008569 process Effects 0.000 claims description 13
- 230000001131 transforming effect Effects 0.000 claims description 10
- 238000011426 transformation method Methods 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 37
- 238000013507 mapping Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 241000255969 Pieris brassicae Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【課題】 所望の画像の変形指示を容易に行なえるよう
にする。 【解決手段】 処理対象画像を格子状に複数のブロック
に分割するとともに、格子の格子点を定める。そして、
オペレータがブラシツールを用いた対話処理によって、
画面上の処理対象画像の変形範囲を指定する。変形範囲
にある格子点は、所定の移動規則に従って移動し、この
結果、複数のブロックの少なくとも一部が変形される。
そして、変形後の各ブロック内の画素データを変形前の
画像からマッピングすることによって変形後の画像を再
構成する。
にする。 【解決手段】 処理対象画像を格子状に複数のブロック
に分割するとともに、格子の格子点を定める。そして、
オペレータがブラシツールを用いた対話処理によって、
画面上の処理対象画像の変形範囲を指定する。変形範囲
にある格子点は、所定の移動規則に従って移動し、この
結果、複数のブロックの少なくとも一部が変形される。
そして、変形後の各ブロック内の画素データを変形前の
画像からマッピングすることによって変形後の画像を再
構成する。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コンピュータシ
ステムを用いて画像の任意の範囲を変形する方法に関す
る。
ステムを用いて画像の任意の範囲を変形する方法に関す
る。
【0002】
【従来の技術】コンピュータシステム用いて写真画像な
どの絵柄の画像を変形させる技術は、「モーフィング」
と呼ばれている。
どの絵柄の画像を変形させる技術は、「モーフィング」
と呼ばれている。
【0003】
【発明が解決しようとする課題】従来のモーフィング技
術では、オペレータによる変形の指示と変形結果とが感
覚的に一致し難いために、所望の変形を指示することが
困難な場合があった。
術では、オペレータによる変形の指示と変形結果とが感
覚的に一致し難いために、所望の変形を指示することが
困難な場合があった。
【0004】この発明は、従来技術における上述の課題
を解決するためになされたものであり、所望の画像の変
形指示を容易に行なうことを目的とする。
を解決するためになされたものであり、所望の画像の変
形指示を容易に行なうことを目的とする。
【0005】
【課題を解決するための手段およびその作用・効果】上
述の課題の少なくとも一部を解決するため、第1の発明
は、コンピュータシステムを用いて画像を変形させる方
法であって、処理対象画像を格子状に複数のブロックに
分割するとともに、前記格子の格子点を定め、前記処理
対象画像を表示した画面上において、ポインティングデ
バイスで指定された点を中心とする領域を指定するため
のブラシツールを用いて、対話処理によって前記処理対
象画像上の変形範囲を指定し、前記変形範囲にある格子
点を所定の移動規則に従って移動させることによって前
記複数のブロックの少なくとも一部を変形し、各ブロッ
クの変形前後の形状に従って、変形後の各ブロック内の
画素データを求めることを特徴とする。
述の課題の少なくとも一部を解決するため、第1の発明
は、コンピュータシステムを用いて画像を変形させる方
法であって、処理対象画像を格子状に複数のブロックに
分割するとともに、前記格子の格子点を定め、前記処理
対象画像を表示した画面上において、ポインティングデ
バイスで指定された点を中心とする領域を指定するため
のブラシツールを用いて、対話処理によって前記処理対
象画像上の変形範囲を指定し、前記変形範囲にある格子
点を所定の移動規則に従って移動させることによって前
記複数のブロックの少なくとも一部を変形し、各ブロッ
クの変形前後の形状に従って、変形後の各ブロック内の
画素データを求めることを特徴とする。
【0006】ブラシツールで指定した変形範囲にある格
子点を移動させることによって画像を変形するので、画
面上で対話的に画像の変形を確認しながら変形処理を行
なうことができる。従って、オペレータが変形指示を容
易に行なうことができる。
子点を移動させることによって画像を変形するので、画
面上で対話的に画像の変形を確認しながら変形処理を行
なうことができる。従って、オペレータが変形指示を容
易に行なうことができる。
【0007】前記移動規則は、各格子点の移動距離を前
記ブラシツールの中心の移動軌跡と各格子点との距離の
関数で表わしたものであるようにすることが好ましい。
記ブラシツールの中心の移動軌跡と各格子点との距離の
関数で表わしたものであるようにすることが好ましい。
【0008】こうすれば、各格子点をこの関数に従って
移動させることができる。
移動させることができる。
【0009】また、前記複数のブロックは矩形であり、
前記変形後の各ブロック内の画素データを求める際に、
前記変形後の各ブロックを2つの三角形に分割し、前記
2つの三角形内に含まれる内部画素をそれぞれ求め、前
記各ブロックの変形に伴う前記2つの三角形のアフィン
変換の変換係数を利用して、各内部画素についての変形
前のブロック内における位置座標を求め、得られた位置
座標の近傍に存在する画素の画素データから、前記変形
後のブロック内に含まれる各内部画素の画素データを求
めるようにすることが好ましい。
前記変形後の各ブロック内の画素データを求める際に、
前記変形後の各ブロックを2つの三角形に分割し、前記
2つの三角形内に含まれる内部画素をそれぞれ求め、前
記各ブロックの変形に伴う前記2つの三角形のアフィン
変換の変換係数を利用して、各内部画素についての変形
前のブロック内における位置座標を求め、得られた位置
座標の近傍に存在する画素の画素データから、前記変形
後のブロック内に含まれる各内部画素の画素データを求
めるようにすることが好ましい。
【0010】三角形のアフィン変換を用いて各ブロック
の内部画素の位置を変換すれば、指示された変形に応じ
た画素位置の変換を正確に行なうことができる。従っ
て、このような画素位置の変換に従って変形後の内部画
素の画素データを求めるようにすれば、ブロックの変形
に応じた変形後の画像を再構成することができる。
の内部画素の位置を変換すれば、指示された変形に応じ
た画素位置の変換を正確に行なうことができる。従っ
て、このような画素位置の変換に従って変形後の内部画
素の画素データを求めるようにすれば、ブロックの変形
に応じた変形後の画像を再構成することができる。
【0011】また、前記変形後の各ブロックを2つの三
角形に分割する際に、前記変形後の各ブロックを構成す
る4つの頂点の中で、最も移動量の大きな頂点を通る対
角線によって各ブロックを分割することが好ましい。
角形に分割する際に、前記変形後の各ブロックを構成す
る4つの頂点の中で、最も移動量の大きな頂点を通る対
角線によって各ブロックを分割することが好ましい。
【0012】こうすれば、各ブロック内の2つの三角形
の変形の程度を互いに近いものにすることができ、従っ
て、2つの三角形同士の境界における画像の歪を少なく
することができる。
の変形の程度を互いに近いものにすることができ、従っ
て、2つの三角形同士の境界における画像の歪を少なく
することができる。
【0013】第2の発明は、コンピュータシステムを用
いて画像を変形させる方法であって、画像を表示した画
面上において、ポインティングデバイスで指定された点
を中心とする領域を指定するためのブラシツールを用い
て、対話処理によって前記画像上の変形範囲を指定し、
前記変形範囲にある画素を所定の移動規則に従って移動
させることによって、前記画像を変形することを特徴と
する。
いて画像を変形させる方法であって、画像を表示した画
面上において、ポインティングデバイスで指定された点
を中心とする領域を指定するためのブラシツールを用い
て、対話処理によって前記画像上の変形範囲を指定し、
前記変形範囲にある画素を所定の移動規則に従って移動
させることによって、前記画像を変形することを特徴と
する。
【0014】ブラシツールで指定した変形範囲にある画
素を移動させることによって画像を変形するので、画面
上で対話的に画像の変形を確認しながら変形処理を行な
うことができる。従って、オペレータが変形指示を容易
に行なうことができる。
素を移動させることによって画像を変形するので、画面
上で対話的に画像の変形を確認しながら変形処理を行な
うことができる。従って、オペレータが変形指示を容易
に行なうことができる。
【0015】
【発明の他の態様】この発明は、以下のような他の態様
も含んでいる。第1の態様は、コンピュータシステムを
用いて画像を変形させる装置であって、処理対象画像を
格子状に複数のブロックに分割するとともに、前記格子
の格子点を定め、前記処理対象画像を表示した画面上に
おいて、ポインティングデバイスで指定された点を中心
とする領域を指定するためのブラシツールを用いて、対
話処理によって前記処理対象画像上の変形範囲を指定
し、前記変形範囲にある格子点を所定の移動規則に従っ
て移動させることによって前記複数のブロックの少なく
とも一部を変形し、各ブロックの変形前後の形状に従っ
て、変形後の各ブロック内の画素データを求めることを
特徴とする。
も含んでいる。第1の態様は、コンピュータシステムを
用いて画像を変形させる装置であって、処理対象画像を
格子状に複数のブロックに分割するとともに、前記格子
の格子点を定め、前記処理対象画像を表示した画面上に
おいて、ポインティングデバイスで指定された点を中心
とする領域を指定するためのブラシツールを用いて、対
話処理によって前記処理対象画像上の変形範囲を指定
し、前記変形範囲にある格子点を所定の移動規則に従っ
て移動させることによって前記複数のブロックの少なく
とも一部を変形し、各ブロックの変形前後の形状に従っ
て、変形後の各ブロック内の画素データを求めることを
特徴とする。
【0016】第2の態様は、コンピュータシステムのマ
イクロプロセッサによって実行されることによって画像
を変形させるソフトウェアプログラムを格納した携帯型
記憶媒体であって、処理対象画像を格子状に複数のブロ
ックに分割するとともに、前記格子の格子点を定め、前
記処理対象画像を表示した画面上において、ポインティ
ングデバイスで指定された点を中心とする領域を指定す
るためのブラシツールを用いて、対話処理によって前記
処理対象画像上の変形範囲を指定し、前記変形範囲にあ
る格子点を所定の移動規則に従って移動させることによ
って前記複数のブロックの少なくとも一部を変形し、各
ブロックの変形前後の形状に従って、変形後の各ブロッ
ク内の画素データを求める処理を実現することを特徴と
する。
イクロプロセッサによって実行されることによって画像
を変形させるソフトウェアプログラムを格納した携帯型
記憶媒体であって、処理対象画像を格子状に複数のブロ
ックに分割するとともに、前記格子の格子点を定め、前
記処理対象画像を表示した画面上において、ポインティ
ングデバイスで指定された点を中心とする領域を指定す
るためのブラシツールを用いて、対話処理によって前記
処理対象画像上の変形範囲を指定し、前記変形範囲にあ
る格子点を所定の移動規則に従って移動させることによ
って前記複数のブロックの少なくとも一部を変形し、各
ブロックの変形前後の形状に従って、変形後の各ブロッ
ク内の画素データを求める処理を実現することを特徴と
する。
【0017】
【発明の実施の形態】次に、本発明の実施の形態を実施
例に基づき説明する。図1は、この発明の実施例を適用
する画像処理システムの構成を示すブロック図である。
この画像処理システムは、画像表示装置30と、演算装
置32と、座標点入力装置34と、メインメモリ35
と、作業バッファメモリ36と、入力画像メモリ38
と、格子点管理データメモリ40と、格子点データメモ
リ42と、ブロック頂点データメモリ44と、出力画像
メモリ46とを備えている。画像処理システムは、パー
ソナルコンピュータやワークステーション等のコンピュ
ータシステムとして実現される。
例に基づき説明する。図1は、この発明の実施例を適用
する画像処理システムの構成を示すブロック図である。
この画像処理システムは、画像表示装置30と、演算装
置32と、座標点入力装置34と、メインメモリ35
と、作業バッファメモリ36と、入力画像メモリ38
と、格子点管理データメモリ40と、格子点データメモ
リ42と、ブロック頂点データメモリ44と、出力画像
メモリ46とを備えている。画像処理システムは、パー
ソナルコンピュータやワークステーション等のコンピュ
ータシステムとして実現される。
【0018】画像表示装置30としては、カラーCRT
やカラー液晶ディスプレイなどのカラー表示デバイスが
使用される。演算装置32は、マイクロプロセッサで実
現されるCPUである。座標点入力装置34としては、
マウスやトラックボール、デジタイザ等のポインティン
グデバイスが使用される。なお、メモリ36〜46は、
独立したメモリとしてもよく、また、メインメモリ35
内に確保されたメモリ領域としてもよい。
やカラー液晶ディスプレイなどのカラー表示デバイスが
使用される。演算装置32は、マイクロプロセッサで実
現されるCPUである。座標点入力装置34としては、
マウスやトラックボール、デジタイザ等のポインティン
グデバイスが使用される。なお、メモリ36〜46は、
独立したメモリとしてもよく、また、メインメモリ35
内に確保されたメモリ領域としてもよい。
【0019】メインメモリ35は、格子分割部50と、
ブラシツール設定部52と、移動格子点抽出部54と、
格子点移動部56と、画像マッピング部58とをそれぞ
れ実現するためのソフトウェアプログラム(アプリケー
ションプログラム)を記憶している。すなわち、これら
の各部の機能は、ソフトウェアプログラムを演算装置3
2が実行することによって実現される。なお、これらの
各部の機能については、後述する。
ブラシツール設定部52と、移動格子点抽出部54と、
格子点移動部56と、画像マッピング部58とをそれぞ
れ実現するためのソフトウェアプログラム(アプリケー
ションプログラム)を記憶している。すなわち、これら
の各部の機能は、ソフトウェアプログラムを演算装置3
2が実行することによって実現される。なお、これらの
各部の機能については、後述する。
【0020】これらの各部50〜58の機能を実現する
ソフトウェアプログラム(アプリケーションプログラ
ム)は、フロッピディスクやCD−ROM等の携帯型記
憶媒体(可搬型記憶媒体)に格納され、携帯型記憶媒体
からコンピュータシステムのメインメモリ35または外
部記憶装置に転送される。
ソフトウェアプログラム(アプリケーションプログラ
ム)は、フロッピディスクやCD−ROM等の携帯型記
憶媒体(可搬型記憶媒体)に格納され、携帯型記憶媒体
からコンピュータシステムのメインメモリ35または外
部記憶装置に転送される。
【0021】図2は、実施例における処理手順を示すフ
ローチャートである。ステップS1では、変形処理の対
象となる画像が図示しない外部記憶装置から入力画像メ
モリ38に入力される。なお、処理対象画像(「入力画
像」とも呼ぶ)は、1つの画像全体でもよく、1つの画
像内に指定された部分画像でもよい。画像の種類として
は、写真画像などのような絵柄画像でもよく、また、イ
ラストのような線画でもよい。但し、通常は絵柄画像が
画像の変形処理の対象となることが多い。
ローチャートである。ステップS1では、変形処理の対
象となる画像が図示しない外部記憶装置から入力画像メ
モリ38に入力される。なお、処理対象画像(「入力画
像」とも呼ぶ)は、1つの画像全体でもよく、1つの画
像内に指定された部分画像でもよい。画像の種類として
は、写真画像などのような絵柄画像でもよく、また、イ
ラストのような線画でもよい。但し、通常は絵柄画像が
画像の変形処理の対象となることが多い。
【0022】ステップS2では、格子分割部50によっ
て入力画像が矩形格子状に分割され、ブロック(「画素
ブロック」とも呼ぶ)として管理される。図3は、ブロ
ック分割の方法を示す説明図である。図3(A)は、入
力画像のサイズを示しており、この例では、水平方向
(副走査方向)に400ピクセル(画素)、垂直方向
(主走査方向)には300ピクセルの幅を有している。
画像の格子状分割の指定方法には、図3(B)と図3
(C)に示す2つの方法がある。図3(B)はオペレー
タが水平方向と垂直方向のブロック数を指定した場合の
分割例であり、図3(C)はオペレータが1ブロックの
サイズ(水平方向と垂直方向のピクセル数)を指定した
場合の分割例である。なお、これらの2つの分割結果は
同じである。矩形のブロック同士を分割する矩形格子の
交点(図中白丸で示す点)を、以下では「格子点」また
は「分割格子点」とよぶ。
て入力画像が矩形格子状に分割され、ブロック(「画素
ブロック」とも呼ぶ)として管理される。図3は、ブロ
ック分割の方法を示す説明図である。図3(A)は、入
力画像のサイズを示しており、この例では、水平方向
(副走査方向)に400ピクセル(画素)、垂直方向
(主走査方向)には300ピクセルの幅を有している。
画像の格子状分割の指定方法には、図3(B)と図3
(C)に示す2つの方法がある。図3(B)はオペレー
タが水平方向と垂直方向のブロック数を指定した場合の
分割例であり、図3(C)はオペレータが1ブロックの
サイズ(水平方向と垂直方向のピクセル数)を指定した
場合の分割例である。なお、これらの2つの分割結果は
同じである。矩形のブロック同士を分割する矩形格子の
交点(図中白丸で示す点)を、以下では「格子点」また
は「分割格子点」とよぶ。
【0023】ところで、この実施例において、「画像の
変形処理」とは、格子点の位置を移動させてその内部画
素を移動させる処理である。図4は、格子点を移動させ
ることによって画像が変形される様子を示す説明図であ
る。例えば、図4(A)の4つのブロックA1 〜A4 の
共通の頂点である格子点Pを、図4(B)の格子点P’
の位置に移動させると、図4(A)の4つのブロックA
1 〜A4 が図4(B)のブロックA1'〜A4'に変形す
る。後述するように、各ブロック内の画素値(各画素の
画像データ値であり、「画素データ」とも呼ぶ)もブロ
ックの変形に応じて変換されるので、画面上では変形さ
れた画像が観察される。
変形処理」とは、格子点の位置を移動させてその内部画
素を移動させる処理である。図4は、格子点を移動させ
ることによって画像が変形される様子を示す説明図であ
る。例えば、図4(A)の4つのブロックA1 〜A4 の
共通の頂点である格子点Pを、図4(B)の格子点P’
の位置に移動させると、図4(A)の4つのブロックA
1 〜A4 が図4(B)のブロックA1'〜A4'に変形す
る。後述するように、各ブロック内の画素値(各画素の
画像データ値であり、「画素データ」とも呼ぶ)もブロ
ックの変形に応じて変換されるので、画面上では変形さ
れた画像が観察される。
【0024】格子分割部50は、ステップS2において
入力画像をブロックに分割した際に、各ブロック毎に、
各ブロックの四隅にある4つの格子点を示すブロック格
子点管理データを作成する。以下では、図5に示す4つ
の格子点P1 〜P4 を頂点とするブロックA5 に関する
ブロック格子点管理データについて説明する。
入力画像をブロックに分割した際に、各ブロック毎に、
各ブロックの四隅にある4つの格子点を示すブロック格
子点管理データを作成する。以下では、図5に示す4つ
の格子点P1 〜P4 を頂点とするブロックA5 に関する
ブロック格子点管理データについて説明する。
【0025】図6は、ブロック格子点管理データの構造
を示す説明図である。ブロック格子点管理データは、各
ブロックに関する所属格子点アドレステーブル(図6
(A))と、各格子点の格子点データ(図6(B))
と、各ブロックに関するブロック頂点データ(図6
(C))とを含んでいる。これらのデータは、図1に示
す格子点管理データメモリ40と格子点データメモリ4
2とブロック頂点データメモリ44とにそれぞれ格納さ
れる。所属格子点アドレステーブルは、各ブロックに属
する格子点のアドレスを登録するテーブルである。図5
に示すブロックA5 は、4つの格子点P1 〜P4 を含ん
でいるので、所属格子点アドレステーブル(図6
(A))にはこれらの4つの格子点P1 〜P4 に関する
格子点データ(図6(B))のアドレス*P1 〜*P4
が登録される。なお、この明細書において、「*」が前
に付されている符号は、アドレスであることを意味して
いる。
を示す説明図である。ブロック格子点管理データは、各
ブロックに関する所属格子点アドレステーブル(図6
(A))と、各格子点の格子点データ(図6(B))
と、各ブロックに関するブロック頂点データ(図6
(C))とを含んでいる。これらのデータは、図1に示
す格子点管理データメモリ40と格子点データメモリ4
2とブロック頂点データメモリ44とにそれぞれ格納さ
れる。所属格子点アドレステーブルは、各ブロックに属
する格子点のアドレスを登録するテーブルである。図5
に示すブロックA5 は、4つの格子点P1 〜P4 を含ん
でいるので、所属格子点アドレステーブル(図6
(A))にはこれらの4つの格子点P1 〜P4 に関する
格子点データ(図6(B))のアドレス*P1 〜*P4
が登録される。なお、この明細書において、「*」が前
に付されている符号は、アドレスであることを意味して
いる。
【0026】格子点データ(図6(B))には、各格子
点の移動前後の座標値と、各格子点が頂点(「輪郭点」
とも呼ぶ)となっているブロックに関するブロック頂点
データ(図6(C))のアドレスとが登録されている。
例えば、格子点P1 に関しては、その格子点の移動前の
座標P1 (x1 ,y1 )および移動後の座標P1'(x
1',y1')と、図5において格子点P1 を頂点としてい
る4つのブロックA1 ,A2 ,A4 ,A5 に関するブロ
ック頂点データのアドレス*A1 ,*A2 ,*A4 ,*
A5 が登録されている。なお、各格子点は、4つのブロ
ックに共通する頂点となっているが、各格子点の格子点
データは各格子点について1つ作成されるだけである。
すなわち、各格子点の格子点データは、その格子点を頂
点とする4つのブロックに共通に使用される。
点の移動前後の座標値と、各格子点が頂点(「輪郭点」
とも呼ぶ)となっているブロックに関するブロック頂点
データ(図6(C))のアドレスとが登録されている。
例えば、格子点P1 に関しては、その格子点の移動前の
座標P1 (x1 ,y1 )および移動後の座標P1'(x
1',y1')と、図5において格子点P1 を頂点としてい
る4つのブロックA1 ,A2 ,A4 ,A5 に関するブロ
ック頂点データのアドレス*A1 ,*A2 ,*A4 ,*
A5 が登録されている。なお、各格子点は、4つのブロ
ックに共通する頂点となっているが、各格子点の格子点
データは各格子点について1つ作成されるだけである。
すなわち、各格子点の格子点データは、その格子点を頂
点とする4つのブロックに共通に使用される。
【0027】各ブロックに関するブロック頂点データ
(図6(C))には、各ブロックの四角形の頂点である
4つの格子点の移動前後の座標値が登録される。例え
ば、図5の中央にあるブロックA5 については、その四
角形の4つの頂点を構成する格子点についての移動前の
座標P1 〜P4 と移動後の座標P1'〜P4'とが登録され
る。
(図6(C))には、各ブロックの四角形の頂点である
4つの格子点の移動前後の座標値が登録される。例え
ば、図5の中央にあるブロックA5 については、その四
角形の4つの頂点を構成する格子点についての移動前の
座標P1 〜P4 と移動後の座標P1'〜P4'とが登録され
る。
【0028】なお、ステップS2においてブロック分割
を行なった時点では、移動後の座標には移動前の座標と
同じ値が登録されている。
を行なった時点では、移動後の座標には移動前の座標と
同じ値が登録されている。
【0029】図6(A)に示すように、各ブロックの所
属格子点アドレステーブルを登録する代わりに、図7に
示すように、各ブロックの所属格子点についての格子点
データのアドレスを、リスト構造によって順次接続する
ようにしてもよい。この場合には、一般に、n個の格子
点(nは3以上の整数)を含むようなn角形のブロック
を定義することも可能である。
属格子点アドレステーブルを登録する代わりに、図7に
示すように、各ブロックの所属格子点についての格子点
データのアドレスを、リスト構造によって順次接続する
ようにしてもよい。この場合には、一般に、n個の格子
点(nは3以上の整数)を含むようなn角形のブロック
を定義することも可能である。
【0030】ステップS3では、オペレータが対話処理
によってブラシツールの機能を設定するとともに、その
ブラシツールを使用して、画面に表示されている入力画
像の変形したい範囲を掃引する。ブラシツールとして
は、この実施例で使用する変形処理用ブラシ(「変形ブ
ラシ」または単に「ブラシ」とも呼ぶ)以外にも、種々
のものが存在する。ステップS3では、まず、ブラシツ
ールの複数の選択枝が画面に表示されて、オペレータが
その中から変形ブラシを選択する。また、ブラシの幅W
を設定する。そして、座標点入力装置34を操作するこ
とによって、そのブラシを用いて入力画像の変形したい
範囲を掃引する。
によってブラシツールの機能を設定するとともに、その
ブラシツールを使用して、画面に表示されている入力画
像の変形したい範囲を掃引する。ブラシツールとして
は、この実施例で使用する変形処理用ブラシ(「変形ブ
ラシ」または単に「ブラシ」とも呼ぶ)以外にも、種々
のものが存在する。ステップS3では、まず、ブラシツ
ールの複数の選択枝が画面に表示されて、オペレータが
その中から変形ブラシを選択する。また、ブラシの幅W
を設定する。そして、座標点入力装置34を操作するこ
とによって、そのブラシを用いて入力画像の変形したい
範囲を掃引する。
【0031】図8は、ブラシの掃引の様子を示す説明図
である。ブラシ領域BRは、座標点入力装置34(ポイ
ンティングデバイス)で示された中心から半径W(Wは
ブラシの幅)の円形状の領域である。もちろん、円形以
外にも、矩形や楕円形などの他の幾何学形状をブラシ領
域とすることも可能である。
である。ブラシ領域BRは、座標点入力装置34(ポイ
ンティングデバイス)で示された中心から半径W(Wは
ブラシの幅)の円形状の領域である。もちろん、円形以
外にも、矩形や楕円形などの他の幾何学形状をブラシ領
域とすることも可能である。
【0032】オペレータがブラシを掃引すると、ステッ
プS4において、移動格子点抽出部54がブラシ領域B
R内に含まれる格子点を移動格子点(移動対象となる格
子点)として抽出する。各格子点(図8において白丸お
よび黒丸で示す)が移動格子点となるか否かの判定にお
いては、ブラシの移動軌跡TRと各格子点との距離Dを
計算し、その距離Dがブラシの幅W以下であれば移動格
子点とし判断され、Wを越えれば移動格子点でないと判
断される。図8において、黒丸で示される格子点は、移
動格子点として抽出される格子点である。
プS4において、移動格子点抽出部54がブラシ領域B
R内に含まれる格子点を移動格子点(移動対象となる格
子点)として抽出する。各格子点(図8において白丸お
よび黒丸で示す)が移動格子点となるか否かの判定にお
いては、ブラシの移動軌跡TRと各格子点との距離Dを
計算し、その距離Dがブラシの幅W以下であれば移動格
子点とし判断され、Wを越えれば移動格子点でないと判
断される。図8において、黒丸で示される格子点は、移
動格子点として抽出される格子点である。
【0033】なお、移動格子点を効率よく抽出する方法
としてバケット法を用いると、抽出結果は異なるが、距
離計算を行なうことなく移動格子点を抽出することがで
きる。図9は、バケット法による移動格子点の抽出法を
説明する説明図である。バケット法では、複数の格子点
を含むような複数の管理矩形を入力画像内に設定する。
図9において、文字A〜Pが付されている矩形が管理矩
形である。すなわち、この例では、各管理矩形が16個
の格子点(白丸で示す)を含んでいる。バケット法にお
いては、まず、ブラシの軌跡TR(図9において矢印で
示す)を包含する矩形RT(すなわち、軌跡TRの外接
矩形)を求め、この矩形RTの少なくとも一部を包む
(すなわち、少なくとも一部が重なる)管理矩形を処理
対象管理矩形と判断する。そして、処理対象管理矩形に
含まれるすべての格子点を移動格子点として抽出する。
図9の例では、6つの管理矩形F,G,H,J,K,L
が処理対象管理矩形となる。
としてバケット法を用いると、抽出結果は異なるが、距
離計算を行なうことなく移動格子点を抽出することがで
きる。図9は、バケット法による移動格子点の抽出法を
説明する説明図である。バケット法では、複数の格子点
を含むような複数の管理矩形を入力画像内に設定する。
図9において、文字A〜Pが付されている矩形が管理矩
形である。すなわち、この例では、各管理矩形が16個
の格子点(白丸で示す)を含んでいる。バケット法にお
いては、まず、ブラシの軌跡TR(図9において矢印で
示す)を包含する矩形RT(すなわち、軌跡TRの外接
矩形)を求め、この矩形RTの少なくとも一部を包む
(すなわち、少なくとも一部が重なる)管理矩形を処理
対象管理矩形と判断する。そして、処理対象管理矩形に
含まれるすべての格子点を移動格子点として抽出する。
図9の例では、6つの管理矩形F,G,H,J,K,L
が処理対象管理矩形となる。
【0034】なお、バケット法の変形として、ブラシの
軌跡TRの少なくとも一部を包む(すなわち、ブラシの
幅Wを考慮したブラシの軌跡TRが通る)管理矩形を処
理対象管理矩形とすることも可能である。この場合、管
理矩形G,H,J,Kが処理対象管理矩形となる。
軌跡TRの少なくとも一部を包む(すなわち、ブラシの
幅Wを考慮したブラシの軌跡TRが通る)管理矩形を処
理対象管理矩形とすることも可能である。この場合、管
理矩形G,H,J,Kが処理対象管理矩形となる。
【0035】バケット法によって移動格子点を抽出する
ようにすれば、ブラシの中心の軌跡TRから各格子点ま
での距離を算出する必要がないので、移動点の抽出処理
を大幅に高速化することができる。
ようにすれば、ブラシの中心の軌跡TRから各格子点ま
での距離を算出する必要がないので、移動点の抽出処理
を大幅に高速化することができる。
【0036】図10は、バケット法を使用する場合の格
子点管理データ(管理矩形格子点管理データ)の構造を
示す説明図であり、図6に示すブロック格子点管理デー
タを修正したものである。この管理矩形格子管理データ
では、所属格子点アドレステーブルに、各管理矩形に含
まれる16個の格子点のアドレス*P1 〜*P16が登録
されている。図10(B)に示す各格子点の格子点デー
タと、図10(C)に示す各ブロックに関するブロック
頂点データは、図6(B)および図6(C)に示すもの
とそれぞれ同じである。
子点管理データ(管理矩形格子点管理データ)の構造を
示す説明図であり、図6に示すブロック格子点管理デー
タを修正したものである。この管理矩形格子管理データ
では、所属格子点アドレステーブルに、各管理矩形に含
まれる16個の格子点のアドレス*P1 〜*P16が登録
されている。図10(B)に示す各格子点の格子点デー
タと、図10(C)に示す各ブロックに関するブロック
頂点データは、図6(B)および図6(C)に示すもの
とそれぞれ同じである。
【0037】なお、図9に示す管理矩形の位置とサイズ
は、格子点が移動しても変更されない。従って、変形処
理に伴う格子点の移動によって、各管理矩形に含まれる
格子点が変動する場合がある。このような場合には、あ
る管理矩形から消失した格子点のアドレスは、その管理
矩形の所属格子点アドレステーブルから消去される。ま
た、その管理矩形に追加された格子点のアドレスは、所
属格子点アドレステーブルに追加される。
は、格子点が移動しても変更されない。従って、変形処
理に伴う格子点の移動によって、各管理矩形に含まれる
格子点が変動する場合がある。このような場合には、あ
る管理矩形から消失した格子点のアドレスは、その管理
矩形の所属格子点アドレステーブルから消去される。ま
た、その管理矩形に追加された格子点のアドレスは、所
属格子点アドレステーブルに追加される。
【0038】なお、前述した図7に示すようなリスト構
造を使用すれば、各管理矩形内に含まれる格子点の数が
変化した場合にも、メモリを効率的に利用することがで
きるという利点がある。
造を使用すれば、各管理矩形内に含まれる格子点の数が
変化した場合にも、メモリを効率的に利用することがで
きるという利点がある。
【0039】こうして移動格子点が抽出されると、図2
のステップS5において、格子点移動部56が、移動格
子点を予め関数化された規則(ルール)に従って移動さ
せる。図11は、移動格子点の移動規則と移動結果の例
を示す説明図である。図11(A)〜(C)において
は、移動前の移動格子点を白丸で示し、移動後の移動格
子点を黒丸で示している。
のステップS5において、格子点移動部56が、移動格
子点を予め関数化された規則(ルール)に従って移動さ
せる。図11は、移動格子点の移動規則と移動結果の例
を示す説明図である。図11(A)〜(C)において
は、移動前の移動格子点を白丸で示し、移動後の移動格
子点を黒丸で示している。
【0040】移動格子点の移動量△x,△yは、一般
に、次の数式1で表わされる。
に、次の数式1で表わされる。
【0041】
【数1】
【0042】ここで、f1 (D),f2 (D)は、ブラ
シの軌跡TRから移動格子点までの距離Dの関数であ
る。すなわち、移動規則は、一般に、「各移動格子点
は、ブラシの軌跡TRからの距離Dの関数でそれぞれ表
わされる移動量△x,△yだけ水平方向xおよび垂直方
向yにそれぞれ移動する」というものである。具体的な
移動規則は、関数f1 (D),f2 (D)としてどのよ
うなものを使用するかによって異なる。ただし、通常
は、移動量△x,△yを表わす関数f1 (D),f
2(D)としては、距離Dの増大に従って単調に増大ま
たは減少する単調関数を用いることが好ましい。
シの軌跡TRから移動格子点までの距離Dの関数であ
る。すなわち、移動規則は、一般に、「各移動格子点
は、ブラシの軌跡TRからの距離Dの関数でそれぞれ表
わされる移動量△x,△yだけ水平方向xおよび垂直方
向yにそれぞれ移動する」というものである。具体的な
移動規則は、関数f1 (D),f2 (D)としてどのよ
うなものを使用するかによって異なる。ただし、通常
は、移動量△x,△yを表わす関数f1 (D),f
2(D)としては、距離Dの増大に従って単調に増大ま
たは減少する単調関数を用いることが好ましい。
【0043】図11(A)に示す第1の移動規則R1
は、「各移動格子点は、ブラシの軌跡TRからの距離D
に拘らず、水平方向には一定の移動量△x=k0 で移動
し、垂直方向の移動量△yは0である」というものであ
る。ここで、k0 は定数である。この移動規則R1は、
次の数式2で表わされる。
は、「各移動格子点は、ブラシの軌跡TRからの距離D
に拘らず、水平方向には一定の移動量△x=k0 で移動
し、垂直方向の移動量△yは0である」というものであ
る。ここで、k0 は定数である。この移動規則R1は、
次の数式2で表わされる。
【0044】
【数2】
【0045】図11(A1)、(A2)は、第1の移動
規則R1に従って画像を変形した場合の例を示してい
る。図11(A1)の例では、中央にある6つの格子点
が水平方向右側に移動した結果、円形の画像をそのまま
右側に移動させたような画像の変形がなされる。図11
(A2)の例では、図11(A1)と同じ6つの格子点
が移動して、長円形の画像の右半分が右側に移動し、一
方、左半分はそのままの位置に留まる。この結果、長円
形の画像が右側に延長されたような画像の変形がなされ
る。このように、同じ移動規則R1を用いていても、移
動格子点の付近の画像の形状によっては、やや異なる効
果が得られる場合もある。しかし、オペレータは、ブラ
シを掃引して移動格子点の範囲を指定する際に、このよ
うな結果を予想しつつブラシの掃引を行なうことが可能
である。
規則R1に従って画像を変形した場合の例を示してい
る。図11(A1)の例では、中央にある6つの格子点
が水平方向右側に移動した結果、円形の画像をそのまま
右側に移動させたような画像の変形がなされる。図11
(A2)の例では、図11(A1)と同じ6つの格子点
が移動して、長円形の画像の右半分が右側に移動し、一
方、左半分はそのままの位置に留まる。この結果、長円
形の画像が右側に延長されたような画像の変形がなされ
る。このように、同じ移動規則R1を用いていても、移
動格子点の付近の画像の形状によっては、やや異なる効
果が得られる場合もある。しかし、オペレータは、ブラ
シを掃引して移動格子点の範囲を指定する際に、このよ
うな結果を予想しつつブラシの掃引を行なうことが可能
である。
【0046】ところで、数式1と数式2とを比較する
と、数式2においては、関数f1 (D),f2 (D)が
実際には距離Dに依存しない一定値であることが解る。
この明細書において、「距離Dの関数」とは、このよう
に距離Dに依存しない一定値である場合も含む広い意味
を有している。
と、数式2においては、関数f1 (D),f2 (D)が
実際には距離Dに依存しない一定値であることが解る。
この明細書において、「距離Dの関数」とは、このよう
に距離Dに依存しない一定値である場合も含む広い意味
を有している。
【0047】図11(B)に示す第2の移動規則R2
は、「ブラシの軌跡TRよりも上方の各移動格子点は、
軌跡TRからの距離Dに拘らず、垂直方向には一定の移
動量△y=−k0 で移動し、水平方向の移動量△xは0
であり、一方、ブラシの軌跡TRよりも下方の各移動格
子点は、軌跡TRからの距離Dに拘らず、垂直方向には
一定の移動量△y=k0 で移動し、水平方向の移動量△
xは0である」というものである。この移動規則R2
は、次の数式3で表わされる。
は、「ブラシの軌跡TRよりも上方の各移動格子点は、
軌跡TRからの距離Dに拘らず、垂直方向には一定の移
動量△y=−k0 で移動し、水平方向の移動量△xは0
であり、一方、ブラシの軌跡TRよりも下方の各移動格
子点は、軌跡TRからの距離Dに拘らず、垂直方向には
一定の移動量△y=k0 で移動し、水平方向の移動量△
xは0である」というものである。この移動規則R2
は、次の数式3で表わされる。
【0048】
【数3】
【0049】ここで、yTRはブラシの軌跡TRの垂直方
向座標である。
向座標である。
【0050】図11(B1)、(B2)は、第2の移動
規則R2に従って画像を変形した場合の例を示してい
る。図11(B1)の例では、中央にある6つの格子点
がブラシの軌跡TRに向けて移動した結果、円形の画像
を圧縮したような画像の変形がなされる。図11(B
2)の例では、図11(B1)と同じ6つの格子点が移
動した結果、帯状の画像の中央部のみに部分的な細らせ
を行なったような画像の変形がなされる。
規則R2に従って画像を変形した場合の例を示してい
る。図11(B1)の例では、中央にある6つの格子点
がブラシの軌跡TRに向けて移動した結果、円形の画像
を圧縮したような画像の変形がなされる。図11(B
2)の例では、図11(B1)と同じ6つの格子点が移
動した結果、帯状の画像の中央部のみに部分的な細らせ
を行なったような画像の変形がなされる。
【0051】図11(C)に示す第3の移動規則R3
は、「ブラシの軌跡TRよりも上方の各移動格子点は、
軌跡TRからの距離Dに拘らず、垂直方向には一定の移
動量△y=k0 で移動し、水平方向の移動量△xは0で
あり、一方、ブラシの軌跡TRよりも下方の各移動格子
点は、軌跡TRからの距離Dに拘らず、垂直方向には一
定の移動量△y=−k0 で移動し、水平方向の移動量△
xは0である」というものである。この移動規則R3
は、次の数式4で表わされる。
は、「ブラシの軌跡TRよりも上方の各移動格子点は、
軌跡TRからの距離Dに拘らず、垂直方向には一定の移
動量△y=k0 で移動し、水平方向の移動量△xは0で
あり、一方、ブラシの軌跡TRよりも下方の各移動格子
点は、軌跡TRからの距離Dに拘らず、垂直方向には一
定の移動量△y=−k0 で移動し、水平方向の移動量△
xは0である」というものである。この移動規則R3
は、次の数式4で表わされる。
【0052】
【数4】
【0053】なお、第3の移動規則R3は第2の移動規
則R2における移動量の符号を逆にしたものである。
則R2における移動量の符号を逆にしたものである。
【0054】図11(C1)、(C2)は、第3の移動
規則R3に従って画像を変形した場合の例を示してい
る。図11(C1)では、画像を垂直に引き伸ばしたよ
うな画像の変形結果が得られ、図11(C2)では、画
像を部分的に太らせたような画像の変形結果が得られて
いる。すなわち、図11(C1)、(C2)では、図1
1(B1),(B2)とは逆の視覚的効果が得られてい
る。
規則R3に従って画像を変形した場合の例を示してい
る。図11(C1)では、画像を垂直に引き伸ばしたよ
うな画像の変形結果が得られ、図11(C2)では、画
像を部分的に太らせたような画像の変形結果が得られて
いる。すなわち、図11(C1)、(C2)では、図1
1(B1),(B2)とは逆の視覚的効果が得られてい
る。
【0055】図12は、移動格子点の他の移動規則を示
す説明図である。図12(A)に示す第4の移動規則R
4は、「各移動格子点は、水平方向にはブラシの軌跡T
Rからの距離Dの増大に従って値が減少する単調関数f
1 (D)で移動し、垂直方向の移動量△yは0である」
というものである。この移動規則R4は、次の数式5で
表わされる。
す説明図である。図12(A)に示す第4の移動規則R
4は、「各移動格子点は、水平方向にはブラシの軌跡T
Rからの距離Dの増大に従って値が減少する単調関数f
1 (D)で移動し、垂直方向の移動量△yは0である」
というものである。この移動規則R4は、次の数式5で
表わされる。
【0056】
【数5】
【0057】ここで、関数f1 (D)としては、距離D
の一次関数や2次関数などの種々の関数を利用すること
ができる。
の一次関数や2次関数などの種々の関数を利用すること
ができる。
【0058】図12(B)に示す第5の移動規則R5
は、「ブラシの軌跡TRよりも上方の各移動格子点は、
垂直方向には距離Dの関数△y=−f2 (D)で移動
し、水平方向の移動量△xは0であり、一方、ブラシの
軌跡TRよりも下方の各移動格子点は、垂直方向には距
離Dの関数△y=f2 (D)で移動し、水平方向の移動
量△xは0である」というものである。この移動規則R
5は、次の数式6で表わされる。
は、「ブラシの軌跡TRよりも上方の各移動格子点は、
垂直方向には距離Dの関数△y=−f2 (D)で移動
し、水平方向の移動量△xは0であり、一方、ブラシの
軌跡TRよりも下方の各移動格子点は、垂直方向には距
離Dの関数△y=f2 (D)で移動し、水平方向の移動
量△xは0である」というものである。この移動規則R
5は、次の数式6で表わされる。
【0059】
【数6】
【0060】関数f2 (D)として、移動格子点の垂直
座標yとブラシの軌跡の垂直座標yTRの差分(y−
yTR)の関数f3 (y−yTR)を用いれば、数式6は次
の数式7のように書き換えることが可能である。
座標yとブラシの軌跡の垂直座標yTRの差分(y−
yTR)の関数f3 (y−yTR)を用いれば、数式6は次
の数式7のように書き換えることが可能である。
【0061】
【数7】
【0062】この関数f3 (y−yTR)としては、軌跡
TRの座標yTRに対して対称な種々の関数を用いること
ができ、例えば、次の数式8のような関数形を使用する
ことができる。
TRの座標yTRに対して対称な種々の関数を用いること
ができ、例えば、次の数式8のような関数形を使用する
ことができる。
【0063】
【数8】
【0064】図12(C)に示す第6の移動規則は、第
5の移動規則における移動量の符号を逆にしたものであ
る。なお、上述の移動規則は単なる例示であり、この他
の種々の移動規則を設定することも可能である。複数の
移動規則が選択枝として予め準備しておき、オペレータ
が対話処理によってその中の1つを選択するようにする
ことが好ましい。こうすれば、オペレータが移動規則を
選択することによって、種々の変形効果を選択すること
ができるからである。
5の移動規則における移動量の符号を逆にしたものであ
る。なお、上述の移動規則は単なる例示であり、この他
の種々の移動規則を設定することも可能である。複数の
移動規則が選択枝として予め準備しておき、オペレータ
が対話処理によってその中の1つを選択するようにする
ことが好ましい。こうすれば、オペレータが移動規則を
選択することによって、種々の変形効果を選択すること
ができるからである。
【0065】ところで、実際にオペレータが画面上で描
くブラシの軌跡は直線ではなく、図13(A)に示すよ
うな曲線になるのが普通である。しかし、図13(B)
に示すように、画像処理システムで認識される軌跡は、
複数の直線を順次接続したものとなる。従って、図11
および図12に沿って説明した移動規則は、図13
(B)に示すような直線状の軌跡TR1 ,TR2 (「軌
跡線分」と呼ぶ)のそれぞれに対して適用される。図1
3(B)に示す格子点Pは、2つの軌跡線分TR1,T
R2 からの距離がいずれもブラシの幅Wよりも小さい。
このような場合には、この格子点Pの移動について、次
の2つの方法のいずれかを採用することができる。第1
の方法では、まず、第1の軌跡線分TR1 の処理の際
に、格子点Pを移動格子点として移動させる。そして、
移動後の位置が第2の軌跡線分TR2 から距離D以下で
ある時には、第2の軌跡線分TR2 の処理の際に、格子
点Pを再度移動格子点として移動させるというものであ
る。第2の方法では、第1の軌跡線分TR1 の処理の際
に一度移動した格子点は、その直後の軌跡線分TR2 の
処理の際には移動させないというものである。実際に
は、オペレータがこのいずれの方法にするかを選択でき
るようにしておくことが好ましい。
くブラシの軌跡は直線ではなく、図13(A)に示すよ
うな曲線になるのが普通である。しかし、図13(B)
に示すように、画像処理システムで認識される軌跡は、
複数の直線を順次接続したものとなる。従って、図11
および図12に沿って説明した移動規則は、図13
(B)に示すような直線状の軌跡TR1 ,TR2 (「軌
跡線分」と呼ぶ)のそれぞれに対して適用される。図1
3(B)に示す格子点Pは、2つの軌跡線分TR1,T
R2 からの距離がいずれもブラシの幅Wよりも小さい。
このような場合には、この格子点Pの移動について、次
の2つの方法のいずれかを採用することができる。第1
の方法では、まず、第1の軌跡線分TR1 の処理の際
に、格子点Pを移動格子点として移動させる。そして、
移動後の位置が第2の軌跡線分TR2 から距離D以下で
ある時には、第2の軌跡線分TR2 の処理の際に、格子
点Pを再度移動格子点として移動させるというものであ
る。第2の方法では、第1の軌跡線分TR1 の処理の際
に一度移動した格子点は、その直後の軌跡線分TR2 の
処理の際には移動させないというものである。実際に
は、オペレータがこのいずれの方法にするかを選択でき
るようにしておくことが好ましい。
【0066】また、図11および図12では、ブラシの
軌跡TRが格子点座標のx軸に対して平行である例を説
明したが、実際にはその様なケースばかりでない。ブラ
シの軌跡TRがx軸に対して平行でない場合には、例え
ば、ブラシの軌跡TRがx軸に対して平行になるように
軌跡TRおよび格子点を一旦写像してから各移動格子点
を移動し、その後格子点を逆写像すると演算が容易であ
る。
軌跡TRが格子点座標のx軸に対して平行である例を説
明したが、実際にはその様なケースばかりでない。ブラ
シの軌跡TRがx軸に対して平行でない場合には、例え
ば、ブラシの軌跡TRがx軸に対して平行になるように
軌跡TRおよび格子点を一旦写像してから各移動格子点
を移動し、その後格子点を逆写像すると演算が容易であ
る。
【0067】このようにして各移動格子点が移動規則に
従って移動すると、格子点移動部56が、図6または図
10に示す格子点データおよびブロック頂点データに移
動後の格子点座標を登録する。また、図9のような管理
矩形を使用する場合には、図10(A)に示す各管理矩
形の所属格子点アドレステーブルにおいて、各管理矩形
からはみ出した格子点のアドレスを削除するとともに、
各管理矩形に入ってきた格子点のアドレスを追加する。
従って移動すると、格子点移動部56が、図6または図
10に示す格子点データおよびブロック頂点データに移
動後の格子点座標を登録する。また、図9のような管理
矩形を使用する場合には、図10(A)に示す各管理矩
形の所属格子点アドレステーブルにおいて、各管理矩形
からはみ出した格子点のアドレスを削除するとともに、
各管理矩形に入ってきた格子点のアドレスを追加する。
【0068】図2のステップS6では、画像マッピング
部58が、移動後の格子点に基づいて、変形された画像
のマッピングを行なう。ここで、「画像のマッピング」
とは、画像の各画素に画素データを割り当てる処理を言
う。この実施例における画像のマッピングは、各ブロッ
ク内の画素データをアフィン変換することによって実現
される。このアフィン変換の変換係数は、4つの格子点
で構成される四角形のブロックの移動前と移動後の写像
に対応して求められる。なお、各ブロックの4つの格子
点の移動前後の座標は、図6(C)または図10(C)
に示す各ブロックに関するブロック頂点データに含まれ
ている。四角形のアフィン変換は、その周辺で誤差が生
じるので、この実施例では、四角形のブロックを2つの
三角形に分割して、それぞれの三角形に対してアフィン
変換を行なう。
部58が、移動後の格子点に基づいて、変形された画像
のマッピングを行なう。ここで、「画像のマッピング」
とは、画像の各画素に画素データを割り当てる処理を言
う。この実施例における画像のマッピングは、各ブロッ
ク内の画素データをアフィン変換することによって実現
される。このアフィン変換の変換係数は、4つの格子点
で構成される四角形のブロックの移動前と移動後の写像
に対応して求められる。なお、各ブロックの4つの格子
点の移動前後の座標は、図6(C)または図10(C)
に示す各ブロックに関するブロック頂点データに含まれ
ている。四角形のアフィン変換は、その周辺で誤差が生
じるので、この実施例では、四角形のブロックを2つの
三角形に分割して、それぞれの三角形に対してアフィン
変換を行なう。
【0069】図14は、ブロックA5 を2つの三角形に
分割する2つの方法を示す説明図である。図14(B
1)に示す第1の分割方法では、頂点P1 ,P3 を結ぶ
対角線によって、四角形のブロックA5 を2つの三角形
△P1 P2 P3 ,△P3 P4 P1 に分割している。一
方、図14(B2)に示す第2の分割方法では、頂点P
2,P4 を結ぶ対角線によって、四角形のブロックA5
を2つの三角形△P2 P3P4 ,△P4 P1 P2 に分割
している。
分割する2つの方法を示す説明図である。図14(B
1)に示す第1の分割方法では、頂点P1 ,P3 を結ぶ
対角線によって、四角形のブロックA5 を2つの三角形
△P1 P2 P3 ,△P3 P4 P1 に分割している。一
方、図14(B2)に示す第2の分割方法では、頂点P
2,P4 を結ぶ対角線によって、四角形のブロックA5
を2つの三角形△P2 P3P4 ,△P4 P1 P2 に分割
している。
【0070】これら2つの分割方法のデータ処理上の違
いは、図14(B1),(B2)の右端に示すように、
ブロック頂点データに含まれる4つの格子点座標の読出
し順序が異なるところにある。すなわち、第1の分割方
法では、まず、4つの格子点P1 〜P4 の中の最初の格
子点P1 から始まる3つの格子点P1 ,P2 ,P3 の座
標を順次読出すことによって、第1の三角形△P1 P2
P3 の頂点座標が得られる。次に、第1の三角形△P1
P2 P3 の最後の格子点P3 から始まる3つの格子点P
3 ,P4 ,P1 の座標を順次読出すことによって、第2
の三角形△P3P4 P1 の頂点座標が得られる。一方、
第2の分割方法では、まず、4つの格子点P1 〜P4 の
中の2番目の格子点P2 から始まる3つの格子点P2 ,
P3 ,P4 の座標を順次読出すことによって、第1の三
角形△P2 P3 P4 の頂点座標が得られる。次に、第2
の三角形△P2 P3 P4 の最後の格子点P4 から始まる
3つの格子点P4 ,P1 ,P2 の座標を順次読出すこと
によって、第2の三角形△P4 P1 P2 の頂点座標が得
られる。このように、2つの分割方法は、格子点の座標
を読出す際の先頭の格子点の位置が異なるだけである。
なお、2つの分割方法における読出しの先頭の格子点
は、互いに隣合うように選択されればよく、上記以外の
頂点を先頭の格子点として選んでもよい。
いは、図14(B1),(B2)の右端に示すように、
ブロック頂点データに含まれる4つの格子点座標の読出
し順序が異なるところにある。すなわち、第1の分割方
法では、まず、4つの格子点P1 〜P4 の中の最初の格
子点P1 から始まる3つの格子点P1 ,P2 ,P3 の座
標を順次読出すことによって、第1の三角形△P1 P2
P3 の頂点座標が得られる。次に、第1の三角形△P1
P2 P3 の最後の格子点P3 から始まる3つの格子点P
3 ,P4 ,P1 の座標を順次読出すことによって、第2
の三角形△P3P4 P1 の頂点座標が得られる。一方、
第2の分割方法では、まず、4つの格子点P1 〜P4 の
中の2番目の格子点P2 から始まる3つの格子点P2 ,
P3 ,P4 の座標を順次読出すことによって、第1の三
角形△P2 P3 P4 の頂点座標が得られる。次に、第2
の三角形△P2 P3 P4 の最後の格子点P4 から始まる
3つの格子点P4 ,P1 ,P2 の座標を順次読出すこと
によって、第2の三角形△P4 P1 P2 の頂点座標が得
られる。このように、2つの分割方法は、格子点の座標
を読出す際の先頭の格子点の位置が異なるだけである。
なお、2つの分割方法における読出しの先頭の格子点
は、互いに隣合うように選択されればよく、上記以外の
頂点を先頭の格子点として選んでもよい。
【0071】図14に示すような2つの分割方法は、場
合によっては互いに異なる変形効果をもたらす場合があ
る。図15は、2つの分割方法によって変形結果が異な
る場合の一例を示す説明図である。この例では、4つの
頂点P1 〜P4 の中で右上の頂点P4 のみが移動してい
る。図15(A)に示す第1の分割方法による変形結果
では、斜線が付された三角形△P1 P2 P3 の画像部分
は変形を受けずに、斜線のない三角形△P3 P4 P1 の
画像部分のみが大きな変形を受けている。一方、図15
(B)に示す第2の分割方法による変形結果では、斜線
が付された画像部分も、斜線のない画像部分も共に同程
度の変形を受けている。通常の画像においては、図15
(A)に示すような変形は、2つの三角形の境界部分で
画像が歪んだ印象を与えることがある。従って、1つの
ブロックの4つの頂点の中の1つが移動した場合には、
図15(B)に示すように、移動した頂点P4 を通る対
角線を用いてブロックを分割することが好ましい。具体
的なデータ処理では、そのブロックに関するブロック頂
点データ(図10(C))に登録された4つの格子点P
1 〜P4 について移動前と移動後の座標値を比較し、移
動した格子点P4 に隣接する格子点の1つ(P1 または
P3 )を、三角形座標の読出しの先頭格子点として選択
すればよい。
合によっては互いに異なる変形効果をもたらす場合があ
る。図15は、2つの分割方法によって変形結果が異な
る場合の一例を示す説明図である。この例では、4つの
頂点P1 〜P4 の中で右上の頂点P4 のみが移動してい
る。図15(A)に示す第1の分割方法による変形結果
では、斜線が付された三角形△P1 P2 P3 の画像部分
は変形を受けずに、斜線のない三角形△P3 P4 P1 の
画像部分のみが大きな変形を受けている。一方、図15
(B)に示す第2の分割方法による変形結果では、斜線
が付された画像部分も、斜線のない画像部分も共に同程
度の変形を受けている。通常の画像においては、図15
(A)に示すような変形は、2つの三角形の境界部分で
画像が歪んだ印象を与えることがある。従って、1つの
ブロックの4つの頂点の中の1つが移動した場合には、
図15(B)に示すように、移動した頂点P4 を通る対
角線を用いてブロックを分割することが好ましい。具体
的なデータ処理では、そのブロックに関するブロック頂
点データ(図10(C))に登録された4つの格子点P
1 〜P4 について移動前と移動後の座標値を比較し、移
動した格子点P4 に隣接する格子点の1つ(P1 または
P3 )を、三角形座標の読出しの先頭格子点として選択
すればよい。
【0072】図16は、2つの分割方法によって変形結
果が異なる場合の他の例を示す説明図である。この例で
は、2つの頂点P1 ,P3 が移動している。図16
(A)に示す第1の分割方法による変形結果では、斜線
が付された三角形の画像部分も、斜線のない三角形の画
像部分も共に同程度の変形を受けている。一方、図16
(B)に示す第2の分割方法による変形結果でも、2つ
の三角形が共に大きな変形を受けているが、2つの三角
形の変形の仕方が大幅に異なっている。図16(B)の
ような変形は、2つの三角形の境界部分で画像が歪んだ
印象を与える。従って、図16の例においても、図16
(A)に示すように、移動した頂点P1 ,P3 を通る対
角線を用いてブロックを分割することが好ましい。
果が異なる場合の他の例を示す説明図である。この例で
は、2つの頂点P1 ,P3 が移動している。図16
(A)に示す第1の分割方法による変形結果では、斜線
が付された三角形の画像部分も、斜線のない三角形の画
像部分も共に同程度の変形を受けている。一方、図16
(B)に示す第2の分割方法による変形結果でも、2つ
の三角形が共に大きな変形を受けているが、2つの三角
形の変形の仕方が大幅に異なっている。図16(B)の
ような変形は、2つの三角形の境界部分で画像が歪んだ
印象を与える。従って、図16の例においても、図16
(A)に示すように、移動した頂点P1 ,P3 を通る対
角線を用いてブロックを分割することが好ましい。
【0073】図15、図16に例示したように、各ブロ
ックを2つの三角形に分割する際には、2つの分割方法
の中で、2つの三角形の境界部における変形による歪み
が少ない方の分割方法を選択することが好ましい。この
ような選択を実現するためには、種々の判定方法が考え
られる。第1の判定方法では、2つの分割方法につい
て、移動前の三角形の面積比(△P1 P2 P3 /△P3
P4 P1 および△P2 P3 P4 /△P4 P1 P2 )と移
動後の三角形の面積比(△P1'P2'P3'/△P3'P4'P
1'および△P2'P3'P4'/△P4'P1'P2')とをそれぞ
れ算出し、2つの面積比の差が小さい分割方法を選択す
る。第2の判定方法では、そのブロックを構成する4つ
の頂点P1 〜P4 の中で、最も移動量の大きな頂点を通
る対角線を用いて分割する方法を選択する。
ックを2つの三角形に分割する際には、2つの分割方法
の中で、2つの三角形の境界部における変形による歪み
が少ない方の分割方法を選択することが好ましい。この
ような選択を実現するためには、種々の判定方法が考え
られる。第1の判定方法では、2つの分割方法につい
て、移動前の三角形の面積比(△P1 P2 P3 /△P3
P4 P1 および△P2 P3 P4 /△P4 P1 P2 )と移
動後の三角形の面積比(△P1'P2'P3'/△P3'P4'P
1'および△P2'P3'P4'/△P4'P1'P2')とをそれぞ
れ算出し、2つの面積比の差が小さい分割方法を選択す
る。第2の判定方法では、そのブロックを構成する4つ
の頂点P1 〜P4 の中で、最も移動量の大きな頂点を通
る対角線を用いて分割する方法を選択する。
【0074】図2のステップS6における画像マッピン
グでは、まず、分割された各三角形について、アフィン
変換係数を求める。例えば、図16(A)のように分割
した場合には、第1の三角形△P1 P2 P3 を移動後の
三角形△P1'P2 P3'に変換するためのアフィン変換係
数と、第2の三角形△P3 P4 P1 を移動後の三角形△
P3'P4 P1'に変換するためのアフィン変換係数とをそ
れぞれ求める。そして、それらのアフィン変換係数を用
いて、各三角形の内部画素にアフィン変換を施すことに
よって、各三角形の内部画素の移動後の位置を求め、移
動後の画素位置に移動前の内部画素の画素データをコピ
ーすることによって、画像のマッピングを実行する。
グでは、まず、分割された各三角形について、アフィン
変換係数を求める。例えば、図16(A)のように分割
した場合には、第1の三角形△P1 P2 P3 を移動後の
三角形△P1'P2 P3'に変換するためのアフィン変換係
数と、第2の三角形△P3 P4 P1 を移動後の三角形△
P3'P4 P1'に変換するためのアフィン変換係数とをそ
れぞれ求める。そして、それらのアフィン変換係数を用
いて、各三角形の内部画素にアフィン変換を施すことに
よって、各三角形の内部画素の移動後の位置を求め、移
動後の画素位置に移動前の内部画素の画素データをコピ
ーすることによって、画像のマッピングを実行する。
【0075】図17は、アフィン変換を用いた画像のマ
ッピング処理の内容を示す説明図である。図17の変換
後(変形後)の三角形△P1'P2'P3'において、斜線が
付された丸は、アフィン変換によって写像された画素を
示し、白丸はアフィン変換によって写像されない画素を
示している。この例のように、変形後の三角形△P1'P
2'P3'のサイズが変形前の三角形△P1 P2 P3 のサイ
ズよりも大きな場合に、変形後の三角形の内部に、アフ
ィン変換によっては写像されない画素が存在する。この
ような画素を、以下では「補間が必要な画素」と呼ぶ。
補間が必要な画素については、逆アフィン変換を用いて
画素データを求める。
ッピング処理の内容を示す説明図である。図17の変換
後(変形後)の三角形△P1'P2'P3'において、斜線が
付された丸は、アフィン変換によって写像された画素を
示し、白丸はアフィン変換によって写像されない画素を
示している。この例のように、変形後の三角形△P1'P
2'P3'のサイズが変形前の三角形△P1 P2 P3 のサイ
ズよりも大きな場合に、変形後の三角形の内部に、アフ
ィン変換によっては写像されない画素が存在する。この
ような画素を、以下では「補間が必要な画素」と呼ぶ。
補間が必要な画素については、逆アフィン変換を用いて
画素データを求める。
【0076】図18は、逆アフィン変換を用いた画素デ
ータのコピー方法を示す説明図である。この補間方法で
は、逆アフィン変換を行なうことによって、補間が必要
な画素(斜線を付した丸)が変形前のどの内部画素に対
応するかを算出する。そして、変形前の内部画素の画素
データをコピーすることによって補間を行なうことがで
きる。なお、逆アフィン変換の変換係数は、図17に示
すアフィン変換の変換係数から算出される。実際には、
逆アフィン変換を行なった結果の画素位置が、量子化さ
れた値(すなわち整数値)になるとは限らない。この場
合、最も近い画素値を用いることもできるが、より画質
を向上するには、図19に示す補間を実行する。
ータのコピー方法を示す説明図である。この補間方法で
は、逆アフィン変換を行なうことによって、補間が必要
な画素(斜線を付した丸)が変形前のどの内部画素に対
応するかを算出する。そして、変形前の内部画素の画素
データをコピーすることによって補間を行なうことがで
きる。なお、逆アフィン変換の変換係数は、図17に示
すアフィン変換の変換係数から算出される。実際には、
逆アフィン変換を行なった結果の画素位置が、量子化さ
れた値(すなわち整数値)になるとは限らない。この場
合、最も近い画素値を用いることもできるが、より画質
を向上するには、図19に示す補間を実行する。
【0077】図19において、周辺の4つの大きな白丸
A〜Dが変換前の内部画素の位置を示しており、略中央
の白丸Fが逆アフィン変換によって求められた画素位置
を示している。この時、画素Fの中心TF の位置座標
(x,y)として、その周辺の4つの画素A〜Dの中心
TA 〜TD で構成される単位格子の座標を使用する。す
なわち、隣接する元の内部画素同士の距離を1に規格化
した座標を使用する。この時、画素Fの画素データは、
周囲の元の4つの画素A〜Dの画素データを用いて次の
数式9に従って補間される。
A〜Dが変換前の内部画素の位置を示しており、略中央
の白丸Fが逆アフィン変換によって求められた画素位置
を示している。この時、画素Fの中心TF の位置座標
(x,y)として、その周辺の4つの画素A〜Dの中心
TA 〜TD で構成される単位格子の座標を使用する。す
なわち、隣接する元の内部画素同士の距離を1に規格化
した座標を使用する。この時、画素Fの画素データは、
周囲の元の4つの画素A〜Dの画素データを用いて次の
数式9に従って補間される。
【0078】
【数9】
【0079】このような補間を行なえば、より滑らかな
変形結果が得られる。
変形結果が得られる。
【0080】図20は、画像マッピングの他の処理手順
を示すフローチャートである。また、図21は、図20
の手順による処理内容を示す説明図である。図20のス
テップS11では、各三角形の変形の逆アフィン変換係
数を求める。図21(A),(B)に示すように、変形
前の三角形の頂点P1 〜P3 の座標と、変形後の三角形
の頂点P1'〜P3'の座標はそれぞれ解っている(格子点
管理データに登録されている)ので、これから逆アフィ
ン変換(すなわち、変形後の三角形△P1'P2'P3'から
変形前の三角形△P1 P2 P3 への変換)の変換係数を
算出できる。
を示すフローチャートである。また、図21は、図20
の手順による処理内容を示す説明図である。図20のス
テップS11では、各三角形の変形の逆アフィン変換係
数を求める。図21(A),(B)に示すように、変形
前の三角形の頂点P1 〜P3 の座標と、変形後の三角形
の頂点P1'〜P3'の座標はそれぞれ解っている(格子点
管理データに登録されている)ので、これから逆アフィ
ン変換(すなわち、変形後の三角形△P1'P2'P3'から
変形前の三角形△P1 P2 P3 への変換)の変換係数を
算出できる。
【0081】ステップS12では、変形後の三角形△P
1'P2'P3'の内部画素(すなわち図21(C)において
斜線で示される各画素)が決定される。図22は、変形
後の三角形内の内部画素の決定方法を示す説明図であ
る。図22の方法は、三角形△P1'P2'P3'の内部に含
まれるか否かの判定の対象とする各画素から半直線(図
22の例では、矢印で示される垂直下向きの半直線)を
引き、この半直線と三角形の辺との交差の回数をカウン
トする。そして、交差数が奇数であれば内部画素と判定
され、交差数が偶数であれば外部画素と判定される。こ
のような判定方法を用いれば、複雑な演算や判定条件を
使用することなく、三角形の内部画素であるか否かを容
易に判定することができる。
1'P2'P3'の内部画素(すなわち図21(C)において
斜線で示される各画素)が決定される。図22は、変形
後の三角形内の内部画素の決定方法を示す説明図であ
る。図22の方法は、三角形△P1'P2'P3'の内部に含
まれるか否かの判定の対象とする各画素から半直線(図
22の例では、矢印で示される垂直下向きの半直線)を
引き、この半直線と三角形の辺との交差の回数をカウン
トする。そして、交差数が奇数であれば内部画素と判定
され、交差数が偶数であれば外部画素と判定される。こ
のような判定方法を用いれば、複雑な演算や判定条件を
使用することなく、三角形の内部画素であるか否かを容
易に判定することができる。
【0082】図20のステップS13では、各内部画素
について逆アフィン変換を行なうことによって、変形前
の三角形における画素の座標位置を求める。そして、ス
テップS14においては、求められた座標位置の近傍に
ある画素の画素値を補間することによって、変形後の画
素の画素値を求める。ステップS14における補間方法
としては、前述した図19に示す方法を利用することが
できる。なお、図20の処理は、変形を受けた各ブロッ
クの2つの三角形に対してそれぞれ行なわれる。
について逆アフィン変換を行なうことによって、変形前
の三角形における画素の座標位置を求める。そして、ス
テップS14においては、求められた座標位置の近傍に
ある画素の画素値を補間することによって、変形後の画
素の画素値を求める。ステップS14における補間方法
としては、前述した図19に示す方法を利用することが
できる。なお、図20の処理は、変形を受けた各ブロッ
クの2つの三角形に対してそれぞれ行なわれる。
【0083】なお、画像マッピング処理では、変換され
た画素データを元の画像データに上書きする。すなわ
ち、入力画像データを入力画像メモリ38(図1)から
出力画像メモリ46に予めコピーしておき、変換後の画
素データを出力画像メモリ46内の入力画像データに上
書きする。この結果、変形処理後の画像データ(出力画
像データ)が得られる。こうして得られた出力画像デー
タは、図2のステップS7において、外部記憶装置やプ
リンタ、他の画像処理装置等の外部装置に出力される。
なお、出力画像メモリ46として複数プレーン分のメモ
リ容量を確保しておけば、変形のやり直しを容易に行な
うことができるので、対話処理による画像の変形作業の
効率が向上する。
た画素データを元の画像データに上書きする。すなわ
ち、入力画像データを入力画像メモリ38(図1)から
出力画像メモリ46に予めコピーしておき、変換後の画
素データを出力画像メモリ46内の入力画像データに上
書きする。この結果、変形処理後の画像データ(出力画
像データ)が得られる。こうして得られた出力画像デー
タは、図2のステップS7において、外部記憶装置やプ
リンタ、他の画像処理装置等の外部装置に出力される。
なお、出力画像メモリ46として複数プレーン分のメモ
リ容量を確保しておけば、変形のやり直しを容易に行な
うことができるので、対話処理による画像の変形作業の
効率が向上する。
【0084】上記実施例では、円形状の変形ブラシを用
いた対話処理によって変形範囲を指定するようにしたの
で、オペレータが変形の範囲を容易に指示することがで
きる。なお、ブラシの掃引の際には、ブラシ領域BR
(図8)を画面上において特定の色(識別色)で目立た
せるようにすれば、オペレータは変形範囲をさらに容易
に指定できる。また、上記実施例では、格子点で構成さ
れる三角形のアフィン変換に従って画素データのマッピ
ングを行なったので、格子点の移動に正確に対応したマ
ッピングを実現することができる。
いた対話処理によって変形範囲を指定するようにしたの
で、オペレータが変形の範囲を容易に指示することがで
きる。なお、ブラシの掃引の際には、ブラシ領域BR
(図8)を画面上において特定の色(識別色)で目立た
せるようにすれば、オペレータは変形範囲をさらに容易
に指定できる。また、上記実施例では、格子点で構成さ
れる三角形のアフィン変換に従って画素データのマッピ
ングを行なったので、格子点の移動に正確に対応したマ
ッピングを実現することができる。
【0085】なお、この発明は上記の実施例や実施形態
に限られるものではなく、その要旨を逸脱しない範囲に
おいて種々の態様において実施することが可能であり、
例えば次のような変形も可能である。
に限られるものではなく、その要旨を逸脱しない範囲に
おいて種々の態様において実施することが可能であり、
例えば次のような変形も可能である。
【0086】(1)上記実施例では、画像をブロックに
分割する格子の格子点を定め、ブラシで指定された変形
範囲にある格子点を所定の移動規則に従って移動させて
いた。しかし、ブロックに分割することなく、ブラシで
指定された変形範囲にある画素を所定の移動規則に従っ
て直接移動させることによって、画像を変形するように
することも可能である。この場合には、各画素の移動規
則は、各画素の移動距離をブラシの中心の軌跡と各画素
との距離の関数で表わしたものとなる。
分割する格子の格子点を定め、ブラシで指定された変形
範囲にある格子点を所定の移動規則に従って移動させて
いた。しかし、ブロックに分割することなく、ブラシで
指定された変形範囲にある画素を所定の移動規則に従っ
て直接移動させることによって、画像を変形するように
することも可能である。この場合には、各画素の移動規
則は、各画素の移動距離をブラシの中心の軌跡と各画素
との距離の関数で表わしたものとなる。
【0087】しかし、この場合には画素を移動させた後
に生じる座標上の空きを補間する方法が複雑になる。そ
こで、上記実施例のように、まず、格子点を移動させて
ブロックを変形し、変形後のブロックに対して画素デー
タのマッピングを行なうようにすれば、アフィン変換
(あるいはアフィン逆変換)等を用いて変形後の画素デ
ータを決定、すなわち補間できるので、画像の変形のた
めの演算が容易であるという利点がある。
に生じる座標上の空きを補間する方法が複雑になる。そ
こで、上記実施例のように、まず、格子点を移動させて
ブロックを変形し、変形後のブロックに対して画素デー
タのマッピングを行なうようにすれば、アフィン変換
(あるいはアフィン逆変換)等を用いて変形後の画素デ
ータを決定、すなわち補間できるので、画像の変形のた
めの演算が容易であるという利点がある。
【図1】この発明の実施例を適用する画像処理システム
の構成を示すブロック図。
の構成を示すブロック図。
【図2】実施例における処理手順を示すフローチャー
ト。
ト。
【図3】ブロック分割の方法を示す説明図。
【図4】格子点を移動させることによって画像が変形さ
れる様子を示す説明図。
れる様子を示す説明図。
【図5】ブロックA5 とその周囲の格子点P1 〜P4 を
示す説明図。
示す説明図。
【図6】ブロック格子点管理データの構造を示す説明
図。
図。
【図7】所属格子点アドレスのリスト構造を示す説明
図。
図。
【図8】ブラシの掃引の様子を示す説明図。
【図9】バケット法による移動格子点の抽出法を説明す
る説明図。
る説明図。
【図10】バケット法を使用する際に用いられる管理矩
形格子点管理データの構造を示す説明図。
形格子点管理データの構造を示す説明図。
【図11】移動格子点の移動規則と移動結果の例を示す
説明図。
説明図。
【図12】移動格子点の他の移動規則を示す説明図。
【図13】オペレータが画面上で描く軌跡と画像処理シ
ステムで認識される軌跡とを示す説明図。
ステムで認識される軌跡とを示す説明図。
【図14】ブロックA5 を2つの三角形に分割する2つ
の方法を示す説明図。
の方法を示す説明図。
【図15】2つの分割方法によって変形結果が異なる場
合の一例を示す説明図。
合の一例を示す説明図。
【図16】2つの分割方法によって変形結果が異なる場
合の他の例を示す説明図。
合の他の例を示す説明図。
【図17】アフィン変換を用いた画像のマッピング処理
の内容を示す説明図。
の内容を示す説明図。
【図18】逆アフィン変換を用いた画素データのコピー
方法を示す説明図。
方法を示す説明図。
【図19】画素データの補間方法を示す説明図。
【図20】画像マッピングの他の処理手順を示すフロー
チャート。
チャート。
【図21】図20の手順による処理内容を示す説明図。
【図22】変形後の三角形の内部画素の決定方法を示す
説明図。
説明図。
30…画像表示装置 32…演算装置 34…座標点入力装置 35…メインメモリ 36…作業バッファメモリ 38…入力画像メモリ 40…格子点管理データメモリ 42…格子点データメモリ 44…ブロック頂点データメモリ 46…出力画像メモリ 50…格子分割部 52…ブラシツール設定部 54…移動格子点抽出部 56…格子点移動部 58…画像マッピング部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 由起子 京都市上京区堀川通寺之内上る4丁目天神 北町1番地の1 大日本スクリーン製造株 式会社内
Claims (5)
- 【請求項1】 コンピュータシステムを用いて画像を変
形させる方法であって、 処理対象画像を格子状に複数のブロックに分割するとと
もに、前記格子の格子点を定め、 前記処理対象画像を表示した画面上において、ポインテ
ィングデバイスで指定された点を中心とする領域を指定
するためのブラシツールを用いて、対話処理によって前
記処理対象画像上の変形範囲を指定し、 前記変形範囲にある格子点を所定の移動規則に従って移
動させることによって前記複数のブロックの少なくとも
一部を変形し、 各ブロックの変形前後の形状に従って、変形後の各ブロ
ック内の画素データを求めることを特徴とする画像の変
形方法。 - 【請求項2】 請求項1記載の画像の変形方法であっ
て、 前記移動規則は、各格子点の移動距離を前記ブラシツー
ルの中心の移動軌跡と各格子点との距離の関数で表わし
たものである、画像の変形方法。 - 【請求項3】 請求項1または2記載の画像の変形方法
であって、 前記複数のブロックは矩形であり、 前記変形後の各ブロック内の画素データを求める際に、 前記変形後の各ブロックを2つの三角形に分割し、 前記2つの三角形内に含まれる内部画素をそれぞれ求
め、 前記各ブロックの変形に伴う前記2つの三角形のアフィ
ン変換の変換係数を利用して、各内部画素についての変
形前のブロック内における位置座標を求め、 得られた位置座標の近傍に存在する画素の画素データか
ら、前記変形後のブロック内に含まれる各内部画素の画
素データを求める、画像の変形方法。 - 【請求項4】 請求項4記載の画像の変形方法であっ
て、 前記変形後の各ブロックを2つの三角形に分割する際
に、 前記変形後の各ブロックを構成する4つの頂点の中で、
最も移動量の大きな頂点を通る対角線によって各ブロッ
クを分割する、画像の変形方法。 - 【請求項5】 コンピュータシステムを用いて画像を変
形させる方法であって、 画像を表示した画面上において、ポインティングデバイ
スで指定された点を中心とする領域を指定するためのブ
ラシツールを用いて、対話処理によって前記画像上の変
形範囲を指定し、 前記変形範囲にある画素を所定の移動規則に従って移動
させることによって、前記画像を変形することを特徴と
する画像の変形方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7290323A JPH09106453A (ja) | 1995-10-11 | 1995-10-11 | 画像の変形方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7290323A JPH09106453A (ja) | 1995-10-11 | 1995-10-11 | 画像の変形方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09106453A true JPH09106453A (ja) | 1997-04-22 |
Family
ID=17754598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7290323A Pending JPH09106453A (ja) | 1995-10-11 | 1995-10-11 | 画像の変形方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09106453A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0950987A2 (en) * | 1998-04-14 | 1999-10-20 | Shima Seiki Mfg., Ltd. | Three-Dimensional image creating apparatus |
US6035075A (en) * | 1997-04-10 | 2000-03-07 | Nec Corporation | Image deforming method and apparatus |
US7038700B2 (en) | 2001-09-26 | 2006-05-02 | Mazda Motor Corporation | Morphing method for structure shape, its computer program, and computer-readable storage medium |
JP2007518162A (ja) * | 2004-01-06 | 2007-07-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | グラフィック・オブジェクトを描画する方法 |
JP2010049578A (ja) * | 2008-08-22 | 2010-03-04 | Seiko Epson Corp | 画像処理装置、画像処理方法および画像処理プログラム |
US8750646B2 (en) | 2011-09-30 | 2014-06-10 | Seiko Epson Corporation | Projector and control method for the projector |
-
1995
- 1995-10-11 JP JP7290323A patent/JPH09106453A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035075A (en) * | 1997-04-10 | 2000-03-07 | Nec Corporation | Image deforming method and apparatus |
EP0950987A2 (en) * | 1998-04-14 | 1999-10-20 | Shima Seiki Mfg., Ltd. | Three-Dimensional image creating apparatus |
EP0950987A3 (en) * | 1998-04-14 | 2002-03-06 | Shima Seiki Mfg., Ltd. | Three-Dimensional image creating apparatus |
US7038700B2 (en) | 2001-09-26 | 2006-05-02 | Mazda Motor Corporation | Morphing method for structure shape, its computer program, and computer-readable storage medium |
JP2007518162A (ja) * | 2004-01-06 | 2007-07-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | グラフィック・オブジェクトを描画する方法 |
JP2010049578A (ja) * | 2008-08-22 | 2010-03-04 | Seiko Epson Corp | 画像処理装置、画像処理方法および画像処理プログラム |
US8355602B2 (en) | 2008-08-22 | 2013-01-15 | Seiko Epson Corporation | Image processing apparatus, image processing method and image processing program |
US8750646B2 (en) | 2011-09-30 | 2014-06-10 | Seiko Epson Corporation | Projector and control method for the projector |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04287292A (ja) | トリミングされたパラメトリック面のレンダリング方法及び装置 | |
JP2919428B2 (ja) | 画像変形装置 | |
JP2793466B2 (ja) | 画像の可変拡大方法及びその装置 | |
US9501811B2 (en) | Resizing an image | |
JP3511498B2 (ja) | メッシュ生成システム、設計支援システム、解析システム、メッシュ生成方法及び記憶媒体 | |
JP2008512767A (ja) | 一般的な2次元空間変換の表現システム及び方法 | |
JP2009080573A (ja) | 表示手法 | |
JPH11161819A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体 | |
JPH09106453A (ja) | 画像の変形方法 | |
JPH07111742B2 (ja) | 図形の変形方法及び装置 | |
JP2837584B2 (ja) | 地形データの作成方法 | |
EP0574245A2 (en) | Method and apparatus for variable expansion and variable shrinkage of an image | |
US5293471A (en) | Graphics processing system for deleting one of overlapping line and graphics images | |
JP2012108825A (ja) | 情報処理装置、情報処理方法およびプログラム | |
KR100633029B1 (ko) | 풋프린트의 분석 및 수정 방법 | |
JP2008097450A (ja) | 図形描画装置およびプログラム | |
CN114741188A (zh) | 图形元素处理方法、装置、电子设备及存储介质 | |
JP2999019B2 (ja) | 文字図形変形処理装置 | |
JP2003006552A (ja) | シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム | |
JPH0652300A (ja) | 画像処理装置 | |
JP2768370B2 (ja) | 図形描画方法 | |
JP3517982B2 (ja) | 図形描画装置 | |
JPH0760308B2 (ja) | 画像表示倍率設定装置 | |
JPH1186008A (ja) | 描画処理方法および描画処理装置 | |
JP2780405B2 (ja) | デジタル画像処理装置 |