JP3943623B2 - 画像編集装置及びその制御方法 - Google Patents
画像編集装置及びその制御方法 Download PDFInfo
- Publication number
- JP3943623B2 JP3943623B2 JP14851796A JP14851796A JP3943623B2 JP 3943623 B2 JP3943623 B2 JP 3943623B2 JP 14851796 A JP14851796 A JP 14851796A JP 14851796 A JP14851796 A JP 14851796A JP 3943623 B2 JP3943623 B2 JP 3943623B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- point
- contour
- designated
- value
- 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
Landscapes
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
Description
【発明の属する技術分野】
本発明は、表示されている画像を編集する画像編集装置及びその制御方法に関する。
【0002】
【従来の技術】
従来の文書編集システムでは、テキストデータのみならずテキストデータ中に画像データを混在させた文書を編集することができる。現在、このような文書編集システムはパーソナルコンピュータ上で画像データを混在させることが可能な文書編集用アプリケーションソフトウェアを稼動させることにより実現されている。
【0003】
図27は従来の文書編集システムのハードウェアの構成を示すブロック図である。図において、304はCRTやビデオボード等から構成される表示装置である。306はマウス、キーボード等から構成される入力装置、307はDRAM等から構成される主記憶装置である。308はハードディスクドライブやハードディスクなどから構成される不揮発性の二次記憶装置である。
【0004】
302は文書編集システムにおいてハードウェア301およびアプリケーションソフトウェア群303を有効に利用するための総合的管理を行うオペレーティングシステムである。このオペレーティングシステム302では、Microsoft社のオペレーティングシステムであるウインドウズ95に代表されるように複数のアプリケーションソフトウェアを同時に実行することが可能であり、表示装置304には各アプリケーションのユーザインターフェースとしてのウィンドウを複数同時に表示することができる。
【0005】
オペレーティングシステム302の内、314はアプリケーションソフトウェア群303に含まれるアプリケーションソフトウェアからの要求に応じて表示装置304に要求される文字、図形、画像等を表示する描画管理システムである。315は入力装置306を介して入力されるユーザーズイベントを文書編集システムの適切なソフトウェアモジュールに配送するための入力デバイス管理システムである。
【0006】
316は主記憶装置307へのデータの読み書きを管理するメモリ管理システムである。317は二次記憶装置308のファイルを管理するファイルシステムである。318はアプリケーション間通信手段であり、アプリケーションソフトウェア群303内におけるアプリケーション間のデータ送受信や他のアプリケーションの起動などを可能にする。このようなアプリケーション間通信技術の代表的なものとしては、Microsoft社のOLE2テクノロジーが挙げられる(OLE2テクノロジーのより詳しい内容については、Microsoft PRESS出版のinside OLE2を参照)。
【0007】
アプリケーションソフトウェア群303のうち、319は文書編集アプリケーションである。文書編集アプリケーション319は、利用者によって編集された文書データの保存や読み込みを行うデータ保存読み込み手段322、画像編集アプリケーション321から画像編集アプリケーション321上で編集された画像の表示データをアプリケーション間通信により受信し、受信した表示データを描画管理システム314に依頼して表示装置304に表示する画像編集結果表示手段323、利用者からのコマンド入力に従って、アプリケーション間通信により画像編集アプリケーション321を起動する画像編集アプリケーション起動手段324、およびテキストデータの編集など図27に示さない他の手段から構成される。
【0008】
320は画像ファイリングアプリケーションであり、二次記憶装置308にファイルとして記憶されている多数のファイルの検索を容易にするアプリケーションである。画像ファイリングアプリケーション320は画像データファイル群330の中から利用者が指定する画像データファイルの画像データを利用者の指定に応じてアプリケーション間通信により文書編集アプリケーション319や画像編集アプリケーション321に送信することができる。
【0009】
画像編集アプリケーション321は、オリジナル画像に対して、ぼかし、色調整などの画像処理を行ったり、オリジナル画像に対して図形を描き入れるなどの画像編集を行うアプリケーションである。画像編集アプリケーション321は、画像ファイリングアプリケーション320から受信した画像と現在の画像とを入れ替える機能を提供する画像データ貼り付け手段325、二次記憶装置308に対して画像データの読み書きを行うデータ保存読み込み手段326、画像、メニュー、アプリケーションのフレームワークなどの表示装置304に対する表示および入力装置306からのユーザーズイベントを管理するユーザインターフェース管理手段327、ぼかし、輝度調整、色調整などの各種画像処理フィルタや線の付与、文字の付与などのドローイングツールを含む画像編集手段を複数包含する画像編集手段群328、利用者の入力コマンドに応じて画像編集手段群328の中から画像編集手段を実行する画像編集実行手段331、および図27に示さない他の手段から構成される。
【0010】
ここで、OLE2テクノロジーでは、アプリケーション間通信によりデータを供給する側である画像編集アプリケーション321をOLEサーバといい、アプリケーション間通信によりデータを受信する側である文書編集アプリケーション319をOLEコンテナという。
【0011】
329は文書編集アプリケーション319によって編集された文書データファイルである。図28は文書データのデータ構造を示す説明図である。図において、401はヘッダーデータ格納部であり、テキストのフォント、色、印刷する際の用紙の大きさ、縦書きか横書きかなどの情報を格納する。402はテキストデータ格納部であり、利用者によって入力されたテキストデータを格納する。
【0012】
403は画像編集アプリケーション用データ格納部(OLE2テクノロジーにおける「オブジェクト」を格納する)であり、画像データをアプリケーション間通信により供給する画像編集アプリケーション321を一意に認識するための画像編集アプリケーション識別情報格納部404、文書データ中での画像データの位置と大きさに関する情報が格納されている画像位置データ格納部405、表示装置304上に表示すべき画像データを格納する表示データ格納部406(OLE2テクノロジーではメタファイル形式の画像データ)、及び画像編集アプリケーション識別情報格納部404で指定される画像編集アプリケーション321が使用するための画像データ(文書編集アプリケーション319がサポートしていない画像データのフォーマットであっても構わない。OLE2テクノロジーにおいてはネイティブデータとも呼ばれ、画像データに限らない)を格納する画像データ格納部407を有する。
【0013】
408は本発明を説明する上で重要でないその他のデータを含むその他のデータ格納部であるが、文書中に複数の画像が埋め込まれている場合にはその数に応じた画像編集アプリケーション用データ格納部を包含している。
【0014】
尚、Microsoft社のWORD ver.6.0に代表される昨今の文書編集アプリケーションでは文書データファイルのサンプルをアプリケーションソフトウェアに添付することが多い。利用者はこのようなサンプル文書中のテキストを修正したり、画像を入れ替えたりすることによって、全体のデザインを一から創造することなしに簡単に高品位な文書を作成することができる。
【0015】
図29は表示装置304に表示される従来の文書編集アプリケーション319のユーザインターフェース画面を示す説明図である。図において、501は文書編集アプリケーション319のフレームとなるウィンドウである。502は文書1ドキュメントであり、利用者によりキーボード入力されたテキストと、OLEサーバとして起動している画像編集アプリケーション321からアプリケーション間通信により受信した画像が画像表示領域503に表示されている。
【0016】
504は編集された文書データをファイルとして保存するためのコマンドを入力するSaveボタンである。505は文書ファイルをウィンドウ501上に開き編集可能状態にするためのOpenボタンである。506は文書中に他のOLEサーバアプリケーションが提供するデータを表示するためのコマンドを入力するInsertObjectボタンである。
【0017】
図30は表示装置304に表示される画像ファイリングアプリケーション320のユーザインターフェース画面を示す説明図である。二次記憶装置308に記憶されている画像データファイル群330の中からキーワード検索などにより検索された画像ファイルの一覧が表示装置304に表示される。601は画像ファイリングアプリケーションのフレームとなるウィンドウである。602は検索された画像ファイルの縮小画像表示エリアである。
【0018】
図31は文書編集システムにおいて他のアプリケーションにOLEサーバとして画像データを供給する画像編集アプリケーション321のユーザインターフェース画面を示す説明図である。図において、701は画像編集アプリケーションのフレームウィンドウである。
【0019】
702は現在編集中の画像データを表示するウィンドウである。703〜713はそれぞれ画像編集手段群328を構成する各画像編集手段の実行命令を入力するボタンである。703はぼかし処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対してぼかし処理(画像の空間的な解像度を落とす処理)を施す。
【0020】
704はシャープ処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対してシャープ処理(画像のエッジをはっきりとさせる処理)を施す。705は輝度調整処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対して輝度調整処理(画像の輝度を適正に補正する処理)を施す。
【0021】
706は色調整処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対して色調整処理(画像の色を適正に補正する処理)を施す。
【0022】
707は背景消し処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対して背景消し処理(人物像などの背景を除去する処理)を施す。709はロゴ処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対してロゴ処理(被写体に文字を含む画像から文字部分を切り出して、文字に対して装飾を加えることによりロゴを作成する処理)を施す。
【0023】
710はノイズ付与処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対してノイズ付与処理(画像にノイズを付与して絵画的にする処理)を施す。
【0024】
711は変形処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対して変形処理(画像を変形させる処理)を施す。712は反転処理の実行要求ボタンであり、このボタンを利用者がマウスによりクリックすると、画像編集アプリケーション321はウィンドウ702に表示されている画像データに対して反転処理(画像の明暗を反転する処理)を施す。
【0025】
上記構成を有する従来の文書編集システムにおいて、利用者が文書中の画像503をマウスによりダブルクリックすると、文書編集アプリケーション319の画像編集アプリケーション起動手段324は、画像編集アプリケーション識別情報格納部404の内部を参照し、OLEサーバアプリケーションとして画像データを供給する画像編集アプリケーション321を一意に認識して画像編集アプリケーション321を起動し、画像表示領域503を画像編集アプリケーション321のユーザインターフェース領域とする。
【0026】
また、画像編集アプリケーション321はOLEコンテナアプリケーションによりOLEサーバとして起動すると、ユーザインターフェース管理手段327により画像表示領域503を自身のユーザインターフェース領域としてユーザからのマウス入力を受け付ける状態にするとともに、画像編集に必要な予め定められたメニューをメニュー表示領域507に追加する。
【0027】
OLE2テクノロジーにおいては、このように画像編集アプリケーション321がOLEコンテナアプリケーション内で起動している状態をインプレイスアクティブ状態と呼んでいる。図32は画像編集アプリケーション321が文書編集アプリケーション319内でインプレイスアクティブ状態で起動している様子を示す説明図である。
【0028】
インプレイスアクティブ状態では、画像表示領域503の周辺に斜線が表示されると共に、予め定められた画像編集アプリケーション321に対するコマンド入力用のメニューがメニュー表示領域507に表示され、コマンド入力待ち状態となる。
【0029】
一方、画像編集アプリケーション321がインプレイスアクティブ状態であるとき、画像ファイリングアプリケーション320の任意の画像の縮小画像表示エリアでマウスボタンを押すことによって任意の画像を選択し、そのままマウスをドラッグして文書編集アプリケーション319の画像表示領域503でドロップすると、画像ファイリングアプリケーション320が選択されたファイルの画像データをインプレイスアクティブ状態で起動中の画像編集アプリケーション321に送信し、この画像データを受信した画像編集アプリケーション321の画像データ貼り付け手段325は、今まで画像表示領域503に表示していた画像の上に受信した画像を貼り付ける。
【0030】
図33は図30に示すFile2.bmpの画像が貼り付けられた状態を示す説明図である。この状態で、利用者がメニュー表示領域507に表示されている画像編集メニュー703〜712の中から任意のメニューをマウスクリックすると、画像編集アプリケーション321の画像編集実行手段331はマウスクリックされたメニューに対応した画像編集手段を画像編集手段群328から選択し、画像表示領域503に表示されている画像データに対して画像編集を実行する。そして、画像編集の実行後、利用者が文書1ドキュメントのウィンドウ501内で画像表示領域503以外の任意の位置をマウスクリックすると、画像編集アプリケーション321はインプレイスアクティブ状態から非アクティブ状態となる。このとき、画像編集アプリケーション321は編集結果の画像データを文書編集アプリケーション319に送信する。
【0031】
一方、文書編集アプリケーション319は受信した編集結果の画像データを画像表示領域503に表示する。文書編集アプリケーション319では、利用者がデータ保存要求コマンドを入力する際、データ保存の必要性が生じた場合、文書編集アプリケーション319のデータ保存読み込み手段322は、ヘッダーデータ格納部401、テキストデータ格納部402に対応する文書のデータを保存すると共に、画像編集アプリケーション321に対して画像編集アプリケーション用データ格納部403内にデータ保存を行うよう要求する。これを受けて、画像編集アプリケーション321のデータ保存読み込み手段326は図28に示すデータ形式で画像編集アプリケーション用データ格納部403にデータを保存する。
【0032】
【発明が解決しようとする課題】
しかしながら、上記従来の文書編集システムには以下に掲げる問題があり、画像編集に不慣れな利用者にとって取扱いが困難であった。
【0033】
即ち、文書編集アプリケーション319から起動された画像編集アプリケーション321は、予め定められたメニューを表示するためにあらゆる文書データのあらゆる画像に対応するたくさんのメニューを表示しなくてはならなかった(図32の703〜712参照)。たくさんのメニューの中から、現在編集中の文書の画像に適した画像編集手段を選択することは、画像編集に不慣れな利用者にとって負担が大きかった。特に、画像中の物体を切り抜いて文書中に貼り付ける場合、画像編集に不慣れな利用者にとってその取扱いが困難であった。
【0034】
また一方では、画像データは情報量が多く、記憶媒体の記憶領域を大きく占有したり、記憶媒体からのリードライトに多くの時間を費やしてしまうという問題があった。この問題を回避するために、画像データをできる限り小さいサイズで保持する必要がある。用途が明確でないときには必要とする画像解像度がわからないので、画像サイズを小さくすることはできないが、文書中の画像データは文書中でどのように画像が使われるのか明確であるので、必要とする解像度に基づいて最適なサイズに画像の縮小を行うことは可能である。しかしながら、従来の文書編集システムでは、画像を縮小するか否か、あるいは画像を縮小する際に選択する画像サイズについては利用者が自分で判断するしかなく、画像編集に不慣れな利用者にとって困難な作業であった。
【0035】
そこで、本発明は画像編集に不慣れな利用者が簡単に取り扱うことができる画像編集装置及びその制御方法を提供することを目的とする。
【0039】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項1に係る画像編集装置は、表示手段に表示されている画像を編集する画像編集装置に於いて、前記表示手段に表示されるポインタを用いて前記画像中の物体の輪郭を示す点を指定する点指定手段と、前記指定された2点間の距離が所定値以上であるか否かを判別する判別手段と、前記所定値以上であると判別された場合、前記画像中の物体の輪郭を抽出する輪郭抽出手段と、前記点指定手段により直前に指定された点と前記ポインタとの距離に応じて、前記ポインタの形状を変更して表示するよう制御する表示制御手段とを備えたことを特徴とする。
【0040】
請求項2に係る画像編集装置は、表示手段に表示されている画像を編集する画像編集装置に於いて、前記画像中の物体の輪郭を抽出する輪郭抽出手段と、前記抽出される物体の輪郭を示す点を指定する点指定手段と、前記指定された点から所定の画素数の範囲内にある画素のエッジ情報を調査するエッジ情報調査手段と、前記調査された画素で所定値以上かつ最も強いエッジ情報を持つ画素を指定点とし、前記所定値以上のエッジ情報を持つ画素が存在しない場合に前記点指定手段で指定された点を指定点とする指定点更新手段とを備えたことを特徴とする。
【0041】
請求項3に係る画像編集装置は、表示手段に表示されている画像を編集する画像編集装置に於いて、前記画像中の物体の輪郭を抽出する輪郭抽出手段と、前記抽出された物体の輪郭を示す点を指定する点指定手段と、前記抽出された輪郭のうち、前記輪郭の始点と前記点指定手段により新たに指定された点の間の輪郭を保持し、それ以外の輪郭を前記抽出の結果から除外する輪郭編集手段とを備えたことを特徴とする。
【0043】
請求項4に係る画像編集装置は、表示手段に表示されている画像を編集する画像編集装置に於いて、前記画像中の物体の輪郭を示す点を指定する点指定手段と、第1指定点から第2指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とを用いて、前記第1指定点と前記第2指定点の間の輪郭を抽出する順方向抽出手段と、前記順方向抽出手段による抽出のエラー結果を判別する順方向判別手段と、前記第2指定点から前記第1指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とを用いて、前記第2指定点と前記第1指定点の間の輪郭を抽出する逆方向抽出手段と、前記逆方向抽出手段による抽出のエラー結果を判別する逆方向判別手段と、前記順方向判別手段で判別されたエラー結果及び前記逆方向判別手段で判別されたエラー結果のうち、前記エラー結果の数が少ない方向の抽出の結果を輪郭として自動的に選択する選択手段とを備えたことを特徴とする。
【0044】
請求項5に係る画像編集装置では、請求項4に係る画像編集装置において、前記順方向判別手段は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別し、前記逆方向判別手段は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別することを特徴とする。
【0045】
請求項6に係る画像編集装置の制御方法は、表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、前記表示手段に表示されるポインタを用いて前記画像中の物体の輪郭を示す点を指定する点指定工程と、前記指定された2点間の距離が所定値以上であるか否かを判別する判別工程と、前記所定値以上であると判別された場合、前記画像中の物体の輪郭を抽出する輪郭抽出工程と、前記点指定工程で直前に指定された点と前記ポインタとの距離に応じて、前記ポインタの形状を変更して表示するよう制御する表示制御工程とを備えたことを特徴とする。
【0046】
請求項7に係る画像編集装置の制御方法は、表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、前記画像中の物体の輪郭を抽出する輪郭抽出工程と、前記抽出される物体の輪郭を示す点を指定する点指定工程と、前記指定された点から所定の画素数の範囲内にある画素のエッジ情報を調査するエッジ情報調査工程と、前記調査された画素で所定値以上かつ最も強いエッジ情報を持つ画素を指定点とし、前記所定値以上のエッジ情報を持つ画素が存在しない場合に前記点指定工程で指定された点を指定点とする指定点更新工程とを備えたことを特徴とする。
【0047】
請求項8に係る画像編集装置の制御方法は、表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、前記画像中の物体の輪郭を抽出する輪郭抽出工程と、前記抽出された物体の輪郭を示す点を指定する点指定工程と、前記抽出された輪郭のうち、前記輪郭の始点と前記点指定工程で新たに指定された点の間の輪郭を保持し、それ以外の輪郭を前記抽出の結果から除外する輪郭編集工程とを備えたことを特徴とする。
【0048】
請求項9に係る画像編集装置の制御方法は、表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、前記画像中の物体の輪郭を示す点を指定する点指定工程と、第1指定点から第2指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とを用いて、前記第1指定点と前記第2指定点の間の輪郭を抽出する順方向抽出工程と、前記順方向抽出工程における抽出のエラー結果を判別する順方向判別工程と、前記第2指定点から前記第1指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とを用いて、前記第2指定点と前記第1指定点の間の輪郭を抽出する逆方向抽出工程と、前記逆方向抽出工程における抽出のエラー結果を判別する逆方向判別工程と、前記順方向判別工程で判別されたエラー結果及び前記逆方向判別工程で判別されたエラー結果のうち、前記エラー結果の数が少ない方向の抽出の結果を輪郭として自動的に選択する選択工程とを備えたことを特徴とする。
【0049】
請求項10に係る画像編集装置の制御方法では、請求項9に係る画像編集装置の制御方法において、前記順方向判別工程は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別し、前記逆方向判別工程は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別することを特徴とする。
【0050】
【発明の実施の形態】
本発明の画像編集装置及びその制御方法の実施の形態について説明する。
【0051】
[第1の実施の形態]
図1は第1の実施の形態における文書編集システムの構成を示すブロック図である。文書編集システムは、大略、アプリケーションソフトウェア101、オペレーティングシステム302およびハードウェア301から構成される。アプリケーションソフトウェア101には文書編集アプリケーション319、画像ファイリングアプリケーション320、画像編集アプリケーション102などが設けられている。尚、従来の技術の項で説明した文書編集システムと同一の構成要素については同一の符号を付してその説明を省略する。図2は文書データの構造を示す説明図である。
【0052】
文書編集アプリケーション319のユーザインターフェース画面を示す図29において、文書編集アプリケーション319で文書1を編集中に画像表示領域503をマウスポインタによりダブルクリックすると、画像編集アプリケーション起動手段324は画像編集アプリケーション102を起動する。図5は文書編集アプリケーション319による画像編集アプリケーション102起動時の処理手順を示すフローチャートである。図4は主記憶装置307内で画像編集アプリケーション102が使用するメモリ領域内のメモリマップを示す説明図である。図において、1101は画像編集アプリケーション102の各手段の実行形式のコードを含む各手段実行コード保持領域である。1102は推奨画像サイズのデータを保持する推奨画像サイズデータ保持領域である。1103は処理スクリプトデータを保持する処理スクリプトデータ保持領域である。1104は現在の画像データを保持する画像データ保持領域である。1105は画像編集手段群328の画像編集手段による画像編集の結果として得られる画像データを記憶保持するための編集結果画像データ保持領域である。1106は画像編集アプリケーション102によって使用されるその他のデータを保持するためのその他のデータ保持領域である。
【0053】
画像編集アプリケーション102が起動する際、文書編集システムの処理を上記図4のメモリマップおよび図5のフローチャートを用いて詳しく説明する。画像編集アプリケーション102が起動すると、まず、データ保存読み込み手段105により画像データ格納部407から画像データ保持領域1104に画像データを読み込む(ステップS1)。画像データ保持領域1104には予め画像1.bmpの画像データが格納されている。
【0054】
データ保存読み込み手段105により処理スクリプト格納部202から処理スクリプトデータ保持領域1103に処理スクリプトデータを読み込む(ステップS2)。データ保存読み込み手段105は推奨画像サイズ格納部203から推奨画像サイズデータ保持領域1102に推奨画像サイズを読み込む(ステップS3)。ユーザインターフェース管理手段108は文書中の画像表示領域503に画像データ保持領域1104に格納されている画像データを表示して(ステップS4)起動時の処理を終了する。
【0055】
画像編集アプリケーション102は起動時の処理を終了すると、文書編集アプリケーション319のインプレイスアクティブ状態で利用者からのイベント待ち(コマンド入力待ち)となる。
【0056】
図6はインプレイスアクティブ状態で利用者からのイベント待ち状態にある表示装置304の表示画面を示す説明図である。画像編集アプリケーション102のユーザインターフェース管理手段108は、図32に示す従来の場合と異なり、文書編集アプリケーション319のメニュー表示領域507に画像編集コマンドを入力するためのメニューを追加していない。
【0057】
図7は画像ファイリングアプリケーション320から画像編集アプリケーション102にアプリケーション間通信により画像データを送信するためのコマンドの入力を示す説明図である。文書編集システムでは、画像ファイリングアプリケーション320の送信したい画像(例えば、図7のFile2.bmp)の上にマウスカーソルを移動してマウスボタンを押し、ボタンを押し続けたまま、マウスカーソルを画像表示領域503の上まで移動してマウスボタンを離す。このような操作は一般にドラッグアンドドロップと呼ばれる。文書編集システムでは、画像ファイリングアプリケーション320の縮小画像から文書編集アプリケーション319内でインプレイスアクティブ状態にある画像編集アプリケーション102にドラッグアンドドロップ操作を行うことによりアプリケーション間通信手段318に対して画像データ送信コマンドを入力することができる。
【0058】
具体的にFile2.bmpの画像データを画像編集アプリケーション102によりドラッグアンドドロップした場合を例にとって説明する。図8はドラッグアンドドロップ操作によって利用者から画像データ送信コマンドが入力された場合における文書編集システムの処理手順を示すフローチャートである。
【0059】
利用者がドラッグアンドドロップ操作により画像データ送信コマンドを入力すると、処理を開始する。まず、画像データ入れ替え手段103が画像データ保持領域1104に格納されている画像1.bmpの画像データを消去して、代わりにアプリケーション間通信により受信したFile2.bmpの画像データを画像データ保持領域1104に格納することによって画像データ保持領域1104の画像データの入れ替えを行う(ステップS51)。
【0060】
画像サイズ変換手段112は画像データ保持領域1104に格納されているFile2.bmpの画像データを推奨画像サイズデータ保持領域1102に記憶されている推奨画像サイズにリサイズする(ステップS52)。
【0061】
処理スクリプト解析手段106は処理スクリプトデータ保持領域1103に格納されている処理スクリプトデータを解析する(ステップS53)。
【0062】
図3は処理スクリプトデータを示す説明図である。同図(A)には処理手順1および処理手順2の2つの処理手順が記述されている。処理手順1には、Parameter1を値10に設定してオリジナル画像に対してぼかし処理を施し、さらにParameter1を値20に設定してぼかし処理の結果画像に対してイラスト化処理を施すことを内容とする処理スクリプトが記述されている。
【0063】
また、処理手順2には、Parameter1を値10に設定してオリジナル画像に対してシャープ処理を施し、さらにParameter10を値15、Parameter2を値30に設定してシャープ処理の結果画像に対してノイズ処理を施すことを内容とする処理スクリプトが記述されている。同図(A)の処理スクリプトデータには、複数の処理手順が記述されている。ここでは、このような処理スクリプトを選択型の処理スクリプトと呼ぶこととする。
【0064】
また、同図(B)の処理スクリプトデータには処理手順が1つのみ記述されている。このような処理スクリプトをここでは非選択型の処理スクリプトと呼ぶこととする。
【0065】
ステップS53の解析結果を基に処理スクリプトが選択型であるか非選択型であるかを判別する(ステップS54)。処理スクリプトデータ保持領域1103に記憶されている処理スクリプトデータが同図(A)のように選択型である場合にはステップS57に処理を進め、非選択型である場合にはステップS55に処理を進める。
【0066】
ステップS55では、画像編集自動実行手段107は画像データ保持領域1104に格納されている画像データ(ステップS52でリサイズされたfile2.bmpの画像データ)に対して、処理スクリプトデータに記述されている処理手順に対応した画像編集手段を画像編集手段群328から検索して実行する。各画像編集手段を実行する際のパラメータも処理スクリプトデータの記述に従う。
【0067】
そして、ユーザインターフェース管理手段108が画像データ保持領域1104に格納されている、処理スクリプトに準じた編集結果の画像データを画像表示領域503に表示して(ステップS56)、処理を終了する。
【0068】
一方、ステップS54で処理スクリプトが選択型である場合、カウンタkに値1を代入する(ステップS57)。画像データ保持領域1104に格納されている画像データ(ステップS52でリサイズされたfile2.bmpの画像データ)を処理手順kによる編集結果画像データ保持領域1105にコピーする。
【0069】
図9は処理手順kによる編集結果画像データ保持領域1105のメモリマップを示す説明図である。画像編集自動実行手段107は、編集結果画像データ保持領域1105に格納されている画像データに対して処理スクリプトデータに記述されている処理手順kを実行する(ステップS59)。処理の実行に際し、処理手順kに対応した画像編集手段を画像編集手段328から検索する。ここで、画像編集手段を実行する際のパラメータも処理手順kの記述に従う。
【0070】
処理手順kが処理スクリプトデータにおいて最後の処理手順であるか否かを判別する(ステップS60)。例えば、処理スクリプトデータが図3(A)の場合、処理手順2が処理スクリプトの最後の処理手順であるので、k=2の場合にステップS60での判断がyesとなり、ステップS62に処理を進める。処理手順kが処理スクリプトの最後の処理手順でない場合、判断はnoとなり、ステップS61に移行してカウンタkの値をインクリメントした後、再びステップS58の処理を行う。
【0071】
ステップS62では候補画像表示ウィンドウを表示する。図10は候補画像表示ウィンドウを示す説明図である。候補画像表示ウィンドウには編集結果画像データ保持領域1105に格納された処理手順1〜処理手順nの編集結果の画像が表示される。利用者は候補画像表示ウィンドウから所望の編集結果の画像を選択することができる。
【0072】
本実施の形態では、マウスカーソルを所望の画像の上に移動しマウスボタンをクリックすることによって編集結果の画像を選択するコマンドを入力する。
【0073】
利用者によって選択コマンドが入力されたか否かを判別する(ステップS63)。選択コマンドが入力されるまではステップS63の判断はnoとなり、ステップS63の判断を繰り返す。利用者がマウスクリックにより選択コマンドを入力すると、ステップS63の判断はyesとなる。そして、画像データ保持領域1104に格納されている画像データを消去する(ステップS64)。利用者によって選択された処理手順による編集結果の画像データを編集結果画像データ保持領域1105から画像データ保持領域1104にコピーする(ステップS65)。
【0074】
図10に示された候補画像表示ウィンドウを閉じる(ステップS66)。編集結果画像データ保持領域1105に格納されている処理手順1〜処理手順nによる編集結果の画像データを全て消去し(ステップS67)、編集結果の画像データを画像表示領域503に表示して(ステップS56)、処理を終了する。
【0075】
画像編集アプリケーション102による画像編集処理が終了した後、利用者がドキュメント文書1のウィンドウ502内の画像表示領域503以外の部分をマウスクリックすることにより、画像編集アプリケーション102はインプレイスアクティブ状態から非アクティブ状態となる。画像編集アプリケーション102は非アクティブ状態となる前に、推奨画像サイズデータ、処理スクリプトデータ、編集結果画像データをそれぞれ、推奨画像サイズ格納部203、処理スクリプト格納部202および画像データ格納部407に保存するとともに、表示データを作成して表示データ格納部406に格納する。
【0076】
一方、文書編集アプリケーション319の画像編集結果表示手段323は表示データ格納部406に格納された表示データを画像表示領域503に表示する。
【0077】
本実施の形態における文書編集システムでは、利用者がドラッグアンドドロップ操作によって画像入れ替えコマンドを入力した際、処理スクリプトが非選択型である場合、完全自動で画像編集が行われるので、画像編集に不慣れな利用者が画像編集のコマンドやパラメータをいくつも入力する負担を軽減できる。また、処理スクリプトが選択型であっても、自動的に編集されたいくつかの処理結果画像を眺めながら所望の画像を選択する操作だけで利用者にとって好ましい画像編集を簡単に行うことができる。
【0078】
[第2の実施の形態]
第2の実施の形態における文書編集システムについて説明する。本実施の形態における文書編集システムは前記実施の形態における文書編集システムと同一のハードウェアの構成を有するので、その説明を省略する。図11は第2の実施の形態における文書編集システムの処理手順を示すフローチャートである。インプレイスアクティブ状態で利用者がドラッグアンドドロップ操作により画像データ送信コマンドを入力すると(図7参照)、処理が開始される。
【0079】
画像データ入れ替え手段103は画像データ保持領域1104に格納されている画像1.bmpの画像データを消去し、代わりにアプリケーション間通信により受信したFile2.bmpの画像データを画像データ保持領域1104に格納することにより画像データ保持領域1104の画像データを入れ替える(ステップS81)。画像サイズ変換手段112は画像データ保持領域1104に格納されているFile2.bmpの画像データを推奨画像サイズデータ保持領域1102に記憶されている推奨画像サイズにリサイズする(ステップS82)。処理スクリプト解析手段106が処理スクリプトデータ保持領域1103に格納されている処理スクリプトデータを解析する(ステップS83)。
【0080】
図12は第2の実施の形態における処理スクリプトデータを示す説明図である。本実施の形態における処理スクリプトデータには画像編集において使用すべきテンプレートの名称が記述されている。テンプレートとは画像編集手段群328に含まれる画像編集手段の内、画像編集の目的毎に必要とされる画像編集手段のユーザインターフェースだけをコンパクトにまとめたウィンドウのことである。図12の処理スクリプトデータに記述されている「ポートレイトエフェクトテンプレート」は「人物が撮影された画像をレタードキュメントの送信者の顔写真として貼り付けるのに好ましい画像へと画像編集を行う」という画像編集の目的を達成するための最小限のユーザインターフェースを有したウィンドウである。
【0081】
ユーザインターフェース選択手段109はステップS83での解析結果に応じて処理スクリプトに記述されているテンプレートを選択し、各テンプレート用ウィンドウを表示する(ステップS84)。例えば、処理スクリプトデータが図12のポートレイトエフェクトテンプレートを指定している場合、文書編集システムの表示装置304には図13に示すウィンドウが表示される。図13はポートレイトエフェクトテンプレートのユーザインターフェースを示す説明図である。ポートレイトエフェクトテンプレートにより行われる画像編集の詳細については後述する。このように目的に合致した最小限のユーザインターフェースをユーザインターフェース選択手段109が選択的に表示するので、ユーザはどのメニューを選べばよいかを即座に判断することができ、画像編集に不慣れな利用者の操作性を向上できる。
【0082】
テンプレートのウィンドウを介して各テンプレート毎のユーザ対話処理を実行し(ステップS85)、画像データ保持領域1104に格納されている画像に対して画像編集を行う。利用者が対話処理による画像編集を終了し、テンプレート上のOKボタンをマウスクリックした場合、テンプレートのウィンドウが閉じる(ステップS86)。ユーザインターフェース管理手段108は画像データ保持領域1104に格納されている編集結果画像データを画像表示領域503に表示して(ステップS87)、処理を終了する。
【0083】
本実施の形態における文書編集システムでは、予め定められたメニューやツールを表示するのではなく、処理スクリプトの記述にしたがって画像編集の目的を達成するために最少限のユーザインターフェースを選択的に表示するので、画像編集に不慣れな利用者が沢山の画像編集メニューの中から目的に見合ったメニューを選択しないで済み、利用者の負担を軽減できる。
【0084】
図13のポートレートエフェクトテンプレートのユーザインターフェースについて詳述する。ポートレートエフェクトは、ドキュメント上での執筆者の顔写真、あるいは議事録での出席者の顔写真などに使われる画像編集である。ポートレートエフェクトにおいて最も大切な処理は、顔写真に不要な背景を除去することである。この機能を実現するために、ポートレートエフェクトでは大きく2つのモードを有する。
【0085】
その1つは同図(A)の2000で示す切り抜きモードであり、楕円2009で指定される形で切り抜きを行う。この場合、楕円2009からはみ出す部分はOKボタン2004を押した時点で消去される。利用者は楕円2009を残したい部分(顔を中心にした部分)に移動し、大きさを調節した後、OKボタン2004で消去する。これにより、完全に背景を除去することはできないが、非常に簡単に背景として写っている余計な部分をカットでき、紙の写真を楕円で切り抜いてアルバムに貼り付けた場合と同等の効果を得ることができる。
【0086】
他の一つは同図(B)の2001で示す背景消しモードであり、このモードの切り替えはラジオボタン2002を選択することによって行う。利用者は被写体の輪郭を指定し、Eraseボタン2006を押すことによって輪郭外の画像を消去する。この場合、切り抜きモードに較べて利用者の作業量は多くなるが、完全に背景を除去できる。
【0087】
図14は切り抜きモードの処理手順を示す説明図である。2102はラジオボタン2002で切り抜きを選択し、ラジオボタン2003で四角形を選択したときの画像表示画面2010を表している。2100はデフォルトで画面に表示される矩形であり、画面の中央に位置しそれぞれ画面の半分の長さに等しい縦横の長さを有する。2101は矩形の長さ、大きさを変えるためのポイントであり、利用者はポイント2101上でマウスダウンし、そのままドラッグすることで操作を行う。2104は矩形2100の中心を示しており、矩形を大きさをそのままで移動するときに使用する。同様に利用者は矩形2100の中心2104でマウスダウンし、ドラッグすることで移動が行える。利用者が移動と大きさを変える操作を行うことにより2103に示す画像表示画面のように切り抜きたい所望の位置を指定する。
【0088】
そして、OKボタン2004を押すことにより矩形外の画像は消去され、切り抜き画像2105が得られる。図15は切り抜きモードの処理手順を示すフローチャートである。図において、ステップS100はイベントループであり、マウスボタンが押されたり、メニューの選択やボタンが押された等のイベントが発生すると、そのメッセージがアプリケーションソフトウェアに渡される。
【0089】
イベントが発生した場合、マウスボタンが押されたというメッセージであるか否かを判別し(ステップS101)、マウスボタンが押されたというメッセージである場合、矩形の角のポイント2101上であるかどうかをチェックする(ステップS102)。矩形の角のポイント2101上である場合、矩形の角のポイント2101上をマウスダウンしたということを変数にしておく(ステップS105)。ステップS102で矩形の角のポイント2101上でない場合、矩形の中心2104上であるかどうかをチェックし(ステップS103)、矩形の中心2104上である場合、矩形の中心2104上であることを変数にしておく(ステップS104)。
【0090】
一方、ステップS101でマウスボタンが押されていない場合、マウスボタンが離されたか否かを判別する(ステップS106)。マウスボタンが離されると、先の変数を参照し、矩形のリサイズ中であるかどうかをチェックする(ステップS107)。リサイズ中であれば、マウスボタンが離された位置から、新たな矩形の大きさ、位置を計算する(ステップS108)。これを保持し新たな矩形に従って描画を行う(ステップS109)。
【0091】
そして、OKボタン2004が押されたか否かをチェックし(ステップS110)、OKボタン2004が押されたときはこの矩形に対応した画像領域をメモリ上に別に確保する(ステップS111)。この領域に矩形内に位置する画像データをコピーする(ステップS112)。元の画像データをメモリ上から消去し(ステップS113)、図13のウィンドウ2000を消去する。この結果、利用者の操作はドキュメント上に復帰し、ドキュメント上に図14の画像2105が貼り付けられることになる。
【0092】
図16は背景消しモードの動作処理手順を示す説明図である。背景消しモードは、図13の画面2001に示すようにラジオボタン2002を背景消しに選択したときの状態である。画面2300では、まず、利用者は人の輪郭上に始点2304をマウスクリックすることによって指定する。つづいて、次点2306をマウスクリックすると、自動的にその間の輪郭線をトレースして輪郭線2305を表示する。
【0093】
この背景消しモード処理の詳細については後述する。さらに、画面2301で次点2307を指定すると、先の輪郭線2305は確定してグレー(破線で図示)の線から黒の線に変わる。点2306と次点2307との間をトレースし、その結果、輪郭線2308が表示される。以上の操作を繰り返していくことで、画面2302の閉じた輪郭線2309を作成する。輪郭線2309で下側が水平になっているのは、利用者がダブルクリックするとこれが最終点の意味となり、開始点と最終点との距離が所定値以上離れているときは、この間を水平になるように結ぶ。この詳細についても後述するが、ポートレートの場合、下側が水平に切られていることが望ましく、そのための処理を自動的に行うようにしている。そして、図13のEraseボタン2006が押されたことにより輪郭線の外側を消去し、画面2303の背景が完全にない被写体だけの画像を取得できる。
【0094】
図17は背景消しモードの操作方法を示す説明図である。図において、輪郭線2400がこの時点での確定部分であり、輪郭線2401は前回の指定部分であり、まだ編集可能な状態である。尚、これらの輪郭線は背景となる画像の輪郭の上に表示されるわけであるが、ここでは画像は省略されている。
【0095】
操作時のマウスポインタの形状は十字形2403か二重丸2405のいずれかである。マウスポインタの形状は最終点2409からの距離に応じて自動的に変更される。最終点2409とマウスポインタとの距離2402が所定値以下である場合、マウスポインタの形状は十字形2403になる。そして、距離2404が所定値より大きい場合、マウスポインタの形状は二重丸になる。そして、二重丸2405の時にマウスをクリックすると、最終点2409とクリックされた点との間を画像のエッジ情報を基にしたエッジ追跡処理により輪郭線を抽出する。この処理の詳細については後述する。
【0096】
一方、十字形2403のときは、単純に最終点とクリックされた点との間を直線で結ぶ。このように2つモードをもつ理由は以下の通りである。後述するエッジ追跡処理では、必ず利用者の望む輪郭のみを抽出するとは限らず、誤った結果になることもあり得る。例えば、人の背景に強いエッジを持ったものが写っている場合、そのエッジを輪郭線としてトレースしてしまう場合が起こる。この場合、人の輪郭として正しく抽出しているところまでを保持し、誤りの部分を短い直線で切ってスキップしてしまう方法を提供するために、長い距離では輪郭線抽出処理を行い、短い距離では直線で切って誤りの部分をスキップし、利用者にボタン切り替え等の面倒な操作をさせないで済む。距離の長短のしきい値としては16画素程度が適当である。
【0097】
また、輪郭線抽出結果2401が利用者にとって満足のいくものでない場合、マウスの右ボタンもしくは図13のUndoボタン2007を押すことによってキャンセルできる。その結果、確定部分2406だけが残ることになり、利用者は再度操作をやり直すことになる。また、輪郭線抽出2401の結果に対して、途中までは保持し、それ以降はキャンセルしたい場合、保持したい箇所2407までをマウスでクリックする。すると輪郭線2408のように、保持したい箇所2407までが確定される。以上の操作を繰り返して人の部分の輪郭を完成させる。また、途中でそれまでの結果、全てをキャンセルしたい場合、図13のClearボタン2008を押すと全ての輪郭線が消去される。
【0098】
上記操作により得られた輪郭データを管理するデータ構造について示す。図18は輪郭データを管理するデータ構造を示す説明図である。ポイント列(x,y座標を格納する配列)point[]2500は確定したポイント列(図17の2400、2406、2408のように黒で確定した輪郭線部分)を格納し、ポイント列subpoint[]2501は、未確定のポイント列(図17の2401のように未確定で表示している輪郭線部分)を格納する配列である。最初、トレース結果のポイント列はsubpoint[]に格納され、操作により確定するとpoint[]に移される。図13のClearボタン2008が押されたときは、point[]、subpoint[]ともに中味全てをクリアする。
【0099】
マウスの右ボタンが押されたとき、あるいはUndoボタン2007が押されたとき、subpoint[]の中味をクリアし、subpoint[]の先端に、point[]の最後の値を格納しておく。そして、描画はpoint[]の値を黒で表示し、subpoint[]の値をグレーで表示することによって確定、未確定を利用者に明示する。
【0100】
図19は輪郭データを管理する手順を示すフローチャートである。図において、ステップS130はイベントループである。イベントが発生してマウスボタンがクリックされたと判断されたとき(ステップS131)、まず、ポイント列point[]、ポイント列subpoint[]ともに中味が空であるかどうかをチェックする(ステップS132)。ともに中味が空であるのは、ユーザが一番最初にクリックした場合である。クリックしたポイントの近傍(クリックしたポイントからx、y方向±2画素の範囲)を調べ、所定値以上で最もエッジの強いポイントを新たに指定ポイントとして設定する(ステップS133)。これは、利用者がある程度ラフに輪郭上をクリックしても自動的に最適な位置に変換するための処理である。所定値以上のエッジの強さがない場合、クリックしたポイントをそのまま指定ポイントとする。指定ポイントをsubpoint[]の頭(第1要素)に入れる(ステップS134)。
【0101】
ステップS132でポイント列point[]、ポイント列subpoint[]ともに中味が空でない場合、subpoint[]に1つだけ値が入っているかどうかを調べる(ステップS135)。subpoint[]に1つだけ値が入っているのは、利用者が右ボタンでキャンセルして新たに次の点をクリックしたとき、または前回に輪郭線の途中までを確定してその後新たに次の点をクリックしたときである。このとき、subpoint[]の最初の値を始点、クリックされたポイントを終点としてトレースを行い、その間のポイントをsubpoint[]に格納する(ステップS140)。
【0102】
subpoint[]に1つより多くの値が入っている場合、前回の未確定部分(グレーの部分)はOKで、さらに次のトレースを行う場合と、前回の未確定部分のうち、途中までを確定にして残りはキャンセルする場合のどちらかである。クリックしたポイントの近傍(クリックしたポイントからx、y方向±2画素の範囲)にsubpoint[]中のポイント群のいずれかがあるかどうかを調べる(ステップS136)。ある場合、途中まで確定で残りはキャンセルする場合とし、ない場合、前回の未確定部分(グレーの部分)はOKで、さらに次のトレースを行う場合とする。
【0103】
前回の未確定部分(グレーの部分)はOKで、さらに次のトレースを行う場合、subpoint[]の値をpoint[]の末尾に加えることで未確定を確定の状態にする(ステップS138)。そして、subpoint[]の値をクリアし、point[]の最後の値をsubpoint[]の第1要素に入れる(ステップS139)。この後、ステップS140の処理を行う。
【0104】
一方、途中まで確定で残りをキャンセルする場合、見つけたsubpoint中の値までの要素を、point[]の末尾に加える(ステップS137)。そして、前述と同様にステップS139、S140の処理を行う。
【0105】
上記操作の繰り返しで輪郭線を抽出していくが、最後に利用者がダブルクリックした場合の処理について説明する。図20は底辺を水平にカットする処理手順を示すフローチャートである。尚、利用者が輪郭線を途中まででEraseボタン2006を押した場合も、背景を消す処理に先立って図20のステップS171以降の処理を行う。
【0106】
イベントが発生し(ステップS169)、発生したイベントがマウスボタンのダブルクリックであると判別されると(ステップS170)、point[]の第1要素(最始点)と最終要素(最終点)との距離が所定値以上であるか否かを調べる(ステップS171)。
【0107】
距離が所定値以上である場合、自動的に下側を水平にカットする処理を行う。これによって、利用者が明示的に指示する手間を省くことができる。最始点と最終点とで上に位置する方(y座標が上の方)のポイントを取得する(ステップS172)。もし、最始点が上の場合、最始点とx座標は同じでy座標は最終点のy座標である新たなポイントを作り、これをpoint[]の第1要素として加える(ステップS173)。そして、point[]の最終要素にこのポイントを追加することによって、下側は水平で閉じた輪郭線を形成する。
【0108】
ステップS171でpoint[]の第1要素(最始点)と最終要素(最終点)との距離が所定値未満のとき、最始点の値を最終点としてpoint[]に追加し(ステップS174)、閉じた輪郭線を形成する。
【0109】
図21は図19のステップS140の処理手順を示すフローチャートである。まず、始点(subpoint[]の第1要素の値)とクリックされたポイントとの距離が所定値以上であるか否かを調べる(ステップS190)。距離が所定値以下(例えば16画素以下)のとき、クリックしたポイントをポイント列subpoint[]に追加して(ステップS198)終了する。これにより、2点間の距離が近いときは単純に直線で切ることを実現する。所定距離より大きいときは以下の処理を行う。
【0110】
クリックされたポイントの近傍(x、y方向±2画素)をサーチし、最もエッジ値の強いポイントを終点とする(ステップS191)。これは、図19のステップS133と同様の処理である。最初に始点を注目点とし(ステップS192)、終点までたどりついていない場合(ステップS193)、次の注目点を求める(ステップS194)。次の注目点とは、終点方向に向かって1画素分終点方向に近づく点のことであり、これを求める処理の詳細については後述する。求めた注目点をポイント列subpoint[]に加える(ステップS195)。求めた注目点が先の注目点より近づいていない場合をカウントする(ステップS196)。このカウント値が所定回数(例えば数百回)以上を越える場合(ステップS197)、誤った方向にトレースしている可能性があるので、処理を中止する。一方、注目点が終点までたどりついた場合(ステップS193)、処理を終了する。
【0111】
図22は図21のステップS194の処理動作を示す説明図である。図23は次の注目点を求める処理手順を示すフローチャートである。図22において、2901が現在の注目点であり、2900が終点である。現在の注目点2901の周辺の8画素に対して終点方向に最も距離の近い順から係数a0〜a7を割り振る(ステップS200、S201)。a0が最も大きい値であり、以降順次小さくなる。係数a5〜a7は値0である。この係数と対応した画素のエッジの値を掛けて(ステップS202)、所定値以上で最も大きい値を持つ画素を次の注目点として設定する(ステップS203、S204、S205)。
【0112】
これにより、次第に終点に近づいて行けることになる。全ての画素が所定値未満であるとき、最も終点に近い画素(図22の場合、a0の係数を保持する画素)を次の注目点とし(ステップS206)、この回数をカウントする。エッジの弱い部分はとりあえず終点に近づいていくことになる。
【0113】
以上で輪郭線を抽出する全ての処理について説明したが、この応用として以下に示す方法はさらに有効である。図21、図22、図23では始点から終点に向かって注目点を追跡していく方法であったが、全く同じ方法で終点から始点に向かって輪郭線を抽出することができる。この処理は図21、図22、図23で説明した内容で始点から終点を目指す方向が終点から始点を目指す方向となる点を除いて変わらないので、図示による説明を省略する。この場合、図23のステップS207で次の注目点を決めるときにエッジが弱くて所定値以下であった場合の回数をカウントしておくことにより、始点から終点を目指した場合と、終点から始点を目指した場合とを較べ、このフォルト回数の少ない方を採択して輪郭線とする。
【0114】
図24は双方向で輪郭抽出を行う場合を示す説明図である。図において、3100はトレースしたいエッジが途切れ途切れになっており、かつ途中から異なるより強いエッジが分岐している画像の場合を示す。
【0115】
自然画像の場合、エッジが連続している場合よりこのように途切れ途切れになっている場合の方が実際には多い。このとき、3101のように始点から終点に向かってトレースしていくと、途中でより強いエッジに引っ張られてしまい、これが途切れたところで終点にたどり着くという経路をとる。しかし、終点から始点に向かったトレースでは3102に示すように正しくトレースされる。これのどちらがより適切であるかを判断する有効な尺度として、先のフォルト回数を使うわけである。3101では強いエッジに引っ張られてから、これが途切れたところで終点にたどり着くまでの間がフォルト状態であり、その回数も多いが、3102では正しいエッジの途中途切れている所だけがフォルトになり、結果として3102の結果が選択されることになる。
【0116】
図25は背景を消す処理手順を示すフローチャートである。求めた輪郭線に外接する矩形を求める(ステップS220)。輪郭線内の画像データをこの矩形内にコピーする(ステップS221)。そして、輪郭線上の画素を図26に示す係数でぼかし処理を加える(ステップS222)。図26はぼかし処理のフィルタを示す説明図である。これは、画像の切り取り部分をぼかした方が、ドキュメント上で違和感なく貼り付いて見える効果と、多少の輪郭抽出の誤りをごまかすことができるという2重の効果を生む。あくまでドキュメント上で使用する画像であり、かつドキュメントの一部分のポートレート写真として使うものであるから、それに求められる品位は、デザイン用や高精細な画像処理の品位より低くても十分である。この求められる品位に対して上述してきた処理は十分な結果を提供することができ、また、従来の切り出し方法よりもずっと簡単な操作で実現できる。
【0117】
以上示したように、本実施の形態における文書編集システムでは、ある目的を持ったドキュメントサンプル上に、それにふさわしい位置と大きさでサンプル画像が用意されている。この画像を新たに入れ替えた場合、ドキュメント上の画像の目的に合致した処理用ウィンドウが起動し、利用者は簡単な操作のみで効果的なエフェクトをかけることができる。結果として、利用者は特に画像を含んだドキュメントに対するレイアウトなどのセンスや画像に効果的なエフェクトをかける知識がなくても高品位のドキュメントを作成することができる。
【0118】
上記効果的なエフェクトのうちポートレートエフェクトは、楕円等の形に切り抜くモードと、輪郭に沿って背景を消す2つのモードを持ち、簡単にポートレート画像を作ることができる。輪郭に沿って背景を消すモードの場合、簡単に下側を水平にカットする機能、どうしても誤って輪郭を抽出してしまう箇所は、その分岐点を直線で切ってスキップしてしまう機能、および指定ポイント間を両方からトレースして結果のいい方を自動的に選択する機能により、使いやすく利用者の負担が軽い操作方法を提供できる。
【0119】
尚、本発明は複数の機器から構成されるシステムに適用してもよいし、1つの機器からなる装置に適用してもよい。また、本発明はシステムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体をシステムあるいは装置に読み出すことによってそのシステムあるいは装置が本発明の効果を享受することが可能となる。
【0120】
【発明の効果】
本発明の画像編集装置及びその制御方法によれば、画像編集に不慣れな利用者が簡単に取り扱うことができる。
【図面の簡単な説明】
【図1】第1の実施の形態における文書編集システムの構成を示すブロック図である。
【図2】文書データの構造を示す説明図である。
【図3】処理スクリプトデータを示す説明図である。
【図4】主記憶装置307内で画像編集アプリケーション102が使用するメモリ領域内のメモリマップを示す説明図である。
【図5】文書編集アプリケーション319による画像編集アプリケーション102起動時の処理手順を示すフローチャートである。
【図6】インプレイスアクティブ状態で利用者からのイベント待ち状態にある表示装置304の表示画面を示す説明図である。
【図7】画像ファイリングアプリケーション320から画像編集アプリケーション102にアプリケーション間通信により画像データを送信するためのコマンドの入力を示す説明図である。
【図8】ドラッグアンドドロップ操作によって利用者から画像データ送信コマンドが入力された場合における文書編集システムの処理手順を示すフローチャートである。
【図9】処理手順kによる編集結果画像データ保持領域1105のメモリマップを示す説明図である。
【図10】候補画像表示ウィンドウを示す説明図である。
【図11】第2の実施の形態における文書編集システムの処理手順を示すフローチャートである。
【図12】第2の実施の形態における処理スクリプトデータを示す説明図である。
【図13】ポートレイトエフェクトテンプレートのユーザインターフェースを示す説明図である。
【図14】切り抜きモードの処理手順を示す説明図である。
【図15】切り抜きモードの処理手順を示すフローチャートである。
【図16】背景消しモードの動作処理手順を示す説明図である。
【図17】背景消しモードの操作方法を示す説明図である。
【図18】輪郭データを管理するデータ構造を示す説明図である。
【図19】輪郭データを管理する手順を示すフローチャートである。
【図20】底辺を水平にカットする処理手順を示すフローチャートである。
【図21】図19のステップS140の処理手順を示すフローチャートである。
【図22】図21のステップS194の処理動作を示す説明図である。
【図23】次の注目点を求める処理手順を示すフローチャートである。
【図24】双方向で輪郭抽出を行う場合を示す説明図である。
【図25】背景を消す処理手順を示すフローチャートである。
【図26】ぼかし処理のフィルタを示す説明図である。
【図27】従来の文書編集システムのハードウェアの構成を示すブロック図である。
【図28】文書データのデータ構造を示す説明図である。
【図29】表示装置304に表示される従来の文書編集アプリケーション319のユーザインターフェース画面を示す説明図である。
【図30】表示装置304に表示される画像ファイリングアプリケーション320のユーザインターフェース画面を示す説明図である。
【図31】文書編集システムにおいて他のアプリケーションにOLEサーバとして画像データを供給する画像編集アプリケーション321のユーザインターフェース画面を示す説明図である。
【図32】画像編集アプリケーション321が文書編集アプリケーション319内でインプレイスアクティブ状態で起動している様子を示す説明図である。
【図33】図30に示すFile2.bmpの画像が貼り付けられた状態を示す説明図である。
【符号の説明】
101 アプリケーションソフトウェア
102 画像編集アプリケーション
301 ハードウェア
302 オペレーティングシステム
319 文書編集アプリケーション
Claims (10)
- 表示手段に表示されている画像を編集する画像編集装置に於いて、
前記表示手段に表示されるポインタを用いて前記画像中の物体の輪郭を示す点を指定する点指定手段と、
前記指定された2点間の距離が所定値以上であるか否かを判別する判別手段と、
前記所定値以上であると判別された場合、前記画像中の物体の輪郭を抽出する輪郭抽出手段と、
前記点指定手段により直前に指定された点と前記ポインタとの距離に応じて、前記ポインタの形状を変更して表示するよう制御する表示制御手段とを備えたことを特徴とする画像編集装置。 - 表示手段に表示されている画像を編集する画像編集装置に於いて、
前記画像中の物体の輪郭を抽出する輪郭抽出手段と、
前記抽出される物体の輪郭を示す点を指定する点指定手段と、
前記指定された点から所定の画素数の範囲内にある画素のエッジ情報を調査するエッジ情報調査手段と、
前記調査された画素で所定値以上かつ最も強いエッジ情報を持つ画素を指定点とし、前記所定値以上のエッジ情報を持つ画素が存在しない場合に前記点指定手段で指定された点を指定点とする指定点更新手段とを備えたことを特徴とする画像編集装置。 - 表示手段に表示されている画像を編集する画像編集装置に於いて、
前記画像中の物体の輪郭を抽出する輪郭抽出手段と、
前記抽出された物体の輪郭を示す点を指定する点指定手段と、
前記抽出された輪郭のうち、前記輪郭の始点と前記点指定手段により新たに指定された点の間の輪郭を保持し、それ以外の輪郭を前記抽出の結果から除外する輪郭編集手段とを備えたことを特徴とする画像編集装置。 - 表示手段に表示されている画像を編集する画像編集装置に於いて、
前記画像中の物体の輪郭を示す点を指定する点指定手段と、
第1指定点から第2指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とを用いて、前記第1指定点と前記第2指定点の間の輪郭を抽出する順方向抽出手段と、
前記順方向抽出手段による抽出のエラー結果を判別する順方向判別手段と、
前記第2指定点から前記第1指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とを用いて、前記第2指定点と前記第1指定点の間の輪郭を抽出する逆方向抽出手段と、
前記逆方向抽出手段による抽出のエラー結果を判別する逆方向判別手段と、
前記順方向判別手段で判別されたエラー結果及び前記逆方向判別手段で判別されたエラー結果のうち、前記エラー結果の数が少ない方向の抽出の結果を輪郭として自動的に選択する選択手段とを備えたことを特徴とする画像編集装置。 - 前記順方向判別手段は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別し、
前記逆方向判別手段は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別することを特徴とする請求項4に記載の画像編集装置。 - 表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、
前記表示手段に表示されるポインタを用いて前記画像中の物体の輪郭を示す点を指定する点指定工程と、
前記指定された2点間の距離が所定値以上であるか否かを判別する判別工程と、
前記所定値以上であると判別された場合、前記画像中の物体の輪郭を抽出する輪郭抽出工程と、
前記点指定工程で直前に指定された点と前記ポインタとの距離に応じて、前記ポインタの形状を変更して表示するよう制御する表示制御工程とを備えたことを特徴とする画像編集装置の制御方法。 - 表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、
前記画像中の物体の輪郭を抽出する輪郭抽出工程と、
前記抽出される物体の輪郭を示す点を指定する点指定工程と、
前記指定された点から所定の画素数の範囲内にある画素のエッジ情報を調査するエッジ情報調査工程と、
前記調査された画素で所定値以上かつ最も強いエッジ情報を持つ画素を指定点とし、前記所定値以上のエッジ情報を持つ画素が存在しない場合に前記点指定工程で指定された点を指定点とする指定点更新工程とを備えたことを特徴とする画像編集装置の制御方法。 - 表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、
前記画像中の物体の輪郭を抽出する輪郭抽出工程と、
前記抽出された物体の輪郭を示す点を指定する点指定工程と、
前記抽出された輪郭のうち、前記輪郭の始点と前記点指定工程で新たに指定された点の間の輪郭を保持し、それ以外の輪郭を前記抽出の結果から除外する輪郭編集工程とを備えたことを特徴とする画像編集装置の制御方法。 - 表示手段に表示されている画像を編集する画像編集装置の制御方法に於いて、
前記画像中の物体の輪郭を示す点を指定する点指定工程と、
第1指定点から第2指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とを用いて、前記第1指定点と前記第2指定点の間の輪郭を抽出する順方向抽出工程と、
前記順方向抽出工程における抽出のエラー結果を判別する順方向判別工程と、
前記第2指定点から前記第1指定点に向かう画像のエッジ情報の値と、前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とを用いて、前記第2指定点と前記第1指定点の間の輪郭を抽出する逆方向抽出工程と、
前記逆方向抽出工程における抽出のエラー結果を判別する逆方向判別工程と、
前記順方向判別工程で判別されたエラー結果及び前記逆方向判別工程で判別されたエラー結果のうち、前記エラー結果の数が少ない方向の抽出の結果を輪郭として自動的に選択する選択工程とを備えたことを特徴とする画像編集装置の制御方法。 - 前記順方向判別工程は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第2指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別し、
前記逆方向判別工程は、前記画像のエッジ情報の値と前記エッジ情報の値に前記第1指定点に近いほど大きい係数を掛けた値とのいずれもが所定値以上でない場合、前記エラー結果であると判別することを特徴とする請求項9に記載の画像編集装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14851796A JP3943623B2 (ja) | 1996-05-21 | 1996-05-21 | 画像編集装置及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14851796A JP3943623B2 (ja) | 1996-05-21 | 1996-05-21 | 画像編集装置及びその制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007062602A Division JP4047368B2 (ja) | 2007-03-12 | 2007-03-12 | 画像編集装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09311944A JPH09311944A (ja) | 1997-12-02 |
JP3943623B2 true JP3943623B2 (ja) | 2007-07-11 |
Family
ID=15454551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14851796A Expired - Fee Related JP3943623B2 (ja) | 1996-05-21 | 1996-05-21 | 画像編集装置及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3943623B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3492291B2 (ja) * | 2000-06-30 | 2004-02-03 | キヤノン株式会社 | 行事写真提供システム、行事写真提供装置、行事写真提供方法および記録媒体 |
KR20020039791A (ko) * | 2000-11-22 | 2002-05-30 | 유길종 | 영상 컨텐츠 생성 방법 |
JP3814168B2 (ja) * | 2001-07-23 | 2006-08-23 | シャープ株式会社 | ビデオ編集ソフトウェア及び編集方法 |
JP4109920B2 (ja) * | 2001-07-31 | 2008-07-02 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 |
US7756296B2 (en) * | 2007-03-27 | 2010-07-13 | Mitsubishi Electric Research Laboratories, Inc. | Method for tracking objects in videos using forward and backward tracking |
KR102304700B1 (ko) * | 2012-02-24 | 2021-09-28 | 삼성전자주식회사 | 디스플레이 창에 대한 캡쳐 이미지 생성 방법 및 장치 |
US20190287281A1 (en) * | 2016-12-13 | 2019-09-19 | Koninklijke Philips N.V. | Method and apparatus for modifying a contour comprising a sequence of points positioned on an image |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07113969B2 (ja) * | 1986-03-05 | 1995-12-06 | キヤノン株式会社 | 画像処理方法 |
JPS63113687A (ja) * | 1986-10-30 | 1988-05-18 | Toshiba Corp | 画像切抜き方式 |
JP2771563B2 (ja) * | 1988-11-25 | 1998-07-02 | キヤノン株式会社 | 画像レイアウト装置 |
JPH04289981A (ja) * | 1991-03-18 | 1992-10-14 | Sharp Corp | 画像の閉領域検出方法 |
JP3140541B2 (ja) * | 1992-02-06 | 2001-03-05 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
JPH06231247A (ja) * | 1993-02-02 | 1994-08-19 | Tokyo Graphic Aatsu:Kk | 特定画像領域の輪郭線抽出方法 |
JPH07131629A (ja) * | 1993-10-29 | 1995-05-19 | Ricoh Co Ltd | 画像形成装置 |
JP3207644B2 (ja) * | 1993-12-09 | 2001-09-10 | キヤノン株式会社 | 画像表示制御装置および画像描画装置および画像表示制御方法および画像描画方法 |
JPH07274067A (ja) * | 1994-03-31 | 1995-10-20 | Toshiba Corp | 人物画像背景合成装置 |
JP3821397B2 (ja) * | 1994-06-17 | 2006-09-13 | コニカミノルタホールディングス株式会社 | 画像切り抜き装置 |
JPH08111786A (ja) * | 1994-10-12 | 1996-04-30 | Canon Inc | 画像出力システム |
JPH08115323A (ja) * | 1994-10-18 | 1996-05-07 | Toppan Printing Co Ltd | 自動ページアップルール作成装置 |
-
1996
- 1996-05-21 JP JP14851796A patent/JP3943623B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09311944A (ja) | 1997-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6202073B1 (en) | Document editing system and method | |
US6751780B1 (en) | User interface for initiating the export of an optimized scanned document using drag and drop | |
US6373499B1 (en) | Automated emphasizing of an object in a digital photograph | |
US4974194A (en) | Method for modifying intermingled text object and graphic object within an object set individually or correspondingly | |
EP1621990A2 (en) | Information management apparatus and method, image processing apparatus and method | |
JP2006024184A (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
US20120236192A1 (en) | Image display apparatus and image display method | |
JP3943623B2 (ja) | 画像編集装置及びその制御方法 | |
CN112799583B (zh) | 一种基于android平台的点位示意图绘制系统 | |
US20040042658A1 (en) | Document analysis system and method | |
EP0905483A2 (en) | Information processing method and apparatus, and storage medium thereof | |
US20020051009A1 (en) | Method and apparatus for extracting object from video image | |
US6806878B2 (en) | Graphic editing apparatus for adding or deleting curve to/from graphics by interactive processing | |
JP4047368B2 (ja) | 画像編集装置及びその制御方法 | |
JP3890096B2 (ja) | 画像編集システム | |
EP0240920B1 (en) | Improvements in desk-top publishing apparatus | |
JP3187151B2 (ja) | 図形処理装置及び方法 | |
JP2001143095A (ja) | 曲線入力方法 | |
JP3578917B2 (ja) | 画像加工装置、画像加工システム、画像加工方法、およびコンピュータ読み取り可能な記録媒体 | |
JP3607913B2 (ja) | 画像表示装置 | |
JPH09258716A (ja) | ストローク情報処理方法 | |
JP3157917B2 (ja) | データ処理方法およびデータ処理装置 | |
CN117666906A (zh) | 一种内容提取方法、设备及计算机存储介质 | |
JP3146079B2 (ja) | 文字・図形編集装置 | |
JPH0973515A (ja) | 文字認識装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
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: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070406 |
|
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: 20110413 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |