JP3634535B2 - 画像処理方法および装置 - Google Patents
画像処理方法および装置 Download PDFInfo
- Publication number
- JP3634535B2 JP3634535B2 JP02786497A JP2786497A JP3634535B2 JP 3634535 B2 JP3634535 B2 JP 3634535B2 JP 02786497 A JP02786497 A JP 02786497A JP 2786497 A JP2786497 A JP 2786497A JP 3634535 B2 JP3634535 B2 JP 3634535B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixels
- original image
- pixel
- superimposed
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は画像処理方法および装置に関し、例えば、複数の画像を合成する画像処理方法および装置に関するものである。
【0002】
【従来の技術】
縦および/または横の画素数が異なる(画像サイズが異なる)二枚の画像を合成する場合、両画像の縦と横の画素数が同じになるように、例えば第二の画像のサイズを変更した第三の画像を生成し、その後、第一および第三の画像を合成する必要がある。このように、既に一方の画像に加工が加えられている場合で、さらに、その画像が格納されたメモリ領域に上書することができないような場合には、もう一枚分、すなわち第一から第三の画像にそれぞれ対応する三枚分の画像を格納するメモリ領域を用意する必要がある。
【0003】
【発明が解決しようとする課題】
しかし、上述した技術においては、次のような問題点がある。つまり、縦および/または横の画素数が異なる(画像サイズが異なる)二枚の画像を合成する場合、使用可能なメモリ領域が限られている状況では、変倍処理に使用するメモリ領域が得られずに画像合成ができない場合がある。
【0004】
本発明は、上述の問題を解決するためのものであり、利用可能なメモリ領域が小さい場合でも複数の画像を合成することができる画像処理方法および装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0006】
本発明にかかる画像処理装置は、第一の画像と第二の画像を画像合成する画像処理装置であって、前記第一の画像の画素と、前記第二の画像の画素との対応を表す対応テーブルを作成する作成手段と、前記第二の画像から、前記第二の画像に対応する二値のマスクデータを生成する生成手段と、前記第一の画像の画素の値を、前記対応テーブルにより参照され、かつ、前記マスクデータにより合成が指示される前記第二の画像の画素の値に置き換えることで、前記第一の画像と前記第二の画像を画像合成する処理手段とを有することを特徴とする。
【0007】
本発明にかかる画像処理方法は、第一の画像と第二の画像を画像合成する画像処理方法であって、前記第一の画像の画素と、前記第二の画像の画素との対応を表す対応テーブルを作成し、前記第二の画像から、前記第二の画像に対応する二値のマスクデータを生成し、前記第一の画像の画素の値を、前記対応テーブルにより参照され、かつ、前記マスクデータにより合成が指示される前記第二の画像の画素の値に置き換えることで、前記第一の画像と前記第二の画像を画像合成することを特徴とする。
【0008】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【0009】
[構成]
図1は本発明にかかるデータ処理装置の概略構成を示すブロック図である。データ処理装置は、CPU(中央処理ユニット)1、ROM(リードオンリメモリ)2、RAM(ランダムアクセスメモリ)3、キーボード4、マウス5、表示器6、および、外部記憶装置7により構成され、これらの構成要素はバスライン8により互いに接続されている。なお、システム構成によっては、後述するシステムプログラムや画像処理プログラムなどは、ROM2のかわりにハードディスクなどのような外部記憶装置7に格納されていてもよい。
【0010】
CPU1は、例えばマイクロプロセッサであり、本装置各部の動作を制御する。ROM2は、システムプログラム2a、画像処理プログラム2b1、および、各種の画像処理を指示するなどのために利用されるアプリケーションプログラム2bなどを格納する。RAM3は、画像が合成される原画像を格納する原画像データ領域3a、原画像に重ねる画像を格納する重ね画像データ領域3b、二枚の画像を重ねるための合成処理において必要になる座標変換テーブル領域3c、および、CPU1にワークメモリとして使用されるワーク領域3fなどにより構成されている。
【0011】
原画像データ領域3aに格納される原画像(以後、原画像データ領域3aに格納された原画像または原画像データを符号3aで表す場合もある)は、二枚の画像を合成する際の基準になるので、合成後の画像の縦と横の画素数は、原画像3aの縦と横の画素数になる。原画像3aは、外部記憶装置7から読み込まれ、原画像データ領域3aに格納される。なお、原画像3aに何らかの加工処理を施した後、その処理結果に満足できず、その加工処理をキャンセルまたはアンドゥする場合に備えて、加工処理前の画像データを格納する領域を、原画像データ領域3aのほかに確保しておいてもよい。また、原画像データ領域3aに格納される画像は、既に他の何らかの加工処理が施された画像であってもよい。
【0012】
重ね画像データ領域3bに格納される重ね画像(以後、重ね画像データ領域3bに格納された重ね画像または重ね画像データを符号3bで表す場合もある)は、原画像3aの縦と横の画素数と同じになるように変倍された後、原画像3aに合成される。重ね画像3bも、原画像3aと同じように、外部記憶装置7から読込まれる。
【0013】
画素数の異なる二枚の画像を合成する場合、一方の画像の縦と横の画素数に合わせるために、もう一方の画像の縦および/または横のサイズを変倍しなければならない。その際に必要になるのが、座標変換テーブル領域3cに格納される座標変換テーブルである(以後、座標変換テーブルを符号3cで表す場合もある)。
【0014】
キーボード4は、本装置のユーザが、文字、数字、記号などのデータを入力したり、CPU1に対して各種の指示を行うためのものである。マウス5は、表示器6上に表示されている各種情報を指示することにより、CPU1に対して各種も指示を行うためのものである。マウスの代わりにトラックボール、ペン、またはタッチパネルなどの方式のポインティングデバイスを用いてもよい。表示器6は、例えばLCDなどで構成され、CPU1の制御により各種情報を表示する。外部記憶装置7は、例えばハードディスクやフロッピディスクなどのメディアを用いる記憶装置であり、CPU1の制御により外部記憶装置7から読出された各種データは、バスライン8を介してRAM3に格納される。また、外部記憶装置7から読出されたデータが画像データの場合、その画像データはRAM3に展開される。
【0015】
[画像合成処理]
以下では、本発明にかかる画像合成処理について詳細に説明する。
【0016】
図2は本実施形態で扱うフルカラー画像データの構造例を示す図である。画像の一画素はR(赤)、G(緑)、B(青)それぞれ1バイト(=8ビット)の計3バイトから構成され、RGBはそれぞれ0〜255の値をもつので、約1670万色を表すことができる。それぞれの値は小さいほど低い輝度を表し、RGB三成分とも零に近い場合は黒に近い色になる。つまりR=G=B=0の場合が黒、R=G=B=255の場合が白を表す。また、図2中のWおよびHは縦と横の画素数を表す。
【0017】
図3Aから3Cは座標変換テーブル3cの例を示す図で、図3Aは重ね画像が原画像よりも小さい場合の一例であり、図4に示すような画像合成を行う場合に使用する座標変換テーブル3cである。また、図3Bは、重ね画像が原画像よりも大きい場合の一例であり、図5に示すような画像合成を行う場合に使用する座標変換テーブル3cである。また、図3Cは、重ね画像の縦方向は原画像の縦方向よりも小さく、重ね画像の横方向は原画像の横方向よりも大きい場合の一例である。
【0018】
図7は図4に示した画像合成を具体的に説明するための図である。図7は、画素を少なくし、大きく拡大するとともに、あたかも二値画像の合成を行うように示しているが、これらは説明を容易にするための処理であり、実際の処理は多数の多値画素を合成するものである。図7(a)は原画像を、同図(b)は重ね画像を、同図(c)はマスクを、同図(d)は合成画像を、それぞれ表している。クロスハッチングが施された値‘1’のマスク画素に対応する重ね画像の画素は原画像に重ねられ、クロスハッチングが施されていない値‘0’のマスク画素に対応する部分は原画像がそのまま残ることを示している。なお、マスクデータは二値データでありデータ量が少なくて済む。また、重ね画像のある特定の色、例えば白色の画素に対応する原画像の画素には、重ね画像の画素を重ねないようにすることもできるが、そうすると、その特定の色を重ねる画像の色として使用することができなくなってしまうので、本実施形態ではマスクデータを使用する。
【0019】
具体的な画像合成は図3Aに示した座標変換テーブル3cにしたがって行う。この例では、原画像に拡大した重ね画像を重ねることになる。縦(y)方向について、原画像のy=0行およびy=1行には重ね画像のy’=0行が重なり、原画像のy=2行には重ね画像のy’=1行が重なり、…、原画像のy=5行およびy=6行には重ね画像のy’=4行が重なり、…、原画像のy=10行には重ね画像のy’=8行が重なる。つまり、原画像11行に対して重ね画像が9行なので、重ね画像のy’=0行およびy’=4行を重複して原画像に重ねている。
【0020】
また、横(x)方向について、原画像のx=0列およびx=1列には重ね画像のx’=0列が重なり、原画像のx=2列には重ね画像のx’=1列が重なり、…、原画像のx=4列およびx=5列には重ね画像のx’=3列が重なり、…、原画像のx=6列には重ね画像のx’=4列が重なり、…、原画像のx=8列およびx=9列には重ね画像のx’=6列が重なり、…、原画像のx=10列には重ね画像のx’=7列が重なり、…、原画像のx=12列およびx=13列には重ね画像のx’=9列が重なり、…、原画像のx=15列には重ね画像のx’=11列が重なる。つまり、原画像16列に対して重ね画像が12列なので、重ね画像のx’=0列、x’=3列、x’=9列およびx’=11列を重複して原画像に重ねている。
【0021】
図8は図5に示した画像合成を具体的に説明するための図である。図8は、図7同様、画素を少なくし、大きく拡大するとともに、あたかも二値画像の合成を行うように示しているが、これらは説明を容易にするための処理であり、実際の処理は多数の多値画素を合成するものである。図8(a)は原画像を、同図(b)は重ね画像を、同図(c)はマスクを、同図(d)は合成画像を、それぞれ表している。
【0022】
具体的な画像合成は図3Bに示した座標変換テーブル3cにしたがって行う。この例では、原画像に縮小した重ね画像を重ねることになる。縦(y)方向について、原画像のy=0行には重ね画像のy’=0行が重なり、…、原画像のy=2行には重ね画像のy’=2行が重なり、原画像のy=3行には重ね画像のy’=4行が重なり、…、原画像のy=5行には重ね画像のy’=7行が重なり、原画像のy=6行には重ね画像のy’=8行が重なる。つまり、原画像7行に対して重ね画像が9行なので、重ね画像のy’=3行およびy’=6行を削除する。
【0023】
また、横(x)方向について、原画像のx=0列には重ね画像のx’=0列が重なり、…、原画像のx=4列には重ね画像のx’=5列が重なり、…、原画像のx=7列には重ね画像のx’=8列が重なり、原画像のx=8列には重ね画像のx’=10列が重なり、原画像のx=9列には重ね画像のx’=11列が重なる。つまり、原画像10列に対して重ね画像が12列なので、重ね画像のx’=4列およびx’=9列を削除する。
【0024】
しかし、上記のように行や列を削除して画像を合成する場合、例えば、重ね画像のy’=3行およびy’=6行を原画像に重ねないと、y’=2行とy’=4行の色の差、y’=6行とy’=7行の色の差がそれぞれ、y=2行とy=3行、y=6行とy=7行に反映されることになり、大きな色の差が発生する可能性がある。この大きな色の差の発生を避けるために、重ね画像の中に原画像に重ねられない行や桁、つまり座標変換テーブル3c上で重ね座標x’やy’の欄に現れない行や列は、例えば、その直前の行や列との間で画素値の平均をとり、合成画像において隣接する行や列の色の差が大きくならないようにする。なお、重ね画像が原画像よりもかなり大きい場合は、原画像の一行または一列に、重ね画像の三行または三列以上が対応する場合も考えられるが、その場合、それらの行や列をすべて含めて平均化したり、直前の行や列から遠くなるほど重みを軽減する重み付け平均化を行うなどの処理を行う。
【0025】
図9は図3Cに示した画像合成を具体的に説明するための図である。図9は、図7同様、画素を少なくし、大きく拡大するとともに、あたかも二値画像の合成を行うように示しているが、これらは説明を容易にするための処理であり、実際の処理は多数の多値画素を合成するものである。図9(a)は原画像を、同図(b)は重ね画像を、同図(c)はマスクを、それぞれ表している。
【0026】
具体的な画像合成は図3Cに示した座標変換テーブル3cにしたがって行う。この例では、横方向に縮小し、縦方向に拡大した重ね画像を原画像に重ねることになる。つまり、原画像14行に対して重ね画像が9行なので、重ね画像のy’=0行、y’=3行、y’=5行、y’=7行およびy’=8行を重複して重ねる。また、原画像10列に対して重ね画像が12列なので、重ね画像のx’=2列、x’=6列およびx’=10列については、前述したように、直前の列の画素との例えば平均値を原画像に重ねる。
【0027】
このように、本実施形態によれば、重ね画像の縦の画素数だけが原画像よりも大きかったり、逆に重ね画像の横の画素数だけが原画像よりも大きかったりする場合(例えば、原画像と重ね画像の縦長/横長が逆の場合など)でも、重ね画像を適切に変倍し、上述したように、例えば画素値を平均化しながら合成を行うことができる。
【0028】
なお、縦と横の画素数がどちらも等しい二つの画像の合成については説明するまでもないが、それら二画像の画素は一対一で対応するから、行および列が一対一で対応する座標変換テーブル3cを用意すればよい。
【0029】
[処理の流れ]
以下、画像合成処理の詳細を説明する。
【0030】
まず、アプリケーションプログラム2bの起動が指示されると、ROM2からアプリケーションプログラム2bや、画像を合成するための画像処理プログラム2b1などが読出され、RAM3のメモリ領域に格納される。ただし、画像処理プログラム2b1は、アプリケーションプログラム2bから呼ばれた際に読出すようにすることもでき、RAM3のメモリ領域を節約することができる。また、RAM3には、原画像データ領域a3、重ね画像データ領域3b、座標変換テーブル領域3cを確保する必要があるが、それぞれが必要になった時点でメモリ領域を確保するようにすれば、やはりRAM3のメモリ領域を節約することができる。RAM3のメモリ領域の節約は、メモリ領域を使用する他の処理を行う際などに効果的である。
【0031】
図10は本発明にかかる画像合成処理の一例を示すフローチャートで、起動されたアプリケーションプログラム2bが、各種の初期設定や、画像の呼び出しに関する処理を行った後に実行する処理を示している。。
【0032】
また、図2に示したように、フルカラー画像データの各画素は、RGB各1バイト、合計3バイトの情報をもつ。以下の説明では、各画素ごとの処理はRGBそれぞれ独立に計算して、RGBをまとめて1画素としているものとする。
【0033】
編集したい画像が呼び出されと、図10に示すステップS1において、編集画像、つまり原画像と重ね画像がRAM3の所定領域に格納される。ここで、原画像は例えば図4(a)や図5(a)に示した画像であり、重ね画像は図4(b)や図5(b)に示した画像である。両画像のデータの形式が異なる、例えば、原画像がフルカラーであり、重ね画像が白黒などの場合は、ステップS1において、どちらか一方の画像のデータ形式を他方の画像のデータ形式に一致させる処理を行う。
【0034】
縦および/または横の画素数が異なる二枚の画像を合成する場合は、一方の画像の画素数に合わせて、他方の画像データの画素数を変倍しなければならない。その時に必要になるのが座標変換テーブルをステップS2で作成する。
【0035】
座標変換テーブルは、原画像の水平方向の座標をx、垂直方向の座標をy、横画素数をw、縦画素数をhとし、重ね画像の水平方向の座標をx’、垂直方向の座標をy’、横画素数をw’、縦画素数をh’とすると、例えば次式で与えられる。
x’ = x ×((w’ − 1) / (w − 1))
y’ = y ×((h’ − 1) / (h − 1))
【0036】
この式によって、原画像の水平方向(x座標)、垂直方向(y座標)の各座標に対応する、重ね画像の座標を求めることができる。上式によって座標変換テーブル3cを求めると、図3Aから3Cに示した座標変換テーブルが求まることになるが、同図に示したx’,y’の値は説明を簡単にするために与えたものであり、必ずしも上式の計算結果と一致するものではない。
【0037】
座標変換テーブルの作成が終了すると、画像合成を行うステップS3からS6の処理が開始される。座標データ変換テーブルを参照するステップS3、参照画素を判定するステップS4、画素値を平均化するステップS5および画素値を設定するステップS6は、原画像3aのすべての画素に対して行われる。画像合成の詳細は図11および図12を用いて説明する。
【0038】
本実施形態における画像合成は、原画像の縦と横の画素数と、重ね画像の縦と横の画素数との関係によって、二つの処理に分岐する。図4や図7に示した合成例のように、重ね画像の横と縦の画素数がいずれも原画像のそれよりも小さい場合、つまり平均化処理を行わない場合は、図11のフローチャートに一例を示す処理を行う。また、図5や図9に示した合成例のように、平均化処理を行う場合は、図12のフローチャートに一例を示す処理を行う。
【0039】
つまり、画像合成を開始する際に、原画像と重ね画像の縦の画素数Hと横の画素数Wの比較を行う。そして、(原画像のW ≧ 重ね画像のW)かつ(原画像のH ≧ 重ね画像のH)の場合は、図11に示すフローチャートの処理を行う。
【0040】
図11において、まず、原画像のすべての行に対して処理を行うための初期化として、ステップS11で行カウンタyに「0」をセットする。そして、ステップS12で、すべての行について処理を終えたか否かを調べるために、行カウンタyが原画像の高さ(縦画素数H)に達したか否かを判定し、到達(y = H)であれば合成処理を終了する。また、未到達(y < H)であればステップS13で、x=0列から処理を行うために、列カウンタxに「0」をセットし、ステップS14で、すべての列について処理を終えたか否かを調べるために、列カウンタxが原画像の幅(横画素数W)に達したか否かを判定する。そして、到達(x = W)であればステップS15で行カウンタに「1」を加え、次行を処理するためにステップS12へ進む。
【0041】
x < Wの場合は、画素(x,y)を注目画素として、以後の合成処理を行う。ステップS3の座標変換テーブル参照処理では、画像変換テーブル3cから注目画素(x,y)に対応する(x’,y’)を取得する。そして、ステップS16で、重ね画像上の画素(x’,y’)は原画像に重ねるべき画素であるか、重ねてはいけない画素であるかを判定するためにマスク値(x’,y’)を取得する。なお、マスクデータは、ステップS1において、重ね画像を呼び出す際にワーク領域3fに格納するか、あるいは、マスクデータが必要になる際にワーク領域3fに格納するようにすればよい。
【0042】
そして、ステップS17でマスク値(x’,y’)を判定して、マスク値が‘1’の場合はステップS6の画素値設定処理を行い、ステップS18で列カウンタに「1」を加えた後、ステップS14へ戻る。なお、ステップS6の画素値設定処理は、原画像の画素(x,y)に、重ね画像の画素(x’,y’)の値を設定するものである。また、マスク値が‘0’の場合はステップS6を実行せずにステップS18へ進む。
【0043】
以上のようにして、原画像のすべての画素に対して合成処理を行うと、RAM3の他のメモリ領域を使用することなく、図4に示したような合成画像を得ることができる。
【0044】
次に、(原画像のW < 重ね画像のW)または(原画像のH < 重ね画像のH)の場合は図12に示すフローチャートの処理を行う。なお、図12において、ステップS4、S5、S6b以外の処理は図11と同じであるから詳細な説明を省略する。また、図12のステップS6aの処理も、図11のステップS6の処理と同じであるから詳細な説明を省略する。
【0045】
ステップS3で(x’,y’)を取得した後、ステップS4の参照画素判定処理で、重ね画像の複数の画素を平均化するか否かを判定する。そして、平均化する場合はステップS5で画素値平均化処理を行い、ステップS6bで原画像の画素(x,y)に得られた平均値を設定する。
【0046】
図13は画素値平均化処理の一例を示すフローチャートで、参照画素判定処理において、重ね画像上で参照すべき画素が何画素あり、それらはどの画素かは座標変換テーブル3cから分かるので、それら参照すべき画素ついて処理を行う。
【0047】
まず、ステップS21からS23で、マスク値‘1’をもつ参照画素を計数するマスクカウンタ、参照画素の数を計数する画素数カウンタおよび画素値の合計を「0」に初期化する。以下、重ね画像上の参照画素すべてについて、ステップS24の判定により、ステップS25からS29の処理を繰り返す。
【0048】
ステップS25では、重ね画像上の参照画素の一つに注目して、その画素に対応するマスク値が‘1’か否かを判定する。‘1’であればステップS26で画素値の合計に注目参照画像の値を加え、ステップS27でマスクカウンタに「1」を、ステップS28で画素数カウンタに「1」を加えてステップS24へ戻る。また、マスク値が‘0’の場合は、ステップS29で画素値の合計に原画像の注目画素(x,y)の値を加え、ステップS28で画素数カウンタに「1」を加えてステップS24へ戻る。画素値の合計に原画像の注目画素(x,y)の値を加えるのは、マスクデータのオフの部分には、元の画像の画素値が生きるからである。このようにして、画素数カウンタには画素値を合計した画素の数が、マスクカウンタにはマスク値が‘1’の参照画素の数がそれぞれ格納される。
【0049】
すべての参照画素について処理が終了すると、ステップS30でマスクカウンタが零か否かを判定し、零であれば原画像に重ねる画素はないということなので、ステップS32で原画像の注目画素の値を設定する画素値として処理を終了する。また、この場合、原画像の注目画素に新たな画素値を設定する必要もないので、例えば、フラグを立てて、画素値設定処理S6bにそれを伝えてもよい。また、マスクカウンタが零でなければ、ステップS31で画素値の合計を画素数カウンタの値で割ることにより画素値の平均を求め、それを原画像の注目画素の値を設定する画素値として処理を終了する。
【0050】
このように、本実施形態によれば、座標変換テーブルにより実質的に重ね画像を変倍して原画像に重ねるので、変倍画像を生成するためのメモリ領域を必要としない。従って、合成する二枚の画像を格納するメモリ領域だけで、新たなメモリ領域を必要とせずに、縦および/または横の画素数が異なる(サイズが異なる)二枚の画像を合成することができる。
【0051】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0052】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0053】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0054】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0055】
また、上記の実施形態では、原画像にサイズを合わせる例を説明したが、重ね画像の方にサイズを合わせることも可能である。その場合は、原画像と重ね画像との関係を逆にし、原画像のマスクデータを生成して、上記と同様の処理を行えばよい。
【0056】
また、上記も実施形態では、マスクデータとして二値データを採用したが、白黒多値データをマスクデータにすれば、より表現力のある合成を行うことが可能である。その場合は、マスク値が100%を表す場合は、重ね画像の対応する画素値をそのまま原画像に設定し、マスク値が30%を表す場合は、重ね画像の対応する画素値に0.3を掛けた値と、原画像の対応する画素値に0.7を掛けた値とを平均化して、原画像に設定するなどの処理を行う。
【0057】
また、上記の実施形態では、図9に示したように、原画像がポートレートで、重ね画像がランドスケープの場合(その逆の場合も)、重ね画像を変倍してポートレートにする例を説明したが、重ね画像を90度回転した後に変倍すれば、重ね画像の歪みを低減することができる。図6は重ね画像を90度回転させた後に画像合成を行った例を示す図である。
【0058】
ただし、合成する二枚の画像を格納するメモリ領域以外に新たなメモリ領域を使用しないことを前提として、画像の回転を実現するには、変換テーブルを作成する処理において、重ね画像上の参照座標を90度回転したものを仮想的に設定した変換テーブルを作成し、以後、重ね画像の座標を参照する場合は仮想的に設定した座標を参照するようにすればよい。すなわち、重ね画像の左上座標を(h’−1,0)に、右上座標を(0,0)に、左下座標を(w’−1,h’−1)に、右下座標を(w−1,0)に対応付けて考える。
【0059】
なお、本実施形態によれば、重ね画像のデザインにより、重ね画像を回転したり、回転せずに原画像に合成することができるのは言うまでもない。また、回転する、回転しないを重ね画像のデザインによって分ける場合、例えば、重ね画像のデータ名に一定の規則性をもたせ、回転可能な重ね画像のデータ名には回転可能であることを表す文字や記号または文字列や記号列を加える方法もある。
【0060】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図14のメモリマップ例に示す各モジュールを記憶媒体に格納することになる。すなわち、少なくとも「対応テーブル作成」および「画像合成」の各モジュールのプログラムコードを記憶媒体に格納すればよい。
【0061】
【発明の効果】
以上説明したように、本発明によれば、利用可能なメモリ領域が小さい場合でも複数の画像を合成することができる画像処理方法および装置を提供することができる。
【図面の簡単な説明】
【図1】本発明にかかるデータ処理装置の概略構成を示すブロック図、
【図2】本実施形態で扱うフルカラー画像データの構成例を示す図、
【図3A】座標変換テーブルの例を示す図、
【図3B】座標変換テーブルの例を示す図、
【図3C】座標変換テーブルの例を示す図、
【図4】本実施形態による画像合成の一例を示す写真、
【図5】本実施形態による画像合成の一例を示す写真、
【図6】本実施形態による画像合成の一例を示す写真、
【図7】本実施形態による画像合成を説明する図、
【図8】本実施形態による画像合成を説明する図、
【図9】本実施形態による画像合成を説明する図、
【図10】本実施形態の画像合成処理を説明するフローチャート、
【図11】本実施形態の画像合成処理を説明するフローチャート、
【図12】本実施形態の画像合成処理を説明するフローチャート、
【図13】図12に示す画素値平均化処理の詳細を説明するフローチャート、
【図14】本発明にかかるプログラムコードが格納された記憶媒体のメモリマップ例を示す図である。
Claims (6)
- 第一の画像と第二の画像を画像合成する画像処理装置であって、
前記第一の画像の画素と、前記第二の画像の画素との対応を表す対応テーブルを作成する作成手段と、
前記第二の画像から、前記第二の画像に対応する二値のマスクデータを生成する生成手段と、
前記第一の画像の画素の値を、前記対応テーブルにより参照され、かつ、前記マスクデータにより合成が指示される前記第二の画像の画素の値に置き換えることで、前記第一の画像と前記第二の画像を画像合成する処理手段とを有することを特徴とする画像処理装置。 - 前記作成手段は、前記第二の画像のサイズを前記第一の画像のサイズに一致させるように前記対応テーブルを作成することを特徴とする請求項1に記載された画像処理装置。
- 前記作成手段は、前記第二の画像の前記縦および横方向の画素数を、前記第一の画像の対応する画素数に一致させるように前記対応テーブルを作成することを特徴とする請求項1に記載された画像処理装置。
- 前記処理手段は、前記第一の画像の縦および横方向の少なくとも一方向の画素数が、前記第二の画像の対応する方向の画素数より小さい場合、前記対応テーブルによって参照されない前記第二の画像の画素値に基づき、前記対応テーブルによって参照される前記第二の画像の画素値を補正して前記画像合成を行うことを特徴とする請求項1から請求項3の何れかに記載された画像処理装置。
- 前記処理手段による補正は、前記非参照画素の値と、その直前に参照される前記参照画素の値とを平均化するものであることを特徴とする請求項4に記載された画像処理装置。
- 第一の画像と第二の画像を画像合成する画像処理方法であって、
前記第一の画像の画素と、前記第二の画像の画素との対応を表す対応テーブルを作成し、
前記第二の画像から、前記第二の画像に対応する二値のマスクデータを生成し、
前記第一の画像の画素の値を、前記対応テーブルにより参照され、かつ、前記マスクデータにより合成が指示される前記第二の画像の画素の値に置き換えることで、前記第一の画像と前記第二の画像を画像合成することを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02786497A JP3634535B2 (ja) | 1997-02-12 | 1997-02-12 | 画像処理方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02786497A JP3634535B2 (ja) | 1997-02-12 | 1997-02-12 | 画像処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10222648A JPH10222648A (ja) | 1998-08-21 |
JP3634535B2 true JP3634535B2 (ja) | 2005-03-30 |
Family
ID=12232780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02786497A Expired - Fee Related JP3634535B2 (ja) | 1997-02-12 | 1997-02-12 | 画像処理方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3634535B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4521885B2 (ja) * | 2007-03-30 | 2010-08-11 | 株式会社 はまなすインフォメーション | 疑似近赤外画像の作成方法 |
-
1997
- 1997-02-12 JP JP02786497A patent/JP3634535B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10222648A (ja) | 1998-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11298717A (ja) | 印刷システム | |
US7663642B2 (en) | Systems and methods for rendering a polygon in an image to be displayed | |
US6847375B2 (en) | Rendering process | |
US20030011611A1 (en) | Rendering process | |
JP3634535B2 (ja) | 画像処理方法および装置 | |
JP3285930B2 (ja) | 画像処理装置 | |
US6611632B1 (en) | Device and method for interpolating image data and medium on which image data interpolating program is recorded | |
JP3697939B2 (ja) | 画像表示出力装置 | |
JP4063918B2 (ja) | 表示のためのグラフィックス情報を含むイメージを作成する装置と方法 | |
JP2996933B2 (ja) | 図面表示装置 | |
JP3825916B2 (ja) | 画像処理方法及びその装置 | |
JP4164215B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP3111971B2 (ja) | 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体 | |
JP2000076432A (ja) | 画像デ―タ補間装置、画像デ―タ補間方法および画像デ―タ補間プログラムを記録した媒体 | |
JP3560124B2 (ja) | 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体 | |
JP4109836B2 (ja) | 印刷データ生成方法、印刷データ生成装置、コンピュータプログラム、及び記憶媒体 | |
JP3000855B2 (ja) | 文字図形処理装置及び情報処理装置 | |
JP4107007B2 (ja) | 画像処理装置及び画像処理方法 | |
CN114647467B (zh) | 水印更新方法、装置、系统及存储介质 | |
JP4195953B2 (ja) | 画像処理装置 | |
JP2005077750A (ja) | 表示装置装置および文字表示制御方法 | |
JPH10222647A (ja) | 画像処理装置およびその方法 | |
JPH07152637A (ja) | 記憶システム及び方法 | |
JPH11317864A (ja) | 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体 | |
JP3021159B2 (ja) | 画像処理装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040716 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040921 |
|
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: 20041217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100107 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120107 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |