JPH0583953B2 - - Google Patents
Info
- Publication number
- JPH0583953B2 JPH0583953B2 JP9018087A JP9018087A JPH0583953B2 JP H0583953 B2 JPH0583953 B2 JP H0583953B2 JP 9018087 A JP9018087 A JP 9018087A JP 9018087 A JP9018087 A JP 9018087A JP H0583953 B2 JPH0583953 B2 JP H0583953B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel value
- boundary line
- line
- point
- inner boundary
- 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 - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 32
- 238000000605 extraction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000005429 filling process Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Image Generation (AREA)
Description
【発明の詳細な説明】
<産業上の利用分野>
本発明は、デイジタル図形処理装置におけるデ
イジタル線図形の内部の塗り潰し方法に関するも
のである。
イジタル線図形の内部の塗り潰し方法に関するも
のである。
<従来の技術>
コンピユータ・グラフイツクス、画像データ・
ベース等の分野では、塗り潰し図形を含むデイジ
タル画像を何等かの形で圧縮してフアイル化し、
これを高速に再現する必要がしばしば生じる。こ
のとき、再現時には、図形の内部を一般に黒く塗
り潰さなければならない。
ベース等の分野では、塗り潰し図形を含むデイジ
タル画像を何等かの形で圧縮してフアイル化し、
これを高速に再現する必要がしばしば生じる。こ
のとき、再現時には、図形の内部を一般に黒く塗
り潰さなければならない。
デイジタル図形の境界線、例えば閉曲線が与え
られた場合、この線図形の内部を塗り潰すために
はPavlidisのパリテイ・チエツク・アルゴリズム
による方法(Pavlidis、T;“Algorithms for
Graphics and Image Processing、”Computer
Science Press、(1982))が知られている。
られた場合、この線図形の内部を塗り潰すために
はPavlidisのパリテイ・チエツク・アルゴリズム
による方法(Pavlidis、T;“Algorithms for
Graphics and Image Processing、”Computer
Science Press、(1982))が知られている。
この方法は、線図形を順次ラスタ走査し、図形
の境界線と交わる水平走査線を複数本同時に検査
し、境界画素を表わすランの上下方向の隣接関係
をグラフ表現することにより、黒画素ランを生成
するものである。
の境界線と交わる水平走査線を複数本同時に検査
し、境界画素を表わすランの上下方向の隣接関係
をグラフ表現することにより、黒画素ランを生成
するものである。
しかし、この方法では第5図aに示すような、
外側境界線l0と内側境界線l1、l2に重なりを含む
線図形の内部を正しく塗り潰すことができなかつ
た。即ち、第5図aに示す線図形から第5図bに
示す原線図形を再現することができなかつた。
外側境界線l0と内側境界線l1、l2に重なりを含む
線図形の内部を正しく塗り潰すことができなかつ
た。即ち、第5図aに示す線図形から第5図bに
示す原線図形を再現することができなかつた。
<発明が解決しようとする問題点>
本発明が解決しようとする問題は、外側境界線
と内側境界線に重なりを含む一般的なデイジタル
線図形を対象としてこの線図形の内部を完全に塗
り潰すようにすることであり、デイジタル線図形
の内部を高速に塗り潰すことができる方法を実現
することを目的とする。
と内側境界線に重なりを含む一般的なデイジタル
線図形を対象としてこの線図形の内部を完全に塗
り潰すようにすることであり、デイジタル線図形
の内部を高速に塗り潰すことができる方法を実現
することを目的とする。
<問題点を解決するための手段>
以上の問題を解決した本発明は、ホスト計算機
インターフエイスと、表示するデイジタル線図形
に関するデータを保持するセグメント・バツフア
と、1画素につき2ビツトの容量を持つワーク・
メモリを有し制御及びデイジタル線図形の塗り潰
し処理を行なう図形処理部と、この図形処理部か
ら表示すべき画像データを保持する画像メモリ
と、この画像メモリの内容を読み出してビデオ信
号を生成するビデオ・インターフエイスと、
CRT表示装置とを有するデイジタル図形処理装
置を用いて、少なくとも1以上の内側境界線を有
しこの内側境界線と外側境界線に重なりを含むデ
イジタル線図形の内部を塗り潰すデイジタル線図
形の塗り潰し方法において、 (イ) 前記ワーク・メモリの内容を全てクリアする
手順と、 (ロ) 前記ワーク・メモリに前記内側境界線の一つ
を第1の画素値を用いて書き込み、その外接長
方形領域を求め、この外接長方形領域をラスタ
走査して最初に検出された前記第1の画素値を
有する点を抽出点として格納し、前記第1の画
素で書き込まれた前記内側境界線を一旦クリア
する操作を前記外側境界線内にある全ての前記
内側境界線について行なう手順と、 (ハ) 前記ワーク・メモリに前記内側境界線を前記
第1の画素値で書き込み、手順(ロ)で求めた抽出
点の左隣の点を参照点として前記内側境界線の
周囲を追跡して塗り潰し用の第2の画素値を書
き込む手順と、 (ニ) 前記ワーク・メモリに前記デイジタル線図形
の外側境界線を第3の画素値を用いて書き込
み、その外接長方形領域を求めてこの領域をラ
スタ走査して前記第3の画素値を有する点を抽
出し、この点により前記第3の画素値を有する
前記外側境界線の周囲を追跡して前記第1の画
素値を書き込み、生成された前記第1の画素値
を有する線図形に外接する外接長方形領域を塗
り潰し外接長方形領域として求める手順と、 (ホ) 前記ワーク・メモリに前記外側境界線を前記
第2の画素値で書き込む手順と、 (ヘ) 前記内側境界線を前記第1の画素値で書き込
む手順と、 (ト) 前記塗り潰し外接長方形領域をラスタ走査
し、“前記第1の画素値、前記第2の画素値”
の並びをこの順でのみ検出した時に前記第2の
画素値で塗り潰しを開始し、“前記第2の画素
値、前記第1の画素値”の並びをこの順でのみ
検出した時に前記塗り潰し動作を停止する手順
と、 (チ) 前記外接長方形領域の全ての走査線について
塗り潰し動作が終了したかどうか判断し、終了
していない場合は前記(ト)の手順を繰り返し、終
了した場合は前記ワーク・メモリに前記内側境
界線を前記第2の画素値で書き込み、前記塗り
潰し外接長方形領域をラスタ走査して前記第1
の画素値を有する蛾素をクリアする手順と、 (リ) 塗り潰し処理が終了した場合は前記ワーク・
メモリの内容を前記画像メモリに転送する手順
と を有するデイジタル線図形の塗り潰し方法であ
る。
インターフエイスと、表示するデイジタル線図形
に関するデータを保持するセグメント・バツフア
と、1画素につき2ビツトの容量を持つワーク・
メモリを有し制御及びデイジタル線図形の塗り潰
し処理を行なう図形処理部と、この図形処理部か
ら表示すべき画像データを保持する画像メモリ
と、この画像メモリの内容を読み出してビデオ信
号を生成するビデオ・インターフエイスと、
CRT表示装置とを有するデイジタル図形処理装
置を用いて、少なくとも1以上の内側境界線を有
しこの内側境界線と外側境界線に重なりを含むデ
イジタル線図形の内部を塗り潰すデイジタル線図
形の塗り潰し方法において、 (イ) 前記ワーク・メモリの内容を全てクリアする
手順と、 (ロ) 前記ワーク・メモリに前記内側境界線の一つ
を第1の画素値を用いて書き込み、その外接長
方形領域を求め、この外接長方形領域をラスタ
走査して最初に検出された前記第1の画素値を
有する点を抽出点として格納し、前記第1の画
素で書き込まれた前記内側境界線を一旦クリア
する操作を前記外側境界線内にある全ての前記
内側境界線について行なう手順と、 (ハ) 前記ワーク・メモリに前記内側境界線を前記
第1の画素値で書き込み、手順(ロ)で求めた抽出
点の左隣の点を参照点として前記内側境界線の
周囲を追跡して塗り潰し用の第2の画素値を書
き込む手順と、 (ニ) 前記ワーク・メモリに前記デイジタル線図形
の外側境界線を第3の画素値を用いて書き込
み、その外接長方形領域を求めてこの領域をラ
スタ走査して前記第3の画素値を有する点を抽
出し、この点により前記第3の画素値を有する
前記外側境界線の周囲を追跡して前記第1の画
素値を書き込み、生成された前記第1の画素値
を有する線図形に外接する外接長方形領域を塗
り潰し外接長方形領域として求める手順と、 (ホ) 前記ワーク・メモリに前記外側境界線を前記
第2の画素値で書き込む手順と、 (ヘ) 前記内側境界線を前記第1の画素値で書き込
む手順と、 (ト) 前記塗り潰し外接長方形領域をラスタ走査
し、“前記第1の画素値、前記第2の画素値”
の並びをこの順でのみ検出した時に前記第2の
画素値で塗り潰しを開始し、“前記第2の画素
値、前記第1の画素値”の並びをこの順でのみ
検出した時に前記塗り潰し動作を停止する手順
と、 (チ) 前記外接長方形領域の全ての走査線について
塗り潰し動作が終了したかどうか判断し、終了
していない場合は前記(ト)の手順を繰り返し、終
了した場合は前記ワーク・メモリに前記内側境
界線を前記第2の画素値で書き込み、前記塗り
潰し外接長方形領域をラスタ走査して前記第1
の画素値を有する蛾素をクリアする手順と、 (リ) 塗り潰し処理が終了した場合は前記ワーク・
メモリの内容を前記画像メモリに転送する手順
と を有するデイジタル線図形の塗り潰し方法であ
る。
<作用>
本発明のデイジタル線図形の塗り潰し方法によ
れば、4種類の異なつた状態を記憶するための2
ビツト/1画素の容量を持つワーク・メモリを設
け、内側境界線を第1の画素値、その1画素外側
の境界線を塗り潰し画素値(第2の画素値)、外
側境界線を第3の画素値、その1画素外側の境界
線を第1の画素値で書き込み、更に外側境界線を
塗り潰し画素値、内側境界線を第1の画素値を再
び書き込み、外側境界線の1画素だけ外側の境界
線と内側境界線に囲まれた領域を他の領域と分離
してラスタ走査を行なつて塗り潰しを行なう。
れば、4種類の異なつた状態を記憶するための2
ビツト/1画素の容量を持つワーク・メモリを設
け、内側境界線を第1の画素値、その1画素外側
の境界線を塗り潰し画素値(第2の画素値)、外
側境界線を第3の画素値、その1画素外側の境界
線を第1の画素値で書き込み、更に外側境界線を
塗り潰し画素値、内側境界線を第1の画素値を再
び書き込み、外側境界線の1画素だけ外側の境界
線と内側境界線に囲まれた領域を他の領域と分離
してラスタ走査を行なつて塗り潰しを行なう。
<実施例>
第1図に本発明によるデイジタル線図形の塗り
潰し方法を実施するのに用いられる図形処理装置
の構成ブロツク図を表わす。
潰し方法を実施するのに用いられる図形処理装置
の構成ブロツク図を表わす。
この図において、1はホスト計算機からデータ
を受信するホスト計算機インターフエイス、2は
ホスト計算機インターフエイス1から与えられる
表示する線図形に関する境界線データ及びコマン
ド等を保持するためのセグメント・バツフア、3
はこの装置全体の制御及び線図形の塗り潰し処理
を行なう図形処理部、4は表示するデイジタル線
図形を格納する画像メモリ、5は画像メモリ4の
内容を読み出してビデオ信号を生成するビデオ・
インターフエイス、6はCRT表示装置である。
を受信するホスト計算機インターフエイス、2は
ホスト計算機インターフエイス1から与えられる
表示する線図形に関する境界線データ及びコマン
ド等を保持するためのセグメント・バツフア、3
はこの装置全体の制御及び線図形の塗り潰し処理
を行なう図形処理部、4は表示するデイジタル線
図形を格納する画像メモリ、5は画像メモリ4の
内容を読み出してビデオ信号を生成するビデオ・
インターフエイス、6はCRT表示装置である。
図形処理部3は、プロセツサ部31、ワーク・
メモリ32、境界線追跡処理部33よりなる。
メモリ32、境界線追跡処理部33よりなる。
プロセツサ部31は、図形処理部3の中核をな
し、制御及び線図形の塗り潰しアルゴリズムを実
行するプロセツサ311、制御及びアルゴリズム
の実行手順を記述したプログラムを記憶する
ROM312、塗り潰し処理に必要な情報を一時的
に記憶しておくRAM313から構成される。
し、制御及び線図形の塗り潰しアルゴリズムを実
行するプロセツサ311、制御及びアルゴリズム
の実行手順を記述したプログラムを記憶する
ROM312、塗り潰し処理に必要な情報を一時的
に記憶しておくRAM313から構成される。
ワーク・メモリ32は、1画素につき2ビツト
の容量を持つメモリよりなり、画像メモリ4と2
次元的な大きさは同じである。このワーク・メモ
リ32は、境界線の内部外部識別のための専用メ
モリとして使用され、4種類の異なつた画素値
“0”、“1”、“2”、“3”を記憶することが可能
である。
の容量を持つメモリよりなり、画像メモリ4と2
次元的な大きさは同じである。このワーク・メモ
リ32は、境界線の内部外部識別のための専用メ
モリとして使用され、4種類の異なつた画素値
“0”、“1”、“2”、“3”を記憶することが可能
である。
境界線追跡処理部33は、プロセツサ311か
ら与えられたワーク・メモリ32上の開始点座標
とその画素値及び変換画素値に基づいて、この変
換画素値を書き込み、開始点と同じ画素値を有す
る境界線を公開線追跡アルゴリズムを実行するこ
とにより追跡し、その1画素だけ外側の領域の画
素値を与えられた変換画素値に変換する処理を高
速に行なうものである。
ら与えられたワーク・メモリ32上の開始点座標
とその画素値及び変換画素値に基づいて、この変
換画素値を書き込み、開始点と同じ画素値を有す
る境界線を公開線追跡アルゴリズムを実行するこ
とにより追跡し、その1画素だけ外側の領域の画
素値を与えられた変換画素値に変換する処理を高
速に行なうものである。
尚、プロセツサ311及び境界線追跡処理部3
3はワーク・メモリ32に対して、直接、リー
ド/ライト・アクセス可能であり、画像メモリ4
に対するライト・アクセスはプロセツサ311を
介して実行される。
3はワーク・メモリ32に対して、直接、リー
ド/ライト・アクセス可能であり、画像メモリ4
に対するライト・アクセスはプロセツサ311を
介して実行される。
以上のような装置を用いて、本発明の方法を実
現する。尚、本発明の方法は制御手順として
ROM312に記憶格納されている。また、本発明
が対象とする線図形は、第5図aに示したよう
な、外側境界線l0と内側境界線l1、l2に重なりを
含む任意の線図形とする。但し、図形の外側境界
線l0と内側境界線l1、l2は予め区別して与えられ
るものとする。
現する。尚、本発明の方法は制御手順として
ROM312に記憶格納されている。また、本発明
が対象とする線図形は、第5図aに示したよう
な、外側境界線l0と内側境界線l1、l2に重なりを
含む任意の線図形とする。但し、図形の外側境界
線l0と内側境界線l1、l2は予め区別して与えられ
るものとする。
ここで、外側境界線と内側境界線の識別は、例
えば、次に説明するような、デイジタル画像の境
界線追跡時の追跡開始点の区分により行なうこと
ができる。
えば、次に説明するような、デイジタル画像の境
界線追跡時の追跡開始点の区分により行なうこと
ができる。
即ち、デイジタル画像が格納されている画像メ
モリをラスタ走査し、白画素から黒画素への新た
な変化点P0を検出した場合に、その変化点P0を
中心とする第6図に示すような3画素×3画素の
マスクを想定し、第7図に表わすフローチヤート
に従つて点P0を区分する。
モリをラスタ走査し、白画素から黒画素への新た
な変化点P0を検出した場合に、その変化点P0を
中心とする第6図に示すような3画素×3画素の
マスクを想定し、第7図に表わすフローチヤート
に従つて点P0を区分する。
第7図のフローチヤートに従えば、白画素から
黒画素へ変化する点P0を検出してこの変化点P0
の近傍7画素P1、P2、P3、P4、P5、P6、P7の画
素値を調べることにより、点P0を外側境界線の
追跡開始点、または内側境界線の追跡開始点と区
分する。
黒画素へ変化する点P0を検出してこの変化点P0
の近傍7画素P1、P2、P3、P4、P5、P6、P7の画
素値を調べることにより、点P0を外側境界線の
追跡開始点、または内側境界線の追跡開始点と区
分する。
第8図にその具体例を表わし、第9図a,b,
cにその追跡開始点P0を中心とするマスクの状
態を表わす。
cにその追跡開始点P0を中心とするマスクの状
態を表わす。
デイジタル画像が格納されている画像メモリ上
をラスタ走査し、白画素から黒画素への新たな変
化点P01を検出した場合に、ラスタ走査を中断し
てその変化点を中心P01とするマスクM0(第9図
a)より、第7図のフローチヤートに従つて近傍
7画素の値により変化点P01を外側境界線の追跡
開始点と区分する。そして、この点P01を追跡開
始点として境界線l0の追跡を反時計回りに行な
う。この追跡が終了するとこの境界線を外側境界
線l0と定義し、再びラスタ走査を開始する。以後
のラスタ走査では境界線l0の変化点は検出せず、
新たな変化点が検出されるまでラスタ走査を続行
する。
をラスタ走査し、白画素から黒画素への新たな変
化点P01を検出した場合に、ラスタ走査を中断し
てその変化点を中心P01とするマスクM0(第9図
a)より、第7図のフローチヤートに従つて近傍
7画素の値により変化点P01を外側境界線の追跡
開始点と区分する。そして、この点P01を追跡開
始点として境界線l0の追跡を反時計回りに行な
う。この追跡が終了するとこの境界線を外側境界
線l0と定義し、再びラスタ走査を開始する。以後
のラスタ走査では境界線l0の変化点は検出せず、
新たな変化点が検出されるまでラスタ走査を続行
する。
新たな変革点P02が検出されると、マスクM1
(第9図b)を設定し、点P02を内側境界線の追跡
開始点として区分して追跡処理を開始し、この境
界線を内側境界線l1とする。また同様に、変化点
P03が検出されるとマスクM2(第9図c)を設定
して内側境界線l2を定義する。
(第9図b)を設定し、点P02を内側境界線の追跡
開始点として区分して追跡処理を開始し、この境
界線を内側境界線l1とする。また同様に、変化点
P03が検出されるとマスクM2(第9図c)を設定
して内側境界線l2を定義する。
このようにして、境界線追跡時の追跡開始点の
区分により、外側境界線l0と内側境界線l1、l2を
区別することができる。
区分により、外側境界線l0と内側境界線l1、l2を
区別することができる。
さて、以上のようにして外側境界線を内側境界
線が区別されて与えられた線図形に対する、本発
明の塗り潰し方法を第1図のブロツク図と第2図
のフローチヤート(1)〜(19)と第3図a〜rを用いて
詳しく説明する。対象とする図形は第5図に示す
線図形である。
線が区別されて与えられた線図形に対する、本発
明の塗り潰し方法を第1図のブロツク図と第2図
のフローチヤート(1)〜(19)と第3図a〜rを用いて
詳しく説明する。対象とする図形は第5図に示す
線図形である。
(1) ホスト計算機は、ホスト計算機インターフエ
イス1を経由してセグメント・バツフア2に線
図形データ(例えば線図形の外側境界線データ
及び内側境界線データ)と、コマンドを書き込
むことにより図形処理部3に塗り潰し処理の起
動をかける。
イス1を経由してセグメント・バツフア2に線
図形データ(例えば線図形の外側境界線データ
及び内側境界線データ)と、コマンドを書き込
むことにより図形処理部3に塗り潰し処理の起
動をかける。
(2) プロセツサ311は、ワーク・メモリ32の
内容を全てクリア(画素値“0”を書き込む)
する。
内容を全てクリア(画素値“0”を書き込む)
する。
(3) プロセツサ311は、セグメント・バツフア
2より1の線図形を構成する1つの外側境界線
l0、n個の内側境界線li(i=1、……、n)の
座標データを順次読み出してRAM313に格納
する。
2より1の線図形を構成する1つの外側境界線
l0、n個の内側境界線li(i=1、……、n)の
座標データを順次読み出してRAM313に格納
する。
更にプロセツサ311は、RAM313より内
側境界線l1の座標データを読み出してワーク・
メモリ32に内側境界線l1を画素値“2”を用
いて書き込み(第3図a)、その外接長方形領
域R21を求める。
側境界線l1の座標データを読み出してワーク・
メモリ32に内側境界線l1を画素値“2”を用
いて書き込み(第3図a)、その外接長方形領
域R21を求める。
(4) プロセツサ311は、ワーク・メモリ32内
の領域R21の左上をラスタ走査し、画素値
“2”を有する点Ps21を求め(第3図b)、その
座標値をRAM313に格納する。
の領域R21の左上をラスタ走査し、画素値
“2”を有する点Ps21を求め(第3図b)、その
座標値をRAM313に格納する。
(5) プロセツサ311は、RAM313より内側境
界線l1の座標データを順次読み出し、ワーク・
メモリ32上の境界線l1に画素値“0”を書き
込んでクリアする(第3図c)。
界線l1の座標データを順次読み出し、ワーク・
メモリ32上の境界線l1に画素値“0”を書き
込んでクリアする(第3図c)。
(6) プロセツサ311は、別の内側境界線l2につ
いても同様の処理を行ない、外接長方形領域
R22を求め、点Ps22を求める。(第3図d,e,
f)。即ち、1つの線図形における全ての内側
境界線li(i=1、……、n)について手順(3)、
(4)、(5)を繰り返す。
いても同様の処理を行ない、外接長方形領域
R22を求め、点Ps22を求める。(第3図d,e,
f)。即ち、1つの線図形における全ての内側
境界線li(i=1、……、n)について手順(3)、
(4)、(5)を繰り返す。
ここで、内側境界線liをその都度クリアする
のは、内側境界線liの外接長方形領域R2iどうし
に重なりがある場合、外接長方形領域R2i内に
存在する内側境界線li以外の既に書き込まれて
いる内側境界線上の点を誤つて検出することを
避けるためであり、手順(4)の単純な操作で内側
境界線li上の点でかつ最小のY座標及び最小の
X座標を有する点Ps2iを検出することができ
る。
のは、内側境界線liの外接長方形領域R2iどうし
に重なりがある場合、外接長方形領域R2i内に
存在する内側境界線li以外の既に書き込まれて
いる内側境界線上の点を誤つて検出することを
避けるためであり、手順(4)の単純な操作で内側
境界線li上の点でかつ最小のY座標及び最小の
X座標を有する点Ps2iを検出することができ
る。
(7) プロセツサ311は、RAM313より1つの
線図形の全ての内側境界線li(i=1、……、
n)の座標データを順次読み出し、ワーク・メ
モリ32に画素値“2”として書き込む(第3
図g)。
線図形の全ての内側境界線li(i=1、……、
n)の座標データを順次読み出し、ワーク・メ
モリ32に画素値“2”として書き込む(第3
図g)。
(8) プロセツサ311は、手順(4)で記憶した点Ps2i
の座標をRAM313より読み出し、点Ps2iの座
標とその画素値“1”及び変換画素値“2”を
境界線追跡処理部33に与え、実行起動をかけ
る。
の座標をRAM313より読み出し、点Ps2iの座
標とその画素値“1”及び変換画素値“2”を
境界線追跡処理部33に与え、実行起動をかけ
る。
これにより境界線追跡処理部33は、点Ps2i
の左隣の点Qs211に画素値“1”を書き込み、
画素値“2”を有する内側境界線l1を追跡し、
その1画素だけ外側の領域に画素値”1”を書
き込む。
の左隣の点Qs211に画素値“1”を書き込み、
画素値“2”を有する内側境界線l1を追跡し、
その1画素だけ外側の領域に画素値”1”を書
き込む。
プロセツサ311は、手順(4)で求めた内側境
界線に関する全ての点Ps22、……、Ps2oについ
て同様にこの動作を繰り返す(第3図h)。
界線に関する全ての点Ps22、……、Ps2oについ
て同様にこの動作を繰り返す(第3図h)。
(9) プロセツサ311は、1つの線図形の外側境
界線l0の座標データをRAM313より順次読み
出し、ワーク・メモリ32に画素値“3”とし
て書き込み、その外接長方形領域R3を求めて
その座標をRAM313に格納する(第3図i)。
界線l0の座標データをRAM313より順次読み
出し、ワーク・メモリ32に画素値“3”とし
て書き込み、その外接長方形領域R3を求めて
その座標をRAM313に格納する(第3図i)。
(10) プロセツサ311は、ワーク・メモリ32内
の領域R3の左上をラスタ走査し、画素値“3”
を有する点Ps3を求める(第3図j)。更にプロ
セツサ311は、点Ps3の座標とその画素値
“3”及び変換画素値“2”を境界線追跡処理
部33に与え、実行起動をかける。
の領域R3の左上をラスタ走査し、画素値“3”
を有する点Ps3を求める(第3図j)。更にプロ
セツサ311は、点Ps3の座標とその画素値
“3”及び変換画素値“2”を境界線追跡処理
部33に与え、実行起動をかける。
これにより境界線追跡処理部33は、点Ps3
の左隣の点Qs32に画素値“2”を書き込み、画
素値“3”を有する外側境界線l0を追跡し、そ
の1画素だけ外側の領域に画素値“2”を書き
込み、その外接長方形R0を求めてその座標を
RAM313に格納する。(第3図k)。
の左隣の点Qs32に画素値“2”を書き込み、画
素値“3”を有する外側境界線l0を追跡し、そ
の1画素だけ外側の領域に画素値“2”を書き
込み、その外接長方形R0を求めてその座標を
RAM313に格納する。(第3図k)。
(11) プロセツサ311は、1つの線図形の外側境
界線l0の座標データをRAM313より順次読み
出し、画素値“1”に書き換える(第3図i)。
界線l0の座標データをRAM313より順次読み
出し、画素値“1”に書き換える(第3図i)。
(12) プロセツサ311は、1つの線図形の全ての
内側境界線li(i=1、……、n)の座標データ
をRAM313より順次読み出し、画素値“2”
に書き換える(第3図m)。
内側境界線li(i=1、……、n)の座標データ
をRAM313より順次読み出し、画素値“2”
に書き換える(第3図m)。
(13) プロセツサ311は、RAM313より手順(10)
で求めた領域R0の座標データを読み出し、こ
の領域を左上からラスタ走査する。このとき、
各走査線毎に水平走査線方向に連続する2画素
の値を調べ、画素値“2”、“1”の並びが現わ
れた場合に画素値“1”の塗り潰しを開始し、
画素値“1”、“2”の並びが現われた時点で塗
り潰しを停止する。第3図nにこの状態を示
し、例えば点P11、P12が塗り潰された画素であ
る。
で求めた領域R0の座標データを読み出し、こ
の領域を左上からラスタ走査する。このとき、
各走査線毎に水平走査線方向に連続する2画素
の値を調べ、画素値“2”、“1”の並びが現わ
れた場合に画素値“1”の塗り潰しを開始し、
画素値“1”、“2”の並びが現われた時点で塗
り潰しを停止する。第3図nにこの状態を示
し、例えば点P11、P12が塗り潰された画素であ
る。
(14) プロセツサ311は、領域R0の全ての走査線
について同様の手順(13)を繰り返す(第3図o)。
について同様の手順(13)を繰り返す(第3図o)。
(15) プロセツサ311は、1つの線図形の全ての
内側境界線li(i=1、……、n)の座標データ
をRAM313より順次読み出し、画素“1”に
書き換える(第3図p)。
内側境界線li(i=1、……、n)の座標データ
をRAM313より順次読み出し、画素“1”に
書き換える(第3図p)。
(16) プロセツサ311は、領域R0を左上からラス
タ走査し(第3図q)、画素値“2”を有する
画素について画素値“0”を書き込み、クリア
する(第3図r)。
タ走査し(第3図q)、画素値“2”を有する
画素について画素値“0”を書き込み、クリア
する(第3図r)。
(17) プロセツサ311は、セグメント・バツフア
2上に格納されている残りの他の線図形に対し
て、同様に手順(3)から手順(16)の操作を繰り返
す。
2上に格納されている残りの他の線図形に対し
て、同様に手順(3)から手順(16)の操作を繰り返
す。
(18) プロセツサ311は、ワーク・メモリ32の
内容を画像メモリ4へ転送する。
内容を画像メモリ4へ転送する。
(19) 以上で塗り潰し処理操作を終了する。
このようにして、与えられた第5図aのような
外側境界線l0と内側境界線l1、l2に重なりを含む
任意の線図形について、第5図bに示すような塗
り潰し図形を得ることができる。
外側境界線l0と内側境界線l1、l2に重なりを含む
任意の線図形について、第5図bに示すような塗
り潰し図形を得ることができる。
尚、塗り潰しを行なう線図形としては、説明の
簡単のため線図形の外側境界線及び内側境界線の
座標データとしたが、これに限ることなく、デー
タ圧縮のため、チエイン符号データまたは線図形
の外側及び内側境界線を多角形(直線)近似した
上でのその頂点座標データでも良い。但し、この
ときは、プロセツサ311にてチエイン符号デー
タの場合はその復号処理を、頂点座標データの場
合は線分発生処理を行なうものとする。
簡単のため線図形の外側境界線及び内側境界線の
座標データとしたが、これに限ることなく、デー
タ圧縮のため、チエイン符号データまたは線図形
の外側及び内側境界線を多角形(直線)近似した
上でのその頂点座標データでも良い。但し、この
ときは、プロセツサ311にてチエイン符号デー
タの場合はその復号処理を、頂点座標データの場
合は線分発生処理を行なうものとする。
また、本発明によるデイジタル線図形の塗り潰
し方法は、第4図aに示すデイジタル画像に対し
ても、第4図bのように外側境界線l01と内側境
界線l11を1つの線図形、外側境界線l02と内側境
界線l12を別の1つの線図形とすれば適用可能で
ある。
し方法は、第4図aに示すデイジタル画像に対し
ても、第4図bのように外側境界線l01と内側境
界線l11を1つの線図形、外側境界線l02と内側境
界線l12を別の1つの線図形とすれば適用可能で
ある。
<発明の効果>
以上述べたように、本発明のデイジタル線図形
の塗り潰し方法によれば、外側境界線と内側境界
線に重なりを含むデイジタル線図形を対象として
この線図形の内部の塗り潰しを正しく高速に塗り
潰すことができ、また、塗り潰し処理を行なう際
に、外側境界線の1画素だけ外側の境界線を囲む
外接長方形の領域のみをラスタ走査するので、ワ
ーク・メモリ全体をラスタ走査するのに比べて処
理効率が良い。
の塗り潰し方法によれば、外側境界線と内側境界
線に重なりを含むデイジタル線図形を対象として
この線図形の内部の塗り潰しを正しく高速に塗り
潰すことができ、また、塗り潰し処理を行なう際
に、外側境界線の1画素だけ外側の境界線を囲む
外接長方形の領域のみをラスタ走査するので、ワ
ーク・メモリ全体をラスタ走査するのに比べて処
理効率が良い。
第1図は本発明の方法を実施するのに好都合な
図形処理装置の構成を表わすブロツク図、第2図
は本発明の方法の手順を表わすフローチヤート、
第3図a〜rは本発明の方法を実施した場合のワ
ーク・メモリの内容を表わす遷移図、第4図a,
bは本発明の方法を適用することのできるデイジ
タル図形を表わす図、第5図a,bは本発明の方
法の対象とするデイジタル線図形を表わす図、第
6図は点P0を中心とする3画素×3画素のマス
クを表わす図、第7図はデイジタル画像の境界線
抽出時に第6図に示したマスクを用いて外側境界
線と内側境界線を区別するための一方法を説明す
るためのフローチヤート、第8図は外側境界線と
内側境界線の区別の一例を表わす図、第9図a,
b,cは第8図の追跡開始店P01、P02、P03を
各々中心とするマスクの状態を表わす図である。 1……ホスト計算機インターフエイス、2……
セグメント・バツフア、3……図形処理部、31
……プロセツサ部、311……プロセツサ、312
……ROM、313……RAM、32……ワーク・
メモリ、33……境界線追跡処理部、4……画像
メモリ、5……ビデオ・インターフエイス、6…
…CRT表示装置。
図形処理装置の構成を表わすブロツク図、第2図
は本発明の方法の手順を表わすフローチヤート、
第3図a〜rは本発明の方法を実施した場合のワ
ーク・メモリの内容を表わす遷移図、第4図a,
bは本発明の方法を適用することのできるデイジ
タル図形を表わす図、第5図a,bは本発明の方
法の対象とするデイジタル線図形を表わす図、第
6図は点P0を中心とする3画素×3画素のマス
クを表わす図、第7図はデイジタル画像の境界線
抽出時に第6図に示したマスクを用いて外側境界
線と内側境界線を区別するための一方法を説明す
るためのフローチヤート、第8図は外側境界線と
内側境界線の区別の一例を表わす図、第9図a,
b,cは第8図の追跡開始店P01、P02、P03を
各々中心とするマスクの状態を表わす図である。 1……ホスト計算機インターフエイス、2……
セグメント・バツフア、3……図形処理部、31
……プロセツサ部、311……プロセツサ、312
……ROM、313……RAM、32……ワーク・
メモリ、33……境界線追跡処理部、4……画像
メモリ、5……ビデオ・インターフエイス、6…
…CRT表示装置。
Claims (1)
- 【特許請求の範囲】 1 ホスト計算機インターフエイスと、表示する
デイジタル線図形に関するデータを保持するセグ
メント・バツフアと、1画素につき2ビツトの容
量を持つワーク・メモリを有し制御及びデイジタ
ル線図形の塗り潰し処理を行なう図形処理部と、
この図形処理部から表示すべき画像データを保持
する画像メモリと、この画像メモリの内容を読み
出してビデオ信号を生成するビデオ・インターフ
エイスと、CRT表示装置とを有するデイジタル
図形処理装置を用いて、少なくとも1以上の内側
境界線を有しこの内側境界線と外側境界線に重な
りを含むデイジタル線図形の内部を塗り潰すデイ
ジタル線図形の塗り潰し方法において、 (イ) 前記ワーク・メモリの内容を全てクリアする
手順と、 (ロ) 前記ワーク・メモリに前記内側境界線の一つ
を第1の画素値を用いて書き込み、その外接長
方形領域を求め、この外接長方形領域をラスタ
走査して最初に検出された前記第1の画素値を
有する点を抽出点として格納し、前記第1の画
素で書き込まれた前記内側境界線を一旦クリア
する操作を前記外側境界線内にある全ての前記
内側境界線について行なう手順と、 (ハ) 前記ワーク・メモリに前記内側境界線を前記
第1の画素値で書き込み、手順(ロ)で求めた抽出
点の左隣の点を参照点として前記内側境界線の
周囲を追跡して塗り潰し用の第2の画素値を書
き込む手順と、 (ニ) 前記ワーク・メモリに前記デイジタル線図形
の外側境界線を第3の画素値を用いて書き込
み、その外接長方形領域を求めてこの領域をラ
スタ走査して前記第3の画素値を有する点を抽
出し、この点より前記第3の画素値を有する前
記外側境界線の周囲を追跡して前記第1の画素
値を書き込み、生成された前記第1の画素値を
有する線図形に外接する外接長方形領域を塗り
潰し外接長方形領域として求める手順と、 (ホ) 前記ワーク・メモリに前記外側境界線を前記
第2の画素値で書き込む手順と、 (ヘ) 前記内側境界線を前記第1の画素値で書き込
む手順と、 (ト) 前記塗り潰し外接長方形領域をラスタ走査
し、“前記第1の画素値、前記第2の画素値”
の並びをこの順でのみ検出した時に前記第2の
画素値で塗り潰しを開始し、“前記第2の画素
値、前記第1の画素値”の並びをこの順でのみ
検出した時に前記塗り潰し動作を停止する手順
と、 (チ) 前記外接長方形領域の全ての走査線について
塗り潰し動作が終了したかどうか判断し、終了
していない場合は前記(ト)の手順を繰り返し、終
了した場合は前記ワーク・メモリに前記内側境
界線を前記第2の画素値で書き込み、前記塗り
潰し外接長方形領域をラスタ走査して前記第1
の画素値を有する蛾素をクリアする手順と、 (リ) 塗り潰し処理が終了した場合は前記ワーク・
メモリの内容を前記画像メモリに転送する手順
と を有するデイジタル線図形の塗り潰し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9018087A JPS63255780A (ja) | 1987-04-13 | 1987-04-13 | デイジタル線図形の塗り潰し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9018087A JPS63255780A (ja) | 1987-04-13 | 1987-04-13 | デイジタル線図形の塗り潰し方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63255780A JPS63255780A (ja) | 1988-10-24 |
JPH0583953B2 true JPH0583953B2 (ja) | 1993-11-30 |
Family
ID=13991287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9018087A Granted JPS63255780A (ja) | 1987-04-13 | 1987-04-13 | デイジタル線図形の塗り潰し方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63255780A (ja) |
-
1987
- 1987-04-13 JP JP9018087A patent/JPS63255780A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS63255780A (ja) | 1988-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0154752B2 (ja) | ||
JP2597006B2 (ja) | 矩形座標抽出方法 | |
JP2891616B2 (ja) | 仮ラベル割付処理方式と実ラベル割付処理方式 | |
JP2681367B2 (ja) | 図形処理方法及びその装置 | |
JPH0130180B2 (ja) | ||
JPH0583953B2 (ja) | ||
US4656468A (en) | Pattern data processing apparatus | |
JP2846486B2 (ja) | 画像入力装置 | |
JPH09106460A (ja) | 画像部品の隣接関係判定方法 | |
JP2735197B2 (ja) | 図形入力装置 | |
JPH0668270A (ja) | 画像処理方法および画像処理装置 | |
JP2634905B2 (ja) | 図形ぬりつぶし方法 | |
JPH0927028A (ja) | 多階調画像の修正装置 | |
JP2773127B2 (ja) | 画像編集方法 | |
JPH0583952B2 (ja) | ||
JPH0462110B2 (ja) | ||
JPH05143733A (ja) | 輪郭抽出装置 | |
JP2635779B2 (ja) | 図面の特徴抽出装置 | |
JPH1173517A (ja) | 画像処理装置、画像処理方法、及びコンピュータが実行可能なプログラムを記録した記録媒体 | |
JP2647911B2 (ja) | 文字・図形領域抽出方法 | |
JPH0368428B2 (ja) | ||
JPH06223183A (ja) | 輪郭追跡方法 | |
JPH01201236A (ja) | 画像処理装置 | |
JPH03224071A (ja) | 二値画像の細線化方式 | |
JPH0666071B2 (ja) | 図形情報の処理装置 |