JP2667833B2 - 図形編集装置及び方法 - Google Patents

図形編集装置及び方法

Info

Publication number
JP2667833B2
JP2667833B2 JP62228712A JP22871287A JP2667833B2 JP 2667833 B2 JP2667833 B2 JP 2667833B2 JP 62228712 A JP62228712 A JP 62228712A JP 22871287 A JP22871287 A JP 22871287A JP 2667833 B2 JP2667833 B2 JP 2667833B2
Authority
JP
Japan
Prior art keywords
point
display
stdata
contour
pos
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
Application number
JP62228712A
Other languages
English (en)
Other versions
JPS6471768A (en
Inventor
邦雄 瀬戸
千津子 山本
清 渡辺
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP62228712A priority Critical patent/JP2667833B2/ja
Priority to US07/242,138 priority patent/US5073957A/en
Priority to DE3844832A priority patent/DE3844832C2/de
Priority to DE3830990A priority patent/DE3830990A1/de
Priority to DE3844735A priority patent/DE3844735C2/de
Publication of JPS6471768A publication Critical patent/JPS6471768A/ja
Application granted granted Critical
Publication of JP2667833B2 publication Critical patent/JP2667833B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Dot-Matrix Printers And Others (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明は、画像の輪郭の注目点を編集する図形編集装
置及び方法に関する。 「従来の技術」 近年電算写植はもとより、より高密度化されたLSIを
用いたワークステーション、高解像度ビットマップ画像
データを出力可能なレーザービームプリンタ等の普及に
より、電子的な文書、図形の編集システムが開発されて
いる。このようなシステムにおいては予め用意しなけれ
ばならない文字図形パターンの多種多様さが要求され
る。つまり、多くの文字種、多くの書体、多くの出力サ
イズ等が要求され、これらを安価に実現するための方策
として、ビットパターンのラン・レングス圧縮、文字図
形のベクトルコーディング等が既に提案、実施されてい
る。ここで、圧縮方法はどうであれビットパターンで用
意する場合、上記の要求を広く満たすことは現実として
「不可能」であり、これをより幅広く満たすため近年で
はベクトルコーディングが一般化されつつある。ただ
し、ベクトルコーディングは出力に際する再生の美し
さ、十分なデータの圧縮度を得るためにはコーディング
に際し、非常に手間と審美的(単に数字的でない)精度
が要求される。上記要求を満たすため通常、図形パター
ンの編集装置を用いてベクトルデータを編集する。 しかしながら、従来のシステムにおいては編集中のデ
ータを直接表示するのみであり、その元となるデータを
表示することが不可能であった。このため、編集に際し
オペレータは編集中のデータが元となるデータに対しど
の程度の忠実性を持っているか判断することが困難であ
り、相当の熟練度が要求されたり編集作業が時間的に不
経済なものであった。 「目的」 以上の点に鑑み、本発明は、編集中の注目点に基づく
輪郭とオリジナルの画像の輪郭とを必要なときに比較し
ながら注目点の編集ができる図形編集装置及び方法を提
供することを目的とする。 「実施例」 以下、図面を用いて本発明に係る図形編集装置を詳細
に説明する。 第1−1図は本発明を適用した図形編集装置のブロッ
ク図である。尚、本発明における図形は文字、その他の
画像を含むものである。また、本発明の機能は実施例の
ように複数の機器から成るシステムにおいて達成されて
も良いし、単体の機器において達成されても良いことは
言うまでもない。 1は本装置の制御部であり、マイクロ・コンピュータ
2、RAM(Random Access Memory)、ROM等で構成される
内部メモリ6、ハード・ディスク、フロッピー・ディス
ク、あるいはカートリッジ・ディスク3、4、5等で構
成される外部記憶装置を備えている。 7は画像入力装置で、原稿台に載置された画像をCCD
等の撮像素子によって電気信号化(A/D変換)する原稿
リーダである。 8は画像出力部で、レーザビームプリンタ等の電気信
号化された情報に基き記録材上に像記録する高速プリン
タ9である。 10は本装置の制御情報等を表示するCRT装置であっ
て、本願発明の画像処理表示部である。 11はキーボードであって、これを操作することにより
本装置の動作指令などを行なう。また、12はCRT10上で
画像情報を加工指示するためのポインティング・デバイ
スで、CRT10上のカーソルをX、Y方向任意に移動して
コマンドメニュー上のコマンドイメージ等を選択してそ
の指示をしたり、CRT10上に表示された図形の任意の点
を座標情報として入力することができる。 13はVRAMで表示部10に表示すべきデータをビットマッ
プ上に展開している。 6はプログラム・メモリ(PMEM)で、編集処理のため
のプログラムを適宜ハード・ディスク3から選択し実行
する。 本装置により入力、演算処理を施したデータはイメー
ジメモリIMEM14上に展開することができ、前述出力部8
より出力する。 15はBMU(ビット・マニュピュレーション・ユニッ
ト)で、VRAM13、PMEM6、IMEM14相互間のデータ転送をC
PUを介さずに行うDMA転送が可能で、転送に際しビット
単位の論理演算、展開図形の回転、変倍等の機能を有し
ている。 第1−2図は第1−1図で示すようなシステムを用い
て本装置を実現したときのシステムブロック図である。 G0、G1、及びG2はグラフィックメモリとして第1−1
図IMEM14に各々別々に割り当てられており、画像入力装
置7から入力されるアナログ画像データはA/D変換して
2値化された後、先ずG0に一時記憶される。C1、C2、C
3、C4、C5、C6、C7及びC8は本装置を作動させるシステ
ムソフトウェアで、第1−1図3の外部記憶装置よりプ
ログラムとしてPMEM6に読み出され、MPU2により制御・
実行される。M1及びM2は輪郭抽出部C1より解読された点
情報及び注目点抽出部C2により抽出される注目点情報を
一時記憶するためのメモリで、PMEM6に必要に応じて領
域確保される。V0、V1は表示用のビデオメモリで、VRAM
13に割り当てられ、CRT10に表示するに際し、表示選択
部C3により各々を表示するか否か切り換え可能なもので
ある。 第2図(a)は前述の如く画像入力装置7より入力さ
れグラフィックメモリG0に一時記憶されたビットマップ
2値画像を示す。 第2図及び第3図フローチャートは輪郭抽出部C1によ
り、輪郭部分のビットのみを抽出する手段を示す。本輪
郭抽出方法において、最も重要な要素として、抽出され
る輪郭点は入力されたビットマップ画像(a)の輪郭の
「内のり」を抽出することである。もし、輪郭の「外の
り」を抽出すると、元の図形の画像部と非画像部の比率
を変化させてしまうことになるからである。 ここに第2図(b)、(c)、(d)、及び(e)は
IMEM14上に(a)と同じサイズの領域を確保した別領域
G1、(f)は同様に確保した別領域G2である。また、第
3図各ステップにおける転写は第1−1図BMU15を機能
させて以下に述べるビット単位の論理演算とともに、メ
モリのブロック転送を行うものである。つまり、転送元
メモリをS、転送先メモリをD、[and]は論理積を、
[or]は論理和を、はSの否定を行う論理演算とする
と、 である。 上記のように輪郭抽出されたビットマップ(f)を
(g)で示すような輪郭追跡マスクを用いて輪郭追跡を
行ない、(h)のようなベクトル点座標情報を得ること
ができる。(g)におけるは輪郭追跡の中心点、〜
は輪郭追跡に際し次の輪郭点を決定するための優先度
順を表している。 第2図(a)〜(f)及び(h)は本処理部分の説明
を行う目的で、簡略化してあるが、実際にはビットマッ
プサイズはこれより大きく、また、入力されるアナログ
画像は元来シャープなものでない為、第2図(i)に示
す如く直線部も、微細なノイズを含めたベクトル点の集
合となる。 前述の輪郭抽出部C1により求められた輪郭点は点座標
の集合として点座標記憶部M1に格納される。 第4図(a)及び(b)は点座標記憶部M1において輪
郭を表現する点座標の集合を記憶するための輪郭情報及
び点情報の構造を示す図である。両者は各々配列として
記憶されている。 第4図(a)輪郭情報は以下の2種のメンバ、即ち、
spnoは点情報配列に於ける輪郭開始点を表す配列の番
号、effcntは文字図形パターンを構成している点座標配
列の要素数を表す。 第4図(b)点情報は以下の6種のメンバ、即ち、st
noは後述第8図における注目点の集合の説明で述べる注
目点配列の配列番号を示す値で、初期値として−1がセ
ットされる。pgnoはその点が何番めの輪郭に属するかを
示す値、即ち、輪郭情報配列の配列番号。flagは後述の
整形、単純化のための操作を反映するためのフラグ情報
で、初期値として0がセットされる。posはその点の座
標情報を(x、y)で表す値。prnoとnxnoは点情報のつ
ながりを表す情報で、各々直前の点情報を示す点情報配
列の配列番号、及び直後の点情報を示す点情報配列の配
列番号がセットされる。 説明を具体化する為、第4図(c)に示すような文字
図形パターン「旺」を記憶した場合の輪郭情報と点情報
の内容を第4図(d)及び(e)に示す。 第4図(d)は(c)に示す文字図形パターン「旺」
が4つの輪郭で構成されていることを表しており、例え
ば輪郭の1番目stpoly[0]の場合、spnoには輪郭開始
点を表す点情報配列における配列の番号0を、effcntに
は1つ目の輪郭を構成する点座標配列の要素数aがセッ
トされる。 第4図(e)は(c)に示す文字図形パターン「旺」
を構成する点情報配列の内容を表しており、例えばP
[0]の場合、stdata[0]のstnoには初期値の−1、
pgnoには何番めの輪郭に属するかを示す0、flagには初
期値の0、posには点座標(x,y)、prnoには直前の点情
報を示すa−1及びnxnoには直後の点情報を示す1がセ
ットされる。 第9図は本システムがもつ各機能の実行開始を指定す
る機能選択部C4と表示の切換を指定する表示選択部C3を
示す図で、ポインティング・デバイス12、またはキーボ
ード11の入力により、その機能を任意に選択することが
できる。 ファンクション1が入力されるとプログラム1が作動
し、そのコマンドを実行することができる。例えば、注
目点抽出部C2により、ファンクション1に追加選択、フ
ァンクション2に新規選択、各機能実行部C5により、フ
ァンクション3に区間削除、ファンクション6に整列、
表示選択部C3により、ファンクション9にオリジナル表
示、ファンクション10に編集中のベクタ表示が割り当て
られている。 ファンクション1、またはファンクション2が入力さ
れると、後述第6図において説明する注目点を抽出する
プログラムが作動し、他のコマンドが指定されるまで連
続して注目点を抽出することが出来る。ファンクション
3が入力されると、後述第11図において説明する区間削
除を行うことができる。ファンクション6が入力される
と、後述第14図及び第15図において説明する整列を行う
ことができる。ファンクション9が入力されると、後述
第5図において説明する輪郭を表現する点座標の集合を
表示することができる。ファンクション10が入力される
と後述第13図において説明する輪郭を表現する点座標の
集合と、これに関連づけられた注目点の集合を直線で表
示することができる。これらは各機能実行部C5、及び表
示部C7及びC8にて実行される。 前述第9図においてファンクション9が入力される
と、表示選択部C3において表示部1 C7のオリジナル表示
が選択される。 第5図は輪郭を表現する点座標の集合を表示する表示
部1 C7の作用を説明するフローチャートで、step1では
表示する輪郭の順を制御する制御変数poly_noに初期値
として0がセットされる。 step2では第4図(d)に示す輪郭情報の終了を判定
し、輪郭終了の際は表示を終了する。 step3、step4、及びstep5は各輪郭開始点に於ける初
期設定で、変数st_no及びcur_noには輪郭開始点の点情
報配列番号、pos_eには前記輪郭開始点の座標値がセッ
トされる。 step6、step7、及びstep8はstep9における直線表示関
数LINEの引数として直線表示開始点pos_s、直線表示終
了点pos_eをセットする。 ここに関数LINE(V0,pos_s,pos_e)におけるV0は表示
メモリとして第1−2図V0を指定し、pos_s及びpos_eは
ともに前述表示メモリV0上の座標値(x,y)を表すもの
である。 step10は現在表示中の輪郭の終了を判定する繰り返し
制御部である。終了の場合、step11において制御変数po
ly_noを1加算してstep2へ制御を移し、終了でない場
合、即ち、輪郭が継続している場合、step6へ制御を移
す。 前述第9図においてファンクション1、またはファン
クション2が入力されると、注目点抽出部C2が起動さ
れ、点座標の集合より1つ、または複数の注目点を抽出
することができる。 第6図は点座標の集合より1つ、または複数の注目点
を抽出する注目点抽出部C2を説明するフローチャートで
ある。演算子[ ]はA[B]としたとき、配列Aにお
ける配列要素Bの内容を取り出し、演算子 . はA.B
としたとき、データAに属するメンバBの内容を取り出
す。 step1は初期設定である。即ち、ポインティング・デ
バイス12によって表示部のある1点として指定された座
標値をposにセットする。検索する輪郭の順を制御する
制御変数poly_noに0をセットする。抽出されるべき座
標点候補とposとの2点間の距離を表す変数minに十分に
大きい値として10000をセットする。また、本フローの
終了時にセットされる注目点配列番号を変数noに対し初
期値として−1をセットする。これはフローで該当する
注目点が得られなかった場合、そのままエラー値とする
ためである。 step2は第4図(d)に示す輪郭情報の終了を判定
し、輪郭終了の際は後述のstep13へ制御が移る。 step3は各輪郭開始点における初期設定で、点情報配
列の順を制御する制御変数st、及び変数snには輪郭開始
点の点情報配列番号がセットされる。 step4及びstep5はpos及び判定の対象となる現在座標s
tdata[st].posの(x,y)座標値各々が表示部の文字図
形パターンを構成する座標系の範囲内にあるか否か、各
成分毎の距離を比較する関数EXTENTを実行する。その結
果が偽(=0)ならば後述のstep10へ、結果が真(=
1)ならば次のステップへ制御が移る。 step6は候補となる点座標が既に削除されているか否
かの判定を行い、削除されている点ならば後述のstep10
に制御を移す。 step7は比較対象になっている点情報配列中の座標値s
tdata[st].posと前述ポインティング・デバイスによ
り指定された座標値posとの2点間の距離を計算し、そ
の結果を変数distにセットする。 step8は前述の変数minとstep7により得られた変数dis
tを比較する。dist<minが成り立つ場合、step9にて代
入計算min=dist及びno=stを実行する。即ち、変数no
にはその時点での抽出点候補の点情報配列番号がセット
される。step10は制御変数stに次の点情報配列番号stda
ta[st].nxnoを代入し、step11は現在検索中の輪郭の
終了を判定する繰り返し制御部である。終了の場合、st
ep12において制御変数poly_noを1加算し、step2へ制御
を移し、終了でない、即ち、輪郭が継続している場合、
step4へ制御を移す。 step13は以上の演算により、抽出点が得られたか否か
を判定する。つまり、step13においてnoの値が−1であ
れば、該当する抽出点は存在しないことが判定され、こ
の場合、step16にて警告音を出す等する。 step14は本処理において新たに注目点が抽出された場
合の後述第8図に示す処理である。 step15は注目点として抽出されたことを、後述第7図
に示す図のように、画面上に小円を表示する等する。 第8図は文字図形パターン「旺」を表現する点座標の
集合M1と、注目点として第6図で示された手段によって
stdata[n]、stdata[n+a]、stdata[n+b]、
stdata[n+c]、及びstdata[n+d]が抽出された
場合の、注目点の集合M2を関連させる構造を示す図であ
る。また、前述第6図の説明におけるstep15の1例を第
7図に示す。 注目点の集合は前述第4図(b)において説明される
点情報と同様な構造を持つ情報の配列として記憶される
が、注目点の集合の場合、メンバprnoには注目点として
点情報配列のどの要素が抽出されたのか関連させるため
の点情報配列番号がセットされる。また、その時点での
注目点配列要素数を表す変数cstcntがあり、初期値とし
て0がセットされる。 第6図に示す手段によって抽出された点の点情報配列
番号がn、その時点での変数cstcnt=jであった場合、
第8図に示す如く、点座標情報stdata[n]及び注目点
情報stackp[j]には、以下のように両者を関連させる
情報が各々セットされる。 即ち、注目点配列jにおける情報として、stackp
[j].flagに抽出された点のstdata[n].flag、stac
kp[j].posにstdata[n].pos、及びstackp[j].p
rnoに点情報配列番号nが記録される。また、点情報配
列nにおける情報としてstdata[n].stnoにはその時
点での注目点配列要素数cstcntの内容(=j)がセット
されると同時にstdata[n].flagには注目点として抽
出されたことを示すフラグビットOR_SELがセットされ
る。 以降、点stdata[n]に対し後述する整形、単純化の
為の操作が与えられた場合にはstackp[j]の内容が更
新される。さらに編集の終了など注目点配列の内容を点
情報配列に反映させる場合はstackp[cstcnt]の内容を
stdata[stackp[cstcnt].prno]にセットすれば良い
ことになる。 第10図は指定された操作を行う区間を注目点記憶部M2
より特定するための手段を説明するフローチャートであ
る。 step1は本機能の初期設定である。即ち、ポインティ
ング・デバイス12によって表示部のある1点として指定
された座標値をposにセットする。検索する注目点配列
の順を制御する制御変数st_noに0をセットする。区間
を特定されるべき座標候補点とposとの2点間の距離を
表す変数minに十分に大きな値として10000をセットす
る。また、本フローの終了時にセットされる注目点配列
番号を変数noに対し初期値として−1をセットする。こ
れはフローで該当する注目点が得られなかった場合、そ
のままエラー値とするためである。 step2は前述注目点配列要素数cstcntと比較すること
によって、現在検索中の注目点配列の終了を判定する。 step3は注目点配列要素中の点情報配列番号を変数o_n
oにセットする。 step4は候補となる点座標が、注目点として抽出され
ていたか否かを判定し、抽出されていなかったならば、
本機能として適当でないので終了する。 step5は候補となる点座標が既に削除されているか否
かの判定を行い、削除されているならば、後述のstep11
へ制御を移す。 step6、step7はpos及び判定の対象となる現在座標sta
ckp[st_no].posの(x,y)座標値各々が、表示部の文
字図形パターンを構成する座標系の範囲内にあるか否
か、各成分毎の距離を比較する関数EXTENTを実行する。
その結果が偽(=0)ならば、範囲外であり、後述のst
ep11へ制御を移し、結果が真(=1)ならば範囲内にあ
り、次のステップへ制御が移る。 step8は比較対象になっている注目点配列中の座標値s
tackp[st_no].posとposの2点間の距離を計算し、そ
の結果を変数distにセットする。 step9は前述の変数minとstep8により得られた変数dis
tを比較する。dist<minが成り立つ場合、step10におい
て代入計算min=dist、no=st_noを実行する。即ち、変
数noにはその時点での区間を特定するための注目点配列
番号がセットされる。 step11はstep2において注目点配列が終了であると判
断されるまで、制御変数st_noを1加算し、step2へ制御
を移す。 前述第9図においてファンクション3が入力される
と、各機能実行部C5が起動され、区間削除を行うことが
できる。 第11図は輪郭を表現する点座標の集合と、これに関連
づけられた注目点の集合に対し、指定された操作を反映
させる構造を示す図である。 以下、指定された操作が区間削除の場合の処理を第11
図における図を用いて説明する。 stdata[n]から、stdata[n+m]までのデータの
うち、第6図に示す手段を用いて、例えば注目点stdata
[n+a]、stdata[n+b]、stdata[n+c]、及
びstdata[n+d]を抽出する。これらを抽出する順番
は任意で良いが、説明簡単のためこの4点を抽出する直
前の変数cstcnt=j、4点がn+a、n+b、n+c、
n+dの順に抽出された場合を仮定する。例えば、座標
点stdata[n+a]が抽出され、注目点情報stackp
[j]と関連づけられる方法は前述第8図において説明
したとおりである。本処理の直後、変数cstcntは1加算
され、同様に座標点stdata[n+b]、[n+c]、
[n+d]が抽出された後、変数cstcntには値j+4が
セットされることになる。 次に、ポインティング・デバイス12により、点n+
a、n+bで結ばれた直線上に近い任意の点が指定され
ると、第10図で示した手段を用いて点情報配列てのシー
ケンスにおいて直前の注目点、即ち、stdata[n+a]
と直後の注目点、即ち、stdata[n+b]が指定された
操作を行う区間として、注目点の集合より特定される。 区間が特定されると、stdata[n+a]からstdata
[n+b]までの点座標全てを結んでいた直線群が消去
され、新たにstdata[n+a].posとstdata[n+
b].posを結ぶ直線が表示される。点座標の集合stdata
と注目点の集合stackpに本操作を反映させる場合、以下
の2段階の処理を行う。まず第1段階として、stdata
[n+a]に対応する注目配列のstackp[j].flag
に、区間削除開始フラグ(ST_SDEL)を、stdata[n+
b]に対応する注目点配列のstackp[j+1].flagに
区間削除終了フラグ(ST_EDEL)をセットする。次に、
ポインティング・デバイス12で新たに区間が指定される
か、ファンクションキーによって他のコマンドが選択さ
れると、第2段階として第12図に示すように、stackp
[j].flagから区間削除開始フラグ(ST_SDEL)が消去
され、stackp[j+1].flagから区間削除終了フラグ
(ST_EDEL)が消去される。また、stdata[n+a+
1]からstdata[n+b−1]までのflagに削除フラグ
(OR_DEL)がセットされる。このように2段階で行う理
由はオペレータが誤って、意図する以外の区間を指定し
た場合の回復のためであり、次の動作を起す前であれ
ば、可逆であることを目的としている。また、区間削除
コマンドは他のコマンドが新たに指定されるまで連続指
定が可能であり、ポインティング・デバイス12により他
の区間、例えばstdata[n+b]とstdata[n+c]の
間、stdata[n+c]とstdata[n+d]の間が指定さ
れると、以上の処理を繰り返し行うことが出来る。 前述第9図においてファンクション6が入力される
と、各機能実行部C5が起動され、指定された区間におい
て整列を行うことができる。 第14図及び第15図は特定された注目点の座標を、基準
となる座標値の座標成分と置き換え、かつ、前述区間内
にある点座標の集合を全て省略するための構造を示した
図である。 第14図に示す図で、例えば点A、B、C、‥‥、Lに
ついて、区間AB、CD、KLをある太さを持った水平線、区
間DE、FG、HI、JKをある太さを持った垂直線として編集
し、区間AB、CD、KLを任意のy座標に整列させ、区間の
中の輪郭上の点を削除、区間DE、FG、HI、JKを任意のx
座標に整列させ、区間の中の輪郭上の点を削除する場合
を例として以下に示す。 stdata[n]から、stdata[n+m]までのデータの
うち、第6図に示す手段を用いて、例えばAの近辺の点
stdata[n+a]、Bの近辺の点stdata[n+b]、‥
‥、Lの近辺の点stdata[n+1]を抽出する。これを
抽出する順番は任意で良いが、説明簡単のためこの12点
を抽出する直前の変数cstcnt=j、12点がn+a、n+
b、‥‥、n+1の順に抽出された場合を仮定する。例
えば、座標点stdata[n+a]が抽出され、注目点情報
stackp[j]と関連づけられる方法は前述第8図におい
て説明したとおりである。本処理の直後、変数cstcntは
1加算され、同様に座標点stdata[n+b]、‥‥、st
data[n+1]が抽出された後、変数cstcntには値j+
12がセットされることになる。この状態でポインティン
グ・デバイス12、またはキーボード11によってファンク
ション6が入力され整列のコマンドが選択されると画面
上の矢印カーソルがクロスヘアカーソルになり、例え
ば、区間ABの直線上に近い任意の点が前述カーソルによ
って指定された場合、第10図で示した手段を用いて点情
報配列でのシーケンスにおいて直前の注目点、即ち、st
data[n+a]と直後の注目点、即ち、stdata[n+
b]が指定された操作を行う区間として、注目点の集合
より特定される。 ただし、この場合本機能では変更をすべき座標成分を
特定する手段を以下の方法で決定している。即ち、第16
図において図中のクロスヘアカーソルの位置が基準座標
として固定され、P1とP2の間が指定された操作を行う区
間として特定された場合、各々の(x、y)座標を用い
て、slp=(P1.pos.y−2P.pos.y)/(P1.pos.x−2P.po
s.x)、slp=slp*slpの計算式が実行される。slpの値
が、0.25以下ならばy座標の整列とみなし、それ以外は
x座標の整列とみなす。従って、P1とP2はP1′とP2′の
ようにX座標に整列される。ただし、斜線で示した部
分、即ち、slpの値が、0.25以上かつ4以下の場合につ
いてはx座標y座標のどちらに整列するべきか判断しか
ねるため、このコマンドは何もしない。 上記により、第14図においてstdata[n+a]とstda
ta[n+b]の間が特定されるとslp=(stdata[n+
a].pos.y−stdata[n+b].pos.y)/(stdata[n
+a].pos.x−stdata[n+b].pos.x)、slp=slp*
slpの計算式が実行され、slpの値は容易に0.25以下であ
ると判断出来るのでy座標に整列される。この整列の処
理は第11図及び第12図において説明する区間削除の機能
と点の移動という機能により構成されている。従って、
stdata[n+a+1]からstdata[n+b−1]までを
区間削除の機能を用いるため、stackp[j].flagに区
間削除開始フラグ(ST_SDEL)が、stackp[j+1].fl
agに区間削除終了フラグ(ST_EDEL)がセットされる。
さらに、変更すべき座標成分のstdata[n+a].pos.y
の値と基準となる座標成分のpos.yの値が違っているな
らば、注目点配列の内容が点情報配列に反映される際、
点が移動していることを表すためにstackp[j].flag
に点移動フラグ(ST_MOV)がセットされ基準となる座標
成分posの中味が変更すべきstackp[j].posにセット
される。この点移動の処理はstdata[n+b]について
も同様である。 本コマンドは別のファンクションが選択されるまで連
続指示が可能であるので注目点配列の内容が点情報配列
に反映されるのは次の区間が特定された場合と別のファ
ンクションキーが入力された場合である。この時の処理
は第11図及び第12図の説明で述べた区間削除の場合と同
様である。但し、点の移動についてはstackp[j].pos
の値がstdata[n+a].posにセットされ、stackp
[j].flagから点移動フラグ(ST_MOV)が消去され
る。反映された結果を第15図に示す。 また、クロスヘアカーソルで基準座標が固定されて
も、キーボード11の矢印キーにより上下左右に1ドット
ずつ移動させて微調整を行うことができる。この時、基
準座標からのカーソルの移動量が画面の所定の位置に表
示される。従って区間ABを整列した後、矢印キーによっ
て区間CDまで移動させると、結果的にstdata[n+
c].pos.y−stdata[n+b].pos.yとして、文字図形
パターンの直線の太さを求めることができる。この処理
により、他の直線について整列する場合においても容易
に直線の太さを均一にすることが可能となる。 以上区間ABを例にして述べたが、他の区間についても
同様である。 前述第9図においてファンクション10が入力される
と、表示選択部C3において表示部2 C8の編集中のベクタ
表示が選択される。 第13図は輪郭を表現する点座標の集合と、これに関連
づけられた注目点の集合を直線で表示する表示部の作用
を説明するフローチャートである。 step1は表示する輪郭の順を制御する制御変数poly_no
に初期値として0がセットされる。 step2は第4図(d)に示す輪郭情報の終了を判定
し、輪郭終了の際は表示を終了する。 step3、step4は各輪郭開始点における初期設定で、変
数st_noには輪郭開始点の点情報配列番号、pos_eには前
記輪郭開始点の座標値がセットされる。 step5、step6はstep7において直線を表示する点座標
が削除点か否か判定するため変数cur_noには点情報配列
番号として、stdata[st_no].nxno、変数p_noには注目
点配列番号として、stdatas[cur_no].stnoがセットさ
れる。 step7において、その点座標が削除点として判断され
た、即ち、削除フラグ(OR_DELまたはST_DEL)がセット
されている場合はstep5へ制御を移す。削除点でないと
判断された場合はstep8において、step12における直線
表示関数LINEの引数として、直線表示開始点pos_sをセ
ットする。ここに関数LINE(V0,pos_s,pos_e)における
V0はグラフィックメモリ(例えば第1−1図VRAM13)の
アドレス等を含む出力先を特定する値、pos_s及びpos_e
は前述グラフィックメモリ上の座標値(x,y)を表すも
のである。 step9は直線表示終了点が、注目点として抽出されて
いるか否かを判定し、注目点の場合はstep11においてpo
s_eにstackp[p_no].posをセットし、注目点の場合はs
tep10においてpos_eにstdata[cur_no].posをセットす
る。 step12は前述までに得られたpos_s、pos_eを用いて直
線を表示する。 step13は現在表示中の輪郭の終了を判定する繰り返し
制御部である。終了の場合、step14において制御変数po
ly_noを1加算してstep2へ制御を移し、終了でない、即
ち、輪郭が継続している場合、step5へ制御を移す。 前述第9図においてファンクション9またはファンク
ション10が入力されると、表示選択部C3が起動され、フ
ァンクション9の場合、表示部1 C7によりオリジナル表
示を、ファンクション10の場合、表示部2 C8により編集
中のベクタを表示することができる。 表示部1 C7は点情報記憶部M1の情報を表示メモリ0 V0
に表示する。表示すためのフローチャートは前述第5図
において説明したとおりである。また、表示部2 C8は注
目点記憶部M2の情報を表示メモリ1 V1に表示する。表示
するためのフローチャートは前述第13図において説明し
たとおりである。 さらに、前述表示切換部C3によ、表示するVRAM13の変
換を行ない、オリジナルを表示するまたは表示しない、
編集中のベクタを表示するまたは表示しないを独立に選
択できる。 このコマンドにより、現在編集中のものとオリジナル
を容易に比較することができ、基の文字図形パターンに
より近い文字図形パターンへと編集が可能になる 「他の実施例」 第1−1図画像入力用リーダ7は元となるアナログ図
形をデジタル変換可能な機器であればその種類を問わな
い。また、本実施例では画像入力用リーダよりアナログ
・デジタル変換された図形より、輪郭上の点座標を抽出
するとなっているが、元々デジタルデータで作成された
ビットマップデータであっても構わない。つまり、例え
ばワークステーションや本装置を構成している機器が持
つデジタル図形編集機能を用いて作成された図形より再
び本件の編集に供するものであってもよい。 表示用メモリ13及び表示装置10はVRAMやビットマップ
ディスプレイに限らない。例えば、VRAMを持たず、コマ
ンド解釈型のラスタ走査、または蓄積型表示装置でもよ
い。ポインティング・デバイスはライトペン等であって
もよく、また、キーボード等を用いてこれに代用可能な
場合、特になくても構わない。BMU15も特別なハードウ
ェアを用意しなくてもソフトウェアで制御されるメモリ
転送手段があれば構わない。以上のように本実施例の機
器構成は本図形装置を高速化するための手段として用意
されたものが多く、これらをより安価な機器に置き換え
る、または省略することも可能である。 「効果」 以上詳述したように、本発明によれば、編集中の注目
点に基づく輪郭とオリジナルの画像の輪郭とを必要なと
きに比較しながら注目点の編集ができる。
【図面の簡単な説明】 第1−1図及び第1−2図は本発明の実施例に係る図形
編集装置のシステムブロック図、 第2図及び第3図は輪郭部分のビットのみを抽出するた
めの構造及びフローチャート、 第4図(a)〜(e)は輪郭を表現する点座標の集合を
記憶するための構造を示す図、 第5図は輪郭を表現する点座標の集合を表示するための
フローチャート、 第6図は点座標の集合より1つ、または複数の注目点を
抽出するためのフローチャート、 第7図は注目点を表示した場合の図、 第8図は輪郭を表現する点座標の集合と注目点の集合を
関連させるための構造を示す図、 第9図は整形、単純化のための操作を指定するための構
造を示す図、 第10図は指定された操作を行う区間を注目点の集合より
とくていするためのフローチャート、 第11図及び第12図は輪郭を表現する点座標の集合とこれ
に関連付けられた注目点の集合に対し指定された操作を
反映させるための構造を示した図、 第13図は輪郭を表現する点座標の集合とこれに関連付ら
れた注目点の集合を直線で表示するためのフローチャー
ト、 第14図及び第15図は指定された区間において変更をすべ
き座標成分を特定するための構造を示した図、 第16図は前述特定された注目点の座標を前述基準となる
座標値の座標成分と置き換え、かつ、前述区間内にある
点座標の集合をすべて省略するための構造を示した図で
ある。 C1は輪郭抽出部、 M1は点座標記憶部、 M2は注目点記憶部、 C2は注目点抽出部、 13は表示メモリである。
フロントページの続き (56)参考文献 特開 昭60−169895(JP,A) 特開 昭58−192127(JP,A) 特開 昭62−202286(JP,A) 特開 昭61−265970(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.画像を入力する入力手段と、 前記入力手段により入力された画像の輪郭の注目点を抽
    出する抽出手段と、 前記抽出手段により抽出された注目点を編集する編集手
    段と、 前記編集手段により編集された注目点に基づく輪郭を表
    示する表示手段と、 前記表示手段に前記画像の輪郭を表示するか否かを指示
    する指示手段と、 前記編集手段により編集された注目点に基づく輪郭が表
    示されている前記表示手段に、前記指示手段による指示
    に基づき前記画像の輪郭を表示させる、或いは、表示さ
    せない手段とを有することを特徴とする図形編集装置。 2.画像を入力する入力工程と、 前記入力工程により入力された画像の輪郭の注目点を抽
    出する抽出工程と、 前記抽出工程により抽出された注目点を編集する編集工
    程と、 前記編集工程により編集された注目点に基づく輪郭を表
    示手段に表示させる表示工程と、 前記表示手段に前記画像の輪郭を表示するか否かを指示
    する指示工程と、 前記編集工程により編集された注目点に基づく輪郭が表
    示されている前記表示手段に、前記指示工程による指示
    に基づき前記画像の輪郭を表示させる、或いは、表示さ
    せない工程とを有することを特徴とする図形編集方法。
JP62228712A 1987-09-13 1987-09-13 図形編集装置及び方法 Expired - Fee Related JP2667833B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP62228712A JP2667833B2 (ja) 1987-09-13 1987-09-13 図形編集装置及び方法
US07/242,138 US5073957A (en) 1987-09-13 1988-09-09 Graphic editing system
DE3844832A DE3844832C2 (de) 1987-09-13 1988-09-12 Zeichenaufbereitungsvorrichtung
DE3830990A DE3830990A1 (de) 1987-09-13 1988-09-12 Zeichenaufbereitungssystem
DE3844735A DE3844735C2 (de) 1987-09-13 1988-09-12 Zeichenaufbereitungssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62228712A JP2667833B2 (ja) 1987-09-13 1987-09-13 図形編集装置及び方法

Publications (2)

Publication Number Publication Date
JPS6471768A JPS6471768A (en) 1989-03-16
JP2667833B2 true JP2667833B2 (ja) 1997-10-27

Family

ID=16880629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62228712A Expired - Fee Related JP2667833B2 (ja) 1987-09-13 1987-09-13 図形編集装置及び方法

Country Status (1)

Country Link
JP (1) JP2667833B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192127A (ja) * 1982-05-05 1983-11-09 Sanyo Electric Co Ltd ワ−ドプロセツサ
JPS60169895A (ja) * 1984-02-15 1985-09-03 オリンパス光学工業株式会社 外字作成方法
JPS61265970A (ja) * 1985-05-20 1986-11-25 Toshiba Corp デイジタル画像形成装置
JPS62202286A (ja) * 1986-03-03 1987-09-05 Hitachi Ltd 画像処理装置の例示装置

Also Published As

Publication number Publication date
JPS6471768A (en) 1989-03-16

Similar Documents

Publication Publication Date Title
US4745561A (en) Character font pattern editing system for modification of font patterns
EP0494106B1 (en) Apparatus for displaying display regions on a visual display
JPS6035703B2 (ja) デ−タ編集方法
JPH0147824B2 (ja)
JP2835791B2 (ja) 図形処理装置
JPH0221024B2 (ja)
JP2667833B2 (ja) 図形編集装置及び方法
JP2667834B2 (ja) 図形編集装置及び方法
JPH0565906B2 (ja)
JPH0747328B2 (ja) 図形編集方法
US5073957A (en) Graphic editing system
JP2825273B2 (ja) 図面管理方法及び装置
JP2969707B2 (ja) 画像編集装置
JP2972916B2 (ja) 罫線出力機能を有する文書編集装置
JPS59124855A (ja) 貼込み文字作成方法
JP2813058B2 (ja) 数値制御情報作成装置
JPH0620021A (ja) 図形処理方法および装置
JPH0343663B2 (ja)
JPH0366157B2 (ja)
JP2815364B2 (ja) Cad装置
JP2022043435A (ja) 帳票分類装置及びプログラム
JPH02275576A (ja) 部品リスト作成装置
JPH0696080A (ja) マルチウィンドウ機能を有する文書作成装置及びマルチウィンドウサイズ変更方法
JP2830113B2 (ja) 図面入力方法
JPH0620025A (ja) 文字図形処理方法および装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees