JPH02198496A - 画像処理方法 - Google Patents

画像処理方法

Info

Publication number
JPH02198496A
JPH02198496A JP1018465A JP1846589A JPH02198496A JP H02198496 A JPH02198496 A JP H02198496A JP 1018465 A JP1018465 A JP 1018465A JP 1846589 A JP1846589 A JP 1846589A JP H02198496 A JPH02198496 A JP H02198496A
Authority
JP
Japan
Prior art keywords
contour
bit
code
memory
point
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.)
Pending
Application number
JP1018465A
Other languages
English (en)
Inventor
Akimichi Yokoyama
横山 昭道
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP1018465A priority Critical patent/JPH02198496A/ja
Publication of JPH02198496A publication Critical patent/JPH02198496A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は2値画像の処理方法に係り、特にビットパター
ンの輪郭追跡と輪郭ベクトル化、輪郭ベクトルによるビ
ットパターンの再生に関する。
〔従来の技術と発明が解決しようとする課題〕文字など
のビットパターンの基本的な処理として、ビットパター
ンの輪郭を追跡し、その軌跡を変位ベクトルで表現する
プロセス(輪郭ベクトル化)と、輪郭ベクトルによって
表される多角形(輪郭ループ)内部を塗り潰してビット
パターンを再現するスキャンコンバージョンとがある。
従来、輪郭ベクトル化は、メモリに展開されたビットパ
ターンすなわちビットマツプ上において輪郭追跡を行う
ことによって行われている。例えば、第8図に示すピッ
1〜マツプにおいて、ある輪郭点(PLとする)の次の
輪郭点P2を探し当てるには、Plの前の輪郭点POか
らスタートしPlの周囲を左または右回りに1のビット
が見つかるまで走査する必要があった。すなわち、追跡
を一つ進めるために最大7回の試行を要し、処理に時間
がかへるという問題があった。
次に、従来のスキャンコンバージョンの原理は、輪郭ベ
クトルによって表される多角形(輪郭ループ)の外部か
ら内部へ1本の直線(仮想のスキャンライン)を貫通さ
せ、輪郭線と交差する回数をカウントし、奇数回の各交
点から次の偶数回の交点までを多角形の内部すなわち塗
り潰し区間とする(パリティチエツク方式)。そして、
上記の直線をスキャンラインとして、その塗り潰し区間
を塗り潰す。
しかし、パリティチエツク方法では、スキャンラインが
多角形内部を貫通せず輪郭線のみと接触する場合、具体
的には、輪郭線の水平部分およびスキャンライン上にお
いて垂直方向が反転する点で上記の奇遇による判別は成
立しないため、このような場合の例外処理が必要である
。また、実際には多角形を構成する線分を分解し、個々
の線分の上端または下端に該当するスキャンラインに属
する線分群について、水平方向にソーティング(並べ換
え)を行う必要がある。このようなことから処理が複雑
化し、高速化が粱しいという問題があった。
これは基本的には、輪郭ベクトルによって表される単位
線分自体に[塗り始め/塗り終わり」という属性がない
ので、これを幾何学的手法により決定しなければならな
いことに起因している。
本発明の目的は、上記従来技術よりも輪郭追跡、輪郭ベ
クトル化、輪郭ループ内部の塗り潰しを高速に行う画像
処理方法を提供することにある。
〔課題を解決するための手段〕
ビットパターンの個々のビットの幾何学的またはトポロ
ジカル特徴は、近傍ビット(例えば上下左右の4ピッ1
−あるいは斜め隣のピッ1−を加えた8ビツト)の状態
によってはゾ決定される。また一 1のビット(黒)は、その近傍ビット中の少なくとも1
個がO(白)であれば輪郭ピッ1−(輪郭点)である。
そこで、本発明においては、ビットパターンの輪郭ビッ
トをその近傍ビットの状態によってコード化し、輪郭ビ
ットのコードによって追跡方向を予測しながら輪郭ビッ
トを追跡する。
また、このような輪郭追跡の軌跡を変位ベクトルで表す
輪郭ベクトルを生成するが、その際に、輪郭コードを用
いて輪郭ベクトルを塗り始め線分と塗り終わり線分の2
種に区分し、その区分を属性情報として輪郭ベクトルに
付加する。
また、このような輪郭ベクトル化方法によって得られた
輪郭ベクトルを、その属性情報に従って塗り始め線分と
塗り終わり線分とに分けて別々のビットマツプに書き込
み、該各ビットマツプを同時にスキャンし、塗り始め線
分から塗り終わり線分までの区間のスキャンラインを塗
り潰すことにより、ビットパターンを再生する。
〔作 用〕
輪郭ビットの近傍ビットの状態に応じて、次の輪郭点の
位置が限定される。後述のように、上下左右の近傍ビッ
トを参照して輪郭ビットをコード化すると、そのコード
により次に追跡すべき輪郭ビットの方向は2方向に絞る
ことができる。したがって、本発明によれば、輪郭点か
ら次の輪郭点への追跡の試行回数が大幅に減る。
また、塗り潰しのためのスキャン方向が水平であるとす
ると、輪郭ビットの左ビットが0、右ビットが1である
と、この輪郭ビットの左側が輪郭ループの外部、右側が
内部である。逆に、輪郭ビットの左ビットが1、右ビッ
トが0であると、この輪郭ビットの左側が輪郭ループの
内部、右側が外部である。輪郭ビットのコードは、この
ような近傍ビットの状態に対応しているので、輪郭ビッ
トのコードより、輪郭ビットが含まれる単位線分が塗り
始めであるか塗り終わりであるかの属性を判定可能であ
る。そして、この判定は、単独ループのパターンだけで
なく、多重内包ループのパターンでも成立する。
したがって、本発明によれば、輪郭追跡と輪郭ベクトル
化を高速化することができ、また、従来方法のような例
外処理や線分のソートを要せず、複雑なパターンの輪郭
ループ内部の塗り潰しを高速に行いビットパターンを再
生可能である。
〔実施例〕
第1図は本発明の一実施例に係る処理系の概念図である
。なお、この処理系の各機能部はハードウェア、ソフト
ウェアのいずれで実現してもよいものであり、またメモ
リは物理的には同じメモリ上に置いてもよい。
第1図において、1は外部から入力された2値画像のビ
ットパターンをビットマツプとして記憶するメモリであ
る。
2はメモリ1上のビットマツプをコード化してメモリ5
上にバイトマツプとして展開するコード化系であり、概
念的にはメモリ1,5のスキャン制御を行うスキャン制
御部3とツー1〜化部4よりなる。
7はメモリ5に記憶されたバイトマツプ上において輪郭
追跡により輪郭ベクトル化を行う輪郭ベクトル化系であ
り、概念的には輪郭追跡のためのコード判定部8と追跡
制御部9、輪郭追跡の結果から輪郭ベクトルを生成する
ベクトル生成部10とそのベグ1〜ルデータを記憶する
メモリ11を含む。
17は輪郭ベクトルデータよりビットパターンを再生す
るスキャンコンバージョン系であり、概念的にはメモリ
18.19と、輪郭ベクトルデータによってメモリ18
.19上のビットマツプに線分を描画する描画部16、
輪郭ループ内部の塗り潰しのためのメモリ18.19の
スキャン制御を行うスキャン制御部20、塗り潰し制御
を行う塗り潰し制御部21よりなる。
22は上記各系の制御を行うシステム制御部である。
次に文字の2値化画像などのビットパターンをバイトマ
ツプに変換し、バイトマツプ上で輪郭追跡を行って輪郭
ベクトル化を行い、輪郭ベクトルデータからビットパタ
ーンを再生する場合の処理について、順次説明する。
まず、入力ビツトパターンのバイトマツプへの変換の処
理を説明する。メモリ1上にビットマツプが書き込まれ
ると、システム制御部22によってコード化系2のスキ
ャン制御部3が起動され、メモリ1の読み出しとメモリ
5の書き込みのためのアドレス制御を開始する。このア
ドレス制御によって、メモリ1上のビットマツプは左か
ら右(主走査)、上から下(副走査)ヘスキャンされ、
各走査点(ターゲット点)と近傍点(こNでは上下左右
の4点)の合計5ビツトを1組みとしてメモリ1より順
次出力される。
第2図は、ターゲット点とその近傍点の説明図である。
IAはメモリ1上のビットマツプであり、Ymax(縦
) XXmax (横)の大きさである。Tがターゲッ
ト点、a、bt at dが近傍点である。
各点の位置関係は次の通りである。
T :  (x + y) a :  (X+ y  1) b:  (x、y+1) C:(X   1 y  y) d :  (x + 1 t  y )コード化部4は
、各ターゲット点Tとその4近傍点の合計5ビツトより
、各ターゲット点Tを英数字のキャラクタコード(バイ
トコード)に変換する。このコード化の内容は次の通り
である。
次の式2を仮定する。
Z=−ま たゾしT=0(白)のとき Z=8a+4b+2c+d たゾしT=1(黒)のとき Zは−1,0,1,2,・・・、15の17種の整数を
とり得る。−1と15(白部と黒内部に対応)を除いた
0、1,2.・・・、13.14の15種整数は、その
順に、15種の英数字のキャラクタコード″ブラクグI
I 、  It F l″  II E II 、  
It p ++  ・・・”A”′9” ・・・ II
 I IIに対応付けられる(第1表参照)。コード化
部4は、メモリ1より入力するターゲット点Tと4近傍
点の合計5ビツトで決まるZの値に対応したキャラクタ
コードを、ターゲット点Tのコードとして出力する。
なお、コード゛′F″は孤立ビットであるので、文字パ
ターンを対象としている場合はノイズとして無視できる
スキャン制御部3は、メモリ1上のビットマツプのスキ
ャンと対応させてメモリ7の書き込みアドレスを制御す
る。したがって、ビットマツプ上の点と1対1に対応し
たキャラクタコードのマツプすなわちバイトマツプがメ
モリ5に得られる。
第3図に漢字愛″のビットマツプより得られるバイトマ
ツプ(部分)を示す。
次に輪郭ベクトル化の処理について説明する。
コード化系2の処理が終了すると、システム制御部22
により輪郭ベクトル化系7が起動される。
追跡制御部9は、メモリ7上のバイトマツプについて″
ブラング″および# F IT以外のコードを捜すため
のスキャン制御を行い、メモリ5より読み出されたコー
ドをコード判定部8で判定する。コードが見つかると、
追跡制御部9はそのコードの種類によって次の輪郭点の
方向を予測してバイトマツプ上での輪郭追跡を開始する
。追跡方向は第1表に示すようにコードの種類によって
2方向に限定される。
第1表 例えば第4図のバイトマツプを考え、最初にコードrt
 A I+が見つかったとする。第1表によれば、次の
追跡方向として左下と下が候補となるので、その方向に
ついて次の輪郭点のコードを捜すと、下にコード“2″
が見つかる。このコードIt 2 I+に対応する下ま
たは左下について輪郭点を探し、コード“A”が見つか
る。
このように、追跡制御部9は、バイトマツプ上において
輪郭点のコードに応じ最高2回の試行によって次の輪郭
点を探して輪郭追跡を行うことができる。最初の輪郭点
まで戻ると、一つの輪郭ループについての追跡を終了し
、別の輪郭ループの輪郭点を探し、その追跡を行う。従
来のビットマツプ上の輪郭追跡では、ある輪郭点から次
の輪郭点の方向決定の試行回数は最高7回であったが、
本実施例によれば試行回数は最高2回までに減るため、
効率的な輪郭追跡が可能である。
なお、バイトマツプ生成のためのコード化を4近傍ビツ
トに斜め方向のビットを含めた8近傍で行うこともでき
、そのコードによれば追跡方向を一意的に決定できるの
で、輪郭追跡をさらに高速化できる。しかし、必要な方
向テーブルやロジック素子が増加し、文字イメージを対
象とするような場合には冗長となる。
さて、ベクトル生成部10は、このような輪郭追跡の軌
跡に対応した輪郭ベクトルを生成し、メモリ11に書き
込む。この際、輪郭点のコードを用い、輪郭ベクトルが
塗り始め線分であるか塗り終わり線分であるかを判定し
、それを示す1ビツトの属性ビットを輪郭ベクトルに付
与する。かくして、属性ビットを含む入力ビツトパター
ンの輪郭ベクトルデータがメモリ11に得られる。
なお、コードと塗り始め/塗り終わりの属性との関係に
ついては、スキャンコンバージョンに関連して後述する
輪郭ベクトル化の処理が終了すると、システム制御部2
2はスキャンコンバージョン基17を起動する。まず描
画部16が作動し、メモリ11内の輪郭ベクトルを、そ
の属性ビットに従って塗り始め線分と塗り終わり線分と
に区分し、塗り始め線分はメモリ18上のビットマツプ
■に書き込み、塗り終わり線分はメモリ19上のビット
マツプ■に書き込む。
描画部16による描画の例を第7図に示す。第7図(、
)に示すようなバイトマツプに対応した輪郭ベクトルデ
ータの場合、ビットマツプ■には第7図(b)に示すよ
うに塗り始めの単位線分が全部書き込まれ、ビットマツ
プ■には第7図(c)に示すように塗り終わりの単位線
分が全部書き込まれる。
メモリ18.19に塗り始め線分と塗り終わり線分のビ
ットマツプが完成すると、スキャン制御部20が起動し
、メモリ18上のビットマツプ■とメモリ19上のビッ
トマツプ■のスキャン(スキャンラインが水平のラスク
スキャン)を同時に行う。塗り潰し制御部21は、ビッ
トマツプ■とビットマツプ■より読み出されたピッ1〜
を入力とし、各スキャンラインにおいてビットマツプ■
より1のビット(輪郭点)が入力したときからビットマ
ツプ■より1ビツト(輪郭点)が入力したときまでを塗
り潰し区間であると判定し、その区間のスキャン中にビ
ットマツプ■に1のビットを順次書き込む。かくして、
輪郭ループの内部を塗り潰したビットマツプがメモリ1
8上に得られる。
例えば第7図の例では、(d)に示すようなビットマツ
プが最終結果として得られる。
なお、ビットマツプ■に塗り潰しを行ってもよい。
こ\で、バイトマツプのコードと塗り始め/塗り終わり
の属性との関係を説明する。
スキャンコンバージ3ンのスキャンラインが左から右へ
の水平線であるとすると、輪郭点の左ビットがO(白)
、右ビットが1(黒)ならば、その輪郭点の左が輪郭ル
ープ(多角形)の外部である。逆に輪郭点の左のビット
が1で右ビットがOならば、輪郭点の右が多角形の外部
である。
すなわち、第5図に示した4種のコード“E”LLA”
、6” 112” (いずれも左ビットがO1右ビット
が1の輪郭点のコード)は単位線分が塗り始めであると
いう属性を表した塗り始めコードであり、第6図に示し
た4種のコード“D”11911 、 11511 、
  LLlll  (いずれも左ビットが1、右ビット
が0の輪郭点のコード)を単位線分が塗り終わりである
という属性を表した塗り終わりコードである。したがっ
て、輪郭ベクトル化においては、輪郭追跡の過程で経由
する輪郭点のコードより、その単位線分が塗り始めか塗
り終わりであるかの属性を判定できる。なお、輪郭線の
垂直方向の反転を塗り始めと塗り終わりの区分とし、こ
れを単位線分とすることは従来と同様である。以上のよ
うに、輪郭点のコードによって輪郭線の属性(“塗り始
め″または″塗り終わり”)を判定する方法の大きな利
点は、パターンが多重に内包ループ(同心円状のループ
重複)でも成立することである。したがって、ビットマ
ツプ■、■の描画の際に、従来のような線分の並べ換え
は不要である。
なお従来方法によっても、パターンが単独ループであれ
ば、輪郭線の垂直方向が反転する度に(スキャンライン
が水平の場合)、塗り始めと塗り終わりも反転するので
、判定は容易である。しかし、パターンは多重内包ルー
プが離散しているという状態が一般的であり、内包ルー
プの重複レベルをカウントする操作を幾何学的に行うこ
とは極めて困難である。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、輪郭
点から次の輪郭点への追跡の試行回数を大幅に減らして
輪郭追跡、輪郭ベクトル化を高速化することができ、ま
た従来方法のような例外処理や線分のソートを不要とし
、多重内包ループなどの複雑なパターンの輪郭ループ内
部の塗り潰し処理を高速に行い、ビットパターン再生を
高速化できる。
【図面の簡単な説明】
第1図は本発明の一実施例に係る処理系の概念的構成を
示すブロック図、第2図は近傍ビットの説明図、第3図
はバイトマツプの例を示す図、第4図はバイトマツプ上
の輪郭追跡の説明図、第5図は塗り始めコードと近傍ビ
ットのパターンとを対応させて示す図、第6図は塗り終
わりコードと近傍ビットのパターンとを対応させて示す
図、第7図はビットパターン再生の説明図、第8図はビ
ットマツプ上での輪郭追跡の説明図である。 1・・・メモリ (ビットマツプ)、 2・・・コード化系、  3・・・スキャン制御部、4
・・・コード化部、5・・・メモリ (バイトマツプ)
、7・・・軸線ベクトル化系、 8・・・コード判定部
、9・・・追跡制御部、 10・・・ベクトル生成部、
11 ・メモリ、  16・・・描画部、18・・・メ
モリ(ビットマツプ■)、19・・・メモリ(ビットマ
ツプ■)、20・・・スキャン制御部、 21・・・塗り潰し制御部、 22・・・システム制御部。 ○へヘヘ 区 区 (α) ハ”°イトマツ7゜ 第7図 C10)

Claims (3)

    【特許請求の範囲】
  1. (1)ビットパターンの輪郭ビットをその近傍ビットの
    状態によってコード化し、輪郭ビットのコードによって
    輪郭方向を予測しながらビットパターンの輪郭ビットを
    追跡することを特徴とする画像処理方法。
  2. (2)ビットパターンの輪郭ビットをその近傍ビットの
    状態によってコード化し、輪郭ビットのコードによって
    輪郭方向を予測しながらビットパターンの輪郭追跡を行
    い、その軌跡を変位ベクトルで表す輪郭ベクトルを生成
    し、その際に輪郭ビットのコードを用いて輪郭ベクトル
    を塗り始め線分と塗り終わり線分の2種に区分し、その
    区分を属性情報として輪郭ベクトルに付加することを特
    徴とする画像処理方法。
  3. (3)請求項(2)記載の方法によって得られた輪郭ベ
    クトルを、その属性情報に従って塗り始め線分と塗り終
    わり線分とに分けて別々のビットマップに書き込み、該
    各ビットマップを同時にスキャンし塗り始め線分から塗
    り終わり線分までの区間のスキャンラインを塗り潰すこ
    とを特徴とするビット画像処理方法。
JP1018465A 1989-01-27 1989-01-27 画像処理方法 Pending JPH02198496A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1018465A JPH02198496A (ja) 1989-01-27 1989-01-27 画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1018465A JPH02198496A (ja) 1989-01-27 1989-01-27 画像処理方法

Publications (1)

Publication Number Publication Date
JPH02198496A true JPH02198496A (ja) 1990-08-06

Family

ID=11972385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1018465A Pending JPH02198496A (ja) 1989-01-27 1989-01-27 画像処理方法

Country Status (1)

Country Link
JP (1) JPH02198496A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282208A (ja) * 2007-05-10 2008-11-20 Renesas Technology Corp 塗潰し処理装置、図形表示装置及び塗潰し処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282208A (ja) * 2007-05-10 2008-11-20 Renesas Technology Corp 塗潰し処理装置、図形表示装置及び塗潰し処理方法

Similar Documents

Publication Publication Date Title
US4566038A (en) Scan line generator
US4566128A (en) Method for data compression for two-value picture image
US4581710A (en) Method of editing dot pattern data for character and/or image representations
US4853971A (en) Method and apparatus for processing image data
US3936664A (en) Method and apparatus for generating character patterns
GB2174278A (en) Area-fill graphic image processing system
US4528692A (en) Character segmenting apparatus for optical character recognition
US4852020A (en) Image data processing method and apparatus therefor
KR930002793B1 (ko) 벡터에 의해 정의된 패턴을 발생하는방법 및 장치
JPS61233878A (ja) 画像処理の装置
JPH02198496A (ja) 画像処理方法
US5355448A (en) Method of generating dot signals corresponding to character pattern and the system therefor
US5949913A (en) Method and apparatus for modifying multi-tone image
US4776028A (en) Apparatus for and method of compressing form data
JPH03177982A (ja) 画像処理方法
JP3059189B2 (ja) 塗りつぶし回路
JP3111958B2 (ja) パタン符号化を用いた符号化装置及び符号化方法
JP3089906B2 (ja) 描画装置
JPH0535872A (ja) 2値画像の輪郭追跡方式
JPH01205388A (ja) 高品質文字・図形等の生成方式
JPH0148587B2 (ja)
JP2635779B2 (ja) 図面の特徴抽出装置
JP2799041B2 (ja) ドット展開方法及びドット展開装置
JPS60128569A (ja) 図形塗りつぶし方式
JPS59128662A (ja) ラスタ・ベクトル変換装置