【実施例1】
【0017】
[画像処理装置]
図1は、本実施例に係る画像処理装置の構成を示すブロック図である。
【0018】
図1の画像処理装置1は、例えば、コピー機やデジタル複合機として構成され、紙原稿(原稿画像)を読み取るスキャナー(原稿読み取り)機能、スキャナー機能により読み取ったスキャン画像データに基づく印刷出力する複写等の印刷機能、スキャン画像データをオブジェク毎に編集する編集機能等を有する。
【0019】
このため、本実施例の画像処理装置1は、画像読取部2と、操作パネル部3と、出力部5と、制御部6と、記憶部7と等をハードウェア構成として備えている。
【0020】
画像読取部2は、光学的に原稿画像を読み取って、原稿画像に対応するスキャン画像データを生成する。生成したスキャン画像データは、制御部6及び記憶部7に出力される。
【0021】
表示部3は、画像処理装置1に対する操作状況の表示を行う画面等であり、スキャン画像データの編集設定の操作状況等を表示可能とする。
【0022】
設定部4は、各種キー等により、画像処理装置1に対する操作入力を行うものである。設定部4は、例えば表示部3と共にタッチパネル式の画面によって構成され或いはその画面とは別のボタン等によって構成される。この設定部4は、スキャン画像データの編集操作を可能とする。
【0023】
出力部5は、スキャン画像データ等に基づいて用紙上に画像形成(画像出力)する。
【0024】
制御部6は、ソフトウェアプログラムを実行して各種制御や作業を行わせるCPU(Central Process Unit)等の制御要素である。
【0025】
記憶部7は、各種制御や作業のソフトウェアプログラムやデータを記憶するROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク等の記憶装置である。
【0026】
本実施例では、制御部6が、記憶部7に記憶されたプログラムを実行することにより、オブジェクト認識部61、削除部62、補完部であるオブジェクト補完部63、選択部64、編集部65、付加部66として動作する。
【0027】
オブジェクト認識部61は、画像読取部2からのスキャン画像データが入力され、そのスキャン画像データ中のオブジェクトの属性を認識する。本実施例では、オブジェクトの属性に加えて、その位置及び大きさ(領域座標)を認識する。これらのオブジェクトの属性及び領域座標は、オブジェクトを識別するためのオブジェクトIDと共にオブジェクト情報として記憶部7内のオブジェクトテーブ71(
図4参照)に記憶される。
【0028】
図2は、スキャン画像の一例を示す。
図2のスキャン画像G1は、写真等の図画からなるイメージ領域IR、線画からなるベクター領域VR1及びVR2、文字からなるテキスト領域TR1及びTR2からなっている。
【0029】
これらのイメージ領域IR、ベクター領域VR1及びVR2、テキスト領域TR1及びTR2が、それぞれイメージオブジェクトIO、ベクターオブジェクトVO1及びVO2、テキストオブジェクトTO1及びTO2として認識されることになる。
【0030】
図1のオブジェクト認識部61は、イメージオブジェクト認識部611、ベクターオブジェクト認識部612、テキストオブジェクト認識部613で構成されており、オブジェクト毎に認識及びオブジェクト情報の記憶部7への記憶を行う。
【0031】
図2の例で説明すると、イメージオブジェクト認識部611は、スキャン画像G1のイメージオブジェクトIOを認識しオブジェクト情報の記憶を行う。
【0032】
イメージオブジェクトIOの認識は、周知のレイアウト解析技術を用いて行えばよい。例えば、スキャン画像G1から2値画像を生成し、2値画像から得られた黒画素の固まりを含む矩形領域に基づいて属性を認識する。ベクターオブジェクトVO1及びVO2、テキストオブジェクトTO1及びTO2の認識についても、同様のレイアウト解析技術を用いればよい。
【0033】
ベクターオブジェクト認識部612は、スキャン画像G1のベクターオブジェクトVO1及びVO2を認識し、テキストオブジェクト認識部613は、テキストオブジェクトTO1及びTO2を認識し、それぞれオブジェクト情報を記憶部7に記憶する。
【0034】
削除部62は、後述する編集部65及び付加部66と共に編集処理部を構成するものであり、オブジェクト取得部621と、前後オブジェクト取得部622と、削除実行部623とを備える。
【0035】
オブジェクト取得部621は、スキャン画像に対する編集に際して、記憶部7から編集対象オブジェクトのオブジェクト情報を取得する。
【0036】
前後オブジェクト取得部622は、記憶部7から編集対象オブジェクトに対する重なり領域を有する前後のオブジェクトのオブジェクト情報を検索する。ここで、前後のオブジェクトとは、それぞれ、編集対象オブジェクトの上にある前景オブジェクトと編集対象オブジェクトの下にある背景オブジェクトに相当する。
【0037】
削除実行部623は、スキャン画像G1中の編集対象オブジェクトを削除する。
【0038】
なお、スキャン画像において、編集対象オブジェクトと前景及び背景オブジェクトの重なり具合によっては、編集対象オブジェクトを削除することにより、編集対象オブジェクト及び背景オブジェクトの一方又は双方に画像の欠落部(空白領域)が生じることがある(
図7のKR1、
図8のKR2参照)。
【0039】
オブジェクト補完部63は、そうした編集対象オブジェクトの画像の欠落部及び背景オブジェクトの画像の欠落部を属性に応じた異なる処理で補完するものであり、イメージ用補完部631、ベクター用補完部632、テキスト用補完部633を備えている。
【0040】
イメージ用補完部631は、イメージオブジェクト中の空白領域を埋めて補完を行う。具体的には、空白部分の周囲の画素からグラデーションを作成し、作成されたグラデーションにより空白部分を埋める。
【0041】
ベクター用補完部632は、ベクターオブジェクト中の空白領域を埋めて補完を行うものであり、ベクターオブジェクトのベクトル化によって実現できる。なお、ベクトル化が困難な場合は、ベクターオブジェクトをイメージオブジェクトとしてイメージ用補完部631による補完を行わせればよい。
【0042】
テキスト用補完部633は、テキストオブジェクト中の空白を埋めて補完を行う。補完は、テキストオブジェクト内のフォントと記憶部7内に保持しているフォントとの比較により、対応するフォントに一致又は近似させるように空白部分を埋めればよい。
【0043】
選択部64は、補完が必要とされる編集対象オブジェクト及び背景オブジェクトの属性に応じて、イメージ用補完部631、ベクター用補完部632、及びテキスト用補完部633から相対的に補完性の高い処理で補完を行うものを選択する。選択は、削除部62で取得された編集対象オブジェクト及び背景オブジェクトのオブジェクト情報に基づいて行われる。
【0044】
編集部65は、スキャン画像から削除実行部623により削除された編集対象オブジェクトを設定部4で設定された編集条件に従って編集する。具体的は、編集対象オブジェクトの拡大、縮小、回転、移動等の編集を行う。
【0045】
付加部65は、編集部65により編集された後の編集対象オブジェクトを、編集対象オブジェクトが削除されたスキャン画像に編集条件に応じた大きさ及び位置で付加する。
[画像処理装置の動作]
以下、本実施例の画像処理装置の動作と共にスキャン画像の編集処理について説明する。
【0046】
本実施例の画像処理装置1は、事前に原稿画像を読み取ったスキャン画像データに対するオブジェクト認識処理を行い、オブジェクト毎のオブジェクト情報を記憶部7内に記憶しておく。
【0047】
図3は、
図1の画像処理装置におけるオブジェクト認識処理を示すフローチャートである。
図3のオブジェクト認識処理は、例えば画像読取部2によって原稿画像を読み取ることでスタートする。
【0048】
ステップS1では、「スキャン画像データの取得」が行われる。この処理では、画像読取部2が読み取った原稿画像から対応するスキャン画像G1の画像データを生成してオブジェクト認識部61及び記憶部7へ出力する。
【0049】
こうしてステップS1が完了すると、
図3のステップS2〜S4のように、「イメージオブジェクトの認識」、「ベクターオブジェクトの認識」、「テキストオブジェクトの認識」の処理が順に行われる。なお、これらステップS2〜S4の処理は、異なる順序とすることも可能である。
【0050】
イメージオブジェクトの認識は、
図2の例で説明すると、イメージオブジェクト認識部611がスキャン画像G1からイメージ領域IRをイメージオブジェクトIOとして認識し、その属性(「イメージ」)、並びに位置及び大きさ(領域座標)のオブジェクト情報を記憶部7に記憶する。本実施例のオブジェクトの位置及び大きさ(領域座標)としては、例えば、スキャン画像G1上において、オブジェクトの左上の座標と領域の幅及び高さを(x,y,width(幅),height(高さ))として表す。
【0051】
同様に、ベクターオブジェクトの認識は、ベクターオブジェクト認識部612がベクター領域VR1及びVR2をベクターオブジェクトVO1及びVO2として認識し、その属性(「ベクター」)、並びに位置及び大きさをオブジェクト情報として記憶部7に記憶する。
【0052】
テキストオブジェクトの認識は、テキストオブジェクト認識部613がテキスト領域TR1及びTR2を、テキストオブジェクトTO1及びTO2として認識し、その属性(「テキスト」)、並びに位置及び大きさをオブジェクト情報として記憶部7に記憶する。
【0053】
オブジェクト情報の記憶は、
図1の記憶部7内でオブジェクトテーブル71として行われる。
【0054】
図4は、オブジェクトテーブルを示す図表である。なお、
図4は、例えば
図2に示すスキャン画像G1から認識された「イメージ」、「テキスト」、「テキスト」、「ベクター」、「ベクター」の5つのオブジェクトのオブジェクト情報が登録されている例である。
【0055】
具体的に、オブジェクトテーブル71は、オブジェクトIDカラム、オブジェクト属性カラム、領域座標カラムで構成されるテーブルである。
【0056】
オブジェクトIDカラムは、オブジェクトを識別するための0から始まる整数値であり、入力順等に応じてインクリメントされる。
【0057】
オブジェクト属性カラムは、オブジェクトの属性を示し、「イメージ」、「ベクター」、「テキスト」となっている。
【0058】
領域座標カラムは、上記
図2のスキャン画像G1上でのオブジェクト領域の位置及び大きさの座標を表す。
【0059】
図3のオブジェクト認識処理によってスキャン画像G1内の各オブジェクトのオブジェクト情報の記憶が完了すると、スキャン画像の編集処理が実行可能となる。
【0060】
図5は、スキャン画像の編集処理を示すフローチャートである。
【0061】
スキャン画像の編集処理は、記憶部7に記憶されているスキャン画像データに対し、ユーザが設定部4を介して特定のオブジェクトに対する拡大、縮小、回転、移動等の編集条件の設定操作を行うことにより開始される。なお、これらの編集条件は、いずれも編集対象オブジェクトを他のオブジェクトに対する相対的な位置を変えるような編集を実現するものである。
【0062】
図6は、スキャン画像に対する編集条件の設定例を示す概念図である。この例では、
図2のスキャン画像G1に対して、ベクターオブジェクトVO1を元の位置P0から二点鎖線で示す位置P1まで移動させることを編集条件として設定している。
【0063】
この場合、編集対象オブジェクトは、ベクターオブジェクトVO1であり、イメージオブジェクトIOが背景オブジェクト、テキストオブジェクトTO2が前景オブジェクトとなる。
【0064】
編集対象オブジェクトの編集条件(
図6ではベクターオブジェクトVO1の移動)の設定によって編集処理が開始されると、まずステップS11において、「編集対象オブジェクトのオブジェクト情報の取得」が行われる。
【0065】
この処理では、削除部62のオブジェクト取得部621が、スキャン画像データ中の編集条件の設定操作が行われた特定の編集対象オブジェクトのオブジェクト情報を取得する。
図6の例では、ベクターオブジェクトVO1のオブジェクト情報が取得されることになる。
【0066】
こうしてステップS11の処理が完了すると、ステップS12に移行する。
【0067】
ステップS12では、「前後オブジェクトのオブジェクト情報の検索」を行う。この処理では、削除部62の前後オブジェクト取得部622が、スキャン画像の編集対象オブジェクトの前景及び背景オブジェクトのオブジェクト情報を検索する。
【0068】
具体的には、前後オブジェクト取得部622が、オブジェクトテーブル71を参照して領域座標等の情報から編集対象オブジェクトと重なる領域を有する背景オブジェクトと前景オブジェクトのオブジェクト情報を検索する。
【0069】
こうしてステップS12の処理が完了すると、ステップS13に移行する。
【0070】
ステップS13では、「編集対象オブジェクトの削除」を行う。この処理では、削除部62の削除実行部623が、スキャン画像データから編集対象オブジェクトを削除して、ステップ14へ移行する。
【0071】
ステップS14では、「オブジェクトに画像の空白領域あり?」の処理が行われる。この処理では、削除した編集対象オブジェクト及びその削除後のスキャン画像内のオブジェクトに画像の空白領域が存在するか否かを判断する。
【0072】
すなわち、編集対象オブジェクトに対して重なる背景オブジェクトが存在する場合は、編集対象オブジェクトの削除によって背景オブジェクトに編集対象オブジェクトとの重なり領域に相当する空白領域が生じる。一方、編集対象オブジェクトに対して重なる前景オブジェクトが存在する場合は、削除された編集対象オブジェクト自体に前景オブジェクトとの重なり領域に相当する空白領域が生じる。
【0073】
本実施例では、これらの空白領域の有無を、元のスキャン画像(
図6のG1)内で編集対象オブジェクト(
図6のVO1)に重なる前景及び背景オブジェクトの有無によって判断している。具体的には、ステップS12での検索結果に基づいて元のスキャン画像内で編集対象オブジェクトに重なる前景及び背景オブジェクトの有無を判断する。
【0074】
図7は、スキャン画像から削除した空白領域を有する編集対象オブジェクトを示し、
図8は、編集対象オブジェクトの背景オブジェクトに空白領域を有するスキャン画像例を示す。
【0075】
図7では、編集対象オブジェクトとしてスキャン画像G1から削除されたベクターオブジェクトVO1に、前景オブジェクトであるテキストオブジェクトTO2のテキスト(「ABC」)部分に相当する画像の空白領域KR1を生じている。
【0076】
また、
図8では、編集対象オブジェクトであるベクターオブジェクトVO1が削除されることにより、その背景オブジェクトであるイメージオブジェクトIOにベクターオブジェクトVO1との重なり領域に相当する画像の空白領域KR2を生じている。
【0077】
ステップS14においては、上述の判断の結果、
図7及び
図8のように編集対象オブジェクト又は背景オブジェクトに空白領域が存在する場合、ステップS15へ移行する(YES)。一方、編集対象オブジェクト又は背景オブジェクトに空白領域が存在しない場合は、ステップS16へ移行する(NO)。
【0078】
ステップS15では、「空白領域の補完」が行われる。この処理では、オブジェクト補完部63が、編集対象オブジェクト及びその背景オブジェクトの一方又は双方に生じる画像の空白領域を補完する。
【0079】
具体的には、選択部64が空白領域のある編集対象オブジェクト及びその背景オブジェクトの一方又は双方に対してオブジェクト属性に応じた補完方法(補完アルゴリズム)、つまりイメージ用補完部631、ベクター用補完部632、又はテキスト用補完部633を選択する。
【0080】
そして、選択された補完部により、編集対象オブジェクト及びその背景オブジェクトの一方又は双方の空白領域がオブジェクト属性に応じて補完されることになる。
【0081】
図9は、
図7の空白領域を補完した編集対象オブジェクトを示し、
図10は、
図8の空白領域を補完した背景オブジェクトを有するスキャン画像例を示す。
【0082】
図9では、
図7のように編集対象オブジェクトであるベクターオブジェクトVO1に生じていた空白領域KR1が、ベクター用補完部632により周辺の画像と同じ画像を埋め込んで補完されている。
【0083】
同様に、
図10では、
図8のように背景オブジェクト背景オブジェクトであるイメージオブジェクトIOに生じていた空白領域KR2が、イメージ用補完部631によって周辺の画像と同等の画像を埋め込んで補完されている。
【0084】
こうしてオブジェクトの補完が完了すると、ステップS16に移行する。
【0085】
ステップS16では、「編集対象オブジェクトの編集」を行う。この処理では、ユーザが設定した編集条件に基づき、編集部65がステップS15で空白領域が補完された編集対象オブジェクトの拡大、縮小、回転、移動等による編集処理を行う。なお、ここでの編集対象オブジェクトには、空白領域がなかったものも含まれる。
【0086】
こうしてステップS16が完了すると、ステップS17に移行する。
【0087】
ステップS17では、「編集後オブジェクトの付加」を行う。この処理では、付加部66が、ステップS16で編集が完了した編集後オブジェクトを、空白領域が補完された背景オブジェクトを有するスキャン画像G2に付加する。なお、ここでのスキャン画像G2には、空白領域がなかった背景オブジェクトを有するものも含まれる。
【0088】
このとき、付加部66は、編集後オブジェクトが付加されたスキャン画像G2のスキャン画像データにより、記憶部7に記憶されている編集前のスキャン画像データを上書きする。この上書きが完了にすることによりスキャン画像の編集処理が終了する。
【0089】
図11は、オブジェクト編集後のスキャン画像例を示す図である。この例では、
図9のように画像の空白領域KR1が補完されたベクターオブジェクトVO1が、位置P1へ移動する編集の完了後、
図10のように画像の空白領域KR2が補完されたイメージオブジェクトIOを有するスキャン画像データG2に付加されている。
[実施例1の効果]
本実施例の画像処理装置1では、スキャン画像データ中の編集対象オブジェクト及びこの編集対象オブジェクトに対する重なり領域を有する背景オブジェクトの属性を認識するオブジェクト認識部61と、編集対象オブジェクトを設定部4で設定された編集条件に基づき編集処理する編集処理部(62、65、66)と、編集対象オブジェクトの編集処理により編集対象オブジェクト及び背景オブジェクトに生じる画像の空白領域をオブジェクト認識部61により認識された属性に応じて補完するオブジェクト補完部63とを備える。
【0090】
従って、本実施例では、編集対象オブジェクトとの重なり領域を有する背景オブジェクトに生じる画像の空白領域だけでなく、編集対象オブジェクト自体に生じる画像の欠落部をも補完することができ、編集後のスキャンデータに対する画像の欠落部をなくすことができる。
【0091】
また、本実施例では、削除実行部623編集処理部が、編集対象オブジェクトをオブジェクト補完部63によりスキャン画像データから削除すると共に編集部65により編集した大きさ及び位置で付加部66によりスキャン画像データに付加することで編集する。オブジェクト補完部63は、編集対象オブジェクトを削除することにより編集対象オブジェクト及び背景オブジェクトに生じる画像の空白領域を補完する。
【0092】
従って、本実施例では、編集対象オブジェクト及び背景オブジェクトに生じる空白領域を確実に補完することが可能となる。
【0093】
また、本実施例では、画像の空白領域を異なる処理で補完する複数の補完部631、632、633と、補完処理を行う補完部631、632、633を、編集対象オブジェクト及び背景オブジェクトの属性に応じて選択する選択部64とを有する。
【0094】
従って、本実施例では、編集対象オブジェクト及び背景オブジェクトに生じた画像の空白領域を最適な補完アルゴリズムを用いて補完することができる。