JP3612257B2 - 画像データ編集装置 - Google Patents
画像データ編集装置 Download PDFInfo
- Publication number
- JP3612257B2 JP3612257B2 JP2000007612A JP2000007612A JP3612257B2 JP 3612257 B2 JP3612257 B2 JP 3612257B2 JP 2000007612 A JP2000007612 A JP 2000007612A JP 2000007612 A JP2000007612 A JP 2000007612A JP 3612257 B2 JP3612257 B2 JP 3612257B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinate
- deformation
- pixel
- coordinates
- outer frame
- 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
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 59
- 230000008569 process Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 38
- 238000004364 calculation method Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 26
- 230000015654 memory Effects 0.000 description 25
- 230000008859 change Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000010422 painting Methods 0.000 description 6
- 230000001131 transforming effect Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータおよび複写機などの画像編集装置に係り、特に、階調を有するモノクロ写真あるいはカラー写真などの原画像の画像データを読み込んで所定の形状に変形させるのに好適な画像編集装置に関する。
【0002】
【従来の技術】
一般に、文字、図形等の原画像の形状を読み取り、これを原画像データとしてコンピュータ等に取り込み、この原画像データを所望の形状に変形させ、CRT、プロッタ等の出力装置で描画したり、FD等の記憶媒体に記録したりする画像データ編集が盛んに行なわれている。
【0003】
このような従来の画像データ編集を行なう場合には、図示しない略矩形の原画像を、図25に示すような形状に変形させる射影変形が多用されている。
【0004】
【発明が解決しようとする課題】
しかしながら、前述した従来の射影変形を用いた画像データ編集においては、変形後の画像が変形方向に徐々に大きくなるとともに、変形方向の先端側に大きな空間が形成され、変形後の画像の品質が劣るという問題点があった。また、このような従来の射影変形を用いた原画像の画像データ編集においては、曲線形状への変形ができないという問題点があった。
【0005】
このような問題点に対処するために、本出願人は、特願平4−264858号に記載した画像データ編集装置および方法を提案した。
【0006】
しかしながら、この特願平4−264858号に記載した画像データ編集装置は、文字や図形などの2値化可能な原画像の画像データ(ベクトルデータ)を曲線形状に変形することを対象としたものであるため、さらに画像データとして深さの画像情報(濃度値)を有する点(画素:ピクセル)の集合により構成されているところの階調を有するモノクロ写真あるいはカラー写真などを曲線形状に良好に変形することのできるものが望まれていた。
【0008】
本発明はこれらの点に鑑みてなされたものであり、階調を有するモノクロ写真あるいはカラー写真などの原画像の形状を自在に変形可能とする画像編集装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
前述した目的を達成するため請求項1に記載の本発明の画像データ編集装置は、原画像の画像情報を読み取る原画像データ読み取り手段と、前記原画像データ読み取り手段により読み取られた原画像データの画素をコンピュータ等で処理可能な単位のピクセルの集合体とし、この各ピクセルを基準外形枠を座標軸とする整数のメッシュ座標とした後に、その座標軸の最大値を1としたパラメータ座標に展開するパラメータ座標形成手段と、少なくとも関数により記述可能とされる所望の形状に変形された基準外形枠としての変形外形枠の形状を読み取る変形外形枠形状読み取り手段と、前記変形外形枠形状読み取り手段により読み取られた前記変形外形枠の輪郭の画素をコンピュータ等で処理可能な単位のピクセルの集合体とし、この各ピクセルで形成された変形外形枠を座標軸とする実座標とした後に、その実座標軸の最大値を1とした変形パラメータ座標に展開する変形パラメータ座標形成手段と、前記変形パラメータ座標形成手段により前記各ピクセルのパラメータ座標値を前記変形パラメータ座標における変形パラメータ座標値に変換した後に、前記変形外形枠の実座標上にフロートメッシュ座標として展開する実座標算出手段と、前記変形外形枠の実座標上にフロートメッシュ座標として展開された各ピクセルを複数のバンドに列分割するとともにこれらの各バンドを行分割して、前記変形外形枠内の領域を所望の4点のピクセルにて構成される変形処理最小単位に分割する画像変形描画単位設定手段と、前記変形処理最小単位を構成する4点のピクセルのうちの所定の1つのピクセルの原画の画像濃度値を取得する原画像濃度値取得手段と、前記原画像濃度値取得手段によって取得された前記濃度値によって前記変形処理最小単位を塗りつぶす画像描画手段とを有することを特徴としている。
【0010】
そして、このような構成を採用したことにより、原画像を所定の基準外形枠内に収納し、原画像の基準外形枠に対する相対位置を決定することができる。そして、前記基準外形枠を所望の形状の変形外形枠に変形させると、その変形外形枠に従って原画像の基準外形枠に対する相対位置と同一の位置関係を保持させた状態で変形外形枠内に原画像を変形させるとともに、変形外形枠内に原画像の濃度値を付与させることができる。
【0011】
【発明の実施の形態】
以下、本発明の実施形態を図1から図24を参照して説明する。
【0012】
本実施形態は、本発明による画像データ編集装置を、写真原稿を変形させる(写真変形)場合に用いたものであり、図1は画像データ編集装置の要部の構成を示すブロック図である。
【0013】
図1に示すように、本実施形態の画像データ編集装置1は、原画像データ読み取り手段2と、パラメータ座標形成手段3と、変形外形枠形状読み取り手段4と、変形パラメータ座標形成手段5と、実座標算出手段6と、画像変形描画単位設定手段7と、原画像濃度値取得手段8と、画像描画手段9とにより形成されている。
【0014】
つぎに、各部の構成をさらに説明すると、前記原画像データ読み取り手段2は、例えば長方形状をした写真等の原画たる原画像の画像情報(原画像データ)としての画素および画素属性(濃度値)などを読み取り適宜なメモリ等へ記憶させるスキャナ、メモリ、CPU等(図示せず)から形成されている。したがって、原画をスキャナなどの原画像データ読み取り手段2で読み取ると、読み取られた原画像の各ドット(画素)の画像情報は、従来公知の如く、直交座標上の座標データとして原画像データ読み取り手段2のメモリに記憶されることになる。
【0015】
また、前記パラメータ座標形成手段3は、前記原画像データ読み取り手段2により読み取られた原画像データの画素を図示しないコンピュータなどで処理可能な単位のピクセルの集合体とし、この各ピクセルを矩形の基準外形枠を座標軸とする整数のメッシュ座標として適宜なメモリ等に記憶させた後に、その座標軸の最大値を1としたパラメータ座標に展開し、適宜なメモリ等に記憶させるメモリ、CPU等(図示せず)から形成されている。つまり、パラメータ座標形成手段3は、原画像データ読み取り手段2により読み取られた原画像データの画素をコンピュータで処理可能な単位のピクセルの集合体とし、これらのピクセルを略矩形の基準外形枠を座標軸とする整数のメッシュ座標として前記基準外形枠に収納し、この基準外形枠に収納した各ピクセルの座標軸を前記基準外形枠の座標軸の原点から座標軸毎に最も離間した位置のピクセルの座標値をそれぞれ1とするパラメータ座標値に変換して前記メッシュ座標上の各ピクセルを座標軸の最大値を1とする略矩形のパラメータ座標に展開するようになっている。なお、コンピュータなどで処理可能な単位のピクセルとするのは、従来公知の如く、例えば、コンピュータがディスプレイ上で独立してコントロールできる最小単位が8ビット単位である場合には、原画像データの直交座標上におけるXおよびY軸方向のそれぞれ8画素(ドット)を1ピクセルとする。もちろん、コンピュータがディスプレイ上で独立してコントロールできる最小単位が1ビットである場合には、読み取られた原画像データの1ビットが1ピクセルとなる。したがって、パラメータ座標においては、座標軸の原点から最も離間した座標値が1となる。更に説明すれば、「コンピュータで処理可能な単位」とは、CCDスキャナやデジタルカメラからの入力データのような、画像の1点1点に対応する濃度情報やカラー情報のことをいう。具体的には、メモリに格納された画像要素(ピクセル)の持つ位置データおよびその位置に対応する色情報(または濃淡情報)データのことである。例えば256の段階をもつ白黒で表現する場合には、各画像の1点1点に対応する8ビットのデータが必要であり、カラー画像において1670万色(正確には1677215色)を表現するためには画像の1点1点に対応するR:8ビット、G:8ビット、B:8ビットの3バイトのデータが必要となる。そして 、ピクセルとはこの1点1点に対応したデータのことをいう。例えば縦横が256で表される場合、画像の位置に対応する(x、y)座標データは、各々8ビットのコンピュータで処理可能なデータとして扱うことができる。また、この位置情報に対応する色成分のデータは、コンピュータで扱うことのできる8ビット×3のデータとして扱うことができる。
【0016】
また、前記変形外形枠形状読み取り手段4は、少なくとも関数、例えば3次ベジエ関数等により記述可能とされる所望の形状に変形された基準外形枠としての変形外形枠の画像データ(形状データ)としての画素を図示しないスキャナ等により読み取ったり、予め与えられた複数の所望の変形外形枠から選択することにより適宜なメモリ等に記憶させるスキャナ、メモリ、CPU等(図示せず)から形成されている。
【0017】
また、前記変形パラメータ座標形成手段5は、前記変形外形枠形状読み取り手段4により読み取られた変形外形枠の形状データ(輪郭)の画素をコンピュータ等で処理可能な単位のピクセルの集合体とし、このピクセルにより形成された変形外形枠(輪郭)を座標軸とする実座標として適宜なメモリ等に記憶させた後に、その実座標軸の最大値を1とした変形パラメータ座標に展開し、適宜なメモリ等に記憶させるメモリ、CPU等(図示せず)から形成されている。つまり、変形パラメータ座標形成手段5は、前記基準外形枠を変形外形枠に変形させてこの変形外形枠を座標軸とする実座標として適宜なメモリ等に記憶させた後に、この実座標を当該実座標の座標軸の原点から実座標毎に最も離間した位置の座標値をそれぞれ1とする変形パラメータ座標として、適宜なメモリ等に記憶させるメモリ、CPU等(図示せず)から形成されている。
【0018】
また、前記実座標算出手段6は、前記各ピクセルのパラメータ座標値を変形パラメータ座標における変形パラメータ座標値に変換した後に、所望の処理精度とする処理精度設定部10を介して各ピクセルを実座標上に整数のフロートメッシュ座標として展開し、適宜なメモリ等に記憶させるメモリ、CPU等(図示せず)から形成されている。なお、公知の如く、コンピュータを用いた演算において、演算に使用する「数値」の中に小数点の位置が動き得る「浮動小数点形式の数値」というものがある。そして、「フロートメッシュ座標」とは、座標軸上の数値をこの「浮動小数点形式の数値」で表した座標のことで、基準外形枠を座標軸とする座標を「整数のメッシュ座標」と記載したので、これと区別するために「整数のフロートメッシュ座標」と表現した。なお、整数であるので、小数点以下の数値は0である。
【0019】
また、前記画像変形描画単位設定手段7は、前記実座標のフロートメッシュ座標上に展開された各ピクセルを画像品質および処理速度を勘案し、一旦バンド処理と称する列分割し、その後各列を行分割することにより、変形外形枠(実座標のフロートメッシュ座標)内の領域を所望の4点のピクセルにて形成される適宜な変形処理最小単位(ブロック)に分割して適宜なメモリ等に記憶させるメモリ、CPU等(図示せず)から形成されている。
【0020】
また、前記原画像濃度値取得手段8は、前記各ブロックを形成する4点のピクセルのうちの1つのピクセルの原画の濃度値(前記基準外形枠の整数メッシュ座標上の4点のピクセルの濃度値:本実施形態においては、メッシュ座標上の4点のピクセルの内の左上の1点のピクセルの濃度値)を適宜なメモリ等に記憶させるメモリ、CPU等(図示せず)から形成されている。
【0021】
また、前記画像描画手段9は、前記実座標内の領域を前記ブロックを囲む前記実座標上の矩形毎に、取得した原画の画像濃度値、すなわち、原画像濃度値取得手段8により取得した各ブロック毎の濃度値に基づいて塗りつぶすことにより変形後の画像データを形成するとともに、その変形後の画像データをCRT、プロッタ等の適宜な出力装置に出力するメモリ、CPU等(共に図示せず)から形成されている。
【0022】
なお、前記処理精度設定部10は必要に応じて各手段に付設するようにしてもよく、特に、本実施形態の構成に限定されるものではない。また、前記各メモリおよび各CPU等を制御部等に一括させて設けることもできる。
【0023】
つぎに、前述した構成からなる本実施形態の画像データ編集装置1を用いた画像データ編集について説明する。
【0024】
本実施形態の画像データ編集装置を用いた画像データ編集の概略について説明すると、写真等の原画たる原画像の画像情報(原画像データ)としての画素および画素属性(濃度値)を図示しないコンピュータで処理可能な単位のピクセルとし、そのピクセルを基準外形枠を座標軸とする整数のメッシュ座標として基準外形枠内に収納し、この基準外形枠をその座標軸の最大値を1としたパラメータ座標に展開し、基準外形枠を関数、本実施形態では3次ベジエ関数にて記述可能な所望の形状に変形させて変形外形枠とし、この変形外形枠を座標軸とする実座標とし、その実座標軸の最大値を1とした変形パラメータ座標に変換し、前記パラメータ座標上のピクセルを変形パラメータ座標上に変換し、その変形パラメータ座標上のピクセルを実座標上に整数のフロートメッシュ座標として展開するとともに、変形外形枠(実座標)内の領域を複数の変形処理最小単位としてのブロックに分割し、各ブロックを各ブロックの相対位置と等しい基準外形枠上のピクセルの濃度値(画像濃度値)をもって塗りつぶすことにより、写真等の原画の変形を行なうようにされている。すなわち、原画像の画像情報としての原画像データをコンピュータで処理可能な単位のピクセルの集合体とし、これらのピクセルを略矩形の基準外形枠を座標軸とする整数のメッシュ座標として基準外形枠に収納し、この基準外形枠に収納した各ピクセルの座標値を基準外形枠の座標軸の原点から座標軸毎に最も離間した位置のピクセルの座標値をそれぞれ1とするパラメータ座標値に変換してメッシュ座標上の各ピクセルを座標軸の最大値を1とする略矩形のパラメータ座標に展開し、基準外形枠を少なくとも関数により記述可能な所望の形状の変形外形枠に変形させてこの変形外形枠を座標軸とする実座標とし、この実座標を当該実座標の座標軸の原点から座標軸毎に最も離間した位置の座標値をそれぞれ1とする変形パラメータ座標とし、その後、各ピクセルのパラメータ座標値を変形パラメータ座標における変形パラメータ座標値に変換して、各ピクセルを実座標上に整数のフロートメッシュ座標として展開するとともに、実座標内の領域を複数の変形処理最小単位としてのブロックに分割し、ブロック毎にそのブロック内に位置するピクセルのうちの1つのピクセルの原画の画像濃度値を取得し、実座標内の領域を、ブロックを囲む実座標上の矩形毎に、取得し た原画の画像濃度値をもって塗りつぶすことにより、写真等の原画の変形を行なうようにされている。したがって、原画像データの収納された基準外形枠を、関数にて記述可能な所望の形状の変形外形枠に変形させることにより原画像データを変換させている。
【0025】
このような画像データ編集について図2に示すフローチャートにより説明するる。
【0026】
まず、ステップST10において、写真などの原画像の画像情報である画素および画素属性(濃度値)をスキャナなどの適宜な原画像データ読み取り手段2により所望の分解能をもって読み取り、つぎのステップST11に進行する。
【0027】
つぎに、ステップST11において、原画像の画像情報を適宜なパラメータ座標形成手段3により画像データ編集装置1にて処理可能な単位のピクセルとするとともに、このピクセルを整数のメッシュ座標からなる基準外形枠に収納した後、基準外形枠に対するパラメータ座標に展開し、つぎのステップST12に進行する。すなわち、原画像の画像情報としての原画像データをコンピュータで処理可能な単位のピクセルの集合体とし、これらのピクセルを略矩形の基準外形枠を座標軸とする整数のメッシュ座標として基準外形枠に収納し、この基準外形枠に収納した各ピクセルの座標値を基準外形枠の座標軸の原点から座標軸毎に最も離間した位置のピクセルの座標値をそれぞれ1とするパラメータ座標値に変換してメッシュ座標上の各ピクセルを座標軸の最大値を1とする略矩形のパラメータ座標に展開する。これにより原画像を所定の基準外形枠内に収納し、原画像の基準外形枠に対する相対位置を決定することができる。
【0028】
つぎに、ステップST12において、所望の形状の変形外形枠の形状を適宜な変形外形枠形状読み取り手段4により読み取り、つぎのステップST13に進行する。すなわち、基準外形枠を変形させるための変形基準枠の形状(輪郭)をコンピュータで処理可能な3次ベジエ関数のパラメータの関数の集合体として読み取ることにより、変形外形枠の座標軸を容易に得ることができる。
【0029】
つぎに、ステップST13において、変形外形枠に対する変形パラメータ座標を適宜な変形パラメータ座標形成手段5により形成し、つぎのステップST14に進行する。すなわち、基準外形枠を、少なくとも関数により記述可能な所望の形状の変形外形枠に変形させてこの変形外形枠を座標軸とする実座標とした後に、この実座標を当該実座標の座標軸の原点から座標軸毎に最も離間した位置の座標値をそれぞれ1とする。
【0030】
つぎに、ステップST14において、適宜な実座標算出手段6により前記パラメータ座標上のピクセルを変形パラメータ座標上に変換し、その変形パラメータ座標上に変換したピクセルを整数のフロートメッシュ座標として実座標(変形外形枠)に展開し、つぎの、ステップST15に進行する。すなわち、各ピクセルのパラメータ座標値を変形パラメータ座標における変形パラメータ座標値に変換して各ピクセルを実座標上に整数のフロートメッシュ座標として展開する。
【0031】
つぎに、ステップST15において、実座標(フロートメッシュ座標)上に展開された各ピクセルを適宜な画像変形描画単位設定手段7により変形処理最小単位(ブロック)に分割し、つぎのステップST16に進行する。すなわち、実座標内の領域を複数の変形処理最小単位としてのブロックに分割する。
【0032】
つぎに、ステップST16において、適宜な原画像濃度値取得手段8により各ブロックのピクセルに対応する基準外形枠上のピクセルの濃度値(元の濃度値)を取得し、つぎのステップST17に進行する。すなわち、ブロック毎に、そのブロック内に位置するピクセルのうちの1つのピクセルの原画の画像濃度値を取得する。詳細については、後述する。
【0033】
つぎに、ステップST17において、変形外形枠(実座標)内の各ブロックを適宜な画像描画手段9により元の濃度値にて塗りつぶすとともに、所望の出力装置に出力することにより一連の処理を終了させる。詳細については、後述する。
【0034】
このような、上述した画像データ編集の要部について具体的に詳しく説明する。
【0035】
まず、本実施形態の画像データ編集の基準外形枠の変形時の線分の組み合わせについて図3のaからhにより説明する。
【0036】
図3は基準外形枠の変形時の線分の組み合わせを説明する説明図であり、aは原画像の一例を示し、bは基準外形枠を示し、cは基準外形枠の縦方向変形時の線分の組み合わせを示し、dは縦方向変形後の変形外形枠を示し、eは縦方向変形した画像を拡大して示し、fは基準外形枠の横方向変形時の線分の組み合わせを示し、gは横方向変形後の変形外形枠を示し、hは横方向変形した画像を拡大して示す。
【0037】
図3のaに示す原画(モノクロ写真)の画像情報の外側の適宜な位置に、図3のbに示すような点A,点B,点C,点Dから構成される矩形形状のA−B−C−Dからなる基準外形枠11が形成される。そして、ベクトルの方向を考慮し、図3のcに示す基準外形枠11の図中上下の線分A−B:A(t)と線分D−C:B(t)との組み合わせを用いて図3のdに示すように、縦方向に基準外形枠11を変形させて変形外形枠12を形成し、図3のeに示す縦方向に変形した画像を得る場合と、図3のfに示すように、基準外形枠11の図中左右の線分A−D:A(t)と線分B−C:B(t)との組み合わせを用いて図3のgに示すように、横方向に基準外形枠11を変形させて変形外形枠12を形成し、図3のhに示す横方向に変形した画像を得る場合の何れか一方の組み合わせを用いて原画の変形を行なう。
【0038】
つぎに、画像データ編集としての変形の原理について縦方向変形を例示して図4のaからgにより説明する。
【0039】
図4は縦方向変形について説明する説明図であり、aは基準外形枠に収納されたピクセルを示し、bは基準外形枠上のピクセルを示し、cは基準外形枠上のピクセルの位置を示し、dはパラメータ座標上のピクセルの位置を示し、eは変形外形枠を示し、fは変形パラメータ座標上のピクセルの位置を示し、gは変形外形枠上に変換されたピクセルの位置を示す。
【0040】
図4のaに示すように、矩形形状のA−B−C−Dからなる基準外形枠11の左上の点Aを原点とし、線分A−B方向を座標軸x(x軸)とし、そのx軸の最大値(ピクセルの数=距離)をXSとするとともに、線分A−D方向を座標軸y(y軸)とし、そのy軸の最大値(ピクセルの数=距離)をYSとする。つまり、基準外形枠11を形成する点Aの座標値を(0,0)、点Bの座標を(XS,0)、点Dの座標値を(0,YS)とし、ピクセルのx軸方向をxbaseと称し、ピクセルのy軸方向をybaseと称するとともに、変形方向の線分をpxlcnt、直線方向の線分をbaseと称す。そして、このx軸とy軸とにより形成されるピクセルを単位とする整数のメッシュ座標(x−y座標)13内に原画の画像情報としてのピクセルが収納される。この基準外形枠11上のピクセル(メッシュ座標)を図4のbに示す。ここで、図4のcに示すように、ピクセルPのメッシュ座標(x−y座標)13における座標値はP=(Px,Py)となる。更に説明すると、図4のbにあるように、画像を構成する矩形ピクセルの左上端をA、右上端をB、左下端をD、右下端をCとしたときに、画像を構成するピクセルの位置はA−Bをx軸、A−Dをy軸として2次元の座標(x,y)で表すことができる。例えば、A点を原点にとると、Aのピクセル座標は(0,0)であり、A−B軸上にありAから3番目のピクセルの座標は(2,0)と表すことができる。これがメッシュ座標である。座標値x,yは整数値となる(図4のcを参照)。また、「基準外形枠」とは、画像を構成するピクセルを囲む図4のbでいう矩形A−B−C−Dを指している。この矩形のことを「基準外形枠」と称する。そして、この枠の内部(枠の線上にもピクセルは存在することになるが)に対象とする画像を構成するピクセルが入ることになる。このこと(対象とする画像のピクセルデータが当該矩形内にあるということ)を「収納」という。つまり、集合体の各ピクセルを枠内に入れるという作業は、コンピュータのメモリに順番に画像ピクセルの位置座標に対応した色情報(または濃淡情報)を格納することを指している。
【0041】
つぎに、図4のdに示すように、メッシュ座標(x−y座標)13におけるx軸の最大値XSを1とするu軸に変換するとともに、y軸の最大値YSを1とするv軸に変換し、このu軸とv軸とにより形成される座標をパラメータ座標(u−v座標)14とすると、x−y座標13におけるピクセルPの座標値P=(Px,Py)は、u−v座標14において、パラメータ座標値P=(u,v)で表すことができる(ただし、0≦u,v≦1)。すなわち、図4のcの座標によって示される前記各ピクセルのパラメータ座標値を、図4のdの座標によって示される変形パラメータ座標における変形パラメータ座標値に変換することが行われる。更に説明すると、図4のcに示す基準外形枠11の原点たる点Aに位置するピクセルの座標値(0,0)は、図4のdに示すパラメータ座標14における原点たる点Aにおいて座標値(0,0)となり、図4のcに示す基準外形枠11の点Bに位置するピクセルの座標値(XS,0)は、図4のdに示すパラメータ座標14における点Bにおいて座標値(1,0)となり、図4のcに示す基準外形枠11の点Cに位置するピクセルの座標値(XS,YS)は、図4のdに示すパラメータ座標14における点Cにおいて座標値(1,1)となり、図4のcに示す基準外形枠11の点Dに位置するピクセルの座標値(0,YS)は、図4のdに示すパラメータ座標14における点Dにおいて座標値(0,1)となる。なお、点A,点B,点C,点D以外に位置するピクセルのパラメータ座標値P=(u,v)は、公知の如く、メッシュ座標13のx軸およびy軸の原点から最も離間したそれぞれの座標値を1とする比例計算により容易に算出することができる。
【0042】
つぎに、図4のdの座標に展開されたパラメータ座標値に基づく各ピクセルを、図4のeからgに示すように順に展開して、図4のgのフロートメッシュ座標を得ることにより、各ピクセルを実座標上に整数のフロートメッシュ座標として展開するようにする。すなわち、矩形形状の基準外形枠(A−B−C−D)11を構成する線分の内の線分A−Bと線分D−Cが3次ベジエ関数により記述可能な所望の形状に横方向変形し、図4のeに示すA’−B’−C’−D’からなる変形外形枠12を前記と同様に、点A’を原点とし、線分A’−B’方向を座標軸x(x軸)とし、そのx軸の最大値をXS’とするとともに、線分A’−D’方向を座標軸y(y軸)とし、そのy軸の最大値をYS’とする実座標15とした後に、実座標15におけるx軸の最大値XS’を1とするu軸に変換するとともに、y軸の最大値YS’を1とするv軸に変換し、図4のfに示すように、u軸とv軸とにより形成される変形パラメータ座標(u−v座標)16とする。また、基準外形枠11を変形外形枠12に変形させるのは、基準外形枠(A−B−C−D)11を構成する4つの線分を、変形外形枠12を構成する4つの線分に置き換えることにより実行する。つまり、基準外形枠(A−B−C−D)11を構成する4つの線分の方程式を、前記変形外形枠形状読み取り手段4により読み取るかあるいは予め与えられた複数の所望の変形外形枠の形状データから変形外形枠12を構成する4つの線分方程式のそれぞれに等しくなるように置き換えることにより容易に実行できることは自明である。なお、変形外形枠12の変形方向の線分の一方(上または左:図4のeにおいて上)をF(t)にて記述されるfcurve、他方(下または右:図4のeにおいて下)をG(t)にて記述されるgcurveと称し、変形外形枠12の直線方向の線分の一方(左または上:図4のeにおいて左)をaline、他方(右または下:図4のeにおいて右)をblineと称する(図4のe)。
【0043】
ここで、前記パラメータ座標14のu軸とv軸とが変化してもパラメータ座標値は変化しないとして、ピクセルPの変形パラメータ座標値を算出すると、図4のfに示すように、変形パラメータ座標16の曲線A’−B’から曲線D’−C’に変化する過程において発生する曲線の内のv軸方向jライン目のものを表す曲線F(Lj0−Lj1)を算出し、この算出した曲線FをLj(u)(=(Ljx(u),Ljy(u)))と表したとき、この曲線F上にあって、u軸方向i番目のパラメータuiにより決定される点P’(Ljx(ui),Ljy(ui))が点Pの変形パラメータ座標値となる。したがって、変形外形枠12上の各ピクセルP’は、基準外形枠11上における各ピクセルの相互の位置関係を確実に反映するので、基準外形枠11に対する原画像データのそれぞれの相対位置関係を保持するようにして、原画像データを所望の形状に変形させることができることになる。
【0044】
そして、この変形パラメータ座標値を実座標15上に整数のフロートメッシュ座標として変換することにより、変形が終了する。すなわち、原画像の各ピクセルの基準外形枠11に対するそれぞれの相対位置と同一の位置関係を保持させた状態で変形外形枠12内に原画像の各ピクセルを位置させることで変形が終了する。この変形が終了した実座標15としての整数のフロートメッシュ座標を図4のgに示す。
【0045】
つぎに、原画像データの縦方向変換および横方向変換における中間曲線の算出方法について説明する。
【0046】
図5は中間曲線の算出方法を説明する説明図である。
【0047】
図5に示すように、曲線A0−A3を
A(t)=(1−t)3 ・A0+(1−t)2 ・t・A1+(1−t)・t2 ・A2+t3 ・A3
曲線B0−B3を
B(t)=(1−t)3 ・B0+(1−t)2 ・t・B1+(1−t)・t2 ・B2+t3 ・B3
と表されているとする。
【0048】
そして、曲線A0−A3から曲線B0−B3に変化する途中の中間曲線をF(t)(ただし、0≦t≦1)とすると、
F(t)=(1−t)3 ・F0+(1−t)2 ・t・F1+(1−t)・t2 ・F2+t3 ・F3
として記述することができる。
【0049】
ここで、中間曲線F(t)により記述される記述パラメータF0,F1,F2,F3を一般的に記述すると、
F0=(1−u)・A0+u・B0
F1=(1−u)・A1+u・B1
F2=(1−u)・A2+u・B2
F3=(1−u)・A3+u・B3
と表すことができる(ただし、0≦u≦1)。
【0050】
この式のuに、縦方向変形の場合には前述したvの値(パラメータ座標におけるv軸方向の座標値)を用い、横方向変形の場合には前述したuの値(パラメータ座標におけるu軸方向の座標値)を用いて、それぞれの変形パラメータ座標16における中間曲線Fおよび変形パラメータ座標値P’(u,v)(=(Ljx(ui),Ljy(ui)))を算出することができる。これにより、各ピクセルのパラメータ座標値を変形パラメータ座標16における変形パラメータ座標値に変換して各ピクセルを実座標15上に整数のフロートメッシュ座標として展開できることになる。
【0051】
つぎに、画像変形描画単位設定について図6から図10により説明する。
【0052】
図6は列分割を説明する模式図であり、図7は行分割を説明する模式図であり、図8はブロックを説明する模式図であり、図9はバンドの設定を説明する説明図であり、図10はブロックの設定を説明する説明図であり、図11はブロックを説明する説明図である。なお、説明の便宜上、図9から図12における外形基準枠は、図4の外形基準枠の形状を上下反転して左上をA’、右上をB’、右下をC’、左下をD’として例示している。
【0053】
前記画像変形描画単位設定は、変形外形枠12の実座標15上に整数のフロートメッシュ座標として展開された各ピクセルを、図6に示すように、一旦バンド処理と称するバンドに列分割し、その後各バンドを図7に示すように行分割することにより、変形外形枠12(実座標15上に展開された整数のフロートメッシュ座標)内の領域を、図8に示すように、所望の4点のピクセル(図示せず)にて形成される変形処理最小単位(ブロック)17に分割することによりなされる。
【0054】
前記バンドの設定は、図9に示すように、例えば、P00,P01なる開始点が既に設定されている時、P10,P11の設定は、fcurve上のピクセル数(flpxl)およびgcurve上のピクセル数(glpxl)の両方が、所定のしきい値以上になるまで処理バンド幅を徐々に拡張することにより行われる。この具体的なしきい値の値は、画像品質と処理速度のかねあいから決定すればよいが、例えば、3ピクセル程度とするとよい。なお、バンドを初めて設定する場合に、開始点としてのP00およびP01の位置は、それぞれがaline上に位置することになる。
【0055】
前記ブロックの設定は、図10に示すように、例えば、B00,B10なる開始点が既に設定されている時、B01,B11の設定は、直線方向(B00−B01)のピクセル数(cpxl)および直線方向(B10−B11)のピクセル数(blpxl)の両方が、所定のしきい値以上になるまで処理バンド幅を広げてゆくことにより行われる。この具体的なしきい値の値は、画像品質と処理速度のかねあいから決定すればよいが、例えば、3ピクセル程度とするとよい。なお、ブロックを初めて設定する場合に、開始点としてのB00およびB10の位置は、それぞれがfcurve上に位置することになる。
【0056】
以上のようにして、バンドおよびブロックが設定され、図11に示すように、4点のピクセルにより形成されたB00−B01−B11−B10からなる四角形が変形処理最小単位(ブロック)17とされる。
【0057】
すなわち、図8に示すように、第i,jブロックは、変形曲線jおよびj+i、直線iおよびi+1にて構成されることとなる。更に説明すると、矩形原画像の正数分けされたピクセルの座標は、座標値の最大値で割った値がパラメータ座標値であり(図4のc)、変形外形枠においても同じパラメータ座標値(u,v)が対応する点となる(図4のd)。この(u,v)をもとにして実座標のピクセルと1対1に対応するようにして求めたのが(図4のgに示すフロートメッシュである。そして、図8において「列分割」は、例えば原画像における第1列と第2列に各々対応する曲線「第1ライン」と「第2ライン」により切り分けることを意味し、「行分割」は、例えば原画像における第1行と第2行に各々対応する直線によって切り分けることを意味する。このようにして「列分割」および「行分割」によって得られた4点ピクセルにて形成されたブロックは、4点ピクセルの中の1つの濃度値、カラー値によって塗りつぶすことができる。しかし、この方法ではあまりにブロックが多くなり過ぎて演算処理の時間が多くかかってしまうので、図6に示すように、いったん3ピクセル程度のしきい値の幅からなるバンドと呼ぶ列に分割し、さらに図7に示すように、各バンドをいったん3ピクセル程度のしきい値の幅からなるブロックに縦方向に分割し、これによって形成された変形処理最小単位17に対応する濃度値、カラー値によって塗りつぶすようにしている。従って、この変形処理最小単位17は、原画像のあるピクセルが変形してできた領域に対応し、変形処理最小単位17を構成する4点は、原画像の近傍4点対応することとなる。そして、後述するように、この変形処理最小単位17を構成する4点のうちの1点(例えば常に左上)の濃度値またはカラー値でこの4点を囲む矩形領域を塗りつぶす。
【0058】
つぎに、原画像濃度値取得について説明する。
【0059】
前記原画像濃度値取得は、前述した各ブロック17を塗りつぶす濃度値として、本実施形態においては、各ブロック17の塗りつぶしの処理速度を勘案して図11に示す4点のピクセル(B00,B01,B11,B10)の内の原点に最も近い左方上方のピクセル(B00)に対応する原画の画像濃度値(濃度値:G00)を取得することにより行われる。この(B00)に対応する原画の濃度値(G00)は、当該ブロックの変形前に予めメモリ内に記憶させられており、確実に原画の濃度値(G00)が収得されるようになっている。つまり、変形処理最小単位(ブロック:B00−B01−B11−B10)17を決定した時点で対応する原画の位置座標は一意に決定され、ピクセル(B00)に対応する原画の濃度値を容易に取得することができる。具体的には、画像として横方向にN個、縦方向にM個のピクセルが並んでいるとする。数え方としては、横方向は0番目から(N−1)番目まで、縦方向は0番目から(M−1)番目までという数え方をすると、横方向n個目、縦方向m個目のピクセルの座標値は(n−1,m−1)となる(図4のc参照)。そして、原画の位置座標から原画の濃度値を取得する場合には、原画の濃度値はピクセルの座標値に対応した状態で、既にメモリ内に格納(記憶)されている(一般的に、画像を取り込んだ時点で、既にこうした対応がとれるようになっている)。濃淡256階調の画像データについて例として取り上げると、原画像データ読み取り手段2により画像を取り込んだ(読み込んだ)際に、上記の位置座標(0,0)の濃度値G(0,0)を、メモリのa番地に格納したとする。ここで、G(0,0)は、位置座標(0,0)に対応した濃度値(位置座標に対する属性)であることを示している。位置座標(1,0)の濃度値をメモリのa+1番地に格納していたとすれば、位置座標(n,m)の濃度値G(n,m)は、メモリのa+N * m+n番地の濃度値として取り出すことができる。更に、前記変形処理最小単位(ブロック:B00−B01−B11−B10)17としては、例えば、同一画像濃度値(またはカラー画像値)で描画されるべき四角形を指定するようにする。
【0060】
つぎに、画像描画について図12および図13により説明する。
【0061】
図12はブロックを囲む矩形の四角形を説明する説明図であり、図13は変形外形枠の塗りつぶしを説明する説明図である。
【0062】
前記画像描画は、前述した各ブロック17を対応する原画の濃度値をもって塗りつぶすとともに、所望の出力装置に出力することにより行われる。
【0063】
前記塗りつぶしは、図12に示すように、ブロック17を形成する四角形(B00−B01−B11−B10)を塗りつぶすのではなく、この四角形(B00−B01−B11−B10)を囲む実座標15上の矩形の四角形(Q0−Q1−Q2−Q3)を塗りつぶすことにより行われる。ブロック17を矩形の四角形として塗りつぶすのは、ブロック17を直接塗りつぶすために斜め線の処理を行うことになり、通常のパーソナルコンピュータを用いた場合に、コンピュータの処理速度が遅くなるのを防止するためであり、処理速度の非常に速いコンピュータ(非常に高価で特殊な科学計算用のコンピュータ)を用いる場合には必ずしも必要ではない。
【0064】
そして、この矩形の四角形は、その最小値を(xmin,ymin)とし、最大値を(xmax,ymax)とした場合に、Q0=(xmin,ymin),Q1=(xmin,ymax),Q2=(xmax,ymax),Q3=(xmax,ymin)と表すことができ、座標の最大値/最小値を容易に算出することができる。
【0065】
さらに、図13に示すように、矩形の四角形による変形外形枠12の塗りつぶしは、塗りつぶす部分がオーバーラップするので、各矩形の四角形にて塗りつぶす場合に、オーバーラップ部分をオーバーライトさせるようにして変形外形枠12内を塗りつぶすことにより、画像描写の処理速度を高速とすることができる。
【0066】
つぎに、このような画像データ編集のアルゴリズム(処理構造)について図14および図15に示すフローチャートならびに図16から図21によりさらに説明する。
【0067】
図14および図15は画像データ編集のアルゴリズムを説明するフローチャートであり、図14はフローチャートを2分割した一方を示し、図15はフローチャートを2分割した他方を示し、図16は3次ベジエ関数およびそのパラメータを示す模式図であり、図17は3次ベジエ関数を説明する説明図であり、図18は曲線の距離の計算方法を説明する説明図であり、図19は曲線の距離の計算方法の一例を説明する説明図であり、図20は曲線の距離の計算方法の他例を説明する説明図であり、図21は直線状の3次ベジエ関数を説明する説明図である。ここで、3次ベジエ関数の変形を図16により簡単に説明する。3次ベジエ関数は図16に示すように、2つの端点P0,P3および2つの曲線制御点P1,P2がある。この2つの曲線制御点P1,P2の位置を変えることにより3次ベジエ関数の変形を行う。具体的には、上記2点P1,P2の位置の変更を行うには、まずユーザーインターフェースレベルで、どちらかの点の近傍でマウスをクリックするなどの操作を行い、近傍判定によりその点の変更モードに入る。マウスを押下したまま、マウスを動かすことでその位置を変更してから、マウスの押下を解除するとその位置が新たな変更位置として登録され、点の位置変更モードは解除されて、新たな3次ベジエ曲線を発生することができるようになる。
更に、基準外形枠11の変形の例として、基準外形枠12の1つの直線部分を3次ベジエ関数に変換して変形操作を行う場合を図16を用いて説明する。ベジエパラメータをP0(P0x,P1y),P1(P1x,P1y),P2(P2x,P2y),P3(P3x,P3y)としたとき、当該曲線L(Lx,Ly)は0≦t≦1なるtを使って、
L=P0(1−t) 3 +P1t(1−t) 2 +P2t 2 (1−t)+P3t 3
と書き表すことができる。そして、図16に示す曲線L上に1列の画素要素がならべて、この曲線を変化させることで対応する画素の位置が変化することになる。実際の操作としては、以下の変形を行う際にのみ普段は必要としないP2およびP1の座標の表示を行い、マウスで等でこのP1またはP2の近傍(5画素程度)をクリックして操作点の指定を行い、マウスを移動させることでその位置を変化させる。変化させた点が確定した後に再度クリックすると、位置が確定され て再度この座標に従ったベジエ曲線が発生し、この曲線の連続した点に該当する画素(ピクセル)のデータを配置することで終了する。
【0068】
図14および図15に示すように、画像データ編集の処理が開始されると、まず、ステップST20において最初に初期設定が行われ、つぎのステップST21に進行する。
【0069】
ステップST20における初期設定は、以下の8項目の内容を順に行なうことにより遂行される。
【0070】
(1)原画のpxlcnt(変形方向ピクセル数)およびbase(直線方向ピクセル数)の設定(変形方向により設定)。つまり、縦方向変形および横方向変形の選定を行う。これにより整数のメッシュ座標からなる基準外形枠11に原画の画像のピクセルを収納することができる。
【0071】
2)変形対(fcurve,gcurve)の曲線パラメータ(3次ベジエパラメータ)の係数値(中間曲線算出用)の算出。ここで係数値とは”形状パラメータの演算係数”と称するものであり、図16に示す3次ベジエ関数B(t)のパラメータをP0,P1,P2,P3とした場合に、
と表したときの、M3,M2,M1,M0を示す。つまり、変形外形枠12の変形方向の線分が、この3次ベジエパラメータとして記述されることとなる。
【0072】
(3)3次ベジエ曲線(fcurve)の連続輪郭ピクセル数(fcpxl)の算出(図4のe,図9)。ここで、連続輪郭ピクセル数(fcpxl)の算出とは、曲線の距離を算出することである。
【0073】
曲線の距離の計算について説明すると、一般的に、プログラムにより曲線の距離を計算するには困難が伴うが、3次のベジエ関数は、図17に示すように、4つのパラメータP0,P1,P2,P3により決定することができ、この関数B(t)は、媒介変数tを用いて、
と表すことができる。そして、tによる一次微分をB’(t)として曲線距離DHは
【0074】
【数1】
【0075】
で表すことができる。
【0076】
しかし、実際の計算をプログラムにて行うには処理時間などの問題があるため、処理時間と計算の複雑度を考慮して、図18に示すように、曲線を細かい直線に分解し、その直線距離の総和を曲線距離として扱うことが望ましい。
【0077】
すなわち、曲線距離を算出するには、以下に示す2つの方法から選択するとよい。
【0078】
第1の曲線距離の算出方法は、図19に示すように、曲線上の代表点を予め決めて折れ線を形成し、その直線距離の総和に相当する数を分割点の数とするものである。この場合の精度を向上させるには、直線にする度合(分割数)を増加すればよい。
【0079】
第2の曲線距離の算出方法は、図20に示すように、曲線の曲率に応じて分割点を形成し、その直線距離の総和を曲線距離とするものである。
【0080】
(4)3次ベジエ曲線(gcurve)の連続輪郭ピクセル(gcpxl)数の算出((3)と同様)。
【0081】
(5)直線(aline)の連続輪郭ピクセル数(alpxl)の算出(図4のe,図9)。ここで、連続輪郭ピクセル数(alpxl)の算出とは、直線の距離を算出することである。
【0082】
直線の距離の計算について説明すると、図21に示すように、直線の開始点/終了点を各々P0(P0x,P0y)、P1(P1x,P1y)とした場合に、2点間の距離は、
【0083】
【数2】
【0084】
で表すことができる。これは、プログラム的に容易に算出することができる。
【0085】
(6)直線(bline)の連続輪郭ピクセル数(blpxl)の算出((5)と同様)。
【0086】
(7)処理精度(丸め誤差リカバー値:XERR,YERR)設定。
【0087】
処理精度の設定とは、前述した適宜な処理精度設定部10により、基準外形枠11を形成する整数のメッシュ座標13上に展開された各ピクセルを、変形外形枠12を形成する実座標(整数のフロートメッシュ座標)15上に隙間なく連続させて展開するものである。
【0088】
上記(2)から(7)をもって実座標(整数のフロートメッシュ座標)15からなる変形外形枠12に、原画の画像のピクセルを展開することができる。
【0089】
(8)ループ処理のための初期設定。つまり、変形外形枠12を列分割するためのバンド処理における第1バンドの左側端点(図9に示すP00(左上),P01(左下))の座標値をセットする。
【0090】
つぎに、ステップST21において、すべての処理を終了したか否か(処理終了?)を判断し、YES(処理終了)の場合には処理を終了し、NO(処理が終了していない)の場合にはつぎのステップST22に進行する。
【0091】
つぎに、ステップST22において、処理バンド初期設定を行いつぎのステップST23に進行する。
【0092】
ステップST22における処理バンド初期設定は、以下の3項目の内容を順に行なうことにより遂行される。
【0093】
(1)処理バンドの右側端点(図9に示すP10(右上),P11(右下))の座標値をセットする。
【0094】
この処理バンドの右側端点をセットするには、
(a)変形方向上下の処理単位を終了し、tパラメータ値(t0)を算出
(b)3次ベジエ曲線上の対応する座標値(P10,P11)を求める
ことにより行われる。
具体的には、既知のピクセル番号P00(図9の左上点P00のfcurve上の座標値)から処理バンド幅(画素間距離を1以上とする)に応じて右側端点のピクセル番号P10(図9の右上点P10のfcurve上の座標値)を求めるとともに、ピクセル番号P00からP10までの曲線距離を図17から図20に示す方法に従って求め、前記の図4のeおよび図9に示す連続輪郭ピクセル数で割ることによりt0を求める。続いて、図9のA’−B’3次ベジエ曲線関数のtパラメータをt=t0として前記3次ベジエ関数B(t)に代入してP10の座標値を求める。同様にして、図9のD’−C’3次ベジエ曲線関数のtパラメータをt=t0としてP11の座標値を求める。
【0095】
(2)変形方向の直線(P00−P10)の連続輪郭ピクセル数(flpxl)の算出(図9)。ここで連続輪郭ピクセル数(flpxl)の算出とは、直線の距離を算出することである。直線の距離の算出方法については、前述したものと同様である。
【0096】
(3)変形方向の直線(P01−P11)の連続輪郭ピクセル数(glpxl)の算出(図9)。ここで連続輪郭ピクセル数(glpxl)の算出とは、直線の距離を算出することである。
【0097】
つぎに、ステップST23において、flpxlの距離がglpxlの距離より長いか否か(flpxl>glpxl?)を判断し、NO(flpxlの距離がglpxlの距離より短い)の場合には、つぎのステップST24aに進行し、ステップST24aにおいて、長い方のglpxlの距離が予め設定された所定のしきい値より小さいか否か(予め設定したバンドの幅より小さくて処理不適合か否か)を判断し、NO(しきい値より大きい)の場合にはつぎのステップST26(図15)に進行し、ステップST24aの判断がYES(しきい値より小さい)の場合には、つぎのステップST25aに進行し、ステップST25aにおいて最終処理単位であり、かつ1点ではないか否かを判断し、YES(最終処理単位)の場合にはつぎのステップST26(図15)に進行し、NO(最終処理単位でない)の場合にはステップST21に戻り、ステップST24aの判断がNOになるか、ステップST25aの判断がYESとなるまで繰り返す。
【0098】
前記ステップST23の判断がYES(flpxlの距離がglpxlの距離より大きい)の場合には、つぎのステップST24bに進行し、ステップST24bにおいて、長い方のflpxlの距離が予め設定された所定のしきい値より小さいか否か(予め設定したバンドの幅より小さくて処理不適合か否か)を判断し、NO(しきい値より大きい)の場合にはつぎのステップST26(図15)に進行し、ステップST24bの判断がYES(しきい値より小さい)の場合には、つぎのステップST25bに進行し、ステップST25bにおいて最終処理単位であり、かつ1点ではないか否かを判断し、YES(最終処理単位)の場合にはつぎのステップST26に進行し、NO(最終処理単位でない)の場合にはステップST21に戻り、ステップST24bの判断がNOになるか、ステップST25bの判断がYESとなるまで繰り返す。
【0099】
すなわち、ステップST23からステップST25(25a,25b)により、flpxlの距離およびglpxlの距離の両者がしきい値より大きくなるまで処理を繰り返して処理単位となるバンドの幅を決定している。
【0100】
つぎに、ステップST26において、処理(対称バンド内の全ブロック処理)を終了したか否か(処理終了?)を判断し、YES(処理終了)の場合には後述するステップST32に進行し、NO(処理が終了していない)の場合にはつぎのステップST27に進行する。
【0101】
つぎに、ステップST27において処理ブロック初期設定を行いつぎのステップST28に進行する。
【0102】
ステップST27における処理ブロック初期設定は、以下の4項目の内容を順に行なうことにより遂行される。
【0103】
(1)ループ処理のための初期設定。つまり、変形外形枠12を列分割したバンドをさらに行分割するブロック処理における第1ブロックの上部端点(図10に示すB00(左上),B10(右上))の座標値をセットする。
【0104】
(2)変形処理最小単位17の端点座標値(実数値:B00,B01,B11,B10)の設定。つまり、変形外形枠12(実座標15上に展開された整数のフロートメッシュ座標)内の領域を所望の4点のピクセル(B00,B01,B11,B10)により形成される四角形(B00−B01−B11−B10)からなる変形処理最小単位17(ブロック)とする4点のピクセルの座標値を設定する。
【0105】
(3)直線方向(B00−B01)の直線連続輪郭ピクセル数(cpxl)の算出(図10)。ここで連続輪郭ピクセル数(cpxl)の算出とは、直線の距離を算出することである。直線の距離の算出方法については、前述したものと同様である。
【0106】
(4)直線方向(B10−B11)の直線連続輪郭ピクセル数(dpxl)の算出(図10)。ここで連続輪郭ピクセル数(dpxl)の算出とは、直線の距離を算出することである。直線の距離の算出方法については、前述したものと同様である。
【0107】
つぎに、ステップST28において、cpxlの距離がdpxlの距離より長いか否か(cpxl>dpxl?)を判断し、NO(cpxlの距離がdpxlの距離より短い)の場合には、つぎのステップST29aに進行し、ステップST29aにおいて、長い方のdpxlの距離が予め設定された所定のしきい値より小さいか否か(予め設定したブロック17の幅より小さくて処理不適合か否か)を判断し、NO(しきい値より大きい)の場合にはつぎのステップST31に進行し、ステップST29aの判断がYES(しきい値より小さい)の場合には、つぎのステップST30aに進行し、ステップST30aにおいて最終処理単位であり、かつ1点ではないか否かを判断し、YES(最終処理単位)の場合にはつぎのステップST31に進行し、NO(最終処理単位でない)の場合にはステップST26に戻り、ステップST29aの判断がNOになるか、ステップST30aの判断がYESとなるまで繰り返す。
【0108】
前記ステップST28の判断がYES(cpxlの距離がdpxlの距離より大きい)の場合には、つぎのステップST29bに進行し、ステップST29bにおいて、長い方のcpxlの距離が予め設定された所定のしきい値より小さいか否か(予め設定したブロック17の幅より小さくて処理不適合か否か)を判断し、NO(しきい値より大きい)の場合にはつぎのステップST31に進行し、ステップST29bの判断がYES(しきい値より小さい)の場合には、つぎのステップST30bに進行し、ステップST30bにおいて最終処理単位であり、かつ1点ではないか否かを判断し、YES(最終処理単位)の場合にはつぎのステップST31に進行し、NO(最終処理単位でない)の場合にはステップST26に戻り、ステップST29bの判断がNOになるか、ステップST30bの判断がYESとなるまで繰り返す。
【0109】
すなわち、ステップST28からステップST30(30a,30b)により、cpxlの距離およびdpxlの距離の両者がしきい値より大きくなるまで処理を繰り返して変形処理最小単位17(ブロック)の幅(大きさ)を決定している。
【0110】
つぎに、ステップST31において、描画/印刷出力処理を行いつぎのステップST32に進行する。
【0111】
ステップST31における描画/印刷出力処理は、以下の5項目の内容を順に行なうことにより遂行される。
【0112】
(1)画像濃度値の取得。つまり、変形処理最小単位(ブロック)17を形成する4点のピクセル(B00,B01,B11,B10)の内の左方上方のピクセル(B00)に対応する原画の濃度値(画像濃度値:G00)を変形処理最小単位としてのブロック17全体の濃度値とする。
【0113】
(2)変形処理最小単位17を囲む矩形(fmax,fmin)の算出。ここで、変形処理最小単位17を囲む矩形(fmax,fmin)の算出とは、ブロック17を形成する四角形(B00−B01−B11−B10)を囲む矩形の四角形を形成するものである。
【0114】
(3)丸め誤差リカバー値を加えて塗りつぶし整数矩形領域を決定。これは、ブロック17を形成する四角形(B00−B01−B11−B10)を囲む矩形の四角形の4つの端点を、変形外形枠12を形成する整数のフロートメッシュ座標(実座標)15上の座標に展開し、図12に示すように、四角形(B00−B01−B11−B10)を囲む矩形の四角形(Q0−Q1−Q2−Q3)を形成して整数のフロートメッシュ座標15上に隙間なく連続させて展開するものである。
【0115】
(4)整数矩形領域を濃度値G00で塗りつぶす。これは、変形外形枠12を形成する整数のフロートメッシュ座標(実座標)15上の座標に展開した四角形(B00−B01−B11−B10)を囲む矩形の四角形(Q0−Q1−Q2−Q3)内を原画の濃度値(画像濃度値:G00)にて塗りつぶすものである。
【0116】
(5)上下座標値の更新(B00<−B01,B10<−B11)。これは、つぎのブロック17の処理を行うために、塗りつぶしを施したブロック17の下部端点B01およびB11をつぎに処理するブロック17の上部端点B00およびB10に置き換えるものである。
【0117】
つぎに、ステップST32において、変形方向上部の座標値更新(P00<−P10,P01<−P11)を行ないステップST21へ戻りすべての処理を終了するまでステップST21からステップST32を繰り返すようにされている。
【0118】
ステップST32における変形方向上部の座標値更新(P00<−P10,P01<−P11)は、つぎのバンドの処理を行うために、塗りつぶしを施したバンドの右側端点P10およびP11をつぎに処理するバンドの左側端点P00およびP01に置き換えるものである。
【0119】
以上のようにして、変形外形枠12上の各ピクセルに、基準外形枠11上における各ピクセルの相互の位置関係を容易に反映させることができるため、基準外形枠11に対する原画像データの相対位置関係を保持するようにして、原画像データを所望の形状に変形させることができるので、写真などの画素により形成される原画像データを円形形状、楕円形状、扇形形状、四角形状、短冊形状、円筒形状、アーチ形状等に自在に変形可能であるとともに、変形後の画像の品質を優れたものとすることができる。
【0120】
また、基準外形枠11の変形形態である変形外形枠12の形状は、図22に示すように、台形、円形、円筒形またはアーチ形、扇形などをデフォルト変形形状とし、このデフォルト変形形状と、台形を四角形変形したり、円形を楕円変形したり、円筒形またはアーチ形をアーチの深さ変更したり、扇形をコントロール・ポイント操作による任意変形するなどしてデフォルト変形形状を修正した修正変形形状とを用いるとよい。例えば、図22のデフォルト変形形状が円形であるような、変形外形枠が全て曲線で構成されるような場合においては、例えば円形に内接する矩形を想定し、4個の内接点を図4eに示されている変形外形枠の4個の基準点A ' B ' C ' D ' にそれぞれ相当すると設定し、A ' =D ' (A ' とD ' とが同一点とする)、B ' =C ' (B ' とC ' とが同一点とする)、曲線A ' B ' を上半円、曲線D ' C ' を下半円と設定する。この場合、図4eのx軸に相当するのは曲線A ' B ' であり、y軸に相当する軸は点(A ' またはD ' )となる。その後の処理は、図4に示す矩形の変形枠と同様にして行う。
【0121】
また、画像データ編集としてカラー写真の変形例を図23に示す。
【0122】
また、本発明に用いる原画としては、前述した画像データとして深さの画像情報(濃度値)を有する点(画素:ピクセル)の集合により構成されている階調を有するモノクロ写真あるいはカラー写真ばかりでなく、文字や図形などの2値化可能な原画像の画像データ(ベクトルデータあるいはドットデータ)を用いることができる。すなわち、2値のイメージ画像または濃淡/カラー画像などの極めて広範囲の原画の画像に対応させることができる。この2値のイメージ画像の変形例を図24に示す。
【0123】
なお、本発明は、前記実施形態に限定されるものではなく、必要に応じて変更することができる。
【0124】
【発明の効果】
以上説明したように本発明の画像データ編集装置によれば、基準外形枠を所望の形状に変形させることにより、基準外形枠に対する原画像データの相対位置関係を保持させた状態で、原画像データを変形させることができるので、2値のイメージ画像または濃淡/カラー画像からなる原画像データを円形形状、楕円形状、扇形形状、四角形状、短冊形状、円筒形状、アーチ形状等に自在に変形可能であるとともに、変形後の画像の品質を優れたものとすることができるという極めて優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る画像データ編集装置の要部の構成を示すブロック図
【図2】本発明に係る画像データ編集を示すフローチャート
【図3】基準外形枠の変形時の線分の組み合わせを説明する説明図であり、aはモノクロ写真を原画とした場合の原画像の一例を示し、bは基準外形枠を示し、cは基準外形枠の縦方向変形時の線分の組み合わせを示し、dは縦方向変形後の変形外形枠を示し、eは縦方向変形した画像を拡大して示し、fは基準外形枠の横方向変形時の線分の組み合わせを示し、gは横方向変形後の変形外形枠を示し、hは横方向変形した画像を拡大して示す
【図4】縦方向変形について説明する説明図であり、aは基準外形枠に収納されたピクセルを示し、bは基準外形枠上のピクセルを示し、cは基準外形枠上のピクセルの位置を示し、dはパラメータ座標上のピクセルの位置を示し、eは変形外形枠を示し、fは変形パラメータ座標上のピクセルの位置を示し、gは変形外形枠上に変換されたピクセルの位置を示す
【図5】中間曲線の算出方法を説明する説明図
【図6】列分割を説明する模式図
【図7】行分割を説明する模式図
【図8】ブロックを説明する模式図
【図9】バンドの設定を説明する説明図
【図10】ブロックの設定を説明する説明図
【図11】ブロックを説明する説明図
【図12】ブロックを囲む矩形の四角形を説明する説明図
【図13】変形外形枠の塗りつぶしを説明する説明図
【図14】本発明に係る画像データ編集装置における画像データ編集のアルゴリズムを説明するフローチャートを2分割した一方
【図15】本発明に係る画像データ編集装置における画像データ編集のアルゴリズムを説明するフローチャートを2分割した他方
【図16】3次ベジエ関数およびそのパラメータを示す模式図
【図17】3次ベジエ関数を説明する説明図
【図18】曲線の距離の計算方法を説明する説明図
【図19】曲線の距離の計算方法の一例を説明する説明図
【図20】曲線の距離の計算方法の他例を説明する説明図
【図21】直線状の3次ベジエ関数を説明する説明図
【図22】基準外形枠および変形外形枠の形状例を示す図
【図23】本発明に係る画像データ編集装置によるカラー写真を原画とした場合の原画とその変形例とを示す説明図
【図24】本発明に係る画像データ編集装置による2値のイメージ画像を原画とした場合の原画とその変形例とを示す説明図
【図25】従来の射影変形を用いた変形後の画像を示す図
【符号の説明】
1 画像データ編集装置
2 原画像データ読み取り手段
3 パラメータ座標形成手段
4 変形外形枠形状読み取り手段
5 変形パラメータ座標形成手段
6 実座標算出手段
7 画像変形描画単位設定手段
8 原画像濃度値取得手段
9 画像描画手段
10 処理精度設定部
11 基準外形枠
12 変形外形枠
13 整数のメッシュ座標(x−y座標)
14 パラメータ座標
15 整数のフロートメッシュ座標(実座標)
16 変形パラメータ座標
17 変形処理最小単位(ブロック)
Claims (1)
- 原画像の画像情報を読み取る原画像データ読み取り手段と、
前記原画像データ読み取り手段により読み取られた原画像データの画素をコンピュータ等で処理可能な単位のピクセルの集合体とし、この各ピクセルを基準外形枠を座標軸とする整数のメッシュ座標とした後に、その座標軸の最大値を1としたパラメータ座標に展開するパラメータ座標形成手段と、
少なくとも関数により記述可能とされる所望の形状に変形された基準外形枠としての変形外形枠の形状を読み取る変形外形枠形状読み取り手段と、
前記変形外形枠形状読み取り手段により読み取られた前記変形外形枠の輪郭の画素をコンピュータ等で処理可能な単位のピクセルの集合体とし、この各ピクセルで形成された変形外形枠を座標軸とする実座標とした後に、その実座標軸の最大値を1とした変形パラメータ座標に展開する変形パラメータ座標形成手段と、
前記変形パラメータ座標形成手段により前記各ピクセルのパラメータ座標値を前記変形パラメータ座標における変形パラメータ座標値に変換した後に、前記変形外形枠の実座標上にフロートメッシュ座標として展開する実座標算出手段と、
前記変形外形枠の実座標上にフロートメッシュ座標として展開された各ピクセルを複数のバンドに列分割するとともにこれらの各バンドを行分割して、前記変形外形枠内の領域を所望の4点のピクセルにて構成される変形処理最小単位に分割する画像変形描画単位設定手段と、
前記変形処理最小単位を構成する4点のピクセルのうちの所定の1つのピクセルの原画の画像濃度値を取得する原画像濃度値取得手段と、
前記原画像濃度値取得手段によって取得された前記濃度値によって前記変形処理最小単位を塗りつぶす画像描画手段と、
を有することを特徴とする画像データ編集装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000007612A JP3612257B2 (ja) | 1993-09-10 | 2000-01-17 | 画像データ編集装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25881393A JP3449563B2 (ja) | 1993-09-10 | 1993-09-10 | 画像データ編集方法 |
JP2000007612A JP3612257B2 (ja) | 1993-09-10 | 2000-01-17 | 画像データ編集装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25881393A Division JP3449563B2 (ja) | 1993-09-10 | 1993-09-10 | 画像データ編集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000209434A JP2000209434A (ja) | 2000-07-28 |
JP3612257B2 true JP3612257B2 (ja) | 2005-01-19 |
Family
ID=34196347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000007612A Expired - Fee Related JP3612257B2 (ja) | 1993-09-10 | 2000-01-17 | 画像データ編集装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3612257B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1427190B1 (en) * | 2001-06-20 | 2010-01-13 | Nikon Corporation | Advice system for image pickup method and image edition |
JP4696407B2 (ja) | 2001-06-20 | 2011-06-08 | 株式会社ニコン | 商品推奨システムおよび商品推奨方法 |
JP4501959B2 (ja) * | 2007-05-10 | 2010-07-14 | セイコーエプソン株式会社 | 画像処理装置および画像処理方法 |
CN110288548B (zh) * | 2019-06-27 | 2021-06-08 | 浙江工业大学 | 一种整型像素值图像浮点化方法 |
-
2000
- 2000-01-17 JP JP2000007612A patent/JP3612257B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000209434A (ja) | 2000-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006209223A (ja) | 描画方法、画像生成装置、および電子情報機器 | |
JP3612257B2 (ja) | 画像データ編集装置 | |
JP4392082B2 (ja) | 彫版風ハーフトーン画像生成方法・装置 | |
JP3449563B2 (ja) | 画像データ編集方法 | |
JPH0561954A (ja) | 画像処理装置 | |
US5553219A (en) | Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data | |
JP2911464B2 (ja) | 画像処理方法 | |
JP3002972B2 (ja) | 3次元画像処理装置 | |
JPH0425892A (ja) | 画像処理装置 | |
JP4325812B2 (ja) | ベクター画像描画回路およびベクター画像描画方法 | |
JPH06175638A (ja) | 文字生成方法及びその装置 | |
JPS5972568A (ja) | 画像変換装置 | |
JPH0668247A (ja) | ディジタル画像データ変倍方法および装置 | |
JPH1125281A (ja) | テクスチャマッピング方法 | |
JP3517982B2 (ja) | 図形描画装置 | |
JP3338484B2 (ja) | アウトラインフォント変形装置 | |
JP2023127867A (ja) | 網点画像の作成方法及び作成ソフトウェア | |
EP0766206B1 (en) | Image processing method and apparatus | |
JP3889118B2 (ja) | エンドレス画像の縮小方法および縮小装置 | |
JPH0823741B2 (ja) | ベクトル文字もしくはベクトル図形の処理方法 | |
JPH0955881A (ja) | 画像の影付け方法 | |
JP2829932B2 (ja) | 画像形成装置 | |
JPH09179542A (ja) | キャラクタイメージデータ出力方法および装置 | |
JPH09305163A (ja) | 階調文字生成方法 | |
JPS6279571A (ja) | 図形パタ−ン発生方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030805 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041022 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071029 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091029 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |