JPH07230545A - イメージ図形変換方法 - Google Patents

イメージ図形変換方法

Info

Publication number
JPH07230545A
JPH07230545A JP6043274A JP4327494A JPH07230545A JP H07230545 A JPH07230545 A JP H07230545A JP 6043274 A JP6043274 A JP 6043274A JP 4327494 A JP4327494 A JP 4327494A JP H07230545 A JPH07230545 A JP H07230545A
Authority
JP
Japan
Prior art keywords
curve
dot
length
point
contour
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.)
Granted
Application number
JP6043274A
Other languages
English (en)
Other versions
JP3520548B2 (ja
Inventor
Yuji Ishii
勇次 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP04327494A priority Critical patent/JP3520548B2/ja
Publication of JPH07230545A publication Critical patent/JPH07230545A/ja
Application granted granted Critical
Publication of JP3520548B2 publication Critical patent/JP3520548B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 イメージ図形を構成する輪郭を複数の曲線に
分割して座標データの集合によって表現される図形デー
タに変換する際に、輪郭が細かく振動するような部分に
ついては、本来の図形イメージを崩すことなく当該部分
を滑らかな曲線に補正する。 【構成】 イメージスキャナ6によって読み取られたイ
メージ図形に基づいてCPU1はこのイメージ図形の輪
郭を走査する。この走査方向が反転して折り返した際
に、その折り返し点から輪郭上を走査して反転方向の輪
郭線の長さを反転ドット長として検出する。この反転ド
ット長に応じて開始点から折り返し点までの輪郭線を1
つの曲線として確定するか否かを判断する。この判断結
果に応じて当該曲線を隣接する他の曲線に連結する。こ
れによってイメージ図形を構成する輪郭は複数の曲線に
対応する図形データに変換される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、イメージ図形処理機
能を備えたパーソナルコンピュータやワードプロセッサ
等において、ビットマップ方式のイメージ図形を構成す
る輪郭を複数の曲線に分割して座標データの集合によっ
て表現される図形データに変換するイメージ図形変換方
法に関する。
【0002】
【従来の技術】従来、イメージ図形を解析してその輪郭
を座標データに変換する場合、イメージ図形の輪郭線上
を走査し、その走査方向がX方向あるいはY方向で反転
した際に、その折り返し点を抽出することによって輪郭
線をいくつかのエリア(曲線)に分割するようにしてい
る。図16は、この場合の具体例を示し、図中、破線で
示したイメージ図形において、その輪郭上の任意の1点
を開始点P0として輪郭線上を時計回りに走査し、その
走査方向が反転する毎にその折り返し点P1、P2、P
3、……P9を抽出することにより各折り返し点に対応
してこの輪郭線は10個のエリアに分割される。そし
て、各エリアに対して例えば回帰計算によってベジェー
ル曲線等を発生させることにより図中、実線で示したよ
うな図形を描画するようにしている。
【0003】
【発明が解決しようとする課題】しかしながら、イメー
ジ図形の輪郭が細かく振動するような部分(例えば、図
12においてはP0〜P4間)は、描画された曲線が荒
くなり、それだけ見栄えが悪くなるだけではなく、その
荒い個所だけ曲線の本数が多くなってしまい、図形メモ
リを大量に消費してしまうという欠点があった。この発
明の課題は、イメージ図形を構成する輪郭を複数の曲線
に分割して座標データの集合によって表現される図形デ
ータに変換する際に、輪郭が細かく振動するような部分
については、本来の図形イメージを崩すことなく当該部
分を滑らかな曲線に補正できるようにすることである。
【0004】
【課題を解決するための手段およびその作用】この発明
の手段およびその作用は次の通りである。ビットマップ
方式のイメージ図形を構成する輪郭を複数の曲線に分割
して座標データの集合によって表現される図形データに
変換するイメージ図形変換装置において、イメージ図形
の輪郭上の任意の1点を開始点とし、この開始点から1
ドットづつ輪郭上を走査し、その走査方向がX方向ある
いはY方向で反転して折り返した際に、その折り返し点
から輪郭上を走査して反転方向の輪郭線の長さを反転ド
ット長として検出し、この検出された反転ドット長に応
じて開始点から折り返し点までの輪郭線を1つの曲線と
して確定するか否かを判断し、この判断結果に応じて当
該曲線を隣接する他の曲線に連結する、ことによってイ
メージ図形を構成する輪郭を複数の曲線に対応する図形
データに変換する。なお、この発明の他の手段およびそ
の作用としては、次のようなものであってもよい。 、イメージ図形の輪郭上の任意の1点を開始点とし、
この開始点から1ドットづつ輪郭上を走査し、その走査
方向がX方向あるいはY方向で反転して折り返した際
に、開始点からこの折り返し点までの輪郭線を1つの曲
線とし、この折り返し点から輪郭上を走査して反転方向
の輪郭線の長さをこの曲線の反転ドット長として検出す
ると共に、この折り返し点を次の曲線の開始点とする動
作を輪郭全体に対して行い、各曲線に対応して検出され
た前記反転ドット長が予め決められている基準長以上か
否かを判断し、基準長以上であれば、それに対応する当
該曲線を1つの曲線として確定し、基準長未満であれ
ば、当該曲線とそれに隣接する次の曲線とを連結すると
共に、それらの反転ドット長同士を比較し、その結果、
長い方の反転ドット長を前記連結した曲線の新たな反転
ドット長とし、この新たな反転ドット長が前記基準長以
上か否かを判断し、基準長以上であれば、前記連結した
曲線を1つの曲線として確定する、動作を繰り返すこと
によってイメージ図形を構成する輪郭を複数の曲線に対
応する図形データに変換するようにしてもよい。 、イメージ図形の輪郭上の任意の1点を開始点とし、
この開始点から1ドットづつ輪郭上を走査し、その走査
方向がX方向あるいはY方向で反転して折り返した際
に、開始点からこの折り返し点までの輪郭線を1つの曲
線とし、この折り返し点から輪郭上を走査して反転方向
の輪郭線の長さをこの曲線の反転ドット長として検出す
ると共に、この折り返し点を次の曲線の開始点とする動
作を輪郭全体に対して行い、各曲線に対応して検出され
た前記反転ドット長が予め決められている基準長以上か
否かを判断し、基準長以上であれば、それに対応する当
該曲線を1つの曲線として確定し、基準長未満であれ
ば、当該曲線とその前後に隣接する曲線同士の反転ドッ
ト長を比較し、短い方の曲線と当該曲線とを連結すると
共に、連結した各曲線の反転ドット長のうち長い方の反
転ドット長を、前記連結した曲線の新たな反転ドット長
とし、この新たな反転ドット長が前記基準長以上か否か
を判断し、基準長以上であれば、前記連結した曲線を1
つの曲線として確定する、動作を繰り返すことによって
イメージ図形を構成する輪郭を複数の曲線に対応する図
形データに変換するようにしてもよい。したがって、イ
メージ図形を構成する輪郭を複数の曲線に分割して座標
データの集合によって表現される図形データに変換する
際に、輪郭が細かく振動するような部分については、本
来の図形イメージを崩すことなく当該部分を滑らかな曲
線に補正することができる。
【0005】
【第1実施例】以下、図1〜図13を参照して第1実施
例を説明する。図1はイメージ図形処理機能を備えたワ
ードプロセッサのブロック構成図である。CPU1はR
OM2、RAM3に格納されている各種プログラムにし
たがってこのワードプロセッサの全体動作を制御する中
央演算処理装置であり、ROM2内の入出力制御プログ
ラムにしたがって周辺デバイスであるキーボード4、C
RT表示装置5、イメージスキャナ6、フロッピーディ
スク7に対する入出力動作を制御する。
【0006】即ち、CPU1はキーボード4から入力さ
れたキー操作信号をキーコードに変換して保持する入力
制御部8をアクセスし、それが文字コードであれば表示
データに変換してビデオRAM(VRAM)9に書き込
むと共に、RAM3内の文書メモリ3aに格納する。な
お、表示制御部10はビデオRAM9をアクセスしてそ
の内容をCRT表示装置5のテキスト画面から表示出力
させる。また、CPU1はキーボード4からイメージ図
形の入力モードが指示されると、イメージスキャナ6を
読み取り可能状態にセットする。更に、CPU1はキー
ボード4から文書保存指令が入力されると、RAM3内
の文書メモリ3a(図2参照)から文書データを読み出
して外部記憶制御部11に転送し、フロッピーディスク
7へ登録保存させる。
【0007】イメージスキャナ6から読み取られたビッ
トマップ方式のイメージ図形は、ビデオRAM9に格納
される。CPU1はこのビデオRAM9内のイメージ図
形を構成する輪郭を複数の曲線に分割して座標データの
集合によって表現される図形データに変換し、RAM3
内の図形情報メモリ3bに格納する。この場合、CPU
1はイメージ図形の輪郭上の任意の1点を最初の曲線の
開始点とし、この開始点から1ドットづつ輪郭上を走査
し、その走査方向がX方向あるいはY方向で反転して折
り返した際に、この折り返し点を次の曲線の開始点と
し、この開始点から輪郭上を走査して反転方向の輪郭線
の長を反転ドット長として検出すると共に、この反転ド
ット長に応じて最初の曲線の開始点から折り返し点(次
の曲線の開始点)までの輪郭を1つの曲線として確定す
るか否かを判断し、この判断結果に応じて当該曲線を隣
接する次の曲線に連結することによってイメージ図形を
構成する輪郭を複数の曲線に対応する図形データに変換
する。ここで、図9に示すイメージ図形を例に挙げて、
「反転ドット長」を簡単に説明する。いま、最初の曲線
の開始点をP0とし、この開始点P0から時計回りに1
ドットづつサーチしてゆくと、点P1でY方向が反転す
るので、この点P1が次の曲線の開始となる。この開始
点P1から1ドットづつサーチしてゆくと、今度は点P
2でY方向が再び反転する。このとき、点P0を開始点
とする最初の曲線の反転ドット長が求まる。つまり、点
P1から点P2をサーチしたときにY方向に進んだドッ
ト数(この場合、3ドット)が最初の曲線の反転ドット
長となる。
【0008】図2はRAM3の構成を示したもので、R
AM3は文書メモリ3a、図形情報メモリ3b、基準長
メモリ3c、アドレスポインタ3d、反転Xドット長カ
ウンタ3e、反転Yドット長カウンタ3f、符号メモリ
3g、フラグレジスタ3hを有する構成となっている。
図形情報メモリ3bはイメージ図形の輪郭を解析するこ
とによって得られた図形データを記憶するもので、イメ
ージ図形の輪郭が複数に分割された各曲線毎に、その曲
線の開始点座標と反転ドット長とを記憶するメモリであ
る。基準長メモリ3cはこの反転ドット長が予め設定さ
れた基準長以上か否かを判断する際に用いられる基準ド
ット長(本実施例においては4ドット)を記憶するメモ
リである。アドレスポインタ3dはフラグレジスタ3h
の内容を読み出す読み出しアドレスを指定するポインタ
である。反転Xドット長カウンタ3eはX方向の反転ド
ット長を計数するカウンタ、反転Yドット長カウンタ3
fはY方向の反転ドット長を計数するカウンタである。
符号メモリ3gはイメージ図形の輪郭が1ドットづつ走
査された際に前回のドット座標のX方向の符号を記憶す
るx符号エリアと、Y方向の符号を記憶するy符号エリ
ア、更に、どの方向に反転したかを示す反転方向の符号
を記憶する反転方向エリアが設けられている。CPU1
はこの符号メモリ3g内のx符号エリアとy符号エリア
とを参照し、今回のドット座標の符号を比較することに
よって走査方向がX方向あるいはY方向で反転したかの
判断を行う。フラグレジスタ3hは最初の曲線の開始点
が検出された際にON、次の曲線の開始点が検出された
際にOFFされるフラグを記憶する。
【0009】次に、本実施例の動作を図3〜図13を参
照して説明する。なお、図3は全体動作の概要を示した
フローチャート、図4〜図6は図3のステップA1(図
形情報置換処理)を詳細に示したフローチャート、図7
および図8は図3のステップA2(図形情報補正処理)
を詳細に示したフローチャートである。先ず、CPU1
はイメージスキャナ6からイメージ図形が読み取られる
と、このイメージ図形を図形情報に変換する図形情報置
換処理を行う(ステップA1)。即ち、任意の開始点か
ら輪郭上を走査し、その走査方向が反転して折り返した
際に、この開始点からこの折り返し点までの輪郭線を1
つの曲線とし、この折り返し点から輪郭上を走査して反
転方向の輪郭線の長さをこの曲線の反転ドット長として
検出すると共に、この折り返し点を次の曲線の開始点と
する動作を輪郭全体に対して行うことにより各曲線毎に
その開始点と反転ドット長とを図形情報メモリ3bに設
定する。
【0010】次に、CPU1はこの図形情報メモリ3b
の内容を読み出して各曲線の反転ドット長が基準長以上
か否かに基づいて図形情報メモリ3bの内容を補正する
図形情報補正処理を行う(ステップA2)。即ち、図形
情報メモリ3bから読み出した反転ドット長が基準長以
上であれば、当該曲線を1つの曲線として確定するが、
基準長未満であれば、当該曲線とそれに隣接する次の曲
線とを連結すると共に、それらの反転ドット長同士を比
較し、その結果、長い方の反転ドット長を連結した曲線
の新たな反転ドット長とし、更にこの反転ドット長が基
準長以上か否かを判断し、基準長以上であれば、連結し
た曲線を1つの曲線として確定する動作を繰り返すこと
によって図形情報メモリ3bの内容を補正する。
【0011】そして、CPU1はこの図形情報メモリ3
bの内容(各曲線に対応する開始点座標)をその先頭か
ら順次読み出し、各曲線毎に回帰計算によってベジェー
ル曲線等を発生し、この図形パターンをビデオRAM9
上に展開して描画出力させる図形描画処理を行う(ステ
ップA3)。
【0012】次に、図4〜図6のフローチャートに示す
図形情報置換処理を図9に示すイメージ図形を参照しな
がら具体的に説明する。なお、図10は図9に示す点P
0〜P2間近傍を拡大した部分拡大図である。先ず、C
PU1は反転Xドット長カウンタ3e、反転Yドット長
カウンタ3fに初期値“0”をセットすると共に(ステ
ップB1)、符号メモリ3g内のx符号エリア、y符号
エリア、反転方向エリアをそれぞれクリアする(ステッ
プB2)。次に、イメージ図形の輪郭線上の任意の1点
を最初の曲線の開始点P0としてそのドット座標を検出
して図形情報メモリ3bに格納すると共に、フラグレジ
スタ3h内の最初の開始点フラグをONさせておく(ス
テップB3)。
【0013】このようなイニシャライズ処理を行ったの
ち、この開始点P0から時計回りに輪郭線上を1ドット
分サーチして今回のドット座標を検出する(ステップB
4)。そして、このドット座標(x、y)から前回のド
ット座標(x、y)を減算し(ステップB5)、その結
果、X座標成分の値が“0”かをチェックする(ステッ
プB6)。つまり、1ドット進んだ方向から1ドット前
の点を減算してそのX座標成分が“0”か否かに応じて
X方向に進行しているのか、Y方向に進行しているのか
をチェックする。ここで、Y方向に進行した場合にはy
方向処理(ステップB7)が実行され、X方向に進行し
た場合にはx方向処理が実行される(ステップB8)。
なお、y方向処理(ステップB7)とx方向処理(ステ
ップB8)とは基本的には同様の処理で、取り扱う座標
成分が相違するだけであり、y方向処理のステップC1
〜C11はx方向処理のステップD1〜D11に対応し
ているため、以下、同様の処理についてはその重複説明
を避けるものとする。いま、点P0から1ドット分X方
向(右方向)に進んだ場合であるからx方向処理に移行
する。
【0014】このx方向処理において、先ず、今回のx
符号(正か負)とx符号エリアの内容とが一致するか否
かによってX方向が反転したかをチェックする(ステッ
プD1)。最初はイニシャライズ処理によってx符号エ
リアの内容がクリアされているので、X方向の符号変化
は検出されず、ステップD2に進むが、この場合、最初
の開始点フラグはONされているので、ステップD13
に進み、今回のドット座標のx符号をx符号エリアに退
避させておく。この場合、図中右方向への進行を正、左
方向への進行を負とすると、x符号エリアには正の符号
がセットされる。これによってx方向処理から抜け、図
4のステップB9に進み、今回のドット座標が最初の曲
線の開始点と一致するか、つまり、輪郭線上を1回りし
たかをチェックするが、この場合、不一致が検出される
ので、ステップB4に戻る。
【0015】次に、点P0からX方向に2ドット進んだ
点がサーチされる。すると、X方向への進行が検出され
るため、x方向処理(ステップB8)に移るが、この場
合、x符号は変化せず、正方向に進んでいること、最初
の開始点フラグがONされていることが検出されるた
め、今回のx符号をx符号エリアに退避する処理(ステ
ップD12)が行われる。このようにして点P0からX
方向に2ドット進んだのち、Y方向を1ドット下に進む
と、ステップB6でY方向の進行が検出されてy方向処
理(ステップB7)に移るが、y符号エリアは最初クリ
アされているのでこの場合においても、今回のy符号を
y符号エリアに退避する処理(ステップC13)が行わ
れる。ここで、Y方向を図中、下に進んだ場合を負、上
に進んだ場合を正とすると、この場合、y符号エリアに
は負の符号がセットされる。その後、更に輪郭線上を右
に2ドット進んだのち、点P1から1ドット上に進む
と、yの符号は正となり、y方向処理において、Y方向
の進行が反転したことが検出される。
【0016】このように点P1から1ドット先をサーチ
すると、yの符号が反転したことが検出されるので、1
つ前のドット座標を次の曲線の開始点として図形情報メ
モリ3bに格納する(ステップC4)。次に、最初の開
始点フラグがONされているかをチェックするが、いま
当該フラグはONされているので、ステップC6に進
み、開始フラグをOFFさせる。このように開始点フラ
グは最初の曲線をサーチして次の曲線の開始点が検出さ
れた時点でOFFされる。次に、前回のドット座標(こ
の場合、点P1)を次の曲線の開始点とする(ステップ
C11)。そして、Y方向が反転したことを示すため
に、ステップC12で符号メモリ3g内の反転方向エリ
アにyの符号をセットしたのちステップC12が行われ
る。
【0017】次に、点P1を次の曲線の開始点としてこ
の点から1ドットづつ上をサーチしてゆく。この場合、
y方向処理において、y符号は正で変化しないが、最初
の開始点フラグはOFFされているので、ステップC
3、C13が実行される。したがって、反転Yドット長
カウンタ3fの値は1ドット上がサーチされる毎にプラ
ス「1」づつ更新され、「1」、「2」、「3」のよう
に変化してゆく。その後、右方向に7ドット進むが、こ
の場合、x方向処理において、ステップD3、D12が
実行される結果、反転Xドット長カウンタ3eの値は1
ドット右がサーチされる毎に「1」、「2」……「7」
のように変化してゆく。ここで、点P2に達し、この点
P2から更に下に1ドット進むと、y符号の変化が検出
される(ステップC1)。
【0018】これによって1つ前のドット座標P2が次
の曲線(3番目の曲線)の開始点として図形情報メモリ
3bに格納される(ステップC4)。ここで、最初の開
始点フラグはOFFされているので、反転方向エリアの
内容にしたがって反転Xドット長カウンタ3eあるいは
反転Yドット長カウンタ3fの値を図形情報メモリ3b
に格納する処理(ステップC8、C9)が行われる。い
ま、反転方向エリアには点P1でY方向の反転が検出さ
れた時点でyの符号がセットされているので、ステップ
C8に進み、反転Yドット長カウンタ3fの値「3ドッ
ト」を図形情報メモリ3b内の2つ前の開始点P0に対
応付けて格納する。図11の(1)はこの場合の状態を
示し、最初の曲線の開始点P0に対応付けてその反転ド
ット長として「3ドット」がセットされることになる。
次に、反転Xドット長カウンタ3e、反転Yドット長カ
ウンタ3fに初期値“0”が書き込まれる(ステップS
10)。したがって、この場合、反転Xドット長カウン
タ3eの値「7ドット」は無視される。そして、ステッ
プC11に進み、前回のドット座標P2を次の曲線の開
始点としたのち、ステップC12、C13が実行され
る。このように点P1でY方向が逆転してから、次の曲
線の開始点を検出するまでY方向のドット数を反転ドッ
ト数としてカウントしてゆき、点P2で次の曲線が確定
したらその間に進んだY方向のドット数「3」が最初の
曲線の反転ドット数として求められる。
【0019】以下、同様に、次の曲線(4番目の曲線)
の開始点P3を検出しながら2番目の曲線に対する反転
ドット長を求める処理が行われる。この場合、点P3か
ら上に1ドット進んだ時点でY方向の反転が検出され
る。このとき、反転Xドット長カウンタ3e、反転Yド
ット長カウンタ3fの値はそれぞれ「2ドット」である
が、上述と同様に、反転Xドット長カウンタ3eは無視
され、反転Yドット長カウンタ3fの値が開始点P1に
対応して図形情報メモリ3bに書き込まれる。次に、点
P4から下に1ドット進んだ時点でもY方向の反転が検
出されるため、開始点P2に対応して反転Yドット長カ
ウンタ3fの値「3ドット」が書き込まれ、続いて、開
始点P3に対応して反転Yドット長カウンタ3fの値
「6ドット」が書き込まれる。次に、点P5から点P6
までの間はX・Y方向共に負で進んでゆき、その間での
符号の反転は検出されないが、点P6から1つ先に進む
と、X方向の反転が検出されるため、x方向処理におい
て、反転Xドット長カウンタ3eの値「11ドット」が
開始点P4に対応して図形情報メモリ3bに書き込まれ
る(ステップD9)。
【0020】以下、同様の処理が輪郭線を1周するまで
繰り返されるが、今回のドット座標が最初の曲線の開始
点P0に達すると、図4のステップB9でそのことが検
出されてステップB10に進み、反転方向エリアの内容
に基づいて反転Xドット長カウンタ3eあるいは反転Y
ドット長カウンタ3fの値を1つ前の開始点に対応付け
て図形情報メモリ3bに格納する(ステップB11、B
12)。この場合、点P8でY方向が反転され、点P9
までに進んだYドット長「3ドット」が開始点P8の反
転ドット長となる。これによって、図形情報置換処理は
終了する。したがって、最後の曲線については開始点P
9に対応する反転ドット長は存在しない。これによっ
て、図9に示すイメージ図形は図11の(2)に示すよ
うな図形情報に置換されて図形情報メモリ3bに書き込
まれる。この結果、図9に示すイメージ図形は10本の
曲線に分割され、各曲線毎にその開始点と反転ドット長
とから成る図形情報が得られる。なお、図11の(2)
において、開始点P9に対応する「×ドット」は反転ド
ット長が存在しないことを表わしている。
【0021】次に、図7および図8に示す図形情報補正
処理を図12を参照して説明する。なお、図8は図7の
ステップE7(次の曲線に吸収する処理)を詳細に示し
たフローチャートである。先ず、アドレスポインタ3d
を初期化し(ステップE1)、このアドレスポインタ3
dによって指定される図形情報メモリ3bから反転ドッ
ト長を読み出し(ステップE2)、最後の曲線でないこ
とを条件に、つまり、反転ドット長が存在することを条
件に(ステップE3)、このドット長と基準長メモリ3
cに設定されている基準長とを比較する(ステップE
3)。いま、図形情報メモリ3bから最初の曲線のドッ
ト長(3ドット)が読み出されるが、このドット長は基
準長「4」未満であるから、ステップE5でそのことが
検出されてステップE7に進み、当該曲線を次の曲線に
吸収する処理に移る。
【0022】この曲線吸収処理は図8のフローチャート
にしたがって実行される。即ち、図形情報メモリ3bに
格納されている次の曲線の開始点をサーチし(ステップ
F1)、それが最終の曲線の開始点でなければ(ステッ
プF2)、その開始点を図形情報メモリ3bから消去す
ると共に(ステップF3)、今回の反転ドット長と次の
反転ドット長とを比較する(ステップF4)。いま、図
12の(1)に示すように今回の反転ドット長は「3ド
ット」、次の反転ドット長は「2ドット」であり、ステ
ップF5でYESと判断されるので、長い方を残すため
に次の反転ドット長が図形情報メモリ3bから消去され
る(ステップF6)。図12の(2)はこの場合の図形
情報メモリ3bの内容を示し、最初の曲線を着目してい
る状態において、次の曲線の開始点P1が消去されると
共にその反転ドット長「2ドット」が消去される。した
がって、開始点P0と点P1の曲線が連結され、開始点
P1の曲線は開始点P0の曲線に吸収されたことにな
る。
【0023】次に図7のステップE2に戻るが、この場
合、開始点P0の反転ドット長は変わらず、また、この
反転ドット長は次の曲線の反転ドット長以上であるの
で、上述と同様の曲線吸収処理が行われる。この結果、
開始点P2とその反転ドット長が図形情報メモリ3bか
ら消去されて図12の(3)に示す如くとなる。更に、
この状態において、再び曲線吸収処理が実行されるが、
この場合、次の曲線の反転ドット長は「6ドット」であ
るから、図8のステップF5でNOと判断される。ここ
で、長い方を残すために、今回の反転ドット長を図形情
報メモリ3bから消去すると共に(ステップF7)、次
の反転ドット長(6ドット)を今回の反転ドット長とし
て図形情報メモリ3bに書き込む(ステップF8)。図
12の(4)はこの場合における図形情報メモリ3bの
内容を示している。
【0024】すると、図7のステップE5で今回の反転
ドット長が基準長以上であることが検出されるため、ア
ドレスポインタ3dの値に「1」を加算してその値の更
新が行われる(ステップE6)。このように、開始点P
0の曲線はこの時点で確定され、結局、点P0〜P4ま
でが1本の曲線となる。
【0025】この図12の(4)に示す状態において、
アドレスポインタ3dの更新により次に開始点P4の反
転ドット長が読み出される(ステップE2)。この場
合、基準長以上であるので、それを1つの曲線として確
定し、アドレスポインタ3dの更新が行われる。以下、
開始点P5、P6、P7の反転ドット長も基準長以上で
あるのでそれらも1つの曲線としてそれぞれ確定され
る。
【0026】次に開始点P8の反転ドット長が読み出さ
れるが、この場合、基準長未満であるので曲線吸収処理
に進む。ここで、次の曲線の開始点をサーチすると、そ
れは最後の曲線の開始点であるから、ステップF2でそ
のことが検出される。すると、図形情報メモリ3bか
ら、今回の開始点が消去されると共に(ステップF
9)、今回の反転ドット長が消去される(ステップF1
0)。この状態において、図形情報メモリ3bからは次
に最後の曲線の開始点P9が読み出されるが、この開始
点に対応する反転ドット長は存在しないため、ステップ
E3でそのことが検出されて図形情報補正処理は終了す
る。この結果、図形情報メモリ3bの内容は図12の
(5)に示す如くとなる。
【0027】このような図形情報補正処理が実行される
ことによって図12(1)に示すように補正前は10本
の曲線であったものが、補正後は基準長以上の反転ドッ
ト長を持つ6本の曲線に変換されることになる。このよ
うにして補正された図形情報メモリ3bの内容にしたが
って図形を描画出力すると、図13に示すように点P0
〜P4、P4〜P5、P5〜P6、P7〜P8、P8〜
P9、P9〜P0が1本づつの曲線となり、図16に示
す従来の図形に比べて滑らかな図形を得ることができ
る。即ち、イメージ図形の輪郭が細かく振動するような
部分については、曲線の長さが極端に短かくなるため、
それを隣接する他の曲線と連結することにより、本来の
図形イメージを崩すことなく、当該部分を滑らかな曲線
に置き換えることができる。
【0028】
【第2実施例】以下、図14および図15を参照して第
2実施例を説明する。上記第1実施例は図形情報補正処
理で、ある曲線の反転ドット長が基準長未満である場合
に、次の曲線を吸収するようにしたが、本実施例におい
ては、各曲線の中で最も短い曲線をサーチし、それが基
準長以上であれば図形情報補正処理は行わないが、基準
長未満の曲線が1つでも存在していれば、それに隣接し
ている前後の曲線のうち、短い方の曲線を吸収するよう
にしたものである。先ず、上記第1実施例と同様に、イ
メージ図形の輪郭上の任意の1点を開始点とし、この開
始点から1ドットづつ輪郭上を走査し、その走査方向が
X方向あるいはY方向で反転して折り返した際に、開始
点から折り返し点までの輪郭線を1つの曲線とし、この
折り返し点から輪郭線上を走査して反転方向の輪郭線の
長さをこの曲線の反転ドット長として検出すると共に、
この折り返し点を次の曲線の開始点とする動作を輪郭全
体に対して行うことにより輪郭全体を複数の曲線に分割
してその開始点と反転ドット長とを図形情報メモリ3b
に格納する図形情報置換処理を行う。
【0029】その後、図14に示した図形情報補正処理
が行われる。先ず、図形情報メモリ3bから全ての曲線
の反転ドット長を読み出し(ステップG1)、その中か
ら最も短い反転ドット長の曲線をサーチし(ステップG
2)、それが基準長以上かをチェックする(ステップG
3)。ここで、最も短い曲線が基準長以上であれば、こ
の図形情報補正処理からそのまま抜けるが、基準長未満
であれば、その曲線に隣接する前後の曲線の反転ドット
長を取得し(ステップG4)、後の曲線が最終の曲線で
ないことを条件に(ステップG5)、両者を比較する
(ステップG6)。この結果、前の曲線が短い場合には
前の曲線を吸収し(ステップG7、G8)、後の曲線が
短い場合には後の曲線を吸収する(ステップG9、G1
0)。即ち、前の曲線を吸収する場合には今回の開始点
を消去すると共に(ステップG7)、今回の反転ドット
長を消去する(ステップG8)。一方、後の曲線を吸収
する場合には後の開始点を消去すると共に(ステップG
9)、後の曲線の反転ドット長を今回の曲線の反転ドッ
ト長として書き込む(ステップG10)。また、ステッ
プG5で後の曲線が最終の曲線であれば、前の曲線を吸
収するためにステップG7、G8が行われる。そして、
ステップG2に戻り、次に短い曲線をサーチし、上述の
動作を繰り返す。
【0030】図15はこの場合における図形情報メモリ
3bの内容を具体的に示したもので、図15の(1)の
左側に示す図形情報メモリ3bの内容において、最も短
い曲線は、開始点がP1となる曲線(2ドット)であ
り、それに隣接する前の曲線は3ドット、後の曲線は3
ドットであり、一致するので後の曲線を吸収することに
より図形情報メモリ3bの内容は図15の(1)の右側
に示す如くとなる。つまり、後の曲線の開始点P3と長
さは消去される。次に、図15の(1)の右側に示す図
形情報メモリ3bの内容において、最も短い曲線は開始
点がP0となる曲線(3ドット)であるが、この場合、
前の曲線は存在しないので、後の曲線を吸収する。この
ような動作が繰り返されることによって最終的に図形情
報メモリ3bの内容は図15の(2)に示すようにな
る。したがって、この図形情報メモリ3bの内容にした
がって図形を描画出力すると、上記第1実施例と同様に
図13で示したような滑らかな図形を得ることができ
る。この場合、本実施例においては全体的に曲線の長さ
が均一化する方向に向かうので図形データの最適化が可
能となる。
【0031】なお、上記各実施例はイメージ図形の輪郭
を走査することによって曲線毎にその開始点と長さを検
出して図形情報メモリ3bに格納する図形情報置換処理
を輪郭全体に対して行ったのち、図形情報補正処理を行
うようにしたが、処理効率の向上を図るためにこの図形
情報置換処理と図形情報補正処理とを並行して行うよう
にしてもよい。この場合、イメージ図形の輪郭上の任意
の1点を開始点とし、この開始点から1ドットづつ輪郭
上を走査し、その走査方向がX方向あるいはY方向で反
転して折り返した際に、開始点からこの折り返し点まで
の輪郭線を1つの曲線とし、この折り返し点から輪郭線
上を走査して反転方向の輪郭線の長さをこの曲線の反転
ドット長として検出すると共に、この折り返し点を次の
曲線の開始点とする。そして、検出された反転ドット長
が基準長以上か否かを判断し、基準長以上であれば、そ
れに対応する当該曲線を1つの曲線として確定する。基
準長未満であれば、当該曲線とそれに隣接する次の曲線
の開始点とを連結すると共に、当該曲線に連結された次
の曲線の反転ドット長を検出し、それらの反転ドット長
同士を比較し、長い方の反転ドット長を連結した曲線の
新たな反転ドット長とする。この新たな反転ドット長が
基準長以上か否かを判断し、基準長以上であれば連結し
た曲線を1つの曲線として確定する動作を繰り返すこと
によってイメージ図形を構成する輪郭を複数の曲線に対
応する図形データに変換するようにすればよい。また、
上記各実施例は基準長を4ドットとして設定したが、こ
のドット長は任意であり、また、ユーザがイメージ図形
等に応じて任意の基準長を設定できるようにしてもよ
い。
【0032】
【発明の効果】この発明によれば、イメージ図形を構成
する輪郭を複数の曲線に分割して座標データの集合によ
って表現される図形データに変換する際に、各曲線の反
転ドット長を検出し、この反転ドット長が予め設定され
ている基準長未満であれば、それに隣接する他の曲線を
当該曲線に吸収して滑らかな曲線に補正することができ
るので、荒い部分が無くなり、見栄えの良い図形を描画
することが可能となる。また曲線の数が少なくなってデ
ータの容量も減少し、またその後の図形データの修正も
容易となる。
【図面の簡単な説明】
【図1】実施例に係るイメージ図形処理機能を備えたワ
ードプロセッサのブロック構成図。
【図2】RAM3のメモリマップを示した図。
【図3】全体動作の概要を示したフローチャート。
【図4】図2のステップA1(図形情報置換処理)を詳
細に示したフローチャート。
【図5】図4のステップB7(y方向処理)を詳細に示
したフローチャート。
【図6】図4のステップB8(x方向処理)を詳細に示
したフローチャート。
【図7】図2のステップA2(図形情報補正処理)を詳
細に示したフローチャート。
【図8】図7のステップE7(次の曲線吸収処理)を詳
細に示したフローチャート。
【図9】イメージスキャナ6によって読み取られた変換
対象のイメージ図形を具体的に示した図。
【図10】図9で示したイメージ図形の一部拡大図。
【図11】図形情報置換処理によって変化する図形情報
メモリ3bの内容を示した図。
【図12】図形情報補正処理によって変化する図形情報
メモリ3bの内容を示した図。
【図13】図形情報メモリ3bの内容にしたがって描画
される図形の出力状態を説明するための図。
【図14】第2実施例に係る図形情報補正処理を示した
フローチャート。
【図15】第2実施例の図形情報補正処理によって変化
する図形情報メモリ3bの内容を示した図。
【図16】従来の図形描画例を示した図。
【符号の説明】
1 CPU 2 ROM 3 RAM 3b 図形情報メモリ 3c 基準長メモリ 3d アドレスポインタ 3e 反転Xドット長カウンタ 3f 反転Yドット長カウンタ 3g 符号メモリ 3h フラグレジスタ 5 CRT表示装置 6 イメージスキャナ 9 ビデオRAM 10 表示制御部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ビットマップ方式のイメージ図形を構成す
    る輪郭を複数の曲線に分割して座標データの集合によっ
    て表現される図形データに変換するイメージ図形変換装
    置において、 イメージ図形の輪郭上の任意の1点を開始点とし、この
    開始点から1ドットづつ輪郭上を走査し、 その走査方向がX方向あるいはY方向で反転して折り返
    した際に、その折り返し点から輪郭上を走査して反転方
    向の輪郭線の長さを反転ドット長として検出し、 この検出された反転ドット長に応じて開始点から折り返
    し点までの輪郭線を1つの曲線として確定するか否かを
    判断し、 この判断結果に応じて当該曲線を隣接する他の曲線に連
    結する、 ことによってイメージ図形を構成する輪郭を複数の曲線
    に対応する図形データに変換するようにしたことを特徴
    とするイメージ図形変換方法。
  2. 【請求項2】ビットマップ方式のイメージ図形を構成す
    る輪郭を複数の曲線に分割して座標データの集合によっ
    て表現される図形データに変換するイメージ図形変換装
    置において、 イメージ図形の輪郭上の任意の1点を開始点とし、この
    開始点から1ドットづつ輪郭上を走査し、 その走査方向がX方向あるいはY方向で反転して折り返
    した際に、開始点からこの折り返し点までの輪郭線を1
    つの曲線とし、この折り返し点から輪郭上を走査して反
    転方向の輪郭線の長さをこの曲線の反転ドット長として
    検出すると共に、この折り返し点を次の曲線の開始点と
    する動作を輪郭全体に対して行い、 各曲線に対応して検出された前記反転ドット長が予め決
    められている基準長以上か否かを判断し、基準長以上で
    あれば、それに対応する当該曲線を1つの曲線として確
    定し、基準長未満であれば、当該曲線とそれに隣接する
    次の曲線とを連結すると共に、それらの反転ドット長同
    士を比較し、その結果、長い方の反転ドット長を前記連
    結した曲線の新たな反転ドット長とし、 この新たな反転ドット長が前記基準長以上か否かを判断
    し、基準長以上であれば、前記連結した曲線を1つの曲
    線として確定する、 動作を繰り返すことによってイメージ図形を構成する輪
    郭を複数の曲線に対応する図形データに変換するように
    したことを特徴とするイメージ図形変換方法。
  3. 【請求項3】ビットマップ方式のイメージ図形を構成す
    る輪郭を複数の曲線に分割して座標データの集合によっ
    て表現される図形データに変換するイメージ図形変換装
    置において、 イメージ図形の輪郭上の任意の1点を開始点とし、この
    開始点から1ドットづつ輪郭上を走査し、 その走査方向がX方向あるいはY方向で反転して折り返
    した際に、開始点からこの折り返し点までの輪郭線を1
    つの曲線とし、この折り返し点から輪郭上を走査して反
    転方向の輪郭線の長さをこの曲線の反転ドット長として
    検出すると共に、この折り返し点を次の曲線の開始点と
    する動作を輪郭全体に対して行い、 各曲線に対応して検出された前記反転ドット長が予め決
    められている基準長以上か否かを判断し、基準長以上で
    あれば、それに対応する当該曲線を1つの曲線として確
    定し、基準長未満であれば、当該曲線とその前後に隣接
    する曲線同士の反転ドット長を比較し、短い方の曲線と
    当該曲線とを連結すると共に、連結した各曲線の反転ド
    ット長のうち長い方の反転ドット長を、前記連結した曲
    線の新たな反転ドット長とし、 この新たな反転ドット長が前記基準長以上か否かを判断
    し、基準長以上であれば、前記連結した曲線を1つの曲
    線として確定する、 動作を繰り返すことによってイメージ図形を構成する輪
    郭を複数の曲線に対応する図形データに変換するように
    したことを特徴とするイメージ図形変換方法。
JP04327494A 1994-02-18 1994-02-18 イメージ図形変換方法 Expired - Fee Related JP3520548B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04327494A JP3520548B2 (ja) 1994-02-18 1994-02-18 イメージ図形変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04327494A JP3520548B2 (ja) 1994-02-18 1994-02-18 イメージ図形変換方法

Publications (2)

Publication Number Publication Date
JPH07230545A true JPH07230545A (ja) 1995-08-29
JP3520548B2 JP3520548B2 (ja) 2004-04-19

Family

ID=12659247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04327494A Expired - Fee Related JP3520548B2 (ja) 1994-02-18 1994-02-18 イメージ図形変換方法

Country Status (1)

Country Link
JP (1) JP3520548B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063986A1 (ja) * 2003-01-14 2004-07-29 Max Co., Ltd 画像補正処理プログラムとドライバプログラムと画像出力装置とカッティングシステムとカッティングマシン

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02306380A (ja) * 1989-05-20 1990-12-19 Ricoh Co Ltd 図形ベクトル化処理方法及び装置
JPH03230201A (ja) * 1990-02-06 1991-10-14 Amada Co Ltd 加工形状データの圧縮処理方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02306380A (ja) * 1989-05-20 1990-12-19 Ricoh Co Ltd 図形ベクトル化処理方法及び装置
JPH03230201A (ja) * 1990-02-06 1991-10-14 Amada Co Ltd 加工形状データの圧縮処理方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063986A1 (ja) * 2003-01-14 2004-07-29 Max Co., Ltd 画像補正処理プログラムとドライバプログラムと画像出力装置とカッティングシステムとカッティングマシン

Also Published As

Publication number Publication date
JP3520548B2 (ja) 2004-04-19

Similar Documents

Publication Publication Date Title
JPH06328785A (ja) 文字生成方法及びその装置
JP3520548B2 (ja) イメージ図形変換方法
JP3993025B2 (ja) 文書画像変換方法、文書画像変換プログラム及び文書画像変換装置
JPH07230544A (ja) イメージ図形変換方法
JPH05242213A (ja) 線図作成装置
JP2000066658A (ja) 画像処理装置および記録媒体
JPH09188011A (ja) 記憶手段の管理装置及び記憶手段の管理方法
JPH06149465A (ja) 手書き入力装置
JP3350324B2 (ja) キャラクタ出力装置
JPH0830725A (ja) 画像処理装置及び方法
JP3567727B2 (ja) 画像処理方法および装置
JPH06266889A (ja) 文書認識装置
JPH08212306A (ja) 筆跡データ間引き方法、辞書作成方法及び文字認識装置
JPH0424758A (ja) 文書処理装置
JPH0216068A (ja) 像形成装置
JP2898041B2 (ja) 文字パターン作成装置
JPH0950534A (ja) 原稿イメージ出力装置
JPH1186008A (ja) 描画処理方法および描画処理装置
JPH06175637A (ja) 文字の生成方法
JP2000112955A (ja) 画像表示方法および画像ファイリング装置および記録媒体
JP2004151836A (ja) 文字認識方法
JPH08138068A (ja) 図形作成装置および図形作成方法
JPH06187416A (ja) 図形作成装置
JPH09127930A (ja) キャラクタ出力装置
JPH11282448A (ja) 画像処理方法および装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040126

LAPS Cancellation because of no payment of annual fees