JPH087794B2 - 画像処理方法 - Google Patents

画像処理方法

Info

Publication number
JPH087794B2
JPH087794B2 JP1208630A JP20863089A JPH087794B2 JP H087794 B2 JPH087794 B2 JP H087794B2 JP 1208630 A JP1208630 A JP 1208630A JP 20863089 A JP20863089 A JP 20863089A JP H087794 B2 JPH087794 B2 JP H087794B2
Authority
JP
Japan
Prior art keywords
outline
vector
outline vector
filling
image processing
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
JP1208630A
Other languages
English (en)
Other versions
JPH0371377A (ja
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP1208630A priority Critical patent/JPH087794B2/ja
Priority to US07/524,428 priority patent/US5073960A/en
Publication of JPH0371377A publication Critical patent/JPH0371377A/ja
Publication of JPH087794B2 publication Critical patent/JPH087794B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 〈産業上の利用分野〉 この発明は、図形の輪郭をアウトラインベクトルで表
わし、このアウトラインベクトルからアウトラインを作
成して、このアウトラインの内部を塗りつぶすようにし
た画像処理装置に関する。
〈従来の技術〉 図形の任意領域を塗りつぶす方法としては従来からシ
ードフィルやスキャンフィルが知られており、シードフ
ィルは多くの画像処理プロセッサーに採用されている
が、スキャンフィルと比べて処理速度が遅いという欠点
がある。
スキャンフィルは第5図に示すように、塗りつぶした
い図形の輪郭をアウトラインベクトルで示し、このアウ
トラインベクトルの向きを、その左側を塗りつぶすと図
形が塗りつぶされるように設定する。例えば、第6図
(a)に示す元データから第6図(b)に示すアウトラ
インベクトルを作成する。そして、このアウトラインベ
クトルから第7図(a)に示すようなアウトラインを作
成し、X方向へスキャニングして、水平走査線と、この
アウトラインとの奇数回目の交差で塗りつぶしを開始
し、偶数回目の交差で塗りつぶしを中止して、第7図
(b)に示すような図形を得るようになっている。
このようなスキャンフィルにより図形を塗りつぶすよ
うにした画像処理方法としては、従来、特公昭53-41017
号公報に示すようなものがある。この画像処理方法はア
ウトラインベクトルから周知のブレーゼンハムのアルゴ
リズムに従ってアウトラインを作成し、例えば第8図
(a)、第9図(a)および第10図(a)に示すような
アウトラインを得るようにしている。
そして、X方向へスキャニングして、水平走査線とこ
れらのアウトラインとの奇数回目の交差の際に塗りつぶ
しを開始し、交差した画素も含めて塗りつぶし、偶数回
目の交差の際に塗りつぶしを中止し、交差した画素まで
塗りつぶすようにしている。
ところで、上記従来の画像処理方法では、アウトライ
ンを作成する場合、第8図(a)における頂部や第9図
(a)における中央部のようにアウトラインベクトルが
同一画素上に重なった場合には、その画素の位置がアウ
トラインとなる。このため、水平走査線がこのアウトラ
インと交差すると、その画素を含めてその右側の画素を
すべて塗りつぶすことになり、第8図(b)や第9図
(b)に示すような塗りつぶしの誤りが生じる。また、
第10図(a)のようにスキャン方向と平行なアウトライ
ンが作成された場合、そのアウトラインが、走査線が交
差する最初の画素から数えて奇数番目の画素で終ってい
る場合には、その奇数番目の画素の右側の画素も塗りつ
ぶされるため第10図(b)に示すような塗りつぶしの誤
りが生じる。
このような誤りを発生しないようにするため、従来
は、例えば、第7図(a)に示すように、頂部のアウト
ラインからX軸方向に1ドットずれた画素の位置をもア
ウトラインとするような処理をしていた。また、スキャ
ン方向と平行なアウトラインにあっては長さが偶数ドッ
トとなるようにするか始点と終点だけをプロットする処
理をしていた。しかしながら、このようにした場合に
は、この処理を行うホストの処理速度が遅くなりホスト
の負荷も大きくなる。また、ベクトルフォントに上記処
理を施して得られたアウトラインをマスクROMなどのメ
モリに入れておき、そのアウトラインを縮小したり回転
した場合、例えば、第11図(a)に示すアウトラインを
第11図(b)に示すように縮小した場合に、上述したよ
うな塗りつぶしの誤りが発生することがある。また、例
えば第12図(a)に示すアウトラインに上記処理を施す
と第12図(b)のようなアウトラインとなるが、これを
塗りつぶすと第12図(c)のようになり、第12図(a)
で示す図形から形状の異なる図形ができてしまう。
このように塗りつぶしを行なった場合に誤りが発生し
たり、形状が異なったりするアウトラインとしては第13
図に示すものが典型的な例としてあげられる。第13図
(a),(b)に示すアウトラインは第8図(a)や第
10図(a)に示したアウトラインと同種のアウトライン
であり、第13図(c)は同一画素を2つの境界が共有す
る場合、第13図(d)は第13図(c)の極限として2つ
の境界が全く一致する場合を示している。そして、丸印
で囲ったアウトラインが誤りの原因となるアウトライン
を示している。
このように、上記従来の画像処理方法では、アウトラ
イン作成時に第13図に示すようなアウトラインを作成す
るため、このアウトラインに、図形塗りつぶしの際に誤
りを発生しないようにするための処理を施す必要が生
じ、処理速度が遅くなるという問題があった。また、上
記処理を施すために、塗りつぶしたあとの図形の形状が
元の図形の形状と大きく異なってしまい、ドットフォン
トよりも変倍、回転が容易でフォントが美しいベクトル
フォントの特徴を十分生かすことができないという問題
があった。
そこで、本発明者は、このような問題をなくすため
に、かつて、第14図から第18図に示す画像処理方法を提
案した。
第14図(a)および第15図(a),(b),(c),
(d)はこの画像処理方法により作成されたアウトライ
ンの例であり、それぞれ、上記従来例における第8図
(a)および第13図(a),(b),(c),(d)に
対応したものである。
これらのアウトラインに示すようにこの画像処理方法
は、アウトラインベクトルのY軸方向の変化量が負であ
れば上記従来例と同様ブレーゼンハムのアルゴリズムに
従ってアウトラインを作成し、アウトラインベクトルの
Y軸方向の変化量が零であれば、すなわちX軸に対して
平行であれば、アウトラインを作成せず、アウトライン
ベクトルのY軸方向の変化量が正であればブレーゼンハ
ムのアルゴリズムで決定される位置からX軸方向に1ド
ットシフトした位置にアウトラインを作成するようにな
っている。
そして、X軸方向にスキャニングして、アウトライン
と水平走査線との奇数回目の交差の際に塗りつぶしを開
始し、交差した画素も含めて塗りつぶし、偶数回目の交
差の際に塗りつぶしを中止して、偶数回目に交差した画
素の直前の画素までを塗りつぶすようになっている。こ
のように塗りつぶすことにより上記アウトラインで示さ
れる図形はそれぞれ第14図(b)および第16図(a),
(b),(c),(d)に示すように塗りつぶされる。
従って、従来例における第8図(b)、第9図
(b)、第10図(b)に示すような塗りつぶしにおける
誤りが生じることがなく、第12図に示すような図形の変
形が生じることもない。
第17図はアウトラインベクトルデータから上記アウト
ライン(ラスターデータ)を作成するための回路の構成
を示すブロック図であり、第18図はこの回路の動作を示
すフローチャートである。
第17,18図において、まずマスクROMなどにストアされ
たアウトラインベクトルデータとsinθ,cosθ,Sx(x方
向変倍率)、Sy(y方向変倍率)などのアフィン変換パ
ラメータがDDA(ディジタル微分解析機)の前処理部41
に入力される。このDDAの前処理部41は内蔵した乗算器
と加算器によって、上記アフィン変換パラメータにもと
づいてアウトラインベクトルデータの回転、変倍、傾斜
などのアフィン変換処理を行なう。そして、アフィン変
換処理が済んだアウトラインベクトルデータをx,y絶対
アドレスに変換したのち、ブレーゼンハムのアルゴリズ
ムの前処理を行う。このブレーゼンハムのアルゴリズム
の前処理において、Δyが正であればカレントポインタ
を1ドットx方向にシフトし、Δyが零であれば描画せ
ず、Δyが負であればブレーゼンハムのアルゴリズムの
前処理をするだけでカレントポインタはシフトしない。
次に、この処理したデータをブレーゼンハムの描画部42
に出力する。
このブレーゼンハムの描画部42は上記DDAの前処理部4
1から出力されたデータを内部出力バッファにブレーゼ
ンハムのアルゴリズムに従って書き込む。この場合、Δ
yによる処理はDDAの前処理部41で行われているのでブ
レーゼンハムの描画部42では意識しなくてもよい。
上記ブレーゼンハムの描画部42の内部出力バッファに
書き込まれたデータは出力バッファ43に移される。そし
て、この出力バッファ43からアウトライン(ラスターデ
ータ)が出力される。
〈発明が解決しようとする課題〉 ところで、上記従来の画像処理方法において、例えば
第2図(a)に示す図形からアウトラインベクトルを作
成し、そのアウトラインベクトルをアフィン変換により
縮小し、縮小したアウトラインベクトルからアウトライ
ンを作成すると第3図(a)のようになる。すなわち、
第2図(a)に示す図形Aおよび図形Bの輪郭は第2図
(b)に示すようにそれぞれ1つの起点と4つのベクト
ルで表される。そして、これを4分の1に縮小すると、
上記起点とベクトルはそれぞれ、第3図(b)に示すよ
うになる。この縮小されたベクトルから第3図(a)の
アウトラインが得られる。そして、このアウトラインを
もとに塗りつぶしを行うと第4図のようになる。この図
形からわかるように、y=5,x=4,5,6,7の画素が塗りつ
ぶされないまま残っている。これは、第3図(a)に示
す2つの図形のアウトラインのそれぞれによって表され
る領域の水平方向の一辺がy=5の行で互いに重なって
いるために、重なった画素の塗りつぶしが行われないた
めである。
このように、上記従来の画像処理方法では、一つの図
形のアウトラインによって表される領域の水平方向の一
辺が、他の図形のアウトラインによって表される領域の
水平方向の一辺と重なっている場合に、重なった画素の
塗りつぶしが行われないという問題がある。
そこで、この発明の目的は、上記のような重なりが生
じた場合でも図形の塗りつぶしの誤りが生じない画像処
理方法を提供することにある。
〈課題を解決するための手段〉 上記目的を達成するため、この発明は、図形の輪郭を
アウトラインベクトルで表わし、かつ上記アウトライン
ベクトルの向きを、そのアウトラインベクトルの左側を
塗りつぶすと上記図形が塗りつぶされるように設定する
一方、上記図形を縮小する場合には上記アウトラインベ
クトルを縮小して新たなアウトラインベクトルを作成
し、上記アウトラインベクトルのY軸方向の変化量が負
か零か正かを判別し、上記アウトラインベクトルのY軸
方向の変化量が負であればブレーゼンハムのアルゴリズ
ムに従ってアウトラインを作成し、上記アウトラインベ
クトルのY軸方向の変化量が零であればアウトラインを
作成せず、上記アウトラインベクトルのY軸方向の変化
量が正であればブレーゼンハムのアルゴリズムで決定さ
れる位置からX軸方向に1ドットシフトした位置にアウ
トラインを作成し、上記作成したアウトラインと水平走
査線との奇数回目の交差の際に塗りつぶしを開始し、交
差した画素も含めて塗りつぶし、偶数回目の交差の際に
塗りつぶしを中止して、偶数回目に交差した画素の直前
の画素までを塗りつぶすようにした画像処理方法におい
て、図形を縮小した場合は、上記塗りつぶしを行う一
方、縮小して得られるアウトラインベクトルの始点と終
点を結ぶ線分上の画素を塗りつぶすようにしたことを特
徴としている。
〈実施例〉 以下、この発明を図示の実施例により詳細に説明す
る。
本実施例の画像処理方法は、第14図から第18図に示す
従来の画像処理方法と同様の方法でアウトラインベクト
ルの作成、アウトラインの作成および作成したアウトラ
インにもとづく画素の塗りつぶしを行う。そして、図形
を縮小した場合は、上記塗りつぶしを行う一方、縮小し
て得られるアウトラインベクトルの始点と終点を結ぶ線
分上の画素を塗りつぶす。このアウトラインベクトルの
始点と終点の座標は、縮小される前の図形に関するアウ
トラインベクトルの始点と終点の座標を求めた後、この
座標を縮小して求める。縮小して得られた座標の値が小
数点以下の端数を有する場合は小数点以下を切り捨て
る。
例えば、第2図(a)に示す図形について、従来例と
同様に第3図(a)に示すアウトラインを作成し、第4
図に示すように塗りつぶしを行う。次に、第2図に示す
図形Aと図形Bの起点とベクトルよりそのベクトルの始
点と終点の座標を求める。図形Aについてその座標点を
A1,A2,A3,A4とし、図形Bについてその座標点をB1,B2,B
3,B4とすると、各座標点は次ぎのようになる。
図形A A1=起点=(16,22) A2=A1+(20,0)=(36,22) A3=A2+(0,8)=(36,30) A4=A3+(−20,0)=(16,30) 図形B B1=起点=(8,8) B2=B1+(20,0)=(28,8) B3=B2+(0,12)=(28,20) B4=B3+(−20,0)=(8,20) 次ぎに、この座標点を1/4倍して、小数点以下を切り捨
てると次の座標点が得られる。
図形A A1′=起点=(4,5) A2′=(9,5) A3′=(9,7) A4′=(4,7) 図形B B1′=起点=(2,2) B2′=(7,2) B3′=(7,5) B4′=(2,5) そして、図形Aに関しては、座標点A1′とA2′、A2′と
A3′、A3′とA4′、A4′とA1′を結ぶ線分上の画素を塗
りつぶし、図形Bに関しては、座標点B1′とB2′、B2′
とB3′、B3′とB4′、B4′とB1′を結ぶ線分上の画素を
塗りつぶす。この結果、第1図の○印を付した画素が塗
りつぶされ、第4図に示す塗りつぶしの行なわれなかっ
た画素の塗りつぶしも行うことができる。
このことにより、図形を縮小した結果、一つの図形の
アウトラインによって表される領域の水平方向の一辺
が、他の図形のアウトラインによって表される領域の水
平方向の一辺と重なる場合でも、図形の塗りつぶしの誤
りが生じることがない。
〈発明の効果〉 以上より明らかなように、この発明の画像処理方法
は、図形を縮小した場合に、縮小して得られたアウトラ
インに基づいて塗りつぶしを行う一方、縮小して得られ
たアウトラインベクトルの始点と終点を求め、その始点
と終点を結ぶ線分上の画素を塗りつぶすようにしている
ので、図形を縮小した結果、一つの図形のアウトライン
によって表される領域の水平方向の一辺が、他の図形の
アウトラインによって表される領域の水平方向の一辺と
重なる場合でも、図形の塗りつぶしの誤りが生じること
がない。
【図面の簡単な説明】
第1図はこの発明の画像処理方法の一実施例による塗り
つぶしを説明する図、第2図は従来の画像処理方法にお
いて縮小画像を得る場合に塗りつぶしの誤りが生じる図
形の一例を示す図、第3図は第2図に示す図形から得ら
れるアウトラインベクトルを縮小した後に得られるアウ
トラインを示す図、第4図は第3図に示すアウトライン
にもとづいて塗りつぶしが行われた状態を示す図、第5
図はアウトラインベクトルを説明する図、第6,7図はス
キャンフィルによる図形の塗りつぶしを説明する図、第
8,9,10図は従来の画像処理装置によって作成されたアウ
トラインと塗りつぶしの誤りが生じた図形を示す図、第
11図は上記従来例における縮小されたアウトラインが塗
りつぶしの誤りを生じるアウトラインとなる場合を示す
図、第12図は上記従来例における図形の変形を説明する
図、第13図は上記従来例における塗りつぶしの誤りが生
じるアウトラインの典型例を示す図、第14,15,16図は改
善された従来例によって作成されたアウトラインと塗り
つぶされた図形を示す図、第17図は上記改善された従来
例におけるアウトラインベクトルからアウトラインを作
成する回路のブロック図、第18図は上記回路の動作を示
すフローチャートである。 41……DDAの前処理部、42……ブレーゼンハムの描画
部、43……出力バッファ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】図形の輪郭をアウトラインベクトルで表わ
    し、かつ上記アウトラインベクトルの向きを、そのアウ
    トラインベクトルの左側を塗りつぶすと上記図形が塗り
    つぶされるように設定する一方、上記図形を縮小する場
    合には上記アウトラインベクトルを縮小して新たなアウ
    トラインベクトルを作成し、上記アウトラインベクトル
    のY軸方向の変化量が負か零か正かを判別し、上記アウ
    トラインベクトルのY軸方向の変化量が負であればブレ
    ーゼンハムのアルゴリズムに従ってアウトラインを作成
    し、上記アウトラインベクトルのY軸方向の変化量が零
    であればアウトラインを作成せず、上記アウトラインベ
    クトルのY軸方向の変化量が正であればブレーゼンハム
    のアルゴリズムで決定される位置からX軸方向に1ドッ
    トシフトした位置にアウトラインを作成し、上記作成し
    たアウトラインと水平走査線との奇数回目の交差の際に
    塗りつぶしを開始し、交差した画素も含めて塗りつぶ
    し、偶数回目の交差の際に塗りつぶしを中止して、偶数
    回目に交差した画素の直前の画素までを塗りつぶすよう
    にした画像処理方法において、 図形を縮小した場合は、上記塗りつぶしを行う一方、縮
    小して得られるアウトラインベクトルの始点と終点を結
    ぶ線分上の画素を塗りつぶすようにしたことを特徴とす
    る画像処理方法。
JP1208630A 1989-05-18 1989-08-11 画像処理方法 Expired - Fee Related JPH087794B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1208630A JPH087794B2 (ja) 1989-08-11 1989-08-11 画像処理方法
US07/524,428 US5073960A (en) 1989-05-18 1990-05-17 Image processing method using improved Bresenham algorithm in creating an outline of a figure to be painted and apparatus adopting the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1208630A JPH087794B2 (ja) 1989-08-11 1989-08-11 画像処理方法

Publications (2)

Publication Number Publication Date
JPH0371377A JPH0371377A (ja) 1991-03-27
JPH087794B2 true JPH087794B2 (ja) 1996-01-29

Family

ID=16559409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1208630A Expired - Fee Related JPH087794B2 (ja) 1989-05-18 1989-08-11 画像処理方法

Country Status (1)

Country Link
JP (1) JPH087794B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280120B2 (en) 2003-06-26 2007-10-09 Canon Kabushiki Kaisha Compositing with a sub-pixel mask in graphic object rendering

Also Published As

Publication number Publication date
JPH0371377A (ja) 1991-03-27

Similar Documents

Publication Publication Date Title
US4975976A (en) Image transformation method and device
JP2634851B2 (ja) 画像処理装置
JPH087794B2 (ja) 画像処理方法
JP3130965B2 (ja) 画像処理方法及びその装置
JP3338484B2 (ja) アウトラインフォント変形装置
JPH0425892A (ja) 画像処理装置
JP2634906B2 (ja) 画像処理方法
JPS60179877A (ja) パターン太め装置及び方法
JP3139805B2 (ja) 画像処理方法及びその装置
JP2613653B2 (ja) 画像処理装置
JPH0520466A (ja) 画像処理方法及びその装置
JP2782904B2 (ja) 多角形塗りつぶし方式
JPH0391877A (ja) 画像処理装置
JPH0520468A (ja) 画像処理方法及びその装置
JP2721019B2 (ja) 任意角度回転転送装置
JP3085396B2 (ja) ベクトルフォントの展開方法および装置
JPH0350686A (ja) 図形処理方式
JPH07120428B2 (ja) 太線描画方法及びその装置
CN115049564A (zh) 一种图片锐化处理方法及处理终端
JP2664948B2 (ja) 画像処理装置および画像処理方法
JPS63265370A (ja) 画像処理方法
JP2000298729A (ja) 二次元画像生成装置
JP2641790B2 (ja) ベクトルのラスタ変換装置
JPH0261062B2 (ja)
JPH06131452A (ja) 画像データの位置歪み補正方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080129

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090129

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees