JP3549730B2 - Image processing apparatus, recording medium storing image processing program, and drawing apparatus - Google Patents

Image processing apparatus, recording medium storing image processing program, and drawing apparatus Download PDF

Info

Publication number
JP3549730B2
JP3549730B2 JP13635898A JP13635898A JP3549730B2 JP 3549730 B2 JP3549730 B2 JP 3549730B2 JP 13635898 A JP13635898 A JP 13635898A JP 13635898 A JP13635898 A JP 13635898A JP 3549730 B2 JP3549730 B2 JP 3549730B2
Authority
JP
Japan
Prior art keywords
change point
point data
line
data
thinning
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
JP13635898A
Other languages
Japanese (ja)
Other versions
JPH11328398A (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.)
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Screen Holdings Co Ltd
Dainippon Screen Manufacturing 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 Screen Holdings Co Ltd, Dainippon Screen Manufacturing Co Ltd filed Critical Screen Holdings Co Ltd
Priority to JP13635898A priority Critical patent/JP3549730B2/en
Publication of JPH11328398A publication Critical patent/JPH11328398A/en
Application granted granted Critical
Publication of JP3549730B2 publication Critical patent/JP3549730B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像の太らせ処理または細らせ処理を行う画像処理装置、画像処理プログラムを記録した記録媒体およびそれらを用いた描画装置に関する。
【0002】
【従来の技術】
レーザプロッタ等の描画装置により描かれる画像を太らせまたは細らせるために画像の太らせ処理または細らせ処理が行われる。
【0003】
図47は従来の画像の太らせ処理の一例を示す図である。図47(a)に示す画像を2画素分太らせる場合には、図47(b)に示すように、各黒画素の4近傍の白画素を黒画素に変換し、図47(c)に示すように、各黒画素の8近傍の白画素を黒画素に変換する。このようにして、黒画素からなる画像が縦方向および横方向に2画素ずつ拡大する。
【0004】
画像を2画素分細らせる場合には、逆に、各白画素の4近傍の黒画素を白画素に変換し、各白画素の8近傍の黒画素を白画素に変換する。それにより、黒画素からなる画像が縦方向および横方向に2画素ずつ縮小する。
【0005】
【発明が解決しようとする課題】
上記の従来の太らせ処理および細らせ処理では、1画素ごとに白画素か黒画素かを判別するとともに4近傍または8近傍の画素の値を1画素ずつ変換する必要がある。その場合、連続する同一値の画素の数を示すランレングスデータを各画素の値に対応するビットマップデータに変換し、各ビットマップデータを1つずつ読み出す必要がある。そのため、データの読み出し回数が多くなり、処理時間がかかる。また、縦方向および横方向の太らせ量または細らせ量を独立に制御することができない。
【0006】
本発明の目的は、画像を互いに直交する2方向のうち少なくとも一方向に高速に細らせかつ他方向に細らせまたは太らせることができるとともに2方向へ細らせ量または太らせ量をそれぞれ独立に制御することができる画像処理装置、画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体および画像処理装置を用いた描画装置を提供することである。
【0007】
【課題を解決するための手段および発明の効果】
(1)第1の発明
第1の発明に係る画像処理装置は、複数ラインの画素列からなる画像を各ラインに沿った第1の方向に細らせまたは太らせるとともに各ラインに直交する第2の方向に細らせる処理を行う画像処理装置であって、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、読み込み手段により読み込まれた各ラインの変化点データに第1の方向への細らせまたは太らせ処理を行う処理手段と、処理手段により細らせまたは太らせ処理された変化点データを第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、合成手段により得られた各ラインの変化点データをランレングスとして出力する出力手段とを備えたものである。
【0008】
本発明に係る画像処理装置においては、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータが読み込み手段により変化点データとして順に読み込まれる。読み込み手段により読み込まれた各ラインの変化点データに対して合成手段により第1の方向への細らせまたは太らせ処理が行われつつ処理された変化点データが第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成され、各ラインの変化点データが順に得られる。合成手段により得られた各ラインの変化点データは出力手段によりランレングスとして出力される。
【0009】
この場合、変化点データの数は画像を構成する画素の数に比べて少ないので、データの読み込み時間が短くなる。したがって、画像を高速に第1の方向に細らせまたは太らせるとともに第2の方向に細らせることができる。
【0010】
また、各ラインの変化点データに第1の方向への細らせまたは太らせ処理を行うことにより画像を第1の方向へ細らせまたは太らせ、変化点データを複数ラインずつ合成することにより画像を第2の方向に細らせるので、第1の方向への細らせ量または太らせ量および第2の方向への細らせ量をそれぞれ独立に制御することが可能になる。
【0011】
(2)第2の発明
第2の発明に係る画像処理装置は、第1の発明に係る画像処理装置の構成において、処理手段および合成手段は、第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを第2の方向への細らせ量よりも1多いライン数から第2の方向への細らせ量の2倍よりも1多いライン数まで1ラインずつ順に増加させた後、第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを1ラインずつ所定回数シフトし、第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを第2の方向への細らせ量の2倍よりも1多いライン数から第2の方向への細らせ量よりも1多いライン数まで1ラインずつ順に減少させるものである。
【0012】
この場合、第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを第2の方向への細らせ量よりも1多いライン数から第2の方向への細らせ量の2倍よりも1多いライン数まで1ラインずつ順に増加させることにより、画像の一方側の細らせ結果が得られる。また、第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを1ラインずつ所定回数シフトすることにより、画像の中央部の細らせ結果が得られる。さらに、第1の方向への太らせ処理および合成の対象とする変化点データを第2の方向への細らせ量の2倍よりも1多いライン数から第2の方向への細らせ量よりも1多いライン数まで1ラインずつ減少させることにより、画像の他方側の細らせ結果が得られる。
【0013】
(3)第3の発明
第3の発明に係る画像処理装置は、第1または第2の発明に係る画像処理装置の構成において、読み込み手段は、第2の方向への細らせ時に複数ライン分のランレングスデータを反転された画像に対応する変化点データとして読み込み、処理手段は、第2の方向への細らせかつ第1の方向への細らせ時に読み込み手段により読み込まれた各ラインの変化点データに第1の方向への太らせ処理を行い、第2の方向への細らせかつ第1の方向への太らせ時に読み込み手段により読み込まれた各ラインの変化点データに第1の方向への細らせ処理を行うものである。
【0014】
2の方向への細らせ時には、読み込み手段により複数ライン分のランレングスデータが反転された画像に対応する変化点データとして読み込まれる。この場合、第1の方向への細らせ時には、合成手段により各ラインの変化点データに第1の方向への太らせ処理が行われ、第1の方向への太らせ時には、合成手段により各ラインの変化点データに第1の方向への細らせ処理が行われる。
【0015】
(4)第4の発明
第4の発明に係る画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体は、複数ラインの画素列からなる画像を各ラインに沿った第1の方向に細らせまたは太ら せるとともに各ラインに直交する第2の方向に細らせる処理をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、画像処理プログラムは、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む処理と、読み込まれた各ラインの変化点データに第1の方向への細らせまたは太らせを行う処理と、細らせまたは太らせ処理された変化点データを第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る処理と、得られた各ラインの変化点データをランレングスデータとして出力する処理とを、コンピュータに実行させるものである。
【0016】
本発明に係る画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータが変化点データとして順に読み込まれ、読み込まれた各ラインの変化点データに第1の方向への細らせまたは太らせ処理が行われつつ、細らせまたは太らせ処理された変化点データが第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成され、各ラインの変化点データが順に得られる。得られた各ラインの変化点データはランレングスデータとして出力される。
【0017】
この場合、変化点データの数は画像を構成する画素の数に比べて少ないので、データの読み込み時間が短くなる。したがって、画像を高速に第1の方向に細らせまたは太らせるとともに第2の方向に細らせることができる。
【0018】
また、各ラインの変化点データに第1の方向への細らせまたは太らせ処理を行うことにより画像を第1の方向に細らせまたは太らせ、変化点データを複数ラインずつ合成することにより画像を第2の方向に細らせるので、第1の方向への細らせまたは太らせ量および第2の方向への細らせ量をそれぞれ独立に制御することが可能となる。
【0019】
(5)第5の発明
第5の発明に係る描画装置は、光ビームを用いて対象物に描画を行う描画装置であって、光ビームを点灯および消灯させつつ対象物の第1の走査方向に走査させる光ビーム走査手段と、光ビーム走査手段と対象物とを第1の走査方向と直交する第2の走査方向に相対的に移動させる駆動手段と、複数ラインの画素列からなる画像を各ラインに沿った第1の方向に細らせまたは太らせるとともに各ラインに直交する第2の方向に細らせる処理を行う画像処理装置と、画像処理装置から出力されるデータに基づいて光ビーム走査手段および駆動手段を制御する描画制御手段とを備え、画像処理装置は、画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、読み込み手段により読み込まれた各ラインの変化点データに第1の方向への細らせまたは太らせ処理を行う処理手段と、処理手段により処理された変化点データを第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、合成手段により得られた各ラインの変化点データをランレングスデータとして出力する出力手段とを備えたものである。
【0020】
本発明に係る描画装置においては、光ビーム走査手段により光ビームが点灯および消灯されつつ対象物の第1の走査方向に走査される。また、駆動手段により光ビーム走査手段と対象物とが第2の方向に相対的に移動する。この場合、画像処理装置から出力されるデータに基づいて光ビーム走査手段および駆動手段が制御される。
【0021】
特に、本発明に係る描画装置においては、画像処理装置により画像を高速に第1の方向に細らせまたは太らせつつかつ第2の方向に細らせることができるとともに、第1の方向への細らせ量または太らせ量および第2の方向への細らせ量をそれぞれ独立に制御することが可能となる。したがって、画像を高速に第1の方向に細らせまたは太らせつつ第2の方向に細らせながら対象物に描画することが可能になるとともに、第1の方向への細らせ量または太らせ量および第2の方向への細らせ量をそれぞれ独立に制御することが可能となる。
【0022】
【発明の実施の形態】
図1は本発明の一実施例における画像処理装置の構成を示すブロック図である。
【0023】
図1において、画像処理装置1は、画像データ保存用メモリ11、制御演算部12、補助メモリ13および外部記憶装置14を備える。制御演算部12はCPU(中央演算処理装置)からなる。
【0024】
外部記録装置14は、ハードディスク装置、フロッピィディスク装置等の記録媒体からなり、後述する太らせ処理および細らせ/太らせ処理を行う画像処理プログラムを格納する。補助メモリ13は作業領域として用いられる。
【0025】
この画像処理装置1には、画像入力装置2、画像出力装置3、表示装置4およびポインティングデバイス5が接続される。画像入力装置2は、例えばイメージスキャナ、CAD(Computer Aided Design)データを入力する入力装置等である。画像出力装置3は、例えば後述する描画装置である。表示装置4は、例えばディスプレイであり、ポインティングデバイス5は、例えばマウスである。
【0026】
画像入力装置2から入力された画像データは画像データ保存用メモリ11に記憶される。制御演算部12は、外部記憶装置14に格納される画像処理プログラムに従って画像データ保存用メモリ11に記憶される画像データに対して後述する太らせ処理または細らせ/太らせ処理を行い、処理された画像データを画像データ保存用メモリ11を介して画像出力装置3に出力する。
【0027】
表示装置4は、画像入力装置2により入力された画像データに対応する画像を表示するとともに、制御演算部12により処理された画像データに対応する画像を表示する。ポインティングデバイス5は、太らせ処理および細らせ/太らせ処理に関する各種パラメータを入力するために用いられる。
【0028】
本実施例では、画像データ保存用メモリ11、制御演算部12および補助メモリ13が読み込み手段を構成し、制御演算部12および補助メモリ13が合成手段を構成し、画像データ保存用メモリ11および制御演算部12が出力手段を構成する。
【0029】
以下、図1の画像処理装置により行われる太らせ処理および細らせ/太らせ処理について説明する。以下の説明では、画像の横方向(左右方向)をx方向とし、画像の縦方向(上下方向)をy方向とする。
【0030】
太らせ処理は、画像をx方向およびy方向に拡大する処理をいい、細らせ/太らせ処理は、画像をx方向およびy方向の少なくとも一方向に縮小しかつ他方向に縮小または拡大する処理をいう。
【0031】
また、説明の便宜上、図2に示すように、1ラインの画像を図2(b)に示す丸印および直線からなる記号で表す。ランレングスデータは、同一値の画素(白画素または黒画素)の連続する数を表すデータである。白画素の画素値は例えば"0"であり、黒画素の画素値は例えば"1"である。例えば図2(a)の例では、白画素が5つ連続し、黒画素が6つ連続し、白画素が7つ連続するので、ランレングスデータは5,6,7,LFとなる。LFはラインフィードを表す。また、変化点データは、白画素から黒画素または黒画素から白画素への変化点の位置(変化点アドレス)を示すデータである。図2(a)の例では、変化点データは0,5,11,Max となる。Max はラインフィードLFに対応する記号を表す。
【0032】
さらに、以下の説明では、図2(b)に示すように、白画素をオフとし、黒画素をオンとし、オフからオンへの変化点およびオンからオフへの変化点を丸印で表し、オンの画素を直線で表す。
【0033】
図3は太らせ処理および細らせ/太らせ処理における条件の設定処理を示すフローチャートである。
【0034】
まず、x方向の太らせまたは細らせ量Δxおよびy方向の太らせまたは細らせ量Δyを入力する(ステップS1)。そして、補助メモリ13にx方向の太らせ幅に相当する(2Δx+1)ライン分のデータ読み込み領域を確保する(ステップS2)。
【0035】
たとえば、x方向の太らせ量または細らせ量Δxが2画素の場合には、図4に示すように、5ライン分のデータ読み込み領域100を確保する。図4において、L1〜L5はデータ読み込み領域100の5つのラインを示す。このデータ読み込み領域100には初期値としてMax を書き込む。
【0036】
x方向およびy方向共に太らせを行う場合には後述する太らせ処理に進み、x方向およびy方向の少なくとも一方向に細らせ処理を行う場合には後述する細らせ/太らせ処理に進む(ステップS3)。
【0037】
(1)太らせ処理
太らせ処理では、太らせ形状テーブルに基づいて各ラインの画像をy方向に太らせるとともに複数ラインの変化点データをマージ処理することにより、画像をx方向およびy方向の両方に太らせる。
【0038】
図5はy方向の太らせ方法を示す図である。y方向の太らせでは、奇数番目の変化点データから太らせ量分減算し、偶数番目の変化点データに太らせ量分加算する。減算結果が負になる場合には0を設定する。また、減算または加算により2つの変化点データの大小関係が入れ替わる場合または2つの変化点データが等しくなる場合にはそれらの2つの変化点データを消去する。
【0039】
図5(a)の例では、変化点データ1,5,6,9,13,15,Max をy方向に2太らせることにより変化点データ0,17,Max が得られる。図5(b)の例では、変化点データ3,10,15,17,Max をy方向に2太らせることにより変化点データ1,12,13,19,Max が得られる。図5(c)の例では、変化点データ3,11,15,17,Max をy方向に1太らせることにより変化点データ2,12,14,18,Max が得られる。
【0040】
図6はマージ処理を説明するための図である。マージ処理では、2ライン分の変化点データを1ラインの変化点データに合成する。このマージ処理は、2ライン分の画素に対して論理和演算を行うことに相当する。
【0041】
図6(a)の例では、変化点データ1,5,8,10,13,16,Max と変化点データ1,3,12,14,Max とをマージ処理することにより変化点データ1,5,8,10,12,16,Max が得られる。図6(b)の例では、変化点データ1,12,13,19,Max と変化点データ2,12,14,18,Max とをマージ処理することにより変化点データ1,12,13,19,Max が得られる。
【0042】
図7、8および図9は太らせ処理を示すフローチャートである。
まず、太らせ形状テーブルを作成する(図7のステップS4)。この場合、入力されたx方向の太らせ量Δxおよびy方向の太らせ量Δyに基づいて太らせ処理された1つのラインの画像の端部が円または楕円に近い形状になるようにマージ処理におけるy方向の太らせ量yを設定する。具体的には、入力されたy方向の太らせ量Δyを半径とする円の方程式からx方向の太らせ幅(2Δx+1)の範囲の太らせ量yの値を算出する。
【0043】
例えば、図10(a)に示すように、y方向の太らせ量Δy=2およびx方向の太らせ量Δx=2の場合、円の方程式は(x−2)2 +y2 =4となり、図10(b)に示す太らせ形状テーブル101が得られる。この太らせ形状テーブル101のx方向の範囲はx方向の太らせ幅(2Δx+1)に相当し、本例では5となる。
【0044】
次に、(Δx+1)ライン分のランレングスデータを変化点データとしてデータ読み込み領域100に読み込む(図7のステップS5)。そして、データ読み込み領域100の変化点データをy方向に太らせながらマージ処理を行う(ステップS6)。その後、マージ処理により得られた1ライン分の変化点データをランレングスデータとして出力する(ステップS7)。
【0045】
さらに、次の1ライン分のランレングスデータを変化点データとしてデータ読み込み領域100に読み込む(図8のステップS8)。そして、データ読み込み領域100の変化点データをy方向に太らせながらマージ処理を行う(ステップS9)。その後、マージ処理により得られた1ライン分の変化点データをランレングスデータとして出力する(ステップS10)。すべてのランレングスデータをデータ読み込み領域100に読み込むまでステップS8〜S10の処理を繰り返す(ステップS11)。その後、変数iをx方向の太らせ量Δxに設定する(ステップS12)。
【0046】
次に、データ読み込み領域100の最も古い1ライン分の変化点データを消去する(ステップS13)。そして、データ読み込み領域100の変化点データをy方向に太らせながらマージ処理を行う(ステップS14)。その後、マージ処理により得られた1ライン分の変化点データをランレングスデータとして出力した後(ステップS15)、変数iから1を減算する(ステップS16)。変数iが0になるまでステップS13〜S16の処理を繰り返す(ステップS17)。
【0047】
次に、図11〜図20を参照しながら太らせ処理の具体例を説明する。
ここでは、図11(a)に示すランレングスデータに対して太らせ処理を行うものとする。図11(b)は図11(a)のランレングスデータに対応する画像を示し、図11(c)は図11(a)のランレングスデータに対応する変化点データを示す。x方向の太らせ量Δxを2とし、y方向の太らせ量Δyを2とする。
【0048】
この場合、図12に示すように、5ライン分のランレングスデータを記憶するデータ読み込み領域100を確保し、各ラインL1〜L5に初期値として変化点データMax を書き込む。まず、図11の第1番目〜第3番目のラインのランレングスデータを変化点データとしてデータ読み込み領域100のラインL1〜L3に読み込む。
【0049】
次に、図13(a)に示すように、補助メモリ13にマージ処理領域MS,MRを確保し、マージ処理領域MSの先頭に初期値として変化点データMax を書き込む。この場合、データ読み込み領域L1〜L5の変化点データに対する太らせ量yは太らせ形状テーブル101に基づいてそれぞれ2,1,0,0,1に設定する。
【0050】
まず、データ読み込み領域100のラインL1の変化点データMax をy方向に2太らせてマージ処理領域MRに書き込み、マージ処理領域MSの変化点データMax とマージ処理領域MRの変化点データMax とをマージ処理し、処理結果である変化点データMax をマージ処理領域MSに書き込む。
【0051】
次に、データ読み込み領域100のラインL2の変化点データMax をy方向に1太らせてマージ処理領域MRに書き込み、マージ処理領域MSの変化点データMax とマージ処理領域MRの変化点データMax とをマージ処理し、処理結果である変化点データMax をマージ処理領域MSに書き込む。
【0052】
さらに、データ読み込み領域100のラインL3の変化点データ3,10,15,17,Max をy方向に0太らせてマージ処理領域MRに書き込み、マージ処理領域MSの変化点データMax とマージ処理領域MRの変化点データ3,10,15,17,Max とをマージ処理し、処理結果である変化点データ3,10,15,Max をマージ処理領域MSに書き込む。
【0053】
データ読み込み領域100のラインL4,L5の変化点データについても同様にマージ処理を行い、最終的なマージ処理結果である変化点データ3,10,15,17,Max を処理結果格納領域M0に書き込む。
【0054】
図13(b)に示すように、処理結果格納領域M0の変化点データ3,10,15,17,Max をランレングスデータ3,7,5,2,LFとしてデータ出力領域M1に出力する。なお、ランレングスデータは、各2つの変化点データの差を順に求めることにより得られる。図13(c)にマージ処理により得られた画像を示す。
【0055】
この場合、データ読み込み領域100のラインL4,L5には変化点データが読み込まれていないので、実質的には3ライン分の変化点データに対してマージ処理を行ったことになる。
【0056】
図14(a)に示すように、図11の第4番目のラインのランレングスデータを変化点データとしてデータ読み込み領域100のラインL4に読み込む。この場合にも、マージ処理領域MSの先頭に初期値として変化点データMax を書き込む。データ読み込み領域L1〜L5の変化点データに対する太らせ量yはそれぞれ1,2,1,0,0に設定する。
【0057】
まず、データ読み込み領域100のラインL2の変化点データMax をy方向に2太らせてマージ処理領域MRに書き込み、マージ処理領域MSの変化点データMax とマージ処理領域MRの変化点データMax とをマージ処理し、処理結果である変化点データMax をマージ処理領域MSに書き込む。
【0058】
次に、データ読み込み領域100のラインL3の変化点データ3,10,15,17,Max をy方向に1太らせ、得られた変化点データ2,11,14,18,Max をマージ処理領域MRに書き込み、マージ処理領域MSの変化点データMax とマージ処理領域MRの変化点データ2,11,14,18,Max とをマージ処理し、処理結果である変化点データ2,11,14,18,Max をマージ処理領域MSに書き込む。
【0059】
さらに、データ読み込み領域100のラインL4の変化点データ3,11,15,17,Max をy方向に0太らせてマージ処理領域MRに書き込み、マージ処理領域MSの変化点データ2,11,14,18,Max とマージ処理領域MRの変化点データ3,11,15,17,Max とをマージ処理し、処理結果である変化点データ2,11,14,18,Max をマージ処理領域MSに書き込む。
【0060】
データ読み込み領域100のラインL5,L1の変化点データについても同様にマージ処理を行い、最終的なマージ処理結果である変化点データ2,11,14,18,Max を処理結果格納領域M0に書き込む。
【0061】
図14(b)に示すように、処理結果格納領域M0の変化点データ2,11,14,18,Max をランレングスデータ2,9,3,4,LFとしてデータ出力領域M1に出力する。図14(c)にマージ処理により得られた画像を示す。
【0062】
この場合、データ読み込み領域100のラインL5には変化点データが読み込まれていないので、実質的には4ライン分の変化点データに対してマージ処理を行ったことになる。
【0063】
次に、図15(a)に示すように、図11の第5番目のラインのランレングスデータを変化点データとしてデータ読み込み領域100のラインL5に読み込み、ラインL3,L4,L5,L1,L2の順にy方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ1,12,13,19,Max を処理結果格納領域M0に書き込む。そして、処理結果格納領域M0の変化点データ1,12,13,19,Max をランレングスデータ1,11,1,6,LFとしてデータ出力領域M1に出力する。図15(b)にマージ処理により得られた画像を示す。
【0064】
さらに、図16(a)に示すように、図11の第6番目のラインのランレングスデータを変化点データとしてデータ読み込み領域100のラインL1に読み込み、ラインL4,L5,L1,L2,L3の順にy方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ1,19,Max を処理結果格納領域M0に書き込む。そして、処理結果格納領域M0の変化点データ1,19,Max をランレングスデータ1,18,LFとしてデータ出力領域M1に出力する。図16(b)にマージ処理により得られた画像を示す。
【0065】
次に、図17(a)に示すように、図12の第7番目のラインのランレングスデータを変化点データとしてデータ読み込み領域100のラインL2に読み込み、ラインL5,L1,L2,L3,L4の順にy方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ1,12,13,19,Max を処理結果格納領域M0に書き込む。そして、処理結果格納領域M0の変化点データ1,12,13,19,Max をランレングスデータ1,11,1,6,LFとしてデータ出力領域M1に出力する。図17(b)にマージ処理により得られた画像を示す。
【0066】
この時点で、すべてのランレングスデータがデータ読み込み領域100に読み込まれたことになる。
【0067】
次に、図18(a)に示すように、データ読み込み領域100のラインL3の変化点データを消去する。変化点データの消去は、変化点データMax を書き込むことにより行う。この場合、ラインL3には変化点データMax が既に書き込まれているので、変化点データは変化しない。データ読み込み領域100のラインL1,L2,L3,L4,L5の順にy方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ1,11,14,18,Max を処理結果格納領域M0に書き込む。そして、処理結果格納領域M0の変化点データ1,11,14,18,Max をランレングスデータ1,10,3,4,LFとしてデータ出力領域M1に出力する。図18(b)にマージ処理により得られた画像を示す。
【0068】
この場合、データ読み込み領域100のラインL3の変化点データは消去されているので、実質的に4ライン分の変化点データに対してマージ処理を行ったことになる。
【0069】
最後に、図19(a)に示すように、データ読み込み領域100のラインL4の変化点データを消去し、ラインL2,L3,L4,L5,L1の順にy方向の太らせおよびマージ処理を行い、最終的なマージ結果である変化点データ2,9,15,17,Max を処理結果格納領域M0に書き込む。そして、処理結果格納領域M0の変化点データ2,9,15,17,Max をランレングスデータ2,7,6,2,LFとしてデータ出力領域M1に出力する。図19(b)にマージ処理により得られた画像を示す。
【0070】
この場合には、データ読み込み領域100のラインL3,L4の変化点データが消去されているので、実質的に3ライン分の変化点データに対してマージ処理を行ったことになる。
【0071】
このようにして、図20(a)に示す画像に対してy方向の太らせおよびマージ処理を行うことにより、図20(b)に示す画像が得られる。この太らせ処理では、画像の第1〜第3ラインを用いたマージ処理により第1ラインの処理結果が得られ、第1〜第4ラインを用いたマージ処理により第2ラインの処理結果が得られ、第1〜第5ラインを用いたマージ処理により第3ラインの処理結果が得られる。また、第2〜第6ラインを用いたマージ処理により第4ラインの処理結果が得られ、第3〜第7ラインを用いたマージ処理により第5ラインの処理結果が得られる。さらに、第4〜第7ラインを用いたマージ処理により第6ラインの処理結果が得られ、第5〜第7ラインを用いたマージ処理により第7ラインの処理結果が得られる。
【0072】
本実施例の太らせ処理では、変化点データを用いて画像をx方向およびy方向に太らせることができるので、処理速度が高速になる。また、x方向およびy方向の太らせ量をそれぞれ独立に制御することができる。
【0073】
図21は複数ライン分の変化点データのマージ処理を示すフローチャートである。まず、データ読み込み領域100のマージ開始位置のライン番号nを取得する(ステップS41)。そして、変数kを0に設定する(ステップS42)。次に、マージ処理領域MSの先頭に初期値として変化点データMax を書き込む(ステップS43)。
【0074】
データ読み込み領域100の(n+k)番目のラインの変化点データにy方向の太らせを行ってマージ処理領域MRに書き込む(ステップS44)。その後、マージ処理領域MSの変化点データとマージ処理領域MRの変化点データとにマージ処理を行い、処理結果をマージ処理領域MSに書き込み(ステップS45)、変数kに1を加算する(ステップS46)。変数kがx方向の太らせ幅(2Δx+1)以上になるまでステップS44〜S46の処理を繰り返す。
【0075】
なお、データ読み込み領域100の(2Δx+1)番目のラインの次は1番目のラインに戻る。例えば、図4の例では、データ読み込み領域100のラインL5の次にはラインL1に戻る。
【0076】
図22、図23および図24は2ライン分の変化点データのマージ処理を示すフローチャートである。
【0077】
図22〜図24において、A状態フラグは一方のラインの画像のオンまたはオフの状態を示し、B状態フラグは他方のラインの画像のオンまたはオフの状態を示し、マージ状態フラグはマージ処理により得られる画像のオンまたはオフの状態を示す。また、A[nA]は一方のラインにおけるnA番目の変化点データを示し、B[nB]は他方のラインにおけるnB番目の変化点データを示す。さらに、M[nm]はマージ処理により得られるnm番目の変化点データを示す。
【0078】
最初に、A状態フラグをオフにし、B状態フラグをオフにし、マージ状態フラグをオフにし、nA=0、nB=0、nm=0に設定する(ステップS51)。
【0079】
まず、一方のラインの0番目の変化点データA[nA]と他方のラインの0番目の変化点データB[nB]とを比較する(ステップS52)。B[nB]≧A[nA]の場合には、A状態フラグをオンにし(ステップS53)、M[nm]をA[nA]に設定した後(ステップS54)、nAに1を加算する(ステップS55)。
【0080】
一方、ステップS52でA[nA]>B[nB]の場合には、B状態フラグをオンにし(ステップS56)、M[nm]をB[nB]に設定した後(ステップS57)、nBに1を加算する(ステップS58)。
【0081】
次に、nmに1を加算し(ステップS59)、一方のラインのnA番目の変化点データA[nA]と他方のラインのnB番目の変化点データB[nB]とを比較する(ステップS60)。
【0082】
B[nB]≧A[nA]の場合には、A状態フラグの状態を反転させる(ステップS61)。すなわち、A状態フラグがオンの場合にはオフにし、A状態フラグがオフの場合にはオンにする。
【0083】
次に、A状態フラグがマージ状態フラグと異なりかつA状態フラグがオフであるか否かを判別する(ステップS62)。A状態フラグがマージ状態フラグと異なりかつA状態フラグがオフの場合には、M[nm]をA[nA]に設定する(ステップS63)。
【0084】
次に、マージ状態フラグがオフでM[nm−1]とM[nm]とが一致するか否かを判別する(ステップS64)。すなわち、マージ処理により得られる画像がオフの状態でかつマージ処理により得られた1つ前の変化点データと現在の変化点データとが一致するか否かを判別する。マージ状態フラグがオフでかつM[nm−1]とM[nm]とが一致する場合には、nmから1を減算し(ステップS65)、マージ状態フラグを反転させる(ステップS66)。マージ状態フラグがオンまたはM[nm−1]とM[nm]とが一致しない場合には、nmに1を加算し(ステップS67)、マージ状態フラグを反転させる(ステップS68)。
【0085】
その後、nAに1を加算し(ステップS69)、ステップS59に戻る。ステップS62でA状態フラグがマージ処理フラグと一致するかまたはA状態フラグがオンの場合にはステップS69に進む。
【0086】
図22のステップS60でA[nA]>B[nB]の場合には、B状態フラグを反転させる(図24のステップS70)。すなわち、B状態フラグがオンの場合にはオフにし、B状態フラグがオフの場合にはオンにする。
【0087】
次に、B状態フラグがマージ状態フラグと異なりかつB状態フラグがオフであるか否かを判別する(ステップS71)。B状態フラグがマージ状態フラグと異なりかつB状態フラグがオフの場合には、M[nm]をB[nB]に設定する(ステップS72)。
【0088】
次に、マージ状態フラグがオフでM[nm−1]とM[nm]とが一致するか否かを判別する(ステップS73)。すなわち、マージ処理により得られる画像がオフの状態でかつマージ処理により得られた1つ前の変化点データと現在の変化点データとが一致するか否かを判別する。マージ状態フラグがオフでかつM[nm−1]とM[nm]とが一致する場合には、nmから1を減算し(ステップS74)、マージ状態フラグを反転させる(ステップS75)。マージ状態フラグがオンまたはM[nm−1]とM[nm]とが一致しない場合には、nmに1を加算し(ステップS76)、マージ状態フラグを反転させる(ステップS77)。
【0089】
その後、nBに1を加算し(ステップS78)、ステップS59に戻る。ステップS71でB状態フラグがマージ状態フラグと一致するかまたはB状態フラグがオンの場合にはステップS78に進む。
【0090】
このようにして、2つのラインの変化点データを先頭から順に比較しつつ、小さい方をその時点のマージ処理された変化点データの状態に基づいて保存する。
【0091】
(2)細らせ/太らせ処理
細らせ/太らせ処理では、各ラインの画像をy方向に細らせるとともに複数ラインの変化点データをマージ処理することにより画像をx方向に太らせるか、各ラインの画像をy方向に細らせるとともに複数ラインの変化点データをマージ処理することにより画像をx方向に細らせるか、あるいは各ラインの画像をy方向に太らせるとともに複数ラインの変化点データをマージ処理することにより画像をx方向に細らせる。
【0092】
画像をx方向に太らせる場合には、元の画像に対応する変化点データをそのままマージ処理する。画像をx方向に細らせる場合には、元の画像のオンおよびオフを反転させ、反転された画像に対応する変化点データをマージ処理する。
【0093】
図25はy方向の細らせまたは太らせ方法を示す図である。x方向に太らせながらy方向に細らせる場合には、奇数番目の変化点データに細らせ量分加算し、偶数番目の変化点データから細らせ量分減算する。減算または加算により2つの変化点データの大小関係が入れ替わる場合または2つの変化点データが等しくなる場合にはそれらの変化点データを消去する。
【0094】
x方向に細らせながらy方向に細らせまたは太らせる場合には、変化点データの先頭に0を挿入し、画像のオンおよびオフを反転させる。y方向の細らせでは、奇数番目の変化点データから細らせ量分減算し、偶数番目の変化点データに細らせ量分加算することにより、反転された画像をy方向に太らせる。y方向の太らせでは、奇数番目の変化点データに太らせ量分加算し、偶数番目の変化点データから太らせ量分減算することにより、反転された画像をy方向に細らせる。
【0095】
図25(a)の例では、x方向の太らせ時に、変化点データ3,11,15,17,Max をy方向に2細らせることにより、変化点データ5,9,Max が得られる。図25(b)の例では、x方向の細らせ時に、変化点データ3,11,15,17,Max の先頭に0を挿入することにより、オンおよびオフが反転された変化点データ0,3,11,15,17,Max が得られる。そして、得られた変化点データをy方向に2太らせることにより変化点データ0,5,9,Max が得られる。この場合、変化点データ0,5,9,Max を再度は反転させることにより、元の画像をy方向に2細らせた画像が得られる。
【0096】
図26はマージ処理を説明するための図である。マージ処理では、複数のライン分の変化点データを変化点アドレスおよび変化量を用いて1ラインの変化点データに合成する。このマージ処理は、複数ライン分の画素に対して論理和演算を行うことに相当する。
【0097】
変化点アドレスは、複数ラインの変化点データに対応し、変化量は複数ラインにおいて同一の変化点データの数を示す。この変化量は、オフからオンに変化する変化点データ(ランレングスデータのデータ開始位置)で1を加算し、オンからオフに変化する変化点データ(ランレングスデータのデータの終了位置)で1を減算することにより得られる。
【0098】
図26の例では、変化点データ1,4,6,8と変化点データ2,4,5,7と変化点データ2,4とをマージ処理することにより変化点データ1,4,5,8が得られる。この場合、変化量を先頭から順に積算し、先頭の変化点アドレスをオフからオンに変化する変化点データに設定し、変化量の積算値が0になる変化点アドレスをオンからオフに変化する変化点データに設定し、次の変化点アドレスをオフからオンに変化する変化点データに設定する。
【0099】
図27、図28および図29は細らせ/太らせ処理を示すフローチャートである。
【0100】
まず、図1の補助メモリ13に2組の変化点アドレス保存領域CPおよび変化量保存領域CCを確保する(ステップS20)。次に、(Δx+1)ライン分のランレングスデータを変化点データとしてy方向にΔy太らせまたは細らせながらデータ読み込み領域100に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する(ステップS21)。その後、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量に基づいて1ライン分の変化点データをランレングスデータとして出力する(ステップS22)。
【0101】
その後、次のラインのランレングスデータを変化点データとしてy方向にΔy太らせまたは細らせながらデータ読み込み領域100に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する(図27のステップS23)。そして、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量に基づいて1ライン分の変化点データをランレングスデータとして出力する(ステップS24)。データ読み込み領域100の全てのラインに変化点データを読み込むまでステップS23,S24の処理を繰り返す。
【0102】
次に、データ読み込み領域100の最も古い1ライン分の変化点データを消去し、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する(図28のステップS26)。そして、次の1ライン分のランレングスデータを変化点データとしてy方向にΔy太らせまたは細らせながらデータ読み込み領域100に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する(ステップS27)。その後、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量に基づいて1ライン分のランレングスデータを出力する(ステップS28)。全てのランレングスデータをデータ読み込み領域100に読み込むまでステップS26〜S28の処理を繰り返す。その後、変数iをx方向の細らせ量または太らせ量Δxに設定する(ステップS30)。
【0103】
次に、データ読み込み領域100の最も古い1ライン分の変化点データを消去し、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する(図29のステップS31)。その後、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量に基づいて1ライン分の変化点データをランレングスデータとして出力し(ステップS32)、変数iから1を減算する(ステップS33)。変数iが0になるまでステップS31〜S33の処理を繰り返す。
【0104】
次に、図30〜図43を参照しながら細らせ/太らせ処理の具体例を説明する。
【0105】
ここでは、図30(a)に示すランレングスデータをx方向に細らせかつy方向に細らせるものとする。図30(b)は図30(a)のランレングスデータに対応する画像を示し、図30(c)は図30(a)のランレングスデータに対応する変化点データを示す。また、x方向の細らせ量Δxを2とし、y方向の細らせ量Δyを2とする。
【0106】
x方向の細らせでは、図31(a)に示すように、各ラインの変化点データの先頭に0を挿入することにより変化点データのオンおよびオフの状態を反転させる。それにより、図30(b)に示した画像のオンおよびオフが図31(b)に示すように反転する。
【0107】
さらに、図31(c)に示すように、反転された図31(a)の変化点データをy方向に2太らせる。y方向の太らせでは、奇数番目の変化点データから太らせ量分減算し、偶数番目の変化点データに太らせ量分加算する。減算結果が負になる場合には0を設定する。減算または加算により2つの変化点データの大小関係が入れ替わる場合または2つの変化点データが等しくなる場合にはそれらの2つの変化点データを消去する。y方向の太らせの結果、図31(d)に示す画像が得られる。
【0108】
まず、図32〜図34に示すように、データ読み込み領域100のラインL1,L2,L3に図30の第1番目〜第3番目のラインのランレングスデータを変化点データとして図31に示した方法で反転およびy方向に2太らせながら順に読み込み、読み込み時に、変化点データの偶数番目の値を負にする。
【0109】
このとき、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。それにより、データ読み込み領域100のラインL1に変化点データ0,−Max が記憶され、ラインL2に変化点データ0,−5,8,−Max が記憶され、ラインL3に変化点データ0,−5,9,−Max が記憶される。また、変化点アドレス保存領域CPの変化点アドレスが0,5,8,9,Max に更新され、変化量保存領域CCの変化量が3,−2,1,1,−3に更新される。
【0110】
この時点で、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量に基づいて1ライン分の変化点データをランレングスデータとして出力する。この場合、変化量を先頭から順に積算し、先頭の変化点アドレス、積算値が0となる変化点アドレスおよび次の変化点アドレスを変化点データとし、0の挿入により反転された変化点データを元に戻すために先頭の変化点データ0を消去する。図34の例では、変化点データはMax となり、ランレングスデータとしてLFを出力する。
【0111】
図35に示すように、図30の第4番目のラインのランレングスデータを変化点データとして図31の方法で反転およびy方向に2太らせながらデータ読み込み領域100のラインL4に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。それにより、変化点アドレス保存領域CPの変化点アドレスが0,4,5,7,8,9,Max に更新され、変化量保存領域CCの変化量が4,−1,−2,1,1,1,−4に更新される。
【0112】
変化量保存領域CCの変化量を積算し、先頭の変化点アドレス0および積算値が0となる変化点アドレスMax を変化点データとし、先頭の変化点データ0を消去する。そして、変化点データMax をランレングスデータLFとして出力する。
【0113】
次に、図36に示すように、図30の第5番目のラインのランレングスデータを変化点データとして図31の方法で反転およびy方向に2太らせながらデータ読み込み領域100のラインL5に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。
【0114】
同様に、先頭の変化点アドレス0および変化量保存領域CCの変化量の積算値が0となる変化点アドレスMax を変化点データとし、先頭の変化点データ0を消去する。そして、変化点データMax をランレングスデータLFとして出力する。この時点でデータ読み込み領域100の全てのラインL1〜L5にデータが読み込まれている。
【0115】
図37に示すように、データ読み込み領域100のラインL1の変化点データ0,−Max を消去し、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。この場合、変化点アドレス保存領域CPの変化点アドレスは0,4,5,7,8,9,−Max に更新され、変化量保存領域CCの変化量は4,−2,−2,1,2,1,−4に更新される。
【0116】
続いて、図38に示すように、図30の第6番目のラインのランレングスデータを変化点データとして図30の方法で反転およびy方向に2太らせながらデータ読み込み領域100のラインL1に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。
【0117】
それにより、変化点アドレス保存領域CPの変化点アドレスが0,4,5,7,8,9,Max に更新され、変化量保存領域CCの変化量が5,−3,−2,1,3,1,−5に更新される。先頭の変化点アドレス0、変化量保存領域CCの変化量の積算値が0となる変化点アドレス5、次の変化点アドレス7および積算値が0となる変化点アドレスMax を変化点データとし、先頭の変化点データ0を消去する。そして、変化点データ5,7,Max をランレングスデータ5,2,LFとして出力する。
【0118】
次に、図39に示すように、データ読み込み領域100のラインL2の変化点データを消去し、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新した後、図30の第7番目のラインのランレングスデータを変化点データとして図31の方法で反転およびy方向に2太らせながらデータ読み込み領域100のラインL2に読み込み、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。
【0119】
それにより、変化点アドレス保存領域CPの変化点アドレスが0,4,5,7,8,9,Max に更新され、変化量保存領域CCの変化量が5,−3,−1,1,2,1,−5に更新される。先頭の変化点アドレス0および変化量保存領域CCの変化量の積算値が0となる変化点アドレスMax を変化点データとし、先頭の変化点データ0を消去する。そして、変化点データMax をランレングスデータLFとして出力する。この時点で、データ読み込み領域100に全てのランレングスデータが読み込まれている。
【0120】
図40に示すように、データ読み込み領域100のラインL3の変化点データを消去し、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。それにより、変化点アドレス保存領域CPの変化点アドレスが0,4,7,8,Max に更新され、変化量保存領域CCの変化量が4,−3,1,2,−4に更新される。先頭の変化点アドレス0および変化量保存領域CCの変化量の積算値が0となる変化点アドレスMax を変化点データとし、先頭の変化点データ0を消去する。そして、変化点データMax をランレングスデータLFとして出力する。
【0121】
最後に、図41に示すように、データ読み込み領域100のラインL4の変化点データを消去し、変化点アドレス保存領域CPの変化点アドレスおよび変化量保存領域CCの変化量を更新する。それにより、変化点アドレス保存領域CPの変化点アドレスが0,4,8,Max に更新され、変化量保存領域CCの変化量が3,−2,2,−3に更新される。先頭の変化点アドレス0および変化量保存領域CCの変化量の積算値が0となる変化点アドレスMax を変化点データとし、先頭の変化点データ0を消去する。そして、変化点データMax をランレングスデータLFとして出力する。図42に上記の細らせ/太らせ処理により得られた画像を示す。
【0122】
このようにして、図43(a)に示す画像に対して反転、y方向の太らせ、マージ処理および反転を行うことにより、図43(b)に示す画像が得られる。この細らせ/太らせ処理では、画像の第1〜第3ラインを用いたマージ処理により第1ラインの処理結果が得られ、第1〜第4ラインを用いたマージ処理により第2ラインの処理結果が得られ、第1〜第5ラインを用いたマージ処理により第3ラインの処理結果が得られる。また、第2〜第6ラインを用いたマージ処理により第4ラインの処理結果が得られ、第3〜第7ラインを用いたマージ処理により第5ラインの処理結果が得られる。さらに、第4〜第7ラインを用いたマージ処理により第6ラインの処理結果が得られ、第5〜第7ラインを用いたマージ処理により第7ラインの処理結果が得られる。
【0123】
本実施例の細らせ/太らせ処理では、変化点データを用いて画像をx方向およびy方向のうち少なくとも一方向に細らせかつ他方向に細らせまたは太らせることができるので、処理速度が高速になる。また、x方向およびy方向の細らせ量または太らせ量をそれぞれ独立に制御することができる。
【0124】
図44は図1の画像処理装置1を用いた描画装置の主要部のブロック図、図45は図44の描画装置の概略斜視図である。
【0125】
図44の描画装置は、描画ヘッド31を備えた走査光学系30、テーブル32、X軸駆動モータ33、Y軸駆動モータ34および描画制御装置35を含む。
【0126】
走査光学系30の描画ヘッド31は、レーザビームをX軸方向(主走査方向)に所定の走査幅で走査させつつテーブル32上の感光材100に照射する。図45に示すように、テーブル32は、基台38上に配置されたテーブルガイド39によってY軸方向(副走査方向)に移動可能に案内されている。このテーブル32は、Y軸駆動モー32(図44参照)によりY軸方向に駆動される。
【0127】
走査光学系30は、テーブル32の上方においてヘッドガイド40によりX軸方向(主走査方向)に移動可能に案内されている。この走査光学系30は、ボールねじ41を介してX軸駆動モータ33に連結されており、X軸駆動モータ33によりX軸方向に駆動される。
【0128】
図44の描画制御装置35には、図1に示した画像処理装置1が接続され、画像処理装置1に画像入力装置2が接続される。画像処理装置1は、画像入力装置2により入力された画像データに対して上記の画像処理を行い、処理された画像データを描画制御装置35に出力する。
【0129】
描画制御装置35は、画像処理装置1から与えられた画像データに基づいて、走査光学系30、X軸駆動モータ33およびY軸駆動モータ34を制御する。
【0130】
図44の描画装置では、図46に示すように、感光材200を所定の原点位置からY軸方向(副走査方向)にほぼ一定速度で移動させながら、レーザビームBを偏向してX軸方向(主走査方向)に所定のドットビッチで走査させることにより、感光材200の表面に一定の走査幅Wで描画を行う。
【0131】
感光材200がストローク端部にまで移動すれば、感光材200をY軸方向の原点側に戻すとともに、描画ヘッド31を一定距離だけX軸方向に移動させる。その後、感光材200をY軸方向に移動させるとともにレーザビームBをX軸方向に走査させる。
【0132】
このような動作を繰り返すことにより感光材200上の短冊状の領域(ストライプ領域)201ごとに順次露光が行われ、最終的に感光材200の全面に描画が行われる。
【0133】
各ストライプ領域201の描画では、画像データに基づいて走査ライン上のドットごとにレーザビームが点灯または消灯されつつX軸方向に走査され、感光材200上にビーム像が形成される。
【0134】
本実施例では、走査光学系30が光ビーム走査手段に相当し、Y軸駆動モータ34が駆動手段に相当し、画像処理装置1が画像処理装置に相当し、描画制御装置35が描画制御手段に相当する。
【0135】
上記の描画装置においては、図1の画像処理装置1を用いているので、画像を高速に太らせまたは細らせつつ描画を行うことが可能になるとともに太らせ量または細らせ量をx方向およびy方向にそれぞれ独立に制御することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例における画像処理装置の構成を示すブロック図である。
【図2】1ライン分の画像、ランレングスデータおよび変化点データの一例を示す図である。
【図3】太らせ処理および細らせ/太らせ処理における条件の設定処理を示すフローチャートである。
【図4】データ読み込み領域を示す図である。
【図5】y方向の太らせ方法を説明するための図である。
【図6】マージ処理を説明するための図である。
【図7】太らせ処理を示すフローチャートである。
【図8】太らせ処理を示すフローチャートである。
【図9】太らせ処理を示すフローチャートである。
【図10】太らせ形状テーブルの一例を示す図である。
【図11】ランレングスデータ、対応する画像および変化点データの一例を示す図である。
【図12】3ライン分の変化点データが読み込まれたデータ読み込み領域を示す図である。
【図13】太らせ処理の具体例を示す図である。
【図14】太らせ処理の具体例を示す図である。
【図15】太らせ処理の具体例を示す図である。
【図16】太らせ処理の具体例を示す図である。
【図17】太らせ処理の具体例を示す図である。
【図18】太らせ処理の具体例を示す図である。
【図19】太らせ処理の具体例を示す図である。
【図20】太らせ処理前および太らせ処理後の画像を示す図である。
【図21】複数ライン分の変化点データのマージ処理を示すフローチャートである。
【図22】2つのラインの変化点データのマージ処理を示すフローチャートである。
【図23】2つのラインの変化点データのマージ処理を示すフローチャートである。
【図24】2つのラインの変化点データのマージ処理を示すフローチャートである。
【図25】y方向の細らせ処理を説明するための図である。
【図26】マージ処理を説明するための図である。
【図27】細らせ/太らせ処理を示すフローチャートである。
【図28】細らせ/太らせ処理を示すフローチャートである。
【図29】細らせ/太らせ処理を示すフローチャートである。
【図30】ランレングスデータ、対応する画像および変化点データの一例を示す図である。
【図31】変化点データの反転、対応する画像、y方向の太らせおよび対応する画像を示す図である。
【図32】細らせ/太らせ処理の具体例を示す図である。
【図33】細らせ/太らせ処理の具体例を示す図である。
【図34】細らせ/太らせ処理の具体例を示す図である。
【図35】細らせ/太らせ処理の具体例を示す図である。
【図36】細らせ/太らせ処理の具体例を示す図である。
【図37】細らせ/太らせ処理の具体例を示す図である。
【図38】細らせ/太らせ処理の具体例を示す図である。
【図39】細らせ/太らせ処理の具体例を示す図である。
【図40】細らせ/太らせ処理の具体例を示す図である。
【図41】細らせ/太らせ処理の具体例を示す図である。
【図42】細らせ/太らせ処理により得られた画像を示す図である。
【図43】細らせ/太らせ処理前および細らせ/太らせ処理後の画像を示す図である。
【図44】図1の画像処理装置を用いた描画装置の主要部のブロック図である。
【図45】図44の描画装置の概略斜視図である。
【図46】図44の描画装置による描画を示す斜視図である。
【図47】従来の画像の太らせ処理を示す図である。
【符号の説明】
1 画像処理装置
2 画像入力装置
3 画像出力装置
11 画像データ保存用メモリ
12 制御演算部
13 補助メモリ
14 外部記憶装置
30 走査光学系
31 描画ヘッド
32 テーブル
33 X軸駆動モータ
34 Y軸駆動モータ
35 描画制御装置
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus that performs thickening or thinning processing of an image, a recording medium that stores an image processing program, and a drawing apparatus that uses them.
[0002]
[Prior art]
In order to make an image drawn by a drawing device such as a laser plotter thicker or thinner, thickening or thinning of the image is performed.
[0003]
FIG. 47 is a diagram illustrating an example of a conventional image thickening process. To make the image shown in FIG. 47A thicker by two pixels, as shown in FIG. 47B, white pixels in the vicinity of each of the four black pixels are converted into black pixels, and as shown in FIG. As shown, white pixels near eight of each black pixel are converted to black pixels . In this manner, the image composed of black pixels is enlarged by two pixels in the vertical and horizontal directions.
[0004]
To reduce the image by two pixels, conversely, black pixels in the vicinity of four of each white pixel are converted to white pixels, and black pixels in the vicinity of eight of each white pixel are converted to white pixels. Thereby, the image composed of black pixels is reduced by two pixels in the vertical and horizontal directions.
[0005]
[Problems to be solved by the invention]
In the conventional thickening and thinning processes described above, it is necessary to determine whether each pixel is a white pixel or a black pixel, and to convert the values of pixels in the vicinity of 4 or 8 one by one. In this case, it is necessary to convert run-length data indicating the number of consecutive pixels having the same value into bitmap data corresponding to the value of each pixel, and read out each bitmap data one by one. Therefore, the number of times data is read increases, and processing time is required. Further, the amount of increase or decrease in the vertical and horizontal directions cannot be independently controlled.
[0006]
SUMMARY OF THE INVENTION It is an object of the present invention to be able to rapidly reduce an image in at least one of two directions orthogonal to each other and to reduce or increase the thickness in the other direction, and to reduce the amount of reduction or increase in two directions. An object of the present invention is to provide an image processing device that can be controlled independently, a computer-readable recording medium that stores an image processing program, and a drawing device that uses the image processing device.
[0007]
Means for Solving the Problems and Effects of the Invention
(1) First Invention The image processing apparatus according to the first invention thins or thickens an image composed of a plurality of lines of pixel columns in a first direction along each line and orthogonally intersects each line. 2. An image processing apparatus for performing a process of narrowing in two directions, comprising: reading means for sequentially reading run-length data of a plurality of lines corresponding to a pixel column of a plurality of lines of an image as change point data representing a change point of a pixel value Processing means for performing a thinning or fattening process in the first direction on the changing point data of each line read by the reading means; and changing point data thinned or fattened by the processing means. and sequentially obtaining combining means changing point data of each line by synthesizing each number of a plurality of lines which is determined based on the thinning amount in the second direction, the change point data of each line obtained by the combining means It is obtained and output means for outputting the data as a run length.
[0008]
In the image processing apparatus according to the present invention, the run length data of a plurality of lines corresponding to the pixel columns of the plurality of lines of the image are sequentially read as change point data by the reading unit. The change point data processed while the thinning or fattening processing in the first direction is performed by the synthesizing means on the changing point data of each line read by the reading means, and the thinning in the second direction is performed. The number of lines determined on the basis of the shift amount is synthesized for each of the plurality of lines, and the change point data of each line is sequentially obtained. The change point data of each line obtained by the combining means is output as run length by the output means.
[0009]
In this case, the number of change point data is smaller than the number of pixels constituting the image, and thus the data reading time is reduced. Therefore, the image can Rukoto fast so causes thinning or thickening in the first direction thinned in the second direction.
[0010]
In addition, the image is thinned or thickened in the first direction by performing the thinning or thickening process in the first direction on the change point data of each line, and the change point data is synthesized by a plurality of lines. since thinning the image in the second direction makes it possible to control thinning amount in the first direction or thickening amount and the second in the direction thinning amounts independently.
[0011]
(2) Second invention An image processing apparatus according to a second invention is the image processing apparatus according to the first invention, wherein the processing means and the synthesizing means are tapered or fattened in a first direction. One line of change point data to be processed and combined from the number of lines one more than the amount of reduction in the second direction to the number of lines one more than twice the amount of reduction in the second direction After changing sequentially, the change point data to be subjected to the thinning or thickening process in the first direction and the combination are shifted by a predetermined number of lines one line at a time, and the thinning or thickening in the first direction is performed. One line of change point data to be processed and combined from one line more than twice the amount of thinning in the second direction to one line more than the amount of thinning in the second direction In order.
[0012]
In this case, the change point data to be subjected to thinning or thickening process and synthesis in a first direction from the thinning amount 1 large number of lines than in a second direction to a second direction fine By sequentially increasing the number of lines one by one up to the number of lines greater than twice the amount of squeezing, a thinning result on one side of the image is obtained. Further, by shifting the change point data to be subjected to the thinning or fattening process in the first direction and the synthesis by a predetermined number of lines one line at a time, a thinning result at the center of the image can be obtained. Further, the change point data to be subjected to the thickening process and the synthesis in the first direction is thinned in the second direction from the number of lines one more than twice the thinning amount in the second direction. By reducing one line at a time to one more line than the amount, a thinning result on the other side of the image is obtained.
[0013]
(3) Third invention In the image processing device according to the third invention, in the configuration of the image processing device according to the first or second invention, the reading means may include a plurality of lines at the time of narrowing in the second direction. The run length data of the minute is read as change point data corresponding to the inverted image, and the processing means reads each of the read data by the reading means at the time of narrowing in the second direction and narrowing in the first direction. The change point data of the line is subjected to thickening processing in the first direction, and the change point data of each line read by the reading means at the time of thinning in the second direction and thickening in the first direction. This is to perform a narrowing process in the first direction.
[0014]
At the time of thinning in the second direction, the reading unit reads the run-length data for a plurality of lines as change point data corresponding to the inverted image. In this case, at the time of thinning in the first direction, the synthesizing means performs a thickening process in the first direction on the changing point data of each line, and at the time of thickening in the first direction, the synthesizing means. The change point data of each line is subjected to a narrowing process in the first direction.
[0015]
(4) Fourth invention A computer-readable recording medium on which an image processing program according to the fourth invention is recorded is characterized in that an image composed of a plurality of lines of pixel rows is narrowed in a first direction along each line. a second computer readable recording medium recording an image processing program for executing processing of thinning in the direction to the computer that is orthogonal to the line along with the thickening, the image processing program, the pixel row of the plurality of lines of image a process of reading in the order as the change point data representing the change point of the pixel values of run-length data for a plurality of lines corresponding to the allowed thinning or thickening of the change point data of each line read in the first direction a process of performing, synthesized by the number of a plurality of lines which is determined based on the thinning of the change point data processed thereby thinning or thickening in the second direction Each and sequentially obtaining processing change point data of the line, and a process of outputting a change point data of each obtained line as the run-length data by the one in which is executed by a computer.
[0016]
According to the computer-readable recording medium on which the image processing program according to the present invention is recorded, run-length data of a plurality of lines corresponding to pixel lines of a plurality of lines of an image are sequentially read as change point data, and each of the read data is read. while thinning or thickening process in a first direction is performed in the change point data of the line, thinning or thickening processed change point data based on the thinning amount in the second direction The determined number of lines are synthesized, and the change point data of each line is obtained in order. The obtained change point data of each line is output as run-length data.
[0017]
In this case, the number of change point data is smaller than the number of pixels constituting the image, and thus the data reading time is reduced. Therefore, the image can Rukoto fast so causes thinning or thickening in the first direction thinned in the second direction.
[0018]
Also, the image is thinned or fattened in the first direction by performing the thinning or fattening process in the first direction on the changing point data of each line, and the changing point data is synthesized by a plurality of lines. , The image is narrowed in the second direction, so that the amount of thinning or thickening in the first direction and the amount of thinning in the second direction can be independently controlled.
[0019]
(5) Fifth Invention A drawing apparatus according to a fifth invention is a drawing apparatus that draws an object using a light beam, and turns on and off the light beam in a first scanning direction of the object. Light beam scanning means for scanning, a driving means for relatively moving the light beam scanning means and the object in a second scanning direction orthogonal to the first scanning direction, and an image comprising a plurality of lines of pixel rows. An image processing device that performs processing to reduce or increase the thickness in a first direction along each line and reduce the thickness in a second direction orthogonal to each line, and light based on data output from the image processing device. The image processing apparatus further includes: a beam scanning unit and a drawing control unit that controls a driving unit, wherein the image processing apparatus converts run-length data of a plurality of lines corresponding to a pixel column of a plurality of lines of an image as change point data representing a change point of a pixel value. Read in order And no reading means, processing means intends row processing was thinning or thickening in the first direction to the change point data of each line read by reading means, the change point data processed by the processing means second Combining means for sequentially obtaining the change point data of each line by combining a plurality of lines of a number determined based on the amount of reduction in the direction of, and running the change point data of each line obtained by the combining means. Output means for outputting as length data.
[0020]
In the drawing apparatus according to the present invention, the object is scanned in the first scanning direction while the light beam is turned on and off by the light beam scanning means. Further, the drive means moves the light beam scanning means and the object relatively in the second direction. In this case, the light beam scanning unit and the driving unit are controlled based on data output from the image processing device.
[0021]
In particular, in the drawing apparatus according to the present invention, the image processing apparatus can rapidly narrow or thicken the image in the first direction while narrowing the image in the second direction, and can reduce the image in the first direction. It is possible to independently control the amount of thinning or thickening and the amount of thinning in the second direction. Therefore, it is possible to draw an image on an object while narrowing or thickening the image in the first direction at a high speed, and to draw the image in the first direction. The thickening amount and the thinning amount in the second direction can be independently controlled.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention.
[0023]
1, the image processing apparatus 1 includes an image data storage memory 11, a control operation unit 12, an auxiliary memory 13, and an external storage device 14. The control operation unit 12 includes a CPU (central processing unit).
[0024]
The external recording device 14 includes a recording medium such as a hard disk device or a floppy disk device, and stores an image processing program for performing a thickening process and a thinning / thickening process described later. The auxiliary memory 13 is used as a work area.
[0025]
An image input device 2, an image output device 3, a display device 4, and a pointing device 5 are connected to the image processing device 1. The image input device 2 is, for example, an image scanner, an input device for inputting CAD (Computer Aided Design) data, and the like. The image output device 3 is, for example, a drawing device described later. The display device 4 is, for example, a display, and the pointing device 5 is, for example, a mouse.
[0026]
Image data input from the image input device 2 is stored in the image data storage memory 11. The control operation unit 12 performs a later-described thickening process or thinning / thinning process on the image data stored in the image data storage memory 11 according to an image processing program stored in the external storage device 14. The output image data is output to the image output device 3 via the image data storage memory 11.
[0027]
The display device 4 displays an image corresponding to the image data input by the image input device 2, and displays an image corresponding to the image data processed by the control operation unit 12. The pointing device 5 is used to input various parameters relating to the fattening process and the thinning / thickening process.
[0028]
In this embodiment, the image data storage memory 11, the control operation unit 12 and the auxiliary memory 13 constitute a reading unit, the control operation unit 12 and the auxiliary memory 13 constitute a synthesizing unit, and the image data storage memory 11 and the control unit The calculation unit 12 forms an output unit.
[0029]
Hereinafter, the thickening process and the thinning / thickening process performed by the image processing apparatus of FIG. 1 will be described. In the following description, the horizontal direction (horizontal direction) of the image is defined as the x direction, and the vertical direction (vertical direction) of the image is defined as the y direction.
[0030]
The thickening process refers to a process of enlarging an image in the x direction and the y direction. The thinning / thickening process reduces the image in at least one of the x and y directions and reduces or expands the other direction. Refers to processing.
[0031]
For convenience of description, as shown in FIG. 2, an image of one line is represented by a symbol consisting of a circle and a straight line shown in FIG. 2B. The run-length data is data indicating a continuous number of pixels having the same value (white pixels or black pixels). The pixel value of a white pixel is, for example, “0”, and the pixel value of a black pixel is, for example, “1”. For example, in the example of FIG. 2A, since five white pixels are continuous, six black pixels are continuous, and seven white pixels are continuous, the run-length data is 5, 6, 7, and LF. LF represents a line feed. The change point data is data indicating a position (change point address) of a change point from a white pixel to a black pixel or from a black pixel to a white pixel. In the example of FIG. 2A, the change point data is 0, 5, 11, Max. Max represents a symbol corresponding to the line feed LF.
[0032]
Further, in the following description, as shown in FIG. 2B, white pixels are turned off, black pixels are turned on, and transition points from off to on and from on to off are represented by circles. ON pixels are represented by straight lines.
[0033]
FIG. 3 is a flowchart showing a condition setting process in the thickening process and the thinning / thickening process.
[0034]
First, a thickening or thinning amount Δx in the x direction and a thickening or thinning amount Δy in the y direction are input (step S1). Then, a data reading area for (2Δx + 1) lines corresponding to the thickening width in the x direction is secured in the auxiliary memory 13 (step S2).
[0035]
For example, when the amount of thickening or thinning Δx in the x direction is two pixels, a data reading area 100 for five lines is secured as shown in FIG. In FIG. 4, L1 to L5 indicate five lines of the data reading area 100. Max is written into this data reading area 100 as an initial value.
[0036]
The process proceeds to the thickening process described below when performing the thickening in both the x direction and the y direction, and proceeds to the thinning / thickening process described below when performing the thinning process in at least one of the x direction and the y direction. Proceed (step S3).
[0037]
(1) Thickening process In the thickening process, the image of each line is thickened in the y-direction based on the thickening shape table, and the change point data of a plurality of lines is merged, so that the image in the x-direction and the y-direction is obtained. Fat to both.
[0038]
FIG. 5 is a diagram illustrating a method of increasing the thickness in the y direction. In the thickening in the y direction, the thickening amount is subtracted from the odd-numbered change point data, and the thickened amount is added to the even-numbered change point data. If the subtraction result is negative, 0 is set. In addition, when the magnitude relationship between the two change point data is switched by subtraction or addition, or when the two change point data become equal, the two change point data are deleted.
[0039]
In the example of FIG. 5A, the change point data 0, 17, and Max are obtained by increasing the change point data 1, 5, 6, 9, 13, 15, and Max by two in the y direction. In the example shown in FIG. 5B, the change point data 1, 12, 13, 19, Max can be obtained by increasing the change point data 3, 10, 15, 17, Max by two in the y direction. In the example of FIG. 5C, the change point data 2, 11, 14, 18, and Max are obtained by increasing the change point data 3, 11, 15, 17, Max by one in the y direction.
[0040]
FIG. 6 is a diagram for explaining the merge process. In the merge processing, the change point data of two lines is combined with the change point data of one line. This merging process corresponds to performing a logical sum operation on pixels for two lines.
[0041]
In the example shown in FIG. 6A, the change point data 1, 5, 8, 10, 13, 16, Max and the change point data 1, 3, 12, 14, Max are merged to change point data 1, 5, 8, 10, 12, 16, Max are obtained. In the example of FIG. 6B, the change point data 1, 12, 13, 19, Max and the change point data 2, 12, 14, 18, Max are merged to obtain the change point data 1, 12, 13, 13, Max. 19. Max is obtained.
[0042]
7, 8 and 9 are flowcharts showing the fattening process.
First, a fattening shape table is created (Step S4 in FIG. 7). In this case, the merging process is performed so that the end of the image of one line subjected to the fattening process based on the input fattening amount Δx in the x direction and fattening amount Δy in the y direction has a shape close to a circle or an ellipse. Is set in the y direction. Specifically, a value of the fatness y in the range of the fattening width (2Δx + 1) in the x direction is calculated from an equation of a circle having the radius of the fattening amount Δy in the y direction.
[0043]
For example, as shown in FIG. 10 (a), when the fattening amount Δy = 2 in the y direction and the fattening amount Δx = 2 in the x direction, the equation of the circle is (x−2) 2 + y 2 = 4, A fattening shape table 101 shown in FIG. 10B is obtained. The range in the x direction of the thickened shape table 101 corresponds to the thickened width (2Δx + 1) in the x direction, and is 5 in this example.
[0044]
Next, run length data for (Δx + 1) lines is read into the data reading area 100 as change point data (step S5 in FIG. 7). Then, the merging process is performed while thickening the change point data in the data reading area 100 in the y direction (step S6). Thereafter, the change point data for one line obtained by the merge processing is output as run-length data (step S7).
[0045]
Further, the run length data for the next one line is read into the data reading area 100 as change point data (step S8 in FIG. 8). Then, the merging process is performed while changing the change point data in the data reading area 100 in the y direction (step S9). Thereafter, the change point data for one line obtained by the merge processing is output as run-length data (step S10). The processes in steps S8 to S10 are repeated until all the run length data is read into the data reading area 100 (step S11). Thereafter, the variable i is set to the x-direction thickening amount Δx (step S12).
[0046]
Next, the oldest one-line change point data in the data reading area 100 is erased (step S13). Then, the merging process is performed while changing the change point data in the data reading area 100 in the y direction (step S14). Thereafter, the change point data for one line obtained by the merge processing is output as run-length data (step S15), and 1 is subtracted from the variable i (step S16). The processes of steps S13 to S16 are repeated until the variable i becomes 0 (step S17).
[0047]
Next, a specific example of the fattening process will be described with reference to FIGS.
Here, it is assumed that the fattening process is performed on the run-length data shown in FIG. FIG. 11B shows an image corresponding to the run length data of FIG. 11A, and FIG. 11C shows change point data corresponding to the run length data of FIG. The thickening amount Δx in the x direction is 2, and the thickening amount Δy in the y direction is 2.
[0048]
In this case, as shown in FIG. 12, a data reading area 100 for storing run-length data for five lines is secured, and change point data Max is written as an initial value in each of the lines L1 to L5. First, the run length data of the first to third lines in FIG. 11 is read as change point data into the lines L1 to L3 of the data reading area 100.
[0049]
Next, as shown in FIG. 13A, the merge processing areas MS and MR are secured in the auxiliary memory 13, and the change point data Max is written at the head of the merge processing area MS as an initial value. In this case, the thickening amount y for the change point data of the data reading areas L1 to L5 is set to 2, 1, 0, 0, 1 based on the thickening shape table 101, respectively.
[0050]
First, the change point data Max of the line L1 in the data read area 100 is written in the merge processing area MR by making it thicker by two in the y direction, and the change point data Max of the merge processing area MS and the change point data Max of the merge processing area MR are compared. Merge processing is performed, and change point data Max, which is a processing result, is written in the merge processing area MS.
[0051]
Next, the change point data Max of the line L2 in the data read area 100 is written in the merge processing area MR with the thickness increased by one in the y direction, and the change point data Max of the merge processing area MS and the change point data Max of the merge processing area MR are written. Are merged, and the change point data Max, which is the processing result, is written in the merge processing area MS.
[0052]
Further, the change point data 3, 10, 15, 17, Max of the line L3 in the data read area 100 is written in the merge processing area MR with the thickness increased in the y direction by 0, and the change point data Max of the merge processing area MS and the merge processing area MR are written. The change point data 3,10,15,17, Max of the MR are merged, and the change point data 3,10,15, Max which is the processing result is written in the merge processing area MS.
[0053]
Similarly, the merging process is performed on the changing point data of the lines L4 and L5 in the data reading area 100, and the changing point data 3, 10, 15, 17, Max which is the final merge processing result is written in the processing result storage area M0. .
[0054]
As shown in FIG. 13B, the change point data 3, 10, 15, 17, Max of the processing result storage area M0 is output to the data output area M1 as run-length data 3, 7, 5, 2, LF. Note that the run length data is obtained by sequentially calculating the difference between each two pieces of change point data. FIG. 13C shows an image obtained by the merge processing.
[0055]
In this case, since the change point data has not been read into the lines L4 and L5 of the data reading area 100, the merge processing has been substantially performed on the change point data of three lines.
[0056]
As shown in FIG. 14A, the run-length data of the fourth line in FIG. 11 is read into the line L4 of the data reading area 100 as change point data. Also in this case, the change point data Max is written at the head of the merge processing area MS as an initial value. The fattening amount y for the change point data in the data reading areas L1 to L5 is set to 1, 2, 1, 0, 0, respectively.
[0057]
First, the change point data Max of the line L2 of the data reading area 100 is written in the merge processing area MR by making it thicker by two in the y direction, and the change point data Max of the merge processing area MS and the change point data Max of the merge processing area MR are written. Merge processing is performed, and change point data Max, which is a processing result, is written in the merge processing area MS.
[0058]
Next, the change point data 3, 10, 15, 17, Max of the line L3 in the data reading area 100 is increased by one in the y direction, and the obtained change point data 2, 11, 14, 18, Max is merged with the merge processing area. The data is written into the MR, the change point data Max in the merge processing area MS is merged with the change point data 2, 11, 14, 18, Max in the merge processing area MR, and the change point data 2, 11, 14, 14, 18. Write Max in the merge processing area MS.
[0059]
Further, the change point data 3, 11, 15, 17, Max of the line L4 in the data read area 100 is written to the merge processing area MR with the thickness increased by 0 in the y direction, and the change point data 2, 11, 14 in the merge processing area MS is written. , 18, Max and the change point data 3,11,15,17, Max of the merge processing area MR are merged, and the change point data 2,11,14,18, Max which is the processing result is stored in the merge processing area MS. Write.
[0060]
Merge processing is similarly performed on the change point data of the lines L5 and L1 in the data read area 100, and the change point data 2, 11, 14, 18, and Max, which are the final merge processing results, are written in the processing result storage area M0. .
[0061]
As shown in FIG. 14B, the change point data 2, 11, 14, 18, Max in the processing result storage area M0 is output to the data output area M1 as run-length data 2, 9, 3, 4, LF. FIG. 14C shows an image obtained by the merge processing.
[0062]
In this case, since the change point data has not been read into the line L5 of the data reading area 100, it means that the merge processing has been performed on the change point data for four lines.
[0063]
Next, as shown in FIG. 15A, the run-length data of the fifth line in FIG. 11 is read into the line L5 of the data reading area 100 as change point data, and the lines L3, L4, L5, L1, and L2 are read. Are performed in the order of and the merging process is performed, and change point data 1, 12, 13, 19, and Max, which are final merge results, are written in the process result storage area M0. Then, the change point data 1, 12, 13, 19, Max of the processing result storage area M0 is output to the data output area M1 as run-length data 1, 11, 1, 6, LF. FIG. 15B shows an image obtained by the merge processing.
[0064]
Further, as shown in FIG. 16A, the run length data of the sixth line in FIG. 11 is read into the line L1 of the data reading area 100 as change point data, and the lines L4, L5, L1, L2, and L3 are read. Thickening and merging in the y direction are sequentially performed, and change point data 1, 19, and Max, which are final merge results, are written in the processing result storage area M0. Then, the change point data 1, 19, and Max in the processing result storage area M0 are output to the data output area M1 as run-length data 1, 18, and LF. FIG. 16B shows an image obtained by the merge processing.
[0065]
Next, as shown in FIG. 17A, the run-length data of the seventh line in FIG. 12 is read as change point data into the line L2 of the data reading area 100, and the lines L5, L1, L2, L3, L4 Are performed in the order of and the merging process is performed, and change point data 1, 12, 13, 19, and Max, which are final merge results, are written in the process result storage area M0. Then, the change point data 1, 12, 13, 19, Max of the processing result storage area M0 is output to the data output area M1 as run-length data 1, 11, 1, 6, LF. FIG. 17B shows an image obtained by the merge processing.
[0066]
At this point, all run-length data has been read into the data reading area 100.
[0067]
Next, as shown in FIG. 18A, the change point data of the line L3 in the data reading area 100 is erased. The change point data is erased by writing the change point data Max. In this case, since the change point data Max has already been written in the line L3, the change point data does not change. The thickening and merging processing in the y direction is performed in the order of the lines L1, L2, L3, L4, and L5 in the data reading area 100, and the change point data 1, 11, 14, 18, and Max as the final merging result are processed. Write to the storage area M0. Then, the change point data 1, 11, 14, 18, and Max of the processing result storage area M0 are output to the data output area M1 as run-length data 1, 10, 3, 4, and LF. FIG. 18B shows an image obtained by the merge processing.
[0068]
In this case, since the change point data of the line L3 in the data reading area 100 has been deleted, the merge processing has been substantially performed on the change point data of four lines.
[0069]
Finally, as shown in FIG. 19A, the change point data of the line L4 in the data reading area 100 is erased, and the lines L2, L3, L4, L5, and L1 are thickened and merged in the y direction in the order. Then, the change point data 2, 9, 15, 17, Max, which is the final merge result, is written in the processing result storage area M0. Then, the change point data 2, 9, 15, 17, Max of the processing result storage area M0 is output to the data output area M1 as run-length data 2, 7, 6, 2, LF. FIG. 19B shows an image obtained by the merge processing.
[0070]
In this case, since the change point data of the lines L3 and L4 in the data reading area 100 has been deleted, the merge processing has been substantially performed on the change point data of three lines.
[0071]
In this way, the image shown in FIG. 20 (b) is obtained by subjecting the image shown in FIG. 20 (a) to thickening and merging in the y direction. In this fattening process, the processing result of the first line is obtained by the merging process using the first to third lines of the image, and the processing result of the second line is obtained by the merging process using the first to fourth lines. Then, the processing result of the third line is obtained by the merge processing using the first to fifth lines. The processing result of the fourth line is obtained by the merge processing using the second to sixth lines, and the processing result of the fifth line is obtained by the merge processing using the third to seventh lines. Further, the processing result of the sixth line is obtained by the merge processing using the fourth to seventh lines, and the processing result of the seventh line is obtained by the merge processing using the fifth to seventh lines.
[0072]
In the fattening process of this embodiment, the image can be fattened in the x direction and the y direction using the change point data, so that the processing speed is high. Further, the amount of thickening in the x direction and the y direction can be independently controlled.
[0073]
FIG. 21 is a flowchart showing the merging process of change point data for a plurality of lines. First, the line number n of the merge start position of the data reading area 100 is obtained (step S41). Then, the variable k is set to 0 (step S42). Next, change point data Max is written as an initial value at the head of the merge processing area MS (step S43).
[0074]
The change point data of the (n + k) th line in the data reading area 100 is thickened in the y direction and written into the merge processing area MR (step S44). Thereafter, a merge process is performed on the change point data of the merge processing area MS and the change point data of the merge processing area MR, the processing result is written in the merge processing area MS (step S45), and 1 is added to the variable k (step S46). ). Steps S44 to S46 are repeated until the variable k becomes equal to or greater than the fattening width (2Δx + 1) in the x direction.
[0075]
Note that the data read area 100 returns to the first line after the (2Δx + 1) th line. For example, in the example of FIG. 4, after the line L5 in the data reading area 100, the process returns to the line L1.
[0076]
FIG. 22, FIG. 23, and FIG. 24 are flowcharts showing the merging process of the change point data for two lines.
[0077]
In FIGS. 22 to 24, the A state flag indicates the on or off state of the image of one line, the B state flag indicates the on or off state of the image of the other line, and the merge state flag indicates the state of the merge processing. Shows the on or off state of the resulting image. A [nA] indicates the nA-th change point data in one line, and B [nB] indicates the nB-th change point data in the other line. Further, M [nm] indicates nm-th change point data obtained by the merge processing.
[0078]
First, the A state flag is turned off, the B state flag is turned off, the merge state flag is turned off, and nA = 0, nB = 0, and nm = 0 are set (step S51).
[0079]
First, the 0th change point data A [nA] of one line is compared with the 0th change point data B [nB] of the other line (step S52). When B [nB] ≧ A [nA], the A state flag is turned on (step S53), M [nm] is set to A [nA] (step S54), and 1 is added to nA (step S54). Step S55).
[0080]
On the other hand, if A [nA]> B [nB] in step S52, the B state flag is turned on (step S56), and M [nm] is set to B [nB] (step S57). 1 is added (step S58).
[0081]
Next, 1 is added to nm (step S59), and the nA-th change point data A [nA] of one line is compared with the nB-th change point data B [nB] of the other line (step S60). ).
[0082]
If B [nB] ≧ A [nA], the state of the A state flag is inverted (step S61). That is, when the A-state flag is on, it is turned off, and when the A-state flag is off, it is turned on.
[0083]
Next, it is determined whether the A state flag is different from the merge state flag and the A state flag is off (step S62). If the A state flag is different from the merge state flag and the A state flag is off, M [nm] is set to A [nA] (step S63).
[0084]
Next, it is determined whether or not the merge state flag is off and M [nm-1] matches M [nm] (step S64). That is, it is determined whether or not the image obtained by the merge processing is in an off state and the previous change point data obtained by the merge processing matches the current change point data. If the merge state flag is off and M [nm-1] and M [nm] match, 1 is subtracted from nm (step S65), and the merge state flag is inverted (step S66). If the merge state flag is on or M [nm-1] does not match M [nm], 1 is added to nm (step S67), and the merge state flag is inverted (step S68).
[0085]
Thereafter, 1 is added to nA (step S69), and the process returns to step S59. If the A state flag matches the merge processing flag or the A state flag is on in step S62, the process proceeds to step S69.
[0086]
If A [nA]> B [nB] in step S60 in FIG. 22, the B state flag is inverted (step S70 in FIG. 24). That is, when the B-state flag is on, it is turned off, and when the B-state flag is off, it is turned on.
[0087]
Next, it is determined whether the B state flag is different from the merge state flag and the B state flag is off (step S71). If the B state flag is different from the merge state flag and the B state flag is off, M [nm] is set to B [nB] (step S72).
[0088]
Next, it is determined whether or not the merge state flag is off and M [nm-1] matches M [nm] (step S73). That is, it is determined whether or not the image obtained by the merge processing is in an off state and the previous change point data obtained by the merge processing matches the current change point data. If the merge state flag is off and M [nm-1] and M [nm] match, 1 is subtracted from nm (step S74), and the merge state flag is inverted (step S75). If the merge state flag is on or M [nm-1] does not match M [nm], 1 is added to nm (step S76), and the merge state flag is inverted (step S77).
[0089]
Thereafter, 1 is added to nB (step S78), and the process returns to step S59. If the B state flag matches the merge state flag or the B state flag is on in step S71, the process proceeds to step S78.
[0090]
In this way, while comparing the change point data of the two lines in order from the beginning, the smaller one is stored based on the state of the merged change point data at that time.
[0091]
(2) Thinning / Thickening Processing In the thinning / thickening processing, the image of each line is thinned in the y direction and the image is thickened in the x direction by merging change point data of a plurality of lines. Alternatively, the image of each line is narrowed in the y-direction and the change point data of a plurality of lines is merged to reduce the image in the x-direction. The image is thinned in the x-direction by merging the change point data of.
[0092]
If the image is to be fattened in the x direction, the change point data corresponding to the original image is directly merged. When the image is reduced in the x direction, the on / off state of the original image is inverted, and the change point data corresponding to the inverted image is merged.
[0093]
FIG. 25 is a diagram showing a method of thinning or thickening in the y direction. When thinning in the y direction while increasing the thickness in the x direction, the thinning amount is added to the odd-numbered change point data, and the thinning amount is subtracted from the even-numbered change point data. If the magnitude relationship between the two change point data is switched by subtraction or addition, or if the two change point data become equal, the change point data is deleted.
[0094]
When thinning or thickening in the y direction while thinning in the x direction, 0 is inserted at the head of the change point data, and the on / off state of the image is reversed. In the thinning in the y direction, the inverted image is thickened in the y direction by subtracting the thinning amount from the odd-numbered changing point data and adding the thinning amount to the even-numbered changing point data. . In the thickening in the y direction, the inverted image is thinned in the y direction by adding the thickening amount to the odd-numbered change point data and subtracting the thickening amount from the even-numbered change point data.
[0095]
In the example shown in FIG. 25A, when the change point data 3, 11, 15, 17, Max is reduced by two in the y direction when the thickness is increased in the x direction, the change point data 5, 9, Max is obtained. . In the example of FIG. 25 (b), at the time of thinning in the x direction, 0 is inserted at the beginning of the change point data 3, 11, 15, 17, Max, so that the change point data 0 whose on and off are inverted is 0. , 3,11,15,17, Max. Then, by changing the obtained change point data by 2 in the y direction, change point data 0, 5, 9, Max are obtained. In this case, by inverting the change point data 0, 5, 9, Max again, an image obtained by narrowing the original image by two in the y direction can be obtained.
[0096]
FIG. 26 is a diagram for explaining the merging process. In the merge processing, the change point data of a plurality of lines is combined with the change point data of one line using the change point address and the change amount. This merging process corresponds to performing a logical sum operation on pixels for a plurality of lines.
[0097]
The change point address corresponds to the change point data of a plurality of lines, and the change amount indicates the number of the same change point data in the plurality of lines. This change amount is calculated by adding 1 to the change point data (the start position of the run length data) that changes from OFF to ON, and adding 1 to the change point data (the end position of the run length data) that changes from ON to OFF. Is obtained by subtracting
[0098]
In the example of FIG. 26, the change point data 1, 4, 5, and 8 are merged with the change point data 2, 4, 5, and 7, and the change point data 2 and 4 so that the change point data 1, 4, 5, and 8 is obtained. In this case, the change amounts are sequentially integrated from the top, the top change point address is set to change point data that changes from off to on, and the change point address where the integrated value of the change amount becomes 0 changes from on to off. The change point data is set, and the next change point address is set to the change point data that changes from off to on.
[0099]
27, 28 and 29 are flowcharts showing the thinning / thickening processing.
[0100]
First, two sets of change point address storage areas CP and change amount storage areas CC are secured in the auxiliary memory 13 of FIG. 1 (step S20). Next, run-length data for (Δx + 1) lines is read as change point data into the data reading area 100 while increasing or decreasing Δy in the y direction, and the change point address and the change amount storage area of the change point address storage area CP are read. The amount of change in CC is updated (step S21). Thereafter, one line of change point data is output as run-length data based on the change point address of the change point address storage area CP and the change amount of the change amount storage area CC (step S22).
[0101]
Thereafter, the run-length data of the next line is read as change point data into the data read area 100 while increasing or decreasing Δy in the y direction, and the change point address of the change point address storage area CP and the change of the change amount storage area CC are changed. The amount is updated (step S23 in FIG. 27). Then, one line of change point data is output as run-length data based on the change point address of the change point address storage area CP and the amount of change of the change amount storage area CC (step S24). Steps S23 and S24 are repeated until the change point data is read into all the lines in the data reading area 100.
[0102]
Next, the oldest one-line change point data in the data read area 100 is erased, and the change point address in the change point address storage area CP and the change amount in the change amount storage area CC are updated (step S26 in FIG. 28). . Then, the run-length data of the next one line is read into the data reading area 100 while making it thicker or narrower in the y direction by Δy as the change point data, and the change point address and the change amount storage area CC of the change point address storage area CP are read. Is updated (step S27). After that, one line of run-length data is output based on the change point address of the change point address storage area CP and the change amount of the change amount storage area CC (step S28). Steps S26 to S28 are repeated until all the run length data is read into the data reading area 100. After that, the variable i is set to the amount of thinning or thickening Δx in the x direction (step S30).
[0103]
Next, the oldest one-line change point data in the data read area 100 is erased, and the change point address in the change point address storage area CP and the change amount in the change amount storage area CC are updated (step S31 in FIG. 29). . Thereafter, one line of change point data is output as run-length data based on the change point address of the change point address storage area CP and the change amount of the change amount storage area CC (step S32), and 1 is subtracted from the variable i. (Step S33). Steps S31 to S33 are repeated until the variable i becomes 0.
[0104]
Next, a specific example of the thinning / thickening process will be described with reference to FIGS.
[0105]
Here, it is assumed that the run-length data shown in FIG. 30A is narrowed in the x direction and narrowed in the y direction. FIG. 30B shows an image corresponding to the run-length data of FIG. 30A, and FIG. 30C shows change point data corresponding to the run-length data of FIG. 30A. Further, the amount of contraction Δx in the x direction is 2, and the amount of contraction Δy in the y direction is 2.
[0106]
In the thinning in the x direction, as shown in FIG. 31A, the on and off states of the change point data are inverted by inserting 0 at the beginning of the change point data of each line. Thus, the on and off states of the image shown in FIG. 30B are inverted as shown in FIG.
[0107]
Further, as shown in FIG. 31 (c), the inverted change point data of FIG. 31 (a) is increased by two in the y direction. In the thickening in the y direction, the thickening amount is subtracted from the odd-numbered change point data, and the thickened amount is added to the even-numbered change point data. If the subtraction result is negative, 0 is set. When the magnitude relationship between the two change point data is switched by subtraction or addition, or when the two change point data become equal, the two change point data are deleted. As a result of the thickening in the y direction, an image shown in FIG. 31D is obtained.
[0108]
First, as shown in FIGS. 32 to 34, the run length data of the first to third lines in FIG. 30 are shown in FIG. 31 as the change point data in the lines L1, L2, and L3 of the data reading area 100. In this manner, the data is sequentially read while inverting and increasing the thickness by two in the y direction, and the even-numbered value of the change point data is made negative at the time of reading.
[0109]
At this time, the change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated. As a result, the change point data 0, -Max is stored in the line L1 of the data reading area 100, the change point data 0, -5, 8, -Max is stored in the line L2, and the change point data 0, -Max is stored in the line L3. 5,9, -Max is stored. The change point address of the change point address storage area CP is updated to 0, 5, 8, 9, Max, and the change amount of the change amount storage area CC is updated to 3, -2, 1, 1, -3. .
[0110]
At this point, one line of change point data is output as run-length data based on the change point address of the change point address storage area CP and the change amount of the change amount storage area CC. In this case, the amounts of change are integrated in order from the top, the first change point address, the change point address at which the integrated value becomes 0, and the next change point address are set as change point data, and the change point data inverted by inserting 0 is used. The change point data 0 at the head is erased to restore the original state. In the example of FIG. 34, the change point data is Max, and LF is output as run-length data.
[0111]
As shown in FIG. 35, the run-length data of the fourth line in FIG. 30 is read as a change point data into the line L4 of the data reading area 100 while inverting and thickening in the y direction by the method of FIG. The change point address of the address storage area CP and the change amount of the change amount storage area CC are updated. As a result, the change point address of the change point address storage area CP is updated to 0, 4, 5, 7, 8, 9, Max, and the change amount of the change amount storage area CC is 4, -1, -2, 1, 1,. It is updated to 1, 1, -4.
[0112]
The change amounts of the change amount storage area CC are integrated, and the first change point address 0 and the change point address Max at which the integrated value becomes 0 are set as change point data, and the first change point data 0 is deleted. Then, the change point data Max is output as run-length data LF.
[0113]
Next, as shown in FIG. 36, the run-length data of the fifth line of FIG. 30 is read into the line L5 of the data reading area 100 while being inverted and fattened in the y-direction by the method of FIG. , The change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated.
[0114]
Similarly, the change point address Max and the change point address Max where the integrated value of the change amount of the change amount storage area CC becomes 0 are set as the change point data, and the first change point data 0 is deleted. Then, the change point data Max is output as run-length data LF. At this point, data has been read into all the lines L1 to L5 of the data reading area 100.
[0115]
As shown in FIG. 37, the change point data 0, -Max of the line L1 in the data reading area 100 is erased, and the change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated. In this case, the change point address of the change point address storage area CP is updated to 0, 4, 5, 7, 8, 9, -Max, and the change amount of the change amount storage area CC is 4, -2, -2, 1 , 2, 1, -4.
[0116]
Then, as shown in FIG. 38, the run-length data of the sixth line in FIG. 30 is read into the line L1 of the data reading area 100 while being inverted and fattened in the y-direction by the method of FIG. , The change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated.
[0117]
Thereby, the change point address of the change point address storage area CP is updated to 0, 4, 5, 7, 8, 9, Max, and the change amount of the change amount storage area CC is 5, -3, -2, 1, 1,. Updated to 3, 1, -5. The first change point address 0, the change point address 5 where the integrated value of the change amount of the change amount storage area CC becomes 0, the next change point address 7 and the change point address Max where the integrated value becomes 0 are set as change point data. The first change point data 0 is deleted. Then, the change point data 5, 7, Max are output as run-length data 5, 2, LF.
[0118]
Next, as shown in FIG. 39, the change point data of the line L2 in the data read area 100 is erased, and the change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated. The run-length data of the seventh line 30 is read into the line L2 of the data read area 100 while being inverted and enlarged in the y-direction by the method of FIG. And the change amount of the change amount storage area CC is updated.
[0119]
Thereby, the change point address of the change point address storage area CP is updated to 0, 4, 5, 7, 8, 9, Max, and the change amount of the change amount storage area CC is 5, -3, -1, 1, 1,. It is updated to 2,1, -5. A change point address Max at which the integrated value of the change amount of the first change point address 0 and the change amount storage area CC becomes 0 is set as change point data, and the first change point data 0 is deleted. Then, the change point data Max is output as run-length data LF. At this point, all run-length data has been read into the data reading area 100.
[0120]
As shown in FIG. 40, the change point data of the line L3 in the data read area 100 is erased, and the change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated. Thus, the change point address of the change point address storage area CP is updated to 0, 4, 7, 8, Max, and the change amount of the change amount storage area CC is updated to 4, -3, 1, 2, -4. You. A change point address Max at which the integrated value of the change amount of the first change point address 0 and the change amount storage area CC becomes 0 is set as change point data, and the first change point data 0 is deleted. Then, the change point data Max is output as run-length data LF.
[0121]
Finally, as shown in FIG. 41, the change point data of the line L4 in the data read area 100 is erased, and the change point address of the change point address storage area CP and the change amount of the change amount storage area CC are updated. As a result, the change point address of the change point address storage area CP is updated to 0, 4, 8, Max, and the change amount of the change amount storage area CC is updated to 3, -2, 2, -3. A change point address Max at which the integrated value of the change amount of the first change point address 0 and the change amount storage area CC becomes 0 is set as change point data, and the first change point data 0 is deleted. Then, the change point data Max is output as run-length data LF. FIG. 42 shows an image obtained by the above-described thinning / thickening process.
[0122]
In this way, the image shown in FIG. 43 (b) is obtained by performing inversion, thickening in the y direction, merging, and inversion on the image shown in FIG. 43 (a). In the thinning / thickening process, the processing result of the first line is obtained by the merging process using the first to third lines of the image, and the processing result of the second line is obtained by the merging process using the first to fourth lines. The processing result is obtained, and the processing result of the third line is obtained by the merge processing using the first to fifth lines. The processing result of the fourth line is obtained by the merge processing using the second to sixth lines, and the processing result of the fifth line is obtained by the merge processing using the third to seventh lines. Further, the processing result of the sixth line is obtained by the merge processing using the fourth to seventh lines, and the processing result of the seventh line is obtained by the merge processing using the fifth to seventh lines.
[0123]
In the thinning / thickening process of the present embodiment, the image can be thinned in at least one of the x and y directions and thinned or thickened in the other direction by using the change point data. Higher processing speed. Also, the amount of thinning or thickening in the x and y directions can be controlled independently.
[0124]
FIG. 44 is a block diagram of a main part of a drawing apparatus using the image processing apparatus 1 of FIG. 1, and FIG. 45 is a schematic perspective view of the drawing apparatus of FIG.
[0125]
The drawing apparatus of FIG. 44 includes a scanning optical system 30 having a drawing head 31, a table 32, an X-axis drive motor 33, a Y-axis drive motor 34, and a drawing control device 35.
[0126]
The drawing head 31 of the scanning optical system 30 irradiates the photosensitive material 100 on the table 32 while scanning the laser beam with a predetermined scanning width in the X-axis direction (main scanning direction). As shown in FIG. 45, the table 32 is guided by a table guide 39 disposed on a base 38 so as to be movable in the Y-axis direction (sub-scanning direction). The table 32 is driven in the Y-axis direction by a Y-axis drive mode 32 (see FIG. 44).
[0127]
The scanning optical system 30 is guided by a head guide 40 above the table 32 so as to be movable in the X-axis direction (main scanning direction). The scanning optical system 30 is connected to an X-axis drive motor 33 via a ball screw 41, and is driven in the X-axis direction by the X-axis drive motor 33.
[0128]
The image processing device 1 shown in FIG. 1 is connected to the drawing control device 35 in FIG. 44, and the image input device 2 is connected to the image processing device 1. The image processing device 1 performs the above-described image processing on the image data input by the image input device 2, and outputs the processed image data to the drawing control device 35.
[0129]
The drawing control device 35 controls the scanning optical system 30, the X-axis drive motor 33, and the Y-axis drive motor 34 based on the image data given from the image processing device 1.
[0130]
In the drawing apparatus shown in FIG. 44, as shown in FIG. 46, the laser beam B is deflected while moving the photosensitive material 200 from the predetermined origin position at a substantially constant speed in the Y-axis direction (sub-scanning direction) so as to move in the X-axis direction. By scanning at a predetermined dot pitch in the (main scanning direction), drawing is performed on the surface of the photosensitive material 200 with a constant scanning width W.
[0131]
When the photosensitive material 200 moves to the end of the stroke, the photosensitive material 200 is returned to the origin side in the Y-axis direction, and the drawing head 31 is moved in the X-axis direction by a fixed distance. Thereafter, the photosensitive material 200 is moved in the Y-axis direction and the laser beam B is scanned in the X-axis direction.
[0132]
By repeating such an operation, exposure is sequentially performed for each strip-shaped region (stripe region) 201 on the photosensitive material 200, and finally, drawing is performed on the entire surface of the photosensitive material 200.
[0133]
In writing in each stripe area 201, a laser beam is scanned in the X-axis direction while being turned on or off for each dot on a scanning line based on image data, and a beam image is formed on the photosensitive material 200.
[0134]
In this embodiment, the scanning optical system 30 corresponds to a light beam scanning unit, the Y-axis driving motor 34 corresponds to a driving unit, the image processing apparatus 1 corresponds to an image processing apparatus, and the drawing control unit 35 corresponds to a drawing control unit. Is equivalent to
[0135]
In the above-described drawing apparatus, since the image processing apparatus 1 shown in FIG. 1 is used, drawing can be performed while thickening or thinning the image at high speed, and the amount of thickening or thinning is set to x It becomes possible to control independently in the direction and the y direction.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating an example of an image for one line, run-length data, and change point data.
FIG. 3 is a flowchart showing a condition setting process in the thickening process and the thinning / thickening process.
FIG. 4 is a diagram showing a data reading area.
FIG. 5 is a diagram for explaining a method of increasing the thickness in the y direction.
FIG. 6 is a diagram illustrating a merge process.
FIG. 7 is a flowchart illustrating a fattening process.
FIG. 8 is a flowchart illustrating a fattening process.
FIG. 9 is a flowchart illustrating a fattening process.
FIG. 10 is a diagram illustrating an example of a fattening shape table;
FIG. 11 is a diagram illustrating an example of run length data, a corresponding image, and change point data.
FIG. 12 is a diagram showing a data reading area in which three lines of change point data are read.
FIG. 13 is a diagram illustrating a specific example of a fattening process.
FIG. 14 is a diagram illustrating a specific example of a fattening process.
FIG. 15 is a diagram illustrating a specific example of a fattening process.
FIG. 16 is a diagram showing a specific example of a fattening process.
FIG. 17 is a diagram illustrating a specific example of a fattening process.
FIG. 18 is a diagram illustrating a specific example of a fattening process.
FIG. 19 is a diagram illustrating a specific example of a fattening process.
FIG. 20 is a diagram showing images before the fattening process and after the fattening process.
FIG. 21 is a flowchart showing merge processing of change point data for a plurality of lines.
FIG. 22 is a flowchart showing merge processing of change point data of two lines.
FIG. 23 is a flowchart showing merge processing of change point data of two lines.
FIG. 24 is a flowchart illustrating merge processing of change point data of two lines.
FIG. 25 is a diagram for explaining a thinning process in the y direction.
FIG. 26 is a diagram illustrating a merge process.
FIG. 27 is a flowchart showing a thinning / thickening process.
FIG. 28 is a flowchart illustrating a thinning / thickening process.
FIG. 29 is a flowchart illustrating a thinning / thickening process.
FIG. 30 is a diagram illustrating an example of run length data, a corresponding image, and change point data.
FIG. 31 is a diagram showing inversion of change point data, corresponding images, thickening in the y direction, and corresponding images.
FIG. 32 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 33 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 34 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 35 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 36 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 37 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 38 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 39 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 40 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 41 is a diagram illustrating a specific example of a thinning / thickening process.
FIG. 42 is a diagram illustrating an image obtained by a thinning / thickening process.
FIG. 43 is a diagram showing an image before a thinning / thickening process and an image after a thinning / thickening process.
FIG. 44 is a block diagram of a main part of a drawing apparatus using the image processing apparatus of FIG. 1;
FIG. 45 is a schematic perspective view of the drawing apparatus of FIG. 44;
FIG. 46 is a perspective view showing drawing by the drawing apparatus of FIG. 44;
FIG. 47 is a diagram showing a conventional image thickening process.
[Explanation of symbols]
REFERENCE SIGNS LIST 1 image processing device 2 image input device 3 image output device 11 image data storage memory 12 control operation unit 13 auxiliary memory 14 external storage device 30 scanning optical system 31 drawing head 32 table 33 X-axis drive motor 34 Y-axis drive motor 35 drawing Control device

Claims (5)

複数ラインの画素列からなる画像を各ラインに沿った第1の方向に細らせまたは太らせるとともに各ラインに直交する第2の方向に細らせる処理を行う画像処理装置であって、
前記画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、
前記読み込み手段により読み込まれた各ラインの変化点データに前記第1の方向への細らせまたは太らせ処理を行う処理手段と、
前記処理手段により細らせまたは太らせ処理された変化点データを前記第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、
前記合成手段により得られた各ラインの変化点データをランレングスデータとして出力する出力手段とを備えたことを特徴とする画像処理装置。
An image processing apparatus that performs a process of thinning or thickening an image formed of a plurality of lines of pixel rows in a first direction along each line and thinning in a second direction orthogonal to each line ,
Reading means for sequentially reading run-length data for a plurality of lines corresponding to pixel lines of a plurality of lines of the image as change point data representing a change point of a pixel value,
Processing means for performing a thinning or fattening process in the first direction on the change point data of each line read by the reading means ;
The change point data of each line is synthesized by combining a plurality of lines of a number determined based on the amount of thinning in the second direction, with the changing point data thinned or thickened by the processing means. A combining means for obtaining in order;
An output unit that outputs change point data of each line obtained by the combining unit as run-length data.
前記処理手段および前記合成手段は、前記第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを前記第2の方向への細らせ量よりも1多いライン数から前記第2の方向への細らせ量の2倍よりも1多いライン数まで1ラインずつ順に増加させた後、前記第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを1ラインずつ所定回数シフトし、前記第1の方向への細らせまたは太らせ処理および合成の対象とする変化点データを前記第2の方向への細らせ量の2倍よりも1多いライン数から前記第2の方向への細らせ量よりも1多いライン数まで1ラインずつ順に減少させることを特徴とする請求項1記載の画像処理装置。 Said processing means and said combining means, said first thinning or thickening thinning amount by remote one more line of the change point data to be processed and synthetic in the second direction in the direction After sequentially increasing the number of lines one by one from the number to the number of lines that is one more than twice the amount of thinning in the second direction, the thinning or fattening process in the first direction and the object of synthesis Is shifted a predetermined number of times by one line, and the change point data to be subjected to the thinning or fattening process and the synthesis in the first direction is calculated as the amount of thinning in the second direction. the image processing apparatus according to claim 1, wherein the reducing in order and line-by-line until the number one more line than the thinning amount in the second direction from one more line numbers than twice. 前記読み込み手段は、前記第2の方向への細らせ時に前記複数ライン分のランレングスデータを反転された画像に対応する変化点データとして読み込み、
前記処理手段は、前記第2の方向への細らせかつ前記第1の方向への細らせ時に前記読み込み手段により読み込まれた各ラインの変化点データに前記第1の方向への太らせ処理を行い、前記第2の方向への細らせかつ前記第1の方向への太らせ時に前記読み込み手段により読み込まれた各ラインの変化点データに前記第1の方向への細らせ処理を行うことを特徴とする請求項1または2記載の画像処理装置。
It said reading means reads the change point data corresponding to the inverted image run-length data of said plurality of lines when not thinned in the second direction,
The processing means includes : changing the change point data of each line read by the reading means at the time of narrowing in the second direction and narrowing in the first direction to thickening in the first direction; Performing a thinning process in the first direction on the change point data of each line read by the reading means at the time of thinning in the second direction and widening in the first direction. 3. The image processing apparatus according to claim 1, wherein the image processing is performed.
複数ラインの画素列からなる画像を各ラインに沿った第1の方向に細らせまたは太らせるとともに各ラインに直交する第2の方向に細らせる処理をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記画像処理プログラムは、
前記画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む処理と、
前記読み込まれた各ラインの変化点データ前記第1の方向への細らせまたは太らせを行う処理と、
細らせまたは太らせ処理された変化点データを前記第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る処理と、
前記得られた各ラインの変化点データをランレングスデータとして出力する処理とを、コンピュータに実行させることを特徴とする画像処理プログラムを記録した記録媒体。
An image processing program for causing a computer to execute a process of thinning or thickening an image formed of a plurality of lines of pixel rows in a first direction along each line and thinning in a second direction orthogonal to each line is recorded. Computer-readable recording medium,
The image processing program includes:
A process of sequentially reading run-length data for a plurality of lines corresponding to pixel lines of a plurality of lines of the image as change point data representing a change point of a pixel value;
A process of performing was thinning or thickening in the first direction to the change point data of each line in which the read,
A process of sequentially obtaining the change point data of each line by synthesizing the thinned or thickened change point data by a plurality of lines determined based on the thinning amount in the second direction ; ,
Outputting a change point data of each of the obtained lines as run-length data to a computer.
光ビームを用いて対象物に描画を行う描画装置であって、
光ビームを点灯および消灯させつつ前記対象物の第1の走査方向に走査させる光ビーム走査手段と、
前記光ビーム走査手段と前記対象物とを前記第1の走査方向と直交する第2の走査方向に相対的に移動させる駆動手段と、
複数ラインの画素列からなる画像を各ラインに沿った第1の方向に細らせまたは太らせるとともに各ラインに直交する第2の方向に細らせる処理を行う画像処理装置と、
前記画像処理装置から出力されるデータに基づいて前記光ビーム走査手段および前記駆動手段を制御する描画制御手段とを備え、
前記画像処理装置は、
前記画像の複数ラインの画素列に対応する複数ライン分のランレングスデータを画素値の変化点を表す変化点データとして順に読み込む読み込み手段と、
前記読み込み手段により読み込まれた各ラインの変化点データに前記第1の方向への細らせまたは太らせ処理を行う処理手段と、
前記処理手段により処理された変化点データを前記第2の方向への細らせ量に基づいて決定される数の複数ラインずつ合成することにより各ラインの変化点データを順に得る合成手段と、
前記合成手段により得られた各ラインの変化点データをランレングスデータとして出力する出力手段とを備えたことを特徴とする描画装置。
A drawing apparatus for drawing on an object using a light beam,
Light beam scanning means for scanning the object in a first scanning direction while turning on and off the light beam;
Driving means for relatively moving the light beam scanning means and the object in a second scanning direction orthogonal to the first scanning direction;
An image processing apparatus that performs processing of thinning or thickening an image formed of a plurality of pixel columns in a first direction along each line and thinning in a second direction orthogonal to each line ;
Drawing control means for controlling the light beam scanning means and the driving means based on data output from the image processing apparatus,
The image processing device includes:
Reading means for sequentially reading run-length data for a plurality of lines corresponding to pixel lines of a plurality of lines of the image as change point data representing a change point of a pixel value,
Processing means intends the thinning or row processing thickening in a first direction to the change point data of each line read by said reading means,
Synthesizing means for sequentially obtaining change point data of each line by synthesizing the change point data processed by the processing means for each of a plurality of lines determined based on the amount of reduction in the second direction ,
An output unit for outputting change point data of each line obtained by the combining unit as run-length data.
JP13635898A 1998-05-19 1998-05-19 Image processing apparatus, recording medium storing image processing program, and drawing apparatus Expired - Fee Related JP3549730B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13635898A JP3549730B2 (en) 1998-05-19 1998-05-19 Image processing apparatus, recording medium storing image processing program, and drawing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13635898A JP3549730B2 (en) 1998-05-19 1998-05-19 Image processing apparatus, recording medium storing image processing program, and drawing apparatus

Publications (2)

Publication Number Publication Date
JPH11328398A JPH11328398A (en) 1999-11-30
JP3549730B2 true JP3549730B2 (en) 2004-08-04

Family

ID=15173321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13635898A Expired - Fee Related JP3549730B2 (en) 1998-05-19 1998-05-19 Image processing apparatus, recording medium storing image processing program, and drawing apparatus

Country Status (1)

Country Link
JP (1) JP3549730B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4904301B2 (en) * 2008-03-27 2012-03-28 大日本スクリーン製造株式会社 Data conversion method, drawing system, and program
JP4736139B2 (en) * 2009-03-19 2011-07-27 富士ゼロックス株式会社 Character output device and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3115701B2 (en) * 1992-04-30 2000-12-11 大日本スクリーン製造株式会社 Image processing device
JPH09198499A (en) * 1996-01-17 1997-07-31 Canon Inc Method and device for processing picture

Also Published As

Publication number Publication date
JPH11328398A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
JPH0652472B2 (en) Image processing method
JP2000288275A (en) Embroidery data processor and recording medium
JP2000339449A (en) Picture processor and picture processing method
JP3549730B2 (en) Image processing apparatus, recording medium storing image processing program, and drawing apparatus
JP2681367B2 (en) Graphic processing method and apparatus thereof
JP2002133428A (en) Plotting processing device
JP3549729B2 (en) Image processing apparatus, recording medium storing image processing program, and drawing apparatus
JP3223617B2 (en) Drawing apparatus and drawing method
JPH0816144A (en) Outline font extension method and outline font extension device
US20080088640A1 (en) Outline font brightness value correction system, method and program
US9217949B2 (en) Image variable magnification device and image variable magnification method
DE4444806C2 (en) Digital copier
JPH0652304A (en) Device and method for processing image
KR20000057716A (en) Polygon drawing method and polygon drawing apparatus
JPH0237391A (en) Image interpolating system
JP3452049B2 (en) Drawing apparatus and drawing method
JP2906717B2 (en) Image scaling method
KR19990013825A (en) Method and apparatus for generating pattern, and recording medium
JP2634906B2 (en) Image processing method
JPS59195759A (en) Enlarging and contracting method of picture
JP3338484B2 (en) Outline font transformation device
JP3698196B2 (en) Image processing apparatus and image input apparatus
JP5751157B2 (en) Video signal processing apparatus and video signal processing method
JPH0793564A (en) Information extraction mask generating method
JP3514895B2 (en) Image expansion processing method and apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040421

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120430

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120430

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees