JP4492671B2 - 画像処理プログラム - Google Patents

画像処理プログラム Download PDF

Info

Publication number
JP4492671B2
JP4492671B2 JP2007283215A JP2007283215A JP4492671B2 JP 4492671 B2 JP4492671 B2 JP 4492671B2 JP 2007283215 A JP2007283215 A JP 2007283215A JP 2007283215 A JP2007283215 A JP 2007283215A JP 4492671 B2 JP4492671 B2 JP 4492671B2
Authority
JP
Japan
Prior art keywords
image
memory space
parallelogram
dimensional memory
dimensional
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.)
Active
Application number
JP2007283215A
Other languages
English (en)
Other versions
JP2009110368A (ja
Inventor
浩司 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007283215A priority Critical patent/JP4492671B2/ja
Priority to US12/261,496 priority patent/US8320016B2/en
Publication of JP2009110368A publication Critical patent/JP2009110368A/ja
Application granted granted Critical
Publication of JP4492671B2 publication Critical patent/JP4492671B2/ja
Priority to US13/615,991 priority patent/US8472077B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Description

本発明は、高速な処理が可能な画像処理プログラム等に関する。
従来、イメージを加工編集することが広く行われている。また、加工編集したイメージは、ホームページやプリントTシャツ等のデザインとして用いられることがある。また、イメージ中の所定の領域を塗りつぶす画像処理が知られている。例えば、下記特許文献1においては、四辺形に対する塗りつぶし処理が記載されている。
特開平8−44881号公報
イメージの加工編集には様々な手法が提案されている。例えば、図1に示すように、長方形のイメージ11に対し2次元マトリクス用いて座標変換を行うことによって、ひし形イメージ12を新たに生成し、生成したひし形イメージ12で星型図形13の領域内を塗りつぶすことにより、新たなイメージ14を生成することができる。すわなち、イメージ(図1における長方形のイメージ11)、変換マトリクス(図1における2次元マトリクス)、図形(図1における星型図形13)を入力情報として、新たなイメージを生成することができる。
ここで、新たなイメージ14を生成するためには、図2に示すように、複数のひし形イメージ12を、星型図形13の領域内に敷き詰めていくための画像処理が必要となる。
また、この画像処理を行うには、所定の記憶領域(例えば、RAM等)に2次元メモリ空間を確保し、確保したメモリ空間内でひし形イメージ12を管理する必要がある。このとき、図3に示すように、メモリ空間内の一部の領域(斜線部で示す)は、ひし形イメージ12の画素が存在しない領域であるため、メモリ使用効率は低い。
また、図3に示されるとおり、メモリ空間上のひし形イメージ12の画素幅は、水平ラインごとに異なっている。そのため、水平ラインごとにひし形イメージ12の画素区間を管理する必要があり、画像処理が複雑になる。
また、複数のひし形イメージ12を星型図形13の領域内に敷き詰める処理は、ひし形イメージ12を1つずつ星型図形13の領域内に貼り付けることによって行われる(図2参照)。この処理では、それぞれのひし形イメージ12に対して、貼り付ける位置を求める必要となり、画像処理が複雑になる。
さらに、この処理を実現するには、星型図形13(新たなイメージ14)のために確保されたメモリ空間(書き込みメモリ空間)のそれぞれの座標に、ひし形イメージ12が記憶されている2次元メモリ空間(読み出しメモリ空間)の所定のアドレスの画素値をコピーする必要がある。すなわち、書き込みメモリ空間の座標値ごとに、読み出しメモリ空間の座標値を対応付けるための処理が必要となり、画像処理が複雑になるおそれがある。
本発明は、上記問題点を解決するためになされたものであり、所望の形状を有する図形を所望のイメージで高速に塗りつぶすことができる画像処理プログラム等の提供を目的とする。
本発明は、上述した課題を解決することができる画像処理プログラム等である。
本発明の一側面である請求項1に係る画像処理プログラムは、(a)元の平行四辺形の形状を有する2次元イメージを取得し、(b)前記元の平行四辺形の形状を変化させて生成する新たな平行四辺形の上底または下底の画素数の基となる数値w、及び、高さの画素数の基となる数値hを算出し、(c)w×hの2次元メモリ空間を確保し、(d)前記2次元イメージを前記新たな平行四辺形の形状に座標変換した場合に生成される新たな2次元イメージの画素値を、走査ラインごとに、走査順に前記2次元メモリに書き込み、(e)前記新たな2次元イメージの付属情報を、前記2次元メモリに対応付けて記憶する、ステップからなり、前記新たな平行四辺形は、前記元の平行四辺形を、走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成され、前記付属情報は、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tである、画像処理方法をコンピュータに実行させることを特徴とする。
上記画像処理プログラムによれば、元の平行四辺形を走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成される新たな平行四辺形の上底または下底の画素数の基となる数値wと高さの画素数の基となる数値hに基づいて表現されるメモリ空間を算出する。そして、該メモリ空間に、新たな平行四辺形の形状に座標変換された元の平行四辺形のイメージの画素値を走査ラインごとに走査順に書き込む。また、該メモリ空間に対応づけて、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tを補助情報として記憶する。これにより、新たなイメージを生成するためのメモリ空間への画素値の書き込み処理は、前記補助情報を用いながら前記2次元メモリ空間上の走査順に画素値を読み出すことによって実現できるので、書き込み処理の高速化が可能となる。また、新たな平行四辺形のイメージをメモリ空間上でメモリ効率を高めて管理することができる。
また、本発明の一側面である請求項2に係る画像処理プログラムは、(a)元イメージが単一色ではなく、かつ、当該元イメージの形状に対する座標変換が(n/2)×π(単位はrad、nは自然数)の回転変換を含まない、という条件を満たすか否かを判定し、(b)前記条件を満たす場合に、(b−1)前記元イメージを前記所定の2次元マトリクスで座標変換することにより、元の平行四辺形の形状を有する2次元イメージを取得し、(b−2)前記元の平行四辺形の形状を変化させて生成する新たな平行四辺形の上底または下底の画素数の基となる数値w、及び、高さの画素数の基となる数値hを算出し、(b−3)w×hの2次元メモリ空間を確保し、(b−4)前記2次元イメージを前記新たな平行四辺形の形状に座標変換した場合に生成される新たな2次元イメージの画素値を、走査ラインごとに、走査順に前記2次元メモリに書き込み、(b−5)前記新たな2次元イメージの付属情報を、前記2次元メモリに対応付けて記憶する、ステップからなり、前記新たな平行四辺形は、前記元の平行四辺形を、走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成され、前記付属情報は、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tである、画像処理方法をコンピュータに実行させることを特徴とする。
上記画像処理プログラムによれば、さらに、元イメージが単一色でなく、かつ、当該元イメージの形状に対する座標変換が(n/2)×π(単位はrad、nは自然数)の回転変換を含まない、という条件を満たすか否かを判定し、前記条件を満たす場合に、元の平行四辺形を走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成される新たな平行四辺形の上底または下底の画素数の基となる数値wと高さの画素数の基となる数値hに基づいて表現されるメモリ空間し、該メモリ空間に、新たな平行四辺形の形状に座標変換された元の平行四辺形のイメージの画素値を走査ラインごとに走査順に書き込み、また、該メモリ空間に対応づけて、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tを補助情報として記憶する。これにより、さらに、塗りつぶしイメージが単一色(すなわち、ベタ塗り画像)である場合、または、(n/2)×π(単位はrad、nは自然数)の回転変換を含む場合には、上述した処理の必要がないと判断するので、不必要な処理を行うことを防ぐことができる。
また、本発明の一側面である請求項3に係る画像処理プログラムは、(a)元イメージが単一色ではなく、かつ、当該元イメージの形状に対する座標変換が(n/2)×π(単位はrad、nは自然数)の回転変換を含まない、という条件を満たすか否かを判定し、(b)前記条件を満たす場合に、(b−1)前記座標変換で得られた平行四辺形の形状を変化させて生成する新たな平行四辺形の上底または下底の画素数の基となる数値w、及び、高さの画素数の基となる数値hを算出し、(b−2)w×hの2次元メモリ空間を確保し、(b−3)前記2次元メモリ空間のそれぞれの座標(Xi、Yi)に、前記元イメージの座標(x、y)の画素値を書き込み、
ここで、(x、y)=A−1(Xi’、Yi)
Xi’=Xi+Yi×Δd
x < 0のとき、 x = x+X1
x =>X1のとき、 x = x−X1
y < 0のとき、 y = y+Y1
y >=Y1のとき、 y = y−Y1
X1は、元イメージの幅画素数
Y1は、元イメージの高さ画素数
Δdは、前記新たな平行四辺形の傾き
(b−5)付属情報を、前記2次元メモリに対応付けて記憶する、
ステップからなり、前記付属情報は、前記w、前記h、前記Δd、次の読み出しラインとの縦方向のずれを示す次ライン情報tである、画像処理方法をコンピュータに実行させることを特徴とする。
上記画像処理プログラムによれば、さらに、元イメージが単一色でなく、かつ、当該元イメージの形状に対する座標変換が(n/2)×π(単位はrad、nは自然数)の回転変換を含まない、という条件を満たすか否かを判定し、前記条件を満たす場合に、元の平行四辺形を走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成される新たな平行四辺形の上底または下底の画素数の基となる数値wと高さの画素数の基となる数値hに基づいて表現されるメモリ空間し、前記メモリ空間のそれぞれの座標(Xi、Yi)に、前記元イメージの座標(x、y)の画素値を書き込み、また、該メモリ空間に対応づけて、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tを補助情報として記憶する。ここで、
(Xm、Ym)=A−1(Xi’、Yi)
Xi’=Xi+Yi×Δd
x < 0のとき、 x=x+X1
x >=X1のとき、 x=x−X1
y < 0のとき、 y=y+Y1
y >=Y1のとき、 y=y−Y1
ある。これにより、さらに、2次元メモリ空間の座標と元イメージの座標とを対応づけることができ、画像処理を高速に行うことができる。
本発明の一側面である請求項4に係る画像処理プログラムは、請求項1〜3のいずれかの画像処理プログラムであって、前記算出されたw、hが自然数でない場合には、当該w、hを整数化して前記2次元メモリ空間を確保することを特徴とする。
上記画像処理プログラムによれば、さらに、算出されたw、hが自然数でなくても整数化することによって2次元メモリ空間を確保することができる。
本発明の一側面である請求項5に係る画像処理プログラムは、(a)塗りつぶしの対象となる図形の形状を示す2次元図形データを取得し、(b)前記2次元図形データに基いて、前記図形の形状の2次元イメージを表現するための第1の2次元メモリ空間を確保し、(c)所定イメージが記憶されている第2の2次元メモリ空間から順次読み出した画素値を、前記第1の2次元メモリ空間の所定のアドレスに順次書き込む、ステップからなり、前記第1の2次元メモリ空間への書き込みは、走査順に行われ、前記第2の2次元メモリ空間からの読み出しは、所定の走査ライン上で走査順に行われ、読み出し位置が該所定の走査ライン上の終端に達した場合は、補助情報として記憶されている次ライン情報に基いて、新たな走査ラインを決定し、決定された走査ラインを前記所定の走査ラインとして画素値を走査順に読み出すことを繰り返す、画像処理方法をコンピュータに実行させることを特徴とする。
また、上記請求項5に係る画像処理プログラムは、前記補助情報には、前記第2の2次元メモリ空間に記憶されている所定イメージの幅を画素数で示す数値w、前記所定イメージの高さを画素数で示す数値h、2次元メモリ空間に記憶されている所定イメージの傾き情報Δdが記憶され、前記補助情報に基いて、前記第1の2次元メモリ空間の走査ラインごとに、前記第2の2次元メモリ空間の読み出し開始位置を決定することを特徴とする。
上記画像処理プログラムによれば、塗りつぶしの対象となる図形の形状を示す2次元図形データを取得し、前記2次元図形データに基いて、前記図形の形状の2次元イメージを表現するための第1の2次元メモリ空間を確保し、所定イメージが記憶されている第2の2次元メモリ空間から順次読み出した画素値を、前記第1の2次元メモリ空間の所定のアドレスに順次書き込む。また、前記第1の2次元メモリ空間への書き込みは、走査順に行われ、前記第2の2次元メモリ空間からの読み出しは、所定の走査ライン上で走査順に行われ、読み出し位置が該所定の走査ライン上の終端に達した場合は、補助情報として記憶されている次ライン情報に基いて、新たな走査ラインを決定し、決定された走査ラインを前記所定の走査ラインとして画素値を走査順に読み出すことを繰り返す。これにより、書き込みの対象となる第1の2次元メモリ毎に読み込み元の第2の2次元メモリのアドレスを計算する必要がないため、画像処理を高速に行うことができる。
さらに、当該画像処理プログラムによれば、前記補助情報として、前記第2の2次元メモリ空間に記憶されている所定イメージの幅を画素数で示す数値w、前記所定イメージの高さを画素数で示す数値h、2次元メモリ空間に記憶されている所定イメージの傾き情報Δdが記憶され、前記補助情報に基いて、前記第1の2次元メモリ空間の走査ラインごとに、前記第2の2次元メモリ空間の読み出し開始位置を決定する。これにより、前記第1の2次元メモリ空間の走査ラインにつき一回だけ前記第2の2次元メモリ空間の読み出し開始位置を決定すればよいので、画像処理を高速に行うことができる。
また、本発明の一側面である請求項6に係る発明は、請求項5の画像処理プログラムであって、前記補助情報には、前記第2の2次元メモリ空間に記憶されている所定イメージの幅を画素数で示す数値w、前記所定イメージの高さを画素数で示す数値h、2次元メモリ空間に記憶されている所定イメージの傾き情報Δdが記憶され、前記補助情報に基いて、前記第1の2次元メモリ空間の走査ラインごとに、前記第2の2次元メモリ空間の読み出し開始位置(S、L)を決定する、
ここで、
(a、b):前記所定イメージにおける前記第1の2次元メモリ空間上の起点座標、
(A、B):前記所定イメージで塗りつぶしを開始する前記第1の2次元メモリ空間上の起点座標、
t:次の読み出しラインとの縦方向のずれを示す情報
とすると、
α=(a+(B−b)×Δd)
offsetX=(A−α)
S=offsetX % w (m%nは、mをnで割った場合の剰余を表す)
S<0のとき S=S+w
N=offset/w
offsetX<0 のとき N=N−1
L=(B−b+t×N)% h
L<0のとき L=L+h
であることを特徴とする。
上記画像処理プログラムによれば、さらに、前記補助情報として、前記第2の2次元メモリ空間に記憶されている所定イメージの幅を画素数で示す数値w、前記所定イメージの高さを画素数で示す数値h、2次元メモリ空間に記憶されている所定イメージの傾き情報Δdが記憶され、前記補助情報に基いて、前記第1の2次元メモリ空間の走査ラインごとに、前記第2の2次元メモリ空間の読み出し開始位置(S、L)を決定する。ここで、
(a、b):前記所定イメージにおける前記第1の2次元メモリ空間上の起点座標、
(A、B):前記所定イメージで塗りつぶしを開始する前記第1の2次元メモリ空間上の起点座標、
t:次の読み出しラインとの縦方向のずれを示す情報、tは自然数
とすると、
α=a+(B−b)×Δd
offsetX=(A−α)
S=offsetX % w (m%nは、mをnで割った場合の剰余を表す)
S<0のとき S=S+w
N=offset/w
offsetX<0 のとき N=N−1
L=(B−b+t×N)% h
L<0のとき L=L+h
である。これにより、前記第2の2次元メモリ空間の読み出し開始位置を簡単な計算式で求めることができるので、画像処理を高速に行うことができる。
また、本発明の一側面である請求項7に係る発明は、請求項5または6の画像処理プログラムであって、前記決定された前記第2の2次元メモリ空間の読み出し開始位置が自然数でない場合は、所定の補間処理を用いて書き込む画素値を決定することを特徴とする。
上記画像処理プログラムによれば、小数値のまま読み出し開始位置を算出し、該読み出し開始位置を整数化するので、書き込む画素値の精度が高くなり、生成された塗りつぶし画像の画質を向上させることができる。
本発明によれば、所望の形状を有する図形を所望のイメージで高速に塗りつぶすことができる。
本発明の一実施形態である画像処理システムについて以下説明する。本実施形態における画像処理システムは、プロセッサ、第1記憶手段、第2記憶手段、から基本的に構成される。なお、必要に応じ、種々の要素を付加してもよいことはいうまでもない。
第1記憶手段は、例えば、不揮発性のメモリ及び/または磁気ディスクで構成される。また、第1記憶手段には、画像処理プログラム(詳細は後述する)、イメージファイル(詳細は後述する)が記憶されている。また、本発明の実現に必要な種々のデータについても、第1記憶手段に記憶されている。第2記憶手段は、例えば、揮発性のメモリで構成される。また、第2記憶手段には、第1の記憶手段に記憶されるプログラム(上述した画像処理プログラムを含む)やデータ(上述したイメージファイルを含む)がロードされる。プロセッサは、第1記憶手段及び第2記憶手段に記憶されるデータを用いて種々の処理を実行する。本実施形態においては、プロセッサは、上述した画像処理プログラムを実行する。また、本実施形態に係る画像処理システムは、入力手段を備え、本発明の実現に必要な種々のデータを第1記憶手段に記憶することなく直接入力できるよう構成してもよい。
上述したプロセッサ、第1記憶手段、第2記憶手段は、例えば、汎用のPCとして実現することが可能である。このとき、例えば、CPUがプロセッサとして機能し、HDDが第1記憶手段として機能し、RAMが第2記憶手段として機能する。また、画像処理に特化されたプロセッサ及び/またはメモリを用いて本発明を実現することも可能である。さらに、プリンタが有するプロセッサ、記憶手段を用いて本発明を実現することも可能である。また、本発明に係る画像処理プログラムを、分散処理において実行することも可能である。このとき、ネットワーク技術を用いてもよい。
また、本発明の説明においては2次元メモリ空間という用語を用いるが、2次元メモリ空間とは、所定のアドレスを2次元の座標として特定することができるメモリ空間のことをいう。
以下、本実施形態で実行される画像処理プログラムについて説明する。本実施形態で実行される画像処理プログラムは、変換イメージ格納処理がコンピュータによって実行されるためのプログラムと、塗りつぶしイメージ生成処理がコンピュータによって実行されるためのプログラムと、から構成される。この2つのプログラムは、一連の処理として連続して実行されてもよい。また、変換イメージ格納処理と塗りつぶしイメージ生成処理とが、別個のプロセッサで実行されてもよい。また、例えば、変換イメージ格納処理によって生成されたデータを、別の装置が利用して塗りつぶしイメージ処理が実行させるよう構成することもできる。
[変換イメージ格納処理]
まず、変換イメージ格納処理について説明する。図4は、変換イメージ格納処理のフローチャートである。
S1において、塗りつぶしに用いるパターンイメージの基となるイメージファイルを取得する。イメージファイルは、例えば、第1記憶手段に記憶されている。また、通信回線等を介して取得してもよい。イメージファイルのファイル形式はどのようなものでもよく、例えば、JPEGファイルとすることができる。
S2において、取得したイメージファイルを、第2記憶手段上の2次元メモリ空間に画素単位で記憶する。ここで、それぞれの画素の画素値は、例えば、RGBそれぞれ8ビットの24ビットデータとして表現することができる。ただし、他のパラメータ及び他のデータ量で表現してもよいことはもちろんである。
また、2次元メモリ空間に記憶されるイメージの形状は、矩形とする。ここで、取得したイメージファイルのイメージの形状が矩形でない場合は、矩形に切り出して2次元メモリ空間に記憶する。以下、2次元メモリに記憶したイメージを元イメージという。また、以下、元イメージが格納された2次元メモリ空間を元イメージ格納メモリという。
S3において、元イメージのすべての画素値が同一であるかどうかを判断する。ここで、元イメージのすべての画素値が同一である場合、元イメージはいわゆるベタ塗り画像である。ベタ塗り画像の場合は、塗りつぶしの対象となる図形領域内の画素値として、元イメージの1つの画素値をコピーすればよく、後述する処理を行う必要がない。ここで、元イメージのすべての画素値が同一であるか否かについては、元イメージの走査開始座標の画素値を記憶し、元イメージのすべての画素値に対し記憶された画素値と同一であるかを調べることによって判断することができる。
S3において、元イメージのすべての画素値が同一であると判断した場合は(S3:YES)、変換イメージ格納処理を終了する。一方、元イメージのすべての画素値が同一ではないと判断した場合は(S3:NO)、S4に進む。ただし、S3のステップは必要に応じて省略することもできる。すなわち、元イメージの画素値の性質に関わらず後述する処理を実行してもよい。
S4において、元イメージを変換する変換マトリクスAによる座標変換に、(nπ)/2[rad]の回転変換が含まれるかどうかを判断する。ここで、変換マトリクスAは、周知の2次元アフィン変換行列である。(nπ)/2[rad]の回転変換であれば、変換イメージの形状が矩形であるから、公知の処理を用いることができ、後述する処理を行う必要がない。ただし、S4のステップは必要に応じて省略することもできる。すなわち、変換イメージの形状に関わらず後述する処理を実行してもよい。
(nπ)/2[rad]の回転変換が含まれると判断した場合は(S4:YES)、変換イメージ格納処理を終了する。一方、(nπ)/2[rad]の回転変換が含まれないと判断した場合は(S4:NO)、S5に進む。
S5において、塗りつぶしイメージ生成処理で必要となるパラメータを取得する。取得されるパラメータは、図5に示すように、元イメージ11の形状を変換マトリクスAで変換した変換イメージ12の形状におけるw、h、t、Δdである。ここで、変換イメージ12の点a’の座標を(Xa’,Ya’)、点c’の座標を(Xc’,Yc’)、点d’の座標を(Xd’,Yd’)、点eの座標を(Xe,Ye)とすれば、
w = Xe−Xa’
h = Yc’−Ya’
t = Yc’−Yd’
として求めることができる。ただし、点a’、点c’、点d’、点eのX座標値及びY座標値は、小数値を含む値となることがある。この場合、上記w、h、tについても、小数値を含む値となることがある。w、hは、2次元メモリ空間(自然数で管理されるもの)を定義するための基となるパラメータであるので、w、hが小数値を含む値となった場合は、整数化した自然数w’、h’を算出する。また、w、hが整数値の場合は、w’=w、h’=hである。なお、整数化するための処理は切り捨て、切り上げ、四捨五入等いずれでもよい。なお、tについては、整数化しなくてもよい。
また、Δdは、
Δd=(Xc’−Xa’)/(Yc’−Ya’)
として求めることができる。ここで、Δdが小数値を有する値となることがあるが、Δdについては、整数化しなくてもよい。
S5で算出されたw、h、t、Δdは、補助情報として後述するS6で確保される2次元メモリ空間に対応付けて記憶される。
なお、上述したw、h、t、Δdの算出方法は、単なる一例であり、他の算出方法で求めてもよいことはもちろんである。
S6において、第2記憶手段上に、幅w’(画素)×高さh’(画素)の2次元メモリ空間を確保する。以下、S6で確保されたメモリ空間を、変換イメージ格納メモリという。
S7において、S6で確保された変換イメージ格納メモリに、変換イメージの画素値を格納する。
この処理について図6〜図9を用いて詳細に説明する。以下、元イメージを変換マトリクスAで変換したイメージを第1変換イメージ21という。
まず、第1変換イメージ21を第2変換イメージ24に変換する(図6参照)。具体的には、第1変換イメージ21を、走査方向と平行な直線L1で2つの図形22、図形23に分割する。そして、図形22の直線L2と、図形23の直線L3とを一致させるように図形22の位置を移動させる。なお、図形23を移動させてもよいことはもちろんである。なお、L2及びL3は、第1変換イメージ21(平行四辺形)の上底及び下底である。以上の処理を行うことにより、第2変換イメージ24を生成することができる。なお、L1のY座標値は図6に限定されるものではない。
次に、第2変換イメージ24を、Y座標を保ったまま変換イメージ格納メモリ31に記憶する(図7参照)。具体的には、第2変換イメージ24を、水平ラインごとの画素群に分け、画素群を水平方向の走査順序を保った状態、かつ、画素群同士の垂直方向の順序を保った状態で変換イメージ格納メモリ31に記憶する。すなわち、画素群同士の傾きΔdが無視された状態で変換イメージ格納メモリ31に記憶されることになる。ただし、Δdは、S5において既に取得されている。図8は、変換イメージ格納メモリ31に格納された第2変換イメージ24を概念的に示した図である。
ここで、図7において、第2変換イメージ24の左上の座標を原点とし、また、変換イメージ格納メモリの左上の座標を原点とする。このとき、第2変換イメージ上の座標(Xm2、Ym2)と変換イメージ格納メモリ上の座標(Xi,Yi)との関係は、
Xm2 = Xi+Yi×Δd
Ym2 = Yi
となる。
すなわち、Y座標値については、第2変換イメージ24と変換イメージ格納メモリ31とで同じであるが、X座標値については、ΔdとYiとによって算出されるずれが生じることになる。
次に、変換イメージ格納メモリ内の画素値の算出について具体的に説明する。
第1変換イメージ上の座標(Xm1、Ym1)の画素値と、元イメージ上の座標(x、y)の画素値との関係は、
(x、y)=A−1(Xm1、Ym1)
で表現される。すなわち、変換マトリクスAの逆行列を第1変換イメージ21の座標値に掛けることにより、元イメージの座標値を求めることができる。
次に、第2変換イメージ上の座標(Xm2、Ym2)の画素値と、元イメージ上の座標(x、y)の画素値との関係について説明する。
第2変換イメージ24の図形23の部分については、第1変換イメージ21と同様に、
(x、y)=A−1(Xm2、Ym2)
として算出することができる。ここで、図6において、図形23の左上端点が、原点座標となるように座標変換が行われているものとする。
ただし、図形22の部分については、図6で示したように、図形移動に基づいて座標値が変更されているから、図形22の部分については、元イメージ上の座標との対応をとるために座標変換をする必要がある。ここで、図9に示すように、元イメージ11の下方に、元イメージと同じ画素値を有する仮想の元イメージ41が存在すると仮定することにより、第2変換イメージ24の全ての画素値について、第1変換パターンと同様に処理することができる。
この点を具体的に説明する。図9において、第2変換イメージの白抜きの部分については、変換マトリクスの逆行列A−1を掛け合わせると、真の元イメージ11の領域内からはずれた領域(仮想の元イメージ41の領域)に座標変換される。ここで、仮想の元イメージ41の白抜きの点座標(xv、yv)の画素値は、(xv、yv−h)の画素値と同一とする。そうすると、第2変換イメージ24の白抜き点座標(Xm2、Ym2)に対応する元イメージの座標は、
A−1(Xm2、Ym2)=(xv、yv)=(x、yv−h)
として算出できることになる。
上述した例においては、第2変換イメージの逆変換後のY座標値が元イメージの座標値範囲を正の方向に超えた場合であったが、上述した線L1の位置、変換マトリクス、原点座標の設定によっては、逆変換後のY座標値が負の方向に超える場合、逆変換後のX座標値が正の方向、または、負の方向に越える場合も考えられる。
このような場合を想定し、第2変換イメージ24の座標(Xm2、Ym2)と元イメージ21の座標(x、y)との関係は、以下の式で算出することができる。
(x、y)=A−1(Xm2、Ym2)
x < 0のとき、 x = x + X1
x >=X1のとき、 x = x − X1
y < 0のとき、 y = y + Y1
y >=Y1のとき、 y = y − Y1
ここで、X1は元イメージの幅画素数であり、Y1は元イメージの高さ画素数である。
ここで、第2変換イメージの座標(Xm2、Ym2)と変換イメージ格納メモリ31の座標(Xi、Yi)との関係は、上述したとおり、
Xm2 = Xi+Yi×Δd
Ym2 = Yi
であるから、
変換イメージ格納メモリ31の座標(Xi、Yi)と元イメージ21の座標(x、y)との関係は、
(x、y)=A−1(Xm2、Yi)
Xm2=Xi+Yi×Δd
x< 0のとき、 x=x+X1
x>=X1のとき、 x=x−X1
y< 0のとき、 y=y+Y1
y>=Y1のとき、 y=y−Y1
として求めることができる。
なお、上記式で求められたx及びyの値が小数値を含む値となることもある。元イメージの座標値は自然数であるから、算出された小数値の周辺の座標の画素値に基づいて補間して算出すればよい。補間の方法は公知であるので説明を省略する。また、x及びyを、単純に整数化してもよい。
なお、上述した変換イメージ格納メモリへの画素値の記憶の処理は、図10に示すフローチャート(画素値記憶処理)によって実現することができる。なお、詳細な説明については省略する。
以上の処理によって変換イメージ格納メモリ31に記憶された画素値は、後述する塗りつぶしイメージ処理において用いられる。また、変換イメージ格納処理によって生成された変換イメージ格納メモリ31の画素値をファイルとして保存し、保存したファイルを別のプロセスで実行するように構成することもできる。
[塗りつぶしイメージ生成処理]
以下、塗りつぶしイメージ生成処理について説明する。以下においては、塗りつぶしイメージを生成するためのメモリ空間が確保されているものとする。また、そのメモリ空間を図形データ格納メモリ32ということがある。
この処理について概念的に説明する。図11に示すように、図形データ格納メモリ32に対し、所定の走査方向の順に画素値を書き込む。このとき、書き込みの元となる画素値は、変換イメージ格納メモリ31から所定の走査方向に読み出されたものである。また、変換イメージ格納メモリ31の所定のラインの端まで読み出した場合は、次ライン情報tに基いて、次に読み出すラインを決定する。すなわち、2次元メモリの端点まで読み出すと、tで示される分だけずれたラインを読み出す。なお、tの値は、Δdの値によって変化する。なお、以下の説明においては、説明の便宜上、tが自然数とする。ただし、tが自然数でない場合についても同様に処理することができる。
この点について具体的に説明する。この処理は、概念的には、図2に示したように、図形データに対し、第1変換イメージを敷き詰めていることになる。図12は、図形イメージ13内に貼り付けられた第1変換イメージの画素の並び順を示したものである。図13は、変換イメージメモリ上の画素の並び順を示したものである。これらの図が示すとおり、画素(6)が読み出されると、その次に、画素(7)が読み出される。
また、t、w、hが少数部を含んだ数値であった場合には、小数部を含んだ数値のまま順次計算を行い、その時々の数値の整数部を、読み出し開始位置の値として設定すれば、前記少数を含んだt、w、hの整数化を行ってから前記順次計算を行い、前記読み出し開始位置とするよりは、前記読み出し開始位置の誤差は小さくなる。
また、読み出し開始位置について、小数部を含んだ座標値に基づいて補間処理よって求めてもよい。このとき、この座標値に最も近傍する変換イメージメモリ上の座標値を、読み出し開始位置を決定することができる。さらに、複数の近傍画素に基づく加重平均として読み出し開始位置を決定してもよい。
すなわち、できるだけ小数部を含んだ数値のまま計算処理を行う方が読み出し開始位置の精度を高める上では望ましい。
ここで、画素(7)は、変換イメージ格納メモリ31上では、画素(6)のラインから見て、tライン下にずれたラインに存在する。ここで、画素(6)のライン番号をcとすれば、次に読み出されるライン番号は、(c+t)となる。なお、(c+t)が、h以上になる場合は、(c+t−h)として、次に読み出すラインを決定する。
以上の処理により、変換イメージ格納メモリから読み出されるアドレスと、図形データメモリに書き込まれるアドレスとの対応関係を単純化することができる。これにより、図11に示したように、図形データメモリに対し走査順に画素値を書き込むことができ、高速な処理が可能となる。
次に、各走査ラインに画素値を書き込んでいく際の、変換イメージ格納メモリにおける読み出し開始位置の決定方法について説明する。本発明においては、走査ラインごとに、図形データメモリの書き込み開始位置に対応する変換イメージ格納メモリの読み出し開始位置を決定する。
具体的な処理について図14を用いて説明する。ここでは、左上に図形メモリの始点座標があるとし、shape area内を塗りつぶすものとする。また、shape areaに接する長方形内を塗りつぶし対象領域とする。また、塗りつぶし対象領域内におけるshape areaでない領域においては、変換イメージ格納メモリから読み出された画素値は書き込まれない。
以下、説明の便宜上、第2変換イメージを敷き詰めていくものとして説明する。第2変換イメージの起点位置を(a、b)とし、塗りつぶし対象領域の起点座標を(A、B)とする。
この処理は、概念的には、(a,b)を起点として第2変換イメージ(以下、平行四辺形ということがある)を敷き詰めていき、塗りつぶしの始点(ここでは、(A、B))が座標値に含まれる平行四辺形(以下、対象平行四辺形ということがある)を特定する。そして、対象平行四辺形の上端及び左端からの相対座標(S、L)を求める。図14においては、平行四辺形(9)が対象平行四辺形となる。
ここで、S及びLは、変換イメージ格納メモリの座標値と等価であるから、S及びLが決定されると、変換イメージ格納メモリ上の座標(S、L)の画素値が、塗りつぶしの始点に対応する読み出し開始位置となる。
まず、Sの算出方法について説明する。起点位置に配置された平行四辺形(1)の下辺に一致させるように順に平行四辺形を配置していき(図14においては、平行四辺形(2)→平行四辺形(3)の順)、Y座標値としてBが含まれる平行四辺形を特定する。以下、特定された平行四辺形を起点図形ということがある。図14においては、平行四辺形(3)が起点図形となる。
そして、Y座標値がBであるライン上の平行四辺形(3)の左端点を特定し、その左端点の左隣接点のX座標値αを決定する。このとき、
α = a+a’
であり、
a’= (B−b)×Δd
の関係から、
α = a + (B−b)×Δd
となる。ここで、αが小数値を含む値となることもあるが、整数化しなくてよい。
なお、必要に応じ整数化してもよい。
次に、Offsetを算出する。Offsetは、
Offset = A − α
として算出することができる。
図14に示すとおり、Sは、Offsetから平行四辺形(3)及び(5)の幅wを引いた値であることがわかる。
すなわち、図14においては、
Offset = 2×w + S
となる。
これを一般化すれば、起点図形から平行四辺形X個分ずれた位置に対象平行四辺形があり、平行四辺形の幅をwとすれば(平行四辺形(3)ではX=1、平行四辺形(5)ではX=2)、
Offset = x×w + S
となり、移項すると、
S = Offset − x×w
となる。この式は、Offsetをwで割った場合の剰余を示すものであるから、
S = Offset % w (m%nは、mをnで割った場合の剰余を表す)
として求めることができる。
ここで、第2変換イメージの形状、起点(a、b)の設定、原点の設定の仕方によっては、算出したSの値が、負の数になることもありうる。この場合、変換イメージ格納メモリの座標系に変換するために、
S=S+w
とする。この処理は、左向きのベクトルSに対して右向きのベクトルwとを加算するものである。これにより、変換イメージ格納メモリの座標値に変換することができる(図15参照)。
上述した処理においては、算出されたSが小数値を含む値として算出されることがある。この場合、Sを整数化したS’を読み出し開始のX座標値とすることができる。また、算出された小数値の周辺の座標の画素値に基づいて補間して算出してもよい。なお、補間処理は公知であるので説明を省略する。
また、上述した処理においては、Sを小数値を含んだ形で読み出し開始位置を算出し、その後整数化するので、図形データ格納メモリに書き込まれる画素値の精度を高めることができ、生成される塗りつぶしイメージの画質を向上させることができる。
次に、Lの算出方法ついて説明する。
図14において、Lは、対象平行四辺形の上端からの相対座標値である。したがって、対象平行四辺形のY座標を求める必要がある。
このとき、平行四辺形(1)にY座標方向に接続している平行四辺形(2)及び(3)については、
B−b = n×h + L
という関係式が成り立つ。ここで、nは、平行四辺形(1)から平行四辺形何個分ずれた位置にあるかを示すものである(平行四辺形(2)ではn=1、平行四辺形(3)ではn=2)。
また、上記対象平行四辺形に対し、右側または左側に隣接する平行四辺形(例えば、平行四辺形(4)、平行四辺形(8)等)については、垂直方向のずれを考慮する必要がある。すなわち、図16及び図17に示すように、右に1つずれるごとに、平行四辺形の上端のY座標値は、tだけ原点方向にずれることになる。
ここで、平行四辺形(1)、(2)、(3)の順に隣接されていくラインを起点ラインLsとする。そして、対象平行四辺形が、起点ラインLsから平行四辺形何個分(N)ずれた位置にあるかを計算する必要がある。
例えば、wが10、Offsetが15であれば、平行四辺形1個分ずれていることになり、
INT[15/10]=INT[1.5]=1となる。 (INT(n)は、nの整数部分を表す)
また、wが10、Offsetが22であれば、
INT[22/10]=INT[2.2]=2となる
この関係を一般化すれば、Offsetをwで割った整数値(小数以下切捨て)として求められ、
N =INT[Offset/w]
となる。
また、第2変換イメージの形状、起点(a、b)の設定、原点の設定の仕方によっては、算出したOffsetの値が、負の数になることもありうる。wが10、Offsetが−8であれば、起点図形から平行四辺形1個分原点方向にずれており、
N = INT[−8/10]=0
となる(図18参照)。
また、wが10、Offsetが−16であれば、起点図形から平行四辺形2個分原点方向にずれており、
N = INT[−16/10]=−1
となる(図19参照)。
この関係を一般化すれば、起点図形から平行四辺形N個分原点方向にずれている場合は、
N =(N−1)
とする。
以上によれば、次のように求めることができる。
起点ラインLs上の平行四辺形における上端のY座標値は、b+n×hとして求められるから、対象平行四辺形における上端のY座標値は、b+n×h+t×Nとして求められる。これにより、BとLとの関係は、
B = b + n×h + t×N + L
となり、移項すると、
L = B−b + t×N − n×h
となる。この式は、(B−b+t×N)をhで割った剰余を示すものであるから、
L = (B−b+t×N) % h
として求めることができる。
ここで、第2変換イメージの形状、起点(a、b)の設定、原点の設定の仕方によっては、算出したLの値が、負の数になることもありうる。この場合、変換イメージ格納メモリの座標系に変換するために、
L=S+h
とする。この処理は、上向きのベクトルLに対して下向きのベクトルhとを加算するものである。これにより、変換イメージ格納メモリの座標値に変換することができる(図20参照)。
上述した処理においては、算出されたLが小数値を含む値として算出されることがある。この場合、Sを整数化したL’を読み出し開始のY座標値とすることができる。また、算出された小数値の周辺の座標の画素値に基づいて補間して算出してもよい。なお、補間処理は公知であるので説明を省略する。
また、上述した処理においては、Sを小数値を含んだ形で読み出し開始位置を算出し、その後整数化するので、図形データ格納メモリに書き込まれる画素値の精度を高めることができ、生成される塗りつぶしイメージの画質を向上させることができる。
以上説明したとおり、本発明は、塗りつぶしの対象となる図形に対し、走査順に画素値を書き込むことができるので、高速な処理によって塗りつぶし処理を行うことができる。また、メモリ効率を高めることができる。
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。また、上述した画像処理プログラムを記録された記録媒体、上述した画像処理プログラムに係る画像処理方法としても本発明は実現可能である。
元イメージ、変換マトリクス、図形データのパラメータを用いて図形データを塗りつぶす処理を概念的に示した図である。 変換イメージを図形データの領域内に貼り付けていく様子を示した図である。 2次元メモリ空間上に変換イメージ記憶した様子を示した図である。 変換イメージ格納処理のフローチャートである。 元イメージの形状と変換イメージの形状との関係を示した図である。 第1変換イメージから第2変換イメージを生成する様子を示した図である。 第2変換イメージの座標と変換イメージ格納メモリの座標との対応関係を示した図である。 2次元メモリ空間上に第2変換イメージを記憶した様子を示した図である。 第2変換イメージの座標と元イメージの座標との対応関係を示した図である。 画素値記憶処理のフローチャートである。 図形データ格納メモリに変換イメージメモリの画素値をコピーしていく様子を示した図である。 図形データ格納メモリ内の画素値と第1変換イメージの画素値との関係を示した図である。 変換イメージ格納メモリ上の画素値の読み出し順序を示した図である。 変換イメージ格納メモリ上の読み出し開始位置と図形データ格納メモリの位置との関係を示した図である。 第2変換イメージの座標を、変換イメージ変換格納メモリの座標に変換する様子を示した図である。 隣接する第2変換イメージの垂直方向のずれを示した図である。 隣接する第2変換イメージの垂直方向のずれを示した図である。 Offsetと起点図形からのずれの関係を示した図である。 Offsetと起点図形からのずれの関係を示した図である。 第2変換イメージの座標を、イメージ変換格納メモリの座標に変換する様子を示した図である。
11 元イメージ
13 図形データ
31 変換イメージ格納メモリ
32 図形データ格納メモリ

Claims (7)

  1. (a)元の平行四辺形の形状を有する2次元イメージを取得し、
    (b)前記元の平行四辺形の形状を変化させて生成する新たな平行四辺形の上底または下底の画素数の基となる数値w、及び、高さの画素数の基となる数値hを算出し、
    (c)w×hの2次元メモリ空間を確保し、
    (d)前記2次元イメージを前記新たな平行四辺形の形状に座標変換した場合に生成される新たな2次元イメージの画素値を、走査ラインごとに、走査順に前記2次元メモリに書き込み、
    (e)前記新たな2次元イメージの付属情報を、前記2次元メモリに対応付けて記憶する、
    ステップからなり、
    前記新たな平行四辺形は、前記元の平行四辺形を、走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成され、
    前記付属情報は、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tである、
    画像処理方法をコンピュータに実行させるための画像処理プログラム。
  2. (a)元イメージが単一色ではなく、かつ、当該元イメージの形状に対する座標変換が(n/2)×π(単位はrad、nは自然数)の回転変換を含まない、という条件を満たすか否かを判定し、
    (b)前記条件を満たす場合に、
    (b−1)前記元イメージを前記所定の2次元マトリクスで座標変換することにより、元の平行四辺形の形状を有する2次元イメージを取得し、
    (b−2)前記元の平行四辺形の形状を変化させて生成する新たな平行四辺形の上底または下底の画素数の基となる数値w、及び、高さの画素数の基となる数値hを算出し、
    (b−3)w×hの2次元メモリ空間を確保し、
    (b−4)前記2次元イメージを前記新たな平行四辺形の形状に座標変換した場合に生成される新たな2次元イメージの画素値を、走査ラインごとに、走査順に前記2次元メモリに書き込み、
    (b−5)前記新たな2次元イメージの付属情報を、前記2次元メモリに対応付けて記憶する、
    ステップからなり、
    前記新たな平行四辺形は、前記元の平行四辺形を、走査方向に平行な直線で2つの図形に分割し、分割した2つの図形が有する辺のうち、前記元の平行四辺形の上底及び下底に対応する辺同士を合わせることによって生成され、
    前記付属情報は、前記w、前記h、前記新たな平行四辺形の傾きΔd、次の読み出しラインとの縦方向のずれを示す次ライン情報tである、
    画像処理方法をコンピュータに実行させるための画像処理プログラム。
  3. (a)元イメージが単一色ではなく、かつ、当該元イメージの形状に対する座標変換が(n/2)×π(単位はrad、nは自然数)の回転変換を含まない、という条件を満たすか否かを判定し、
    (b)前記条件を満たす場合に、
    (b−1)前記座標変換で得られた平行四辺形の形状を変化させて生成する新たな平行四辺形の上底または下底の画素数の基となる数値w、及び、高さの画素数の基となる数値hを算出し、
    (b−2)w×hの2次元メモリ空間を確保し、
    (b−3)前記2次元メモリ空間のそれぞれの座標(Xi、Yi)に、前記元イメージの座標(x、y)の画素値を書き込み、
    ここで、(x、y)=A−1(Xi’、Yi)
    Xi’=Xi+Yi×Δd
    x < 0のとき、 x = x+X1
    x =>X1のとき、 x = x−X1
    y < 0のとき、 y = y+Y1
    y >=Y1のとき、 y = y−Y1
    X1は、元イメージの幅画素数
    Y1は、元イメージの高さ画素数
    Δdは、前記新たな平行四辺形の傾き
    (b−5)付属情報を、前記2次元メモリに対応付けて記憶する、
    ステップからなり、
    前記付属情報は、前記w、前記h、前記Δd、次の読み出しラインとの縦方向のずれを示す次ライン情報tである、
    画像処理方法をコンピュータに実行させるための画像処理プログラム。
  4. 前記算出されたw、hが自然数でない場合には、当該w、hを整数化して前記2次元メモリ空間を確保する、
    ことを特徴とする請求項1乃至3いずれかに記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
  5. (a)塗りつぶしの対象となる図形の形状を示す2次元図形データを取得し、
    (b)前記2次元図形データに基いて、前記図形の形状の2次元イメージを表現するための第1の2次元メモリ空間を確保し、
    (c)所定イメージが記憶されている第2の2次元メモリ空間から順次読み出した画素値を、前記第1の2次元メモリ空間の所定のアドレスに順次書き込む、
    ステップからなり、
    前記第1の2次元メモリ空間への書き込みは、走査順に行われ、
    前記第2の2次元メモリ空間からの読み出しは、所定の走査ライン上で走査順に行われ、読み出し位置が該所定の走査ライン上の終端に達した場合は、補助情報として記憶されている次ライン情報に基いて、新たな走査ラインを決定し、決定された走査ラインを前記所定の走査ラインとして画素値を走査順に読み出すことを繰り返す、
    画像処理方法をコンピュータに実行させるための画像処理プログラムであって、
    前記補助情報には、前記第2の2次元メモリ空間に記憶されている所定イメージの幅を画素数で示す数値w、前記所定イメージの高さを画素数で示す数値h、2次元メモリ空間に記憶されている所定イメージの傾き情報Δdが記憶され、
    前記補助情報に基いて、前記第1の2次元メモリ空間の走査ラインごとに、前記第2の2次元メモリ空間の読み出し開始位置を決定する、
    ことを特徴とする画像処理方法をコンピュータに実行させるための画像処理プログラム。
  6. 前記補助情報には、前記第2の2次元メモリ空間に記憶されている所定イメージの幅を画素数で示す数値w、前記所定イメージの高さを画素数で示す数値h、2次元メモリ空間に記憶されている所定イメージの傾き情報Δdが記憶され、
    前記補助情報に基いて、前記第1の2次元メモリ空間の走査ラインごとに、前記第2の2次元メモリ空間の読み出し開始位置(S、L)を決定する、
    ここで、
    (a、b):前記所定イメージにおける前記第1の2次元メモリ空間上の起点座標、
    (A、B):前記所定イメージで塗りつぶしを開始する前記第1の2次元メモリ空間上の起点座標、
    t:次の読み出しラインとの縦方向のずれを示す情報
    とすると、
    α=(a+(B−b)×Δd)
    offsetX=(A−α)
    S=offsetX % w (m%nは、mをnで割った場合の剰余を表す)
    S<0のとき S=S+w
    N=offsetX/w
    offsetX<0 のとき N=N−1
    L=(B−b+t×N)% h
    L<0のとき L=L+h
    であることを特徴とする請求項5に記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
  7. 前記決定された前記第2の2次元メモリ空間の読み出し開始位置が自然数でない場合は、該読み出し開始位置を整数化する、
    ことを特徴とする請求項5または6に記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
JP2007283215A 2007-10-31 2007-10-31 画像処理プログラム Active JP4492671B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007283215A JP4492671B2 (ja) 2007-10-31 2007-10-31 画像処理プログラム
US12/261,496 US8320016B2 (en) 2007-10-31 2008-10-30 Image processing method for fast fill-in of a figure and computer readable medium therefor
US13/615,991 US8472077B2 (en) 2007-10-31 2012-09-14 Image processing method for fast fill-in of a figure and computer readable medium therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007283215A JP4492671B2 (ja) 2007-10-31 2007-10-31 画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2009110368A JP2009110368A (ja) 2009-05-21
JP4492671B2 true JP4492671B2 (ja) 2010-06-30

Family

ID=40582441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007283215A Active JP4492671B2 (ja) 2007-10-31 2007-10-31 画像処理プログラム

Country Status (2)

Country Link
US (2) US8320016B2 (ja)
JP (1) JP4492671B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5806448B2 (ja) * 2009-05-13 2015-11-10 株式会社東芝 核医学イメージング装置、画像処理装置および画像処理方法
CN108230413B (zh) * 2018-01-23 2021-07-06 北京市商汤科技开发有限公司 图像描述方法和装置、电子设备、计算机存储介质
CN113986152A (zh) * 2020-07-08 2022-01-28 森大(深圳)技术有限公司 图像分段转换的喷墨打印方法、装置、设备及存储介质
JP2022070084A (ja) * 2020-10-26 2022-05-12 利英 坪田 パターン作成装置、模様表示体、パターン作成方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02141883A (ja) * 1988-11-24 1990-05-31 Nec Corp 塗りつぶし処理装置
JPH09190468A (ja) * 1995-10-12 1997-07-22 Schablonentechnik Kufstein Ag パターン形成方法
JPH11224331A (ja) * 1998-02-06 1999-08-17 Fuji Xerox Co Ltd ラスタ画像生成装置およびラスタ画像生成方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3111639B2 (ja) * 1991-05-31 2000-11-27 新日本製鐵株式会社 連続模様印刷システム
US6359695B1 (en) * 1992-02-26 2002-03-19 Canon Kabushiki Kaisha Repeated image forming apparatus with neighboring image boundary gradiation correction
JP2791527B2 (ja) * 1992-07-23 1998-08-27 大日本スクリーン製造株式会社 網目版画像記録方法
JPH06309469A (ja) 1993-04-20 1994-11-04 Oki Electric Ind Co Ltd アウトライン文字描画方法
JPH0844881A (ja) 1994-08-01 1996-02-16 Toshiba Corp グラフィックスアクセラレータの塗潰し方法及びグラフィックスアクセラレータ
CN1217122A (zh) * 1996-03-27 1999-05-19 欧姆龙株式会社 图象识别的方法和装置以及利用此方法和装置的复印机和打印机
US6175424B1 (en) * 1996-12-20 2001-01-16 Canon Kabushiki Kaisha Image processing apparatus and image processing method
JP3791203B2 (ja) 1998-09-07 2006-06-28 富士ゼロックス株式会社 画像処理装置
US7177452B2 (en) * 2002-04-10 2007-02-13 Battelle Memorial Institute Visualization of information with an established order
JP3913220B2 (ja) * 2003-01-24 2007-05-09 キヤノン株式会社 画像形成装置およびイメージリピート方法およびレイアウト方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006524384A (ja) * 2003-04-24 2006-10-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 平行四辺形をフィル・インする方法及びシステム
JP4365621B2 (ja) * 2003-06-11 2009-11-18 日本フイルコン株式会社 ダイヤゴナル継ぎ円筒形織物とその製造方法
JP4133996B2 (ja) * 2004-10-08 2008-08-13 株式会社ソニー・コンピュータエンタテインメント テクスチャ作成方法
JP2008009140A (ja) * 2006-06-29 2008-01-17 Fujitsu Ltd 画像処理装置および画像処理方法
JP4845801B2 (ja) * 2007-04-26 2011-12-28 キヤノン株式会社 画像処理装置及びメモリのアクセス制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02141883A (ja) * 1988-11-24 1990-05-31 Nec Corp 塗りつぶし処理装置
JPH09190468A (ja) * 1995-10-12 1997-07-22 Schablonentechnik Kufstein Ag パターン形成方法
JPH11224331A (ja) * 1998-02-06 1999-08-17 Fuji Xerox Co Ltd ラスタ画像生成装置およびラスタ画像生成方法

Also Published As

Publication number Publication date
US8472077B2 (en) 2013-06-25
US20130009985A1 (en) 2013-01-10
US20090109497A1 (en) 2009-04-30
US8320016B2 (en) 2012-11-27
JP2009110368A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
CN106709871B (zh) 利用活动掩码的图像合成的方法和系统
JP4470930B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2000182038A (ja) 歪まされた情報からの遠近法的矯正デ―タの生成方法及びこれに用いる装置並びにコンピュ―タプログラム製品
US6035075A (en) Image deforming method and apparatus
JP4492671B2 (ja) 画像処理プログラム
JPH1049704A (ja) 画像変換方法
US7567246B2 (en) Image processing apparatus, image processing method, and image processing program
WO2006090610A1 (ja) 画像処理装置および画像処理方法
US7825926B2 (en) Point-based rendering apparatus, method and medium
JP4673140B2 (ja) 画像処理装置および方法
JP2018067849A (ja) 画像処理装置、画像処理方法、プログラム
JPH05284359A (ja) 画像の中間調網点化のための網点生成
JP6884403B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US7274376B2 (en) Special effect device, address signal generating device, address signal generating method and address signal generating program
KR100844829B1 (ko) 모자이크 이미지 생성 방법 및 모자이크 이미지 생성 장치
JP2000155851A (ja) テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JP4387611B2 (ja) 描画装置及び描画方法
JP3312560B2 (ja) テクスチャマッピング装置
JP3517982B2 (ja) 図形描画装置
JP6883864B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP3555940B2 (ja) 画像処理装置及び画像処理方法
JP2634810B2 (ja) 情報処理装置
CN1125875A (zh) 图像合成装置二维转换装置的二维旋转方法
JP4840033B2 (ja) 画像処理プログラムおよび画像処理装置
JP3869966B2 (ja) 図形編集装置、図形編集方法および記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100210

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: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100329

R150 Certificate of patent or registration of utility model

Ref document number: 4492671

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4