JPH08185528A - 画像処理装置及び方法 - Google Patents

画像処理装置及び方法

Info

Publication number
JPH08185528A
JPH08185528A JP32911794A JP32911794A JPH08185528A JP H08185528 A JPH08185528 A JP H08185528A JP 32911794 A JP32911794 A JP 32911794A JP 32911794 A JP32911794 A JP 32911794A JP H08185528 A JPH08185528 A JP H08185528A
Authority
JP
Japan
Prior art keywords
vector
vectors
input
line segment
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.)
Withdrawn
Application number
JP32911794A
Other languages
English (en)
Inventor
Tokukazu Horiike
徳和 堀池
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 JP32911794A priority Critical patent/JPH08185528A/ja
Publication of JPH08185528A publication Critical patent/JPH08185528A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】有限な幅の線分の接続部分の処理を簡単に行
う。 【構成】2本の線分を接続する場合、接続部分を線分の
太さにあわせて補間する必要がある。その際に、接続部
分の外側となる部分を補間するが、そのために線分のど
ちらの側が外側に相当するか決定する。線分に対応する
ベクトルを与えると、そのベクトルの始点を座標原点と
するように並行移動し、終点の座標の符号を調べる。そ
の結果、2つのベクトルが同一の象限にあるか、隣接す
る象限にあるか、対角の関係にある象限にあるかがわか
る。隣接する象限にある場合には、第1のベクトルに対
して第2のベクトルがどちらにむいているか直ちに判定
でき、その他の場合には各ベクトルの傾きを比較するこ
とで線分の外側を判定できる。。これを利用して線分の
接続部分を補間する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は画像処理装置及び方法に
関し、特に線分の処理に関する。
【0002】
【従来の技術】従来のxy座標系における描画に於い
て、折れ線の描画は線分同士を接続しているが、線が太
くなるにつれて接続部の補間処理をしないと出力結果が
美しくならない。これは図8に示したとおりである。ま
た補間方法としては、互いの線の外縁を延長して交点ま
でを塗る「引き延ばし」接続、あるいは互いの線の外側
同士を直線で結んだ内部を塗る「切り落とし」接続など
がある。しかし、いずれの接続にしても2個の線の接続
部においては、線の進行方向に向かって左右どちらかを
補間処理すべきかを判断する必要がある。この左右判別
処理は、2個のベクトルの勾配を比較して判断したり、
ベクトルの内積を利用したりする方法がある。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来例では2個のベクトルの左右判別をする時に、勾配や
内積を計算するために、乗算や除算処理が入って処理が
遅くなるという問題点があった。
【0004】本発明は、上記の問題点を解消するために
なされたもので、煩雑で処理に時間のかかる計算を排
し、線の接続部分の処理を迅速に実行できる画像処理装
置及び方法を提供することである。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、本発明の画像処理装置は次のような構成から成る。
すなわち、XY座標系で表わされる画像を処理する画像
処理装置であって、座標原点を始点とする2つのベクト
ルの関係を、各ベクトルの終点の位置する象限別に区分
した表を記憶する表記憶手段と、端点を共有する2つの
線分の端点をそれぞれ入力する入力手段と、該入力手段
により入力された点により表現されるベクトルを、座標
原点を始点とするベクトルに並行移動変換する変換手段
と、該変換手段により変換されたベクトルの終点座標の
符号により前記表を参照して2つのベクトルの方向の関
係を判定する判定手段と、該判定手段による判定に基づ
いて、前記入力手段により入力された2つの線分の交点
を、該線分の幅にあわせて補間処理する補間手段とを備
える。
【0006】また、本発明の画像処理方法は次のような
構成から成る。すなわち、XY座標系で表わされる画像
を処理する画像処理方法であって、端点を共有する2つ
の線分の端点をそれぞれ入力する入力工程と、該入力工
程により入力された点により表現されるベクトルを、座
標原点を始点とするベクトルに並行移動変換する変換工
程と、該変換工程により変換されたベクトルの終点座標
の符号により、座標原点を始点とする2つのベクトルの
関係を各ベクトルの終点の位置する象限別に区分した表
を参照して2つのベクトルの方向の関係を判定する判定
工程と、該判定工程による判定に基づいて、前記入力工
程により入力された2つの線分の交点を、該線分の幅に
あわせて補間処理する補間工程とを備える。
【0007】
【作用】上記構成により、2つの線分の接続部分を、そ
の線分を表わすベクトルの方向の関係を表に予め登録し
ておき、その表を参照して互いの方向関係を決定して補
間する。
【0008】
【実施例】図2は本発明の一実施例を示す印刷装置の構
成を説明する概略ブロック図である。
【0009】図において、210はプリンタ本体で、中
央処理装置(CPU)201、後述する制御手順を含む
各種の制御プログラムを格納するプログラムROM20
2、図1及び図4で説明する処理における各種の変数を
記憶保持するところのRAM203、線分を含む各種図
形や文字やイメージが描画展開される所のペイントメモ
リ204、展開されたペイントメモリの内容を受け取っ
て印刷出力する処理を行なう出力部205とからその主
要部が構成されている。
【0010】次に本実施例を図1に基づき説明する。
【0011】まず、オペレータやアプリケーションプロ
グラム等により、描こうとする線画像が入力される。例
えば、オペレータが、図2には図示されていない表示装
置を見ながらこれも不図示の座標入力装置によって連続
的に点を入力することで、欠く点を結ぶ折れ線を描く場
合などに、入力された点に対して図1に示すフローチャ
ートの処理が実行される。このフローチャートはROM
202に格納されたプログラムをCPU201により実
行することで実現される。
【0012】ステップ101から処理が開始されると、
ステップ102にて第1の線分情報を設定する。ステッ
プ103にて第2の線分情報を設定する。ここで線分情
報とは各線分の両端の座標、すなわちベクトルであり、
その開始点座標と終了点座標とを前述のRAM203に
保持する。ステップ104で第1の線分をペイントメモ
リに描画展開し、ステップ105で第2の線分をペイン
トメモリに描画展開する。ステップ105までに線分が
ペイントメモリに展開されている様子を図3に例示し
た。図3にて、start、endは各線分の開始点と
終了点であり、第1の線分の終了点と第2の線分の開始
点は同じである。また斜線部分は描かれる線の太さを示
している。ステップ106で2個の線分の接続部におけ
る方向判定処理を行ない、その結果に従った接続処理を
ステップ107で行なう。この結果2本の線はきれいに
接続されることになる。
【0013】図4は、ステップ106の処理を詳細に記
述したもので、以後図4の詳細を説明する。
【0014】ステップ401で接続部の方向判定処理が
開始されると、ステップ402で線分のベクトルを求め
る。つまり、RAMに保持されている開始座標star
tを終了座標endから引いた結果を第1の線分(c
x,cy)第2の線分(nx,ny)とする。このよう
にして求めたベクトルはRAM203に保持する。ステ
ップ403で2個のベクトルがどちらもX軸,Y軸のい
ずれにも並行でないことを調べる。なお、以下ではX軸
に並行な状態を水平、Y軸に並行な状態を垂直と呼ぶ。
つまり、第1ベクトル(cx,cy),第2ベクトル
(nx,ny)でcx,cy,nx,nyの全てが0以
外であれば、2個のベクトルは垂直でも水平でもない。
もしもいずれか一方が垂直もしくは水平であったなら
ば、ステップ420に進む。
【0015】一方、両ベクトルとも水平でも垂直でもな
い場合には、ステップ404で後述するテーブルのイン
デックスとなる変数indexを0に初期化する。ステ
ップ405で、cx>0ならばindex=8にする。
ステップ406でcy>0ならばindexに4を加え
る。ステップ407でnx>0ならばindexに2を
加える。ステップ408でny>0ならばindexに
1を加える。するとcx,cy,nx,nyの符号の組
合わせによって、すなわち2つのベクトルが存在する象
限の組み合わせによって、変数indexは0から15
までの16通りの整数をとる。そして、ステップ409
でROMに予め作成されているテーブルであるtabl
eを参照する。
【0016】ここで、tableは16個の要素を持っ
ており、各要素は3種類の値(それらの3種の値は0が
「右」、1が「左」、2が「計算」という3つの意味に
対応している)を持つものである。図7にその例を示
す。
【0017】図7は、本実施例におけるテーブルtab
leの内容である。ここで要素の値が0(「右」),1
(「左」),2(「計算」)とは、第1ベクトルの進行
方向に対しての第2ベクトルがどちらに向かっているか
を示している。「計算」となっているのは、2個のベク
トルが同一の象限か、あるいは隣接しない対角の関係に
ある象限に存在している場合であり、2つのベクトルの
傾きを比較しないと判らないことを示している。また、
16通りの組合わせのうち、2つのベクトルが互いに隣
接する象限にそれぞれ存在するという場合には、テーブ
ルを参照するだけで第1のベクトルに対して第2のベク
トルの方向が左右いずれかが判る。すなわち、16通り
のうち半分の組合わせがテーブルを参照することで判定
できる。なお、テーブルの要素がとる数値は特に0,
1,2である必要はなく、単に3種類の異なる数値を持
っていればよい。
【0018】ステップ410では参照したテーブルの値
が2であるか否かを調べる。2以外ならば、0か1なの
で、第1ベクトルの進行方向に対する第2ベクトルの方
向がテーブルによって判る。また、2ならば「計算」を
意味するので、ステップ411に進んで各ベクトルの傾
きを比較しないと結果が判らない。第1ベクトルの傾き
よりも第2ベクトルの傾きが小さい場合は、「右」にな
り、大きい場合は「左」になる。これをcx,cy,n
x,nyを使って判断すると、cy/cxが第1ベクト
ルの傾き、ny/nxが第2ベクトルの傾きとなる。
【0019】ステップ420は、2個のベクトルの少な
くとも1個が垂直あるいは水平である場合の方向判定処
理である。この処理は別途図5に示したもので、図5の
処理について説明する。
【0020】ステップ502にてcx=0ならば第1ベ
クトルが垂直であるから、ステップ5021で、cy<
0かどうかを調べる。cy<0ならば、第1ベクトルは
y軸に沿って下向きなので、ステップ5022に進む。
この場合には、nx>0ならば「左」で、そうでないな
らば「右」になる。ステップ5021でcy<0でない
ならば、第1ベクトルはy軸に沿って上向きなので、ス
テップ5023に進む。この場合には、nx>0ならば
「右」で、そうでないならば「左」になる。
【0021】ステップ502にてcx=0でないなら
ば、ステップ503に進む。ステップ503にてcy=
0ならば第1ベクトルが水平であるから、ステップ50
31でcx>0かどうかを調べる。cx>0ならば、第
1ベクトルはx軸に沿って右向きなので、ステップ50
32に進む。この場合には、ny>0ならば「右」で、
そうでないならば「左」になる。ステップ5031でc
x>0でないならば、第1ベクトルはx軸に沿って左向
きなので、ステップ5033に進む。この場合には、n
y>0ならば「左」で、そうでないならば「右」にな
る。
【0022】ステップ503にてcy=0でないなら
ば、ステップ504に進む。ステップ504にてnx=
0ならば第2ベクトルが垂直線であるから、ステップ5
041で、ny>0かどうかを調べる。ny>0なら
ば、第2ベクトルはy軸に沿って下向きなので、ステッ
プ5042に進む。この場合には、cx>0ならば
「右」で、そうでないならば「左」になる。ステップ5
041でny>0でないならば、第2ベクトルはy軸に
沿って上向きなので、ステップ5043に進む。この場
合には、cx>0ならば「左」で、そうでないならば
「右」になる。
【0023】ステップ504にてnx=0でないなら
ば、ステップ5051に進む。ここまで来ると第2ベク
トルが水平であることが分かっているので、ステップ5
051にてnx>0かどうか調べる。nx>0ならば、
第2ベクトルはx軸に沿って右向きなので、ステップ5
052に進む。この場合には、cy>0ならば「左」
で、そうでないならば「右」になる。ステップ5051
でnx>0でないならば、第2ベクトルはx軸に沿って
左向きなので、ステップ5053に進む。この場合に
は、cy>0ならば「右」で、そうでないならば「左」
になる。
【0024】図6は、これまで説明してきた座標系と、
2個のベクトルの関係を例示する図である。この例は、
第1ベクトルがcx>0,cy>0の場合に、第2ベク
トルがnx>0,ny>0の場合に「右」となり、第2
ベクトルがnx<0,ny<0の場合に「左」となるこ
とが、予めテーブルを参照することで求められる様子を
示したものでる。例えば第2ベクトルが象限にある場
合にインデックスを計算すると、index=8+0+
0+0=8となる。図6を参照すると、インデックスが
8の場合に得られる要素は1であり、第2ベクトルは左
であることがわかる。また、第2ベクトルが象限にあ
る場合には、index=8+0+2+1=11とな
る。図6を参照すると、この場合に得られる要素は0、
すなわち右であることがわかる。
【0025】逆に、第2ベクトルがnx>0,ny<0
またはnx<0,ny>0ならば、indexの値はそ
れぞれ10,9となり、各ベクトルの傾きを求めて比較
しないといけない。つまり、第2ベクトルの方向はn
x,nyの符号によって4方向に分けられるが、そのう
ち、2方向はテーブルを参照して「右」あるいは「左」
が判別でき、残りの2方向は「計算」ということにな
る。これらのことから、2個のベクトルの方向を組み合
わせて16通りのテーブルを作ることができる。
【0026】以上のようにして第1ベクトルに対する第
2ベクトルの方向を判定したなら、線の接続処理を行
う。接続処理は従来の技術の項で説明しように、「引き
延ばし」や「切り落とし」といった公知の方法で行えば
良い。
【0027】以上のようにすることで、簡単な判定と計
算とを行ってテーブルを参照するだけで線の接続関係を
判定することができる。
【0028】なお、本実施例には出力装置として印刷出
力をあげているが、その代わりにディスプレイ装置など
を用いても全く同様の線分処理を施すことが可能であ
る。
【0029】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることはいうまでもない。
【0030】
【発明の効果】以上説明したように、本発明にかかる画
像処理装置及び方法は、煩雑で処理に時間のかかる計算
を排し、線の接続部分の処理を迅速に実行できるという
効果がある。
【0031】
【図面の簡単な説明】
【図1】本発明の一実施例の線分処理方法を示す流れ図
である。
【図2】実施例の線分処理が適用されるプリンタシステ
ムの構成の一例を示すブロック図である。
【図3】実施例の線分処理における説明図である。
【図4】実施例の線分処理における方向判定処理の詳細
を示す流れ図である。
【図5】実施例の線分処理における方向判定処理の詳細
を示す流れ図である。
【図6】実施例における2個の線分の方向関係を例示す
る図である。
【図7】実施例における方向判別テーブルの内容の例を
示す図である。
【図8】従来の線描画処理における線接続部の補間の説
明図である。
【符号の説明】
201 中央処理装置(CPU) 202 プログラムROM 203 RAM 204 ペイントメモリ 205 出力部 210 プリンタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 XY座標系で表わされる画像を処理する
    画像処理装置であって、 座標原点を始点とする2つのベクトルの関係を、各ベク
    トルの終点の位置する象限別に区分した表を記憶する表
    記憶手段と、 端点を共有する2つの線分の端点をそれぞれ入力する入
    力手段と、 該入力手段により入力された点により表現されるベクト
    ルを、座標原点を始点とするベクトルに並行移動変換す
    る変換手段と、 該変換手段により変換されたベクトルの終点座標の符号
    により前記表を参照して2つのベクトルの方向の関係を
    判定する判定手段と、 該判定手段による判定に基づいて、前記入力手段により
    入力された2つの線分の交点を、該線分の幅にあわせて
    補間処理する補間手段と、を備えることを特徴とする画
    像処理装置。
  2. 【請求項2】 前記判定手段は、2つのベクトルの終点
    が、互いに隣接していない象限に位置する場合に、各ベ
    クトルの傾きを比較して方向の関係を判定することを特
    徴とする請求項1に記載の画像処理装置。
  3. 【請求項3】 XY座標系で表わされる画像を処理する
    画像処理方法であって、 端点を共有する2つの線分の端点をそれぞれ入力する入
    力工程と、 該入力工程により入力された点により表現されるベクト
    ルを、座標原点を始点とするベクトルに並行移動変換す
    る変換工程と、 該変換工程により変換されたベクトルの終点座標の符号
    により、座標原点を始点とする2つのベクトルの関係を
    各ベクトルの終点の位置する象限別に区分した表を参照
    して2つのベクトルの方向の関係を判定する判定工程
    と、 該判定工程による判定に基づいて、前記入力工程により
    入力された2つの線分の交点を、該線分の幅にあわせて
    補間処理する補間工程と、を備えることを特徴とする画
    像処理方法。
  4. 【請求項4】 前記判定工程は、2つのベクトルの終点
    が、互いに隣接していない象限に位置する場合に、各ベ
    クトルの傾きを比較して方向の関係を判定することを特
    徴とする請求項3に記載の画像処理装置。
JP32911794A 1994-12-28 1994-12-28 画像処理装置及び方法 Withdrawn JPH08185528A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32911794A JPH08185528A (ja) 1994-12-28 1994-12-28 画像処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32911794A JPH08185528A (ja) 1994-12-28 1994-12-28 画像処理装置及び方法

Publications (1)

Publication Number Publication Date
JPH08185528A true JPH08185528A (ja) 1996-07-16

Family

ID=18217808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32911794A Withdrawn JPH08185528A (ja) 1994-12-28 1994-12-28 画像処理装置及び方法

Country Status (1)

Country Link
JP (1) JPH08185528A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724382A (zh) * 2020-06-29 2020-09-29 四川升拓检测技术股份有限公司 一种基于手机的裂缝测量方法
CN115471854A (zh) * 2022-09-15 2022-12-13 云南电网有限责任公司信息中心 一种基于机器视觉技术的表单图像缺陷矫正及提取方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111724382A (zh) * 2020-06-29 2020-09-29 四川升拓检测技术股份有限公司 一种基于手机的裂缝测量方法
CN111724382B (zh) * 2020-06-29 2023-09-01 四川升拓检测技术股份有限公司 一种基于手机的裂缝测量方法
CN115471854A (zh) * 2022-09-15 2022-12-13 云南电网有限责任公司信息中心 一种基于机器视觉技术的表单图像缺陷矫正及提取方法

Similar Documents

Publication Publication Date Title
KR950012083B1 (ko) 문자/도형 발생 장치 및 정보 처리장치
US5309521A (en) Method and apparatus for generating a character curve by dividing and developing a bezier curve
JP2634851B2 (ja) 画像処理装置
US5222207A (en) Method and system for determining segment types in figure represented by straight short vectors
JPH1125282A (ja) 画像形成装置およびグラデーションパターン生成方法
JP2910588B2 (ja) デ−タ変換装置
JP2729699B2 (ja) 追跡始点入力方法および装置
KR0147591B1 (ko) 2차원 그래픽 라운드 묘화 방법
JPH06215074A (ja) 図形処理装置
JP3570164B2 (ja) 画像形成装置およびグラデーション描画方法
JP3211591B2 (ja) イメージ処理装置
JP2932844B2 (ja) 多分岐形状図形表示方式
JP2516361B2 (ja) 拡大文字のスム−ジング方式
JPH04205575A (ja) Ddaによる矩形領域塗り潰し方式及び画像処理装置
JPH06301751A (ja) 3次元データ作成のための編集表示方法および装置
JPH09245181A (ja) アンチエイリアシング処理方法
JP3359166B2 (ja) プリンタ装置およびプリンタ装置の線分分割描画方法
JPH08221544A (ja) 画像変形処理装置
JP3612396B2 (ja) 線群の補間方法
JP2001236377A (ja) 図化処理装置及び方法
JPH087794B2 (ja) 画像処理方法
JPH0792694B2 (ja) Cad・cam装置によるncデータ作成方式
JPH06291984A (ja) ランレングスデータ拡大装置
JPH10143676A (ja) 画像処理装置、画像処理方法、および記録媒体
JPH0935081A (ja) 画像処理方法および装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020305