JP2007018261A - 画像編集装置、画像抜き取り方法、プログラム及び記憶媒体 - Google Patents

画像編集装置、画像抜き取り方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP2007018261A
JP2007018261A JP2005199102A JP2005199102A JP2007018261A JP 2007018261 A JP2007018261 A JP 2007018261A JP 2005199102 A JP2005199102 A JP 2005199102A JP 2005199102 A JP2005199102 A JP 2005199102A JP 2007018261 A JP2007018261 A JP 2007018261A
Authority
JP
Japan
Prior art keywords
coordinates
selection line
range selection
image
line
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.)
Pending
Application number
JP2005199102A
Other languages
English (en)
Inventor
Mitsuru Sato
満 佐藤
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005199102A priority Critical patent/JP2007018261A/ja
Publication of JP2007018261A publication Critical patent/JP2007018261A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画面上で範囲選択線により囲まれた任意形状の領域内の画像データを抜き取ることができる画像抜き取り技術を提供する。
【解決手段】 画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上に画像抜き取りツールバー制御部22が透明ウィンドウを表示させ、範囲選択線描画制御部24がそのウィンドウ上で画像抜き取り領域を囲む複数のストロークから成る範囲選択線を描画し、画像抜き取り制御部25がその範囲選択線で囲まれた領域内の画像データを抜き取る構成にした。
【選択図】 図14

Description

本発明は、パーソナルコンピュータなど情報処理装置や電子ホワイトボードなどにおける画像編集技術に係り、特に、指定された範囲内の画像を抜き取る画像抜き取り技術に関する。
近年、パーソナルコンピュータなど情報処理装置においては、記憶容量が増大したことや処理速度が向上したことなどから、デジタルカメラなどから画像データを気軽に取り込んで保存したり、プリント出力したりしている。また、取り込んだ画像データから一部を抜き取ってテキストデータ中に貼り付けたりすることも広く普及している。逆に、画像中の一部をマスクし、マスク領域にテキストデータを書き込むようなことも行われている。
例えば、特許文献1に示された従来技術では、入力された画像データをメモリに記憶する際、画像データをマスキングし、マスキングされた任意形状のマスク領域にテキストデータを展開するが、その際、マスク領域中のテキスト展開位置を指定できる。
また、特許文献2に示された従来技術では、表示データを手書きの囲み描画イメージで囲んで囲まれた内側を編集対象とし、その囲み描画イメージに対応した編集コマンドが登録されている場合にはその編集コマンドを用いて前記編集対象の編集を行い、編集コマンドが登録されていない場合には、要求に応じてその囲み描画イメージに対応する編集コマンドを登録し、登録した編集コマンドを用いて編集対象の編集を行う。
特開平2−301860号公報 特開平6−332611号公報
しかしながら、従来技術では、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画面上で範囲選択線により囲まれた任意形状の領域内の画像データを抜き取ることができなかった。そのため、従来技術においては、画像抜き取り機能を持たないアプリケーションプログラムにより表示された画面上の画像から任意形状の領域内の画像を抜き取る場合には、画面上の画像の画像データをファイルとして取り込み、その後、範囲選択線により囲まれた任意形状の領域内の画像データを抜き取ることができるプログラムの実行のもとで画像データを取り込んだファイルを開くことにより抜き取り対象画像を表示させ、画像抜き取りを行うか、画面上の画像を全面コピーした後、前記した画像抜き取りを行うことができるプログラムの実行のもとで全面コピーした画像を貼り付けることにより抜き取り対象画像を表示させ、画像抜き取りを行う。したがって、操作に手間がかかるという問題があった。
本発明は、このような従来技術の問題を解決しようとするものであり、具体的には、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画面上で範囲選択線により囲まれた任意形状の領域内の画像データを抜き取ることができる画像抜き取り技術を提供することを目的とする。
前記した課題を解決するために、請求項1記載の画像編集装置は、画面上で任意形状の範囲選択線により囲まれた領域内の画像データを抜き取ることができる画像編集装置において、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上にウィンドウを表示させ、該ウィンドウ上で画像抜き取り領域を囲む範囲選択線を描画する選択線描画手段と、前記範囲選択線で囲まれた領域内の画像データを抜き取る画像抜き取り手段とを備えたことを特徴とする。
請求項2記載の画像編集装置は、請求項1記載の画像編集装置において、前記選択線描画手段は透明ウィンドウを表示させることを特徴とする。
請求項3記載の画像編集装置は、請求項1または2記載の画像編集装置において、前記選択線描画手段は前記範囲選択線を複数のストロークにより描画することを特徴とする。
請求項4記載の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記選択線描画手段により描画された前記範囲選択線を消去する選択線消去手段を備えたことを特徴とする。
請求項5の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記選択線描画手段は、前記範囲選択線を描画する際、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になるときまで前記当該時点の描画座標を一方の端点とする範囲選択線描画を停止することを特徴とする。
請求項6記載の画像編集装置は、請求項5記載の画像編集装置において、前記選択線描画手段は、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になったときに前記当該時点の描画座標と前記範囲選択線のストローク端点のうち該描画座標に最も近い端点の座標とを接続する範囲選択線を描画することを特徴とする。
請求項7記載の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記選択線描画手段は、前記範囲選択線を描画中に、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に検知されない状態から検知される状態になったとき、前記描画された範囲選択線中の直前設定座標と前記検知された範囲選択線中の該直前設定座標に最も近い端点の座標とを接続する描画を行うことを特徴とする。
請求項8記載の画像編集装置は、請求項7記載の画像編集装置において、前記直前の座標の接続後、ペンアップまでの描画座標を描画対象外とすることを特徴とする。
請求項9記載の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とし、該頂点座標のみで画像抜き取りラインを作成することを特徴とする。
請求項10記載の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とするときに、同一検索ライン上に前記頂点座標と該頂点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする。
請求項11記載の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とし、該底点座標のみで画像抜き取りラインを作成することを特徴とする。
請求項12記載の画像編集装置は、請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とするときに、同一検索ライン上に前記底点座標と該底点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする。
請求項13記載の方法は、画面上で任意形状の範囲選択線により囲まれた領域内の画像データを抜き取る画像抜き取り方法において、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上に透明ウィンドウを表示させ、該透明ウィンドウ上で画像抜き取り領域を囲む範囲選択線を描画し、該範囲選択線で囲んだ領域内の画像データを抜き取ることを特徴とする。
請求項14記載の方法は、請求項13記載の画像抜き取り方法において、前記選択線を描画する際、前記範囲選択線を複数のストロークにより描画することを特徴とする。
請求項15記載の方法は、請求項13または14記載の画像抜き取り方法において、前記範囲選択線を描画する際、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になるまで前記当該時点の描画座標を一方の端点とする範囲選択線描画を停止することを特徴とする。
請求項16記載の方法は、請求項15記載の画像抜き取り方法において、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になったときに前記当該時点の描画座標と前記範囲選択線のストローク端点のうち該描画座標に最も近い端点の座標とを接続する範囲選択線を描画することを特徴とする。
請求項17記載の方法は、請求項13または14記載の画像抜き取り方法において、前記範囲選択線を描画中に、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に検知されない状態から検知される状態になったとき、前記描画された範囲選択線中の直前設定座標と前記検知された範囲選択線中の該直前設定座標に最も近い端点の座標とを接続する描画を行うことを特徴とする。
請求項18記載の方法は、請求項17記載の画像抜き取り方法において、前記直前の座標の接続後、ペンアップまでの描画座標を描画対象外とすることを特徴とする。
請求項19記載の方法は、請求項13または14記載の画像抜き取り方法において、前記画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とし、該頂点座標のみで画像抜き取りラインを作成することを特徴とする。
請求項20記載の方法は、請求項13または14記載の画像抜き取り方法において、前記画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とするときに、同一検索ライン上に前記頂点座標と該頂点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする。
請求項21記載の方法は、請求項13または14記載の画像抜き取り方法において、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とし、該底点座標のみで画像抜き取りラインを作成することを特徴とする。
請求項22記載の方法は、請求項13または14記載の画像抜き取り方法において、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とするときに、同一検索ライン上に前記底点座標と該底点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする。
請求項23記載のオペレーティングシステム上で実行されるプログラムは、請求項13乃至22のいずれか1項に記載の画像抜き取り方法によった画像抜き取りを実行させるようにプログラミングされていることを特徴とする。
請求項24記載のプログラムを記憶した記憶媒体は、請求項23記載のプログラムを記憶したことを特徴とする。
本発明によれば、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画面上で範囲選択線により囲まれた任意形状の領域内の画像データを抜き取ることができるので、画像抜き取りのために例えば任意のアプリケーションプログラムにより表示された画面の全面コピーや貼り付けが不要になり、したがって操作が簡単になる。
また、任意形状の範囲選択線を複数のストロークにより描画できるので、例えば途中で範囲選択線が不本意な描画になってしまったような場合、最初から描画し直す必要がなくなる。
以下、図面により本発明の実施形態を詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対位置などは特定的な記載がない限りこの説明の範囲をそれのみに限定する主旨ではなく、単なる説明例に過ぎない。
図1は、本発明の一実施形態を示す、タブレットPC(タブレット・パーソナルコンピュータ)の外観図である。図示したように、タブレットPCは電子ペン1とタッチパネルディスプレイ2を備え、キーボードとマウスの操作を前提とした既存のPCに代わり、電子ペン1とタッチパネルディスプレイ2でマウスのポインティング機能とキーボードのテキスト入力機能を実現する。テキスト入力については、電子ペン1とタッチパネルディスプレイ2により手書き文字を入力した後に文字認識を行なってコード化されたテキストにする。なお、Microsoft社からタブレットPC用OSである「Windows(登録商標)XP Tablet PC Edition」が提供されており、手書き文字の認識はこのOSを用いて実現できる。
図1(a)はタブレットPCを開いた状態であり、図示したように、液晶ディスプレイ3と、キーボードを含むPC本体4を備えている。
図1(b)は、図1(a)の状態にある液晶ディスプレイ部分を180度回転させることにより裏表を逆にした後に液晶ディスプレイ部分を折り畳んだ状態である。電子ペン1が直接接触する面には強化ガラス5が設けられ、液晶ディスプレイ3が傷つくのを防止している。また、液晶ディスプレイ3の下には電子ペン1の位置を検知する電磁誘導センサユニット6が液晶ディスプレイの画像品質を損なわない構造で設けられている。
そして、電磁誘導センサユニット6が液晶ディスプレイ上の電子ペン1の位置(座標)を検知する一方で、後述する制御部がマウスの場合のクリック操作およびドラッグ操作をエミュレートする。また、水平に置かれた液晶ディスプレイ3と電子ペン1により、紙に文字を書く感覚で手書き文字を描画できる。
なお、前記においては、液晶ディスプレイ3を回転させて折り畳む形式で示したが、液晶ディスプレイ3を取りはずせるタイプも可能である。
図2はこの実施形態のタブレットPCの制御系を示す構成図である。以下、図2により座標入力制御を説明する。
まず、タッチパネルディスプレイ2がディスプレイ面に接触する座標指示物を検知し、そのタッチパネルディスプレイ2の近傍に設けた座標算出制御装置8が接触位置の座標データ(図3(a)参照)を算出し、その座標データをPC本体4へ送信する。この送信はRS232CまたはUSBなどに準拠した通信手段により実現され、PC本体4内のタッチパネルドライバ11は座標算出制御装置8から座標データを受信すると、その座標データをOSの定義するマウスデータ(図3(b)参照)へ変換し、OSが提供するマウスインタフェース(I/F)12へ出力する。なお、マウスデータはPCに接続されるマウスにより出力されるデータと同一の形式であるので、アプリケーションプログラムはマウスを用いる場合と同一でよい。
こうして、OSにより実行権が与えられているアプリケーション処理部(各プログラムに従って動作するCPUがここではアプリケーションプログラムに従って動作している)13がマウスI/F12からマウスデータを受け取る。そして、アプリケーション処理部13はマウス座標下の情報(例えばメニューやボタン)に対応づけられた機能を実行する。さらに、実行結果として画面に表示する画像データを更新し、その画像データを画像データ変換部14がRGB信号に変換して液晶ディスプレイ3に画像として表示させる。
以下、本発明の実施例を説明する。
(実施例)
この実施例では、前記したようなタブレットPCを用いて、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上に透明ウィンドウを表示させ、その透明ウィンドウ上で画像抜き取り領域を囲む範囲選択線を描画し、その範囲選択線で囲んだ領域内の画像データを抜き取る。
最初に、図4により範囲選択線描画に係る範囲選択線ストロークを説明する。
この実施例では、任意のアプリケーションプログラムにより画面上に画像が表示された状態で、まず、アプリケーション処理部13が背景の透過される透明ウィンドウを最前面に表示させる(図4(1)参照)。そして、アプリケーション処理部13は座標指示物であるペンによるドラッグ操作の軌跡の座標データ(X0,Y0)、(X1,Y1)、(X2,Y2)・・・・・・(X9,Y9)をタッチパネルドライバ11などを介して順次取得し、その軌跡を特定の色および太さの線で描画することにより範囲選択線を描画する(図4(2)参照)。さらに、アプリケーション処理部13はこの範囲選択線のストローク座標をストローク単位(ペンダウンからペンアップまで)で範囲選択線データファイルに保存する(図4(3)参照)。なお、この例は、1つのストロークが5座標、もう1つのストロークが6座標の2ストロークで描画していることを示している。
この状態で、座標データ(X7,Y7)の消去が指示されたとする。実際には、消去しようとする点が消しゴムカーソル内に含まれるように操作者が消しゴムカーソルを位置合わせする。これにより、アプリケーション処理部13は消しゴムカーソルの中心座標を中心に消しゴムカーソルに設定されている大きさの範囲内にあるストローク座標を範囲選択線データファイルから検索する(図4(4)参照)。そして、検索された座標(X7,Y7)に接続する座標がある場合、その座標と接続している範囲選択線に重ねて所定の太さの透明色で線描画することにより画面上の範囲選択線を消去する(図4(5)参照)。
最後に、範囲選択線データファイル中のストローク座標(X7,Y7)を「消去」に設定する(図4(6)参照)。描画時、アプリケーション処理部13はこの消去座標を無効として扱う。
次に、図5により範囲選択線描画に係る並行線検索について説明する。
図5において、A、B、Cは範囲選択線の描画座標軌跡で、A、B、Cを結んだ線は座標間を線結合(直線で接続)した範囲選択線を示している。
ここで、図中に(1)と示したウィンドウ中央の当該描画座標(X,Y)から渦巻状に矢印方向へ順次1ピクセル単位に移動しながら、アプリケーション処理部13はそれぞれのピクセルが透明色(非描画部分)か有色(範囲選択線)かを判定する。
これにより、ピクセルDにおいて有色と判定する。なお、検索範囲は(1)と示した前記中央の描画座標(X,Y)を中心に並行距離内とする。つまり、
X−並行距離≦X方向範囲≦X+並行距離
Y−並行距離≦Y方向範囲≦Y+並行距離
である。なお、並行距離とはタッチパネルの検知精度(検知可能径,座標精度)および視差の大きさなどに左右される値で、実験による最適値をデフォルトに設定し、調整可能にする。
前記において、描画座標を中心に並行距離内にある範囲選択線を並行線と定義する。
次に、端点座標検索について説明する。
図6において、(X0,Y0)、(X1,Y1)、および(X2,Y2)と、(X3,Y3)および(X4,Y4)とは既に描画されている範囲選択線とする。また、(1)、(2)、(3)、(4)、(5)、(6)、(7)は新たな描画軌跡座標とする。
その座標(1)、(2)、(3)の描画時に、アプリケーション処理部13は並行線を検索し見つけることができ、次の座標(4)の描画時には見つからなかった場合、範囲選択線データファイル内のストロークの先端座標(X0,Y0)、終端座標(X2,Y2)、先端座標(X3,Y3)、終端座標(X4,Y4)、と描画座標(4)との距離(L)が最小となる先端(終端)座標を次式により判定し、最小となる座標(X2,Y2)と描画座標(4)を結合する線描画を行う。
L0=((Xa−X0)2+(Ya−Y0)21/2
L1=((Xa−X2)2+(Ya−Y2)21/2
L2=((Xa−X3)2+(Ya−Y3)21/2
L3=((Xa−X4)2+(Ya−Y4)21/2
続く座標(5)の描画時も並行線は存在しない。その場合、アプリケーション処理部13は描画座標間を順次結合する線描画を行う。
次の座標(6)の描画時は再び並行線が存在し、直前描画座標(5)と範囲選択線データファイル内の先端座標または終端座標との距離が最小となる先端(終端)座標を検索し、最小となる座標(X3,Y3)と座標(5)を結合する線描画を行う。
接続後、ペンアップとなるまでの描画座標(6)、(7)は無効にする。
次に、図7により画像抜き取りに係る継続座標について説明する。
図7において、実線の手書き線は描画された範囲選択線を示している。また、範囲選択線描画領域を、その領域原点(X,Y)、領域幅(W)、領域高さ(H)で示す。アプリケーション処理部13はまず、このような範囲選択線描画領域において、その領域の上方のラインから順次水平(X軸)方向に左から右へ検索して描画座標(1)(X0,Y0)を抽出する。
続いて、次ラインの検索により抽出した描画座標(2)(X1,Y1)に対して、直前ラインにおいて検索された座標(Xα,Y0)のうち、Xα<X1、且つ(X1−Xα)が最小となる座標、またはX1≦Xα且つ(Xα−X1)が最小となる座標(描画座標(1)はそのような座標である)が存在する場合、描画座標(2)を描画座標(1)の継続座標、αを継続距離と呼ぶ。なお、図7では描画座標(3)も描画座標(1)の継続座標となる。また、描画座標(6)は描画座標(4)および描画座標(5)の継続座標となる。継続距離αは画面の大きさや描画速度により左右される値で、実験により求めた最適値をデフォルトに設定するとともに、調整可能とする。(例えば描画速度が大きいと描画座標(1)、(2)間が長くなるのでαは大となる。)
次に、図8により頂点座標について説明する。
図8(a)において、後から検出された描画座標1A、1Bは先に検出された描画座標(1)の継続座標、2Aは描画座標(2)の継続座標、3Aは描画座標(3)の継続座標、4A、4Bは描画座標(4)の継続座標である。ここで、2個の継続座標が存在する座標(1)、(4)を頂点座標と定義する。つまり、当該ライン上の1座標のX座標値が次ラインの2座標のX座標値の間にあり2座標から継続距離内にある座標が頂点座標である。なお、図8(b)に示したようにX方向に座標が連続し、両端の座標に継続座標が存在する場合(ここでは座標(1)の継続座標として1A、座標(3)の継続座標として3Bが存在する)、連続座標(ここでは座標(1)、(2)、(3))を頂点座標とする。座標(6)、(7)も同様に継続座標4A、継続座標5Bが存在することから頂点座標となる。
次に、図9により底点座標について説明する。
図9(a)において、後から検出された描画座標(3)は先に検出された描画座標(1)の継続座標で、且つ描画座標(2)の継続座標、描画座標(6)は描画座標(4)の継続座標で、且つ描画座標(5)の継続座標である。このように2点の継続座標となる点を底点座標と定義する。図9(b)に示したようにX方向に座標が連続し、両端の座標が継続座標である場合(ここでは座標(3)が座標(1)の継続座標、座標(5)が座標(2)の継続座標である)、連続座標(3),(4),(5)を底点座標とする。連続座標(8),(9)も、同様に座標(8)が座標(6)の継続座標、座標(9)が座標(7)の継続座標となることから底点座標となる。
次に、図10により画像抜き取りライン編集について説明する。なお、画像抜き取りラインとは画像抜き取り領域を複数の水平方向ラインに分解した場合の個々のラインを意味する。
検索の結果、水平方向ラインから頂点座標(X0,Y0)だけが抽出された場合、アプリケーション処理部13はその頂点座標を画像抜き取りラインとする(図10の(1)参照)。この例では頂点座標が3個であるので、その画像抜き取りラインを次のように表現する。
画像抜き取りライン:((X0,Y0)、頂点座標数(3))
また、水平方向ラインから底点座標(X1,Y1)だけが抽出された場合、アプリケーション処理部13はその底点座標を画像抜き取りラインとする(図10の(2)参照)。この例では、その画像抜き取りラインを次のように表現する。
画像抜き取りライン:((X1,Y1)、底点座標数(3))
それに対して、頂点でも底点でもない画像抜き取り領域内始点座標である外点座標(X2,Y2)が抽出され、続けて同一水平方向ラインの終点座標である外点座標(X3、Y3)が抽出された場合、アプリケーション処理部13はその2つの外点座標を水平方向に結んで画像抜き取りラインを作成する(図10の(3)参照)。この画像抜き取りラインを次のように始点座標とX方向長で表現する。
画像抜き取りライン:((X2,Y2)、(X3−X2+1))
また、検索により頂点座標を抽出したとき、同ラインの左側に画像抜き取りラインの始点となる外点座標がなく、また右側に終点となる外点座標がない場合、抽出した頂点座標だけで画像抜き取りラインを作成する(図10の(4)参照)。
また、底点座標(X4,Y4)検索時、同一ラインの左側に画像抜き取りラインの始点となる外点座標A(Xa,Ya)が抽出され、続いて底点座標が抽出された場合、その底点座標を無視し、外点座標A(Xa,Ya)と次に検索される外点座標B(Xb,Yb)とを水平方向に結んで画像抜き取りラインを作成する(図10の(5)参照)。この画像抜き取りラインを次のように表現する。
画像抜き取りライン:((Xa,Ya)、(Xb−Xa+1))
また、検索により頂点座標(X5,Y5)が抽出され、その左側に画像抜き取りラインの始点となる外点座標C(Xc,Yc)が存在する場合、その頂点座標を無視し、外点座標C(Xc,Yc)と次に抽出される外点座標D(Xd,Yd)間とを水平に結んで画像抜き取りラインを作成する(図10の(6)参照)。この画像抜き取りラインを次のように表現する。
画像抜き取りライン:((Xc,Yc)、(Xd−Xc+1))
次に、図11および図12により画像抜き取り手順を説明する。なお、図11において、最も内側の閉ループが範囲選択線である。
まず、アプリケーション処理部13は、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上に透明ウィンドウを表示させ、抜き取る画像領域を線で描画させ(範囲選択線を描画させ)、取得した範囲選択線データを範囲選択線データファイル(図11の(1)参照)へ保存する。
続いて、範囲選択線データのストローク座標から最小X座標(Xmin)、最大X座標(Xmax)、最小Y座標(Ymin)、最大Y座標(Ymax)を検索して、次のように表現した矩形の画像抜き取り領域(図11では内側の矩形)を求める(図11の(2)参照)。
画像抜き取り領域原点座標(X,Y) :(Xmin,Ymin)
画像抜き取り領域幅(W) :(Xmax−Xmin+1)
画像抜き取り領域高さ(H) :(Ymax−Ymin+1)
次に、画像抜き取り領域を原点座標(X,Y)から、(X+1,Y)、・・・(X+W−1,Y)、(X,Y+1)、(X+1,Y+1)、・・・・・(X+W−1,Y+1)、・・・・(X,Y+H−1)、(X+1,Y+H−1)、・・・・(X+W−1,Y+H−1)の順に検索し、範囲選択線座標および連続数(範囲選択線が水平線となる部分の長さ)を範囲選択線座標テーブルへ保存する(図11の(3)参照)。
続いて、アプリケーション処理部13は範囲選択線座標テーブルから頂点座標および底点座標を検索し、他を外点座標とし、座標種別に次のように設定する(図11の(4)参照)。
外点座標:0
頂点座標:1
底点座標:2
次に、アプリケーション処理13は外点座標、頂点座標、底点座標を用いて画像抜き取りラインを作成し、作成した画像抜き取りラインデータを画像抜き取りラインファイル(図11の(5)参照)へ保存する。そして、範囲選択線を消去し、画面上の画像のデータを取得し、その画像データをメモリ内の画面画像領域(図12の(6)参照)へ保存する。
次に、画像抜き取りラインファイルの画像抜き取りラインデータを用いて、画面画像領域のピクセル(画素)座標(X0,Y0)から2ピクセル長のデータを抽出する(図12の(8)参照)。これは、図11に示した座標Aの画像抜き取りラインデータが、((X0,Y0)、頂点座標数(2))であるからである。なお、画像データがR(赤):1バイト、G(緑):1バイト、B(青):1バイトで定義される場合、1ピクセルは3バイト長となる。
続いて、抽出した画像データを抜き取り画像領域(図12の(7)参照)のピクセル座標(X0−X,Y0−Y)に保存する。
以下、画像抜き取りラインファイルに格納されている全画像抜き取りラインについて前記した画像データ抽出とピクセル座標への保存を繰り返して抽出した画像データを画像ファイル(図12の(9)参照)に保存する。
次に、図13により画像抜き取り操作方法を説明する。
まず、タブレットPC立ち上げ後の最初の画面に表示された所定のアイコンを操作者にダブルクリックさせることにより画像抜き取り制御プログラムを起動させる(以上の機能はOSが提供している)。なお、他の任意のプログラムが画像抜き取り対象の画像をこのときまでに表示しているとする。
こうして、画像抜き取り制御プログラムに従って、アプリケーション処理部13は「画像抜き取りツールバー」(図13の(1)参照)および範囲選択線描画領域などを含む上書き透明ウィンドウを表示する(図13(a)参照)。そして、「設定」ボタン(図13の(1)参照)指示に応じて、アプリケーション処理部13は図13(b)に示したような画像抜き取り設定ダイアログを表示させる。ここで、次のような選択・設定が可能である。
(1)範囲選択線描画時の線の色を選択する(図13の(2)参照)。
(2)範囲選択線消去時の消しゴムカーソルの大きさを設定する(図13の(3)参照)。
(3)つまみを「短く」へ移動することにより短く、「長く」へ移動することにより長くに並行距離を調整する(図13の(4)参照)。なお、中央値をテストにより得た最適値とする。
(4)つまみを「短く」へ移動することにより短く、「長く」へ移動することにより長くに継続距離を調整する(図13の(5)参照)。なお、中央値をテストにより得た最適値とする。
続いて、ツールバー中の「ペン」ボタンが指示されると、アプリケーション処理部13はペンカーソルPを表示させ、ペンカーソルPにタッチした状態でのペンなどの移動に応じてこのペンカーソルPを移動させることにより範囲選択線を描画させる。なお、アプリケーション処理部13は「消去」ボタン(図13の(1)参照)指示があったとき、消しゴムカーソルを表示させ、消しゴムカーソルにタッチした状態でのペンなどの移動に応じて辿った範囲選択線を消去する。
こうして、「実行」ボタン(図13の(1)参照)指示があると、アプリケーション処理部13は前記した手順で範囲選択線内の画像を抜き取る。
その後、「終了」ボタン(図13の(1)参照)指示に応じて、画像抜き取り制御プログラムに従った処理を終了させる。
図14は画像抜き取り制御プログラムとそのプログラムに従って動作するCPUなどにより実現されるアプリケーション処理部13の詳細構成図である。
図14に示したマウス入力制御部21は画像抜き取りツールバーを表示させ、OSの提供するAPI(アプリケーション・インタフェース)を用いて電子ペン1を操作させ、入力されたマウスデータ(マウス座標)を取り込んで、後述する画像抜き取りツールバー制御部22、画像抜き取り設定ダイアログ制御部23、範囲選択線描画制御部24などの実行を開始させる。
画像抜き取りツールバー制御部22は画像抜き取り制御ツールバーを管理・制御し、各ボタンに設定されている機能を実行する。
画像抜き取り設定ダイアログ制御部23は画像抜き取り設定ダイアログを管理・制御して、範囲選択線の色、消しゴムカーソルの大きさ、並行距離、および継続距離を入力させる。
範囲選択線描画制御部24は抜き取り画像領域となる範囲選択線を描画したり、消去したりするとともに、出来上がった範囲選択線データを範囲選択線データファイル26に保存する。また、画像抜き取制御部25は範囲選択線に従って画像抜き取りラインを作成し、画像抜き取りラインデータを画像抜き取りラインファイル27に保存する。さらに、その画像抜き取りラインデータを用いて、範囲選択線内の画像データを抜き取り、抜き取った画像データを画像ファイル28に保存する。
なお、この実施例のタブレットPCでは、請求項記載の選択線描画手段および選択線消去手段が範囲選択線描画制御部24により実現され、画像抜き取り手段が画像抜き取り制御部25により実現される。
次に、図15によりマウス入力制御部21が実行するマウス入力制御の動作フローを説明する。
まず、マウス入力制御部21は画像抜き取りツールバーを表示する(ステップ1)。さらに、並行距離、継続距離、範囲選択線の色(ペン色、ストローク色)、範囲選択線の太さ(ペン太さ、ストローク太さ)、消しゴムカーソルの大きさなどの初期設定(図15に示した描画制御テーブルの初期設定)を行う(ステップ2)。例えば、並行距離は5ピクセル程度(タッチパネルが検知可能なピクセル径と検知精度により決まる)、継続距離は10ピクセル程度(座標検知周期における平均的な描画速度により決まる)、範囲選択線の色は赤、範囲選択線の太さは1ピクセル、消しゴムカーソルの大きさは5ピクセルに設定する。また、範囲選択線の色や範囲選択線の太さを範囲選択線データファイル26に書き込む。
続いて、マウス入力制御部21は描画モードをアプリケーションプログラム操作可能なAPLモードに初期設定する(ステップ3)。さらに、ワークメモリ内に一時的に設けたストロークテーブル内のストローク座標数を0に設定する(ステップ4)。なお、範囲選択線データファイル26は描画操作による各ストローク(マウスボタンをオンにしてペンダウンさせてからマウスボタンをオフにしてペンアップさせるまでの1操作が1ストローク)の軌跡の座標データを保持する。
次に、非描画状態にあるこのときのストロークモードを「停止」と設定し(ステップ5)、その後は、最初のストローク(マウスボタンのオンからマウスボタンのオフまで)のマウスデータ(座標データ)の入力を待つ(ステップ6でN→ステップ6)。そして、マウスデータが入力されたならば(ステップ6でY)、そのマウスデータを取り込み、さらに、画像抜き取りツールバーウィンドウ、上書き透明ウィンドウ、画像抜き取り設定ダイアログウィンドウなどの位置を示す座標を取得する(ステップ7)。
その結果、入力された(操作された)マウスデータが画像抜き取りツールバー上である場合(ステップ8でY)、マウス入力制御部21は画像抜き取りツールバー制御部22に画像抜き取りツールバー制御を実行させる(ステップ9)。また、入力されたマウスデータが画像抜き取り設定ダイアログ上である場合(ステップ10でY)、画像抜き取り設定ダイアログ制御部23に画像抜き取り設定ダイアログ制御を実行させる(ステップ11)。また、入力されたマウスデータが上書き透明ウィンドウ上である場合(ステップ12でY)、範囲選択線描画制御部24に範囲選択線描画制御を実行させる(ステップ13)。
次に、図16により画像抜き取りツールバー制御部22の画像抜き取りツールバー制御の動作フローを説明する。
まず、画像抜き取りツールバー制御部22は取得したマウスデータ(図16に示している)のマウスステータスがマウスボタンのオンを示しているか否かを判定する(ステップ21)。そして、マウスボタンのオンを示しているならば(ステップ21でY)、マウスボタン座標下のボタンを選択表示にして(選択された状態を示す表示)にする(オンからオフまで同一ボタン座標とする)(ステップ22)、この動作フローから抜ける。それに対して、マウスボタンのオンを示していない場合(ステップ21でN)、それまで選択表示状態であればボタン表示を通常表示に戻し(ステップ23)、マウスデータがペンボタン(図13参照)押下を示しているか否かを判定する(ステップ24)。そして、ペンボタン押下を示しておれば(ステップ24でY)、描画モードがAPLモードか否かを判定する(ステップ25)。
こうして、APLモードであれば(ステップ25でY)上書き透明ウィンドウを表示し(ステップ26)、描画モードを「描画」に設定する(ステップ27)。APLモードでなければ(ステップ25でN)直ちに描画モードを「描画」に設定する(ステップ27)。
この後はこの動作フローを抜け、画像抜き取り制御が実行される。
一方、ステップ24で、マウスデータがペンボタン押下を示していなければ(ステップ24でN)、消去ボタン押下か否かを判定する(ステップ28)。そして、消去ボタン押下であれば(ステップ28でY)、描画モードがAPLモードか否かを判定する(ステップ29)。
その結果、APLモードであれば(ステップ29でY)上書き透明ウィンドウを表示し(ステップ30)、描画モードを「消去」に設定する(ステップ31)。APLモードでなければ(ステップ29でN)直ちに描画モードを「消去」に設定する(ステップ31)。
この後はこの動作フローを抜け、画像抜き取り制御が実行される。
一方、ステップ28で、マウスデータが消去ボタン押下を示していなければ(ステップ28でN)、設定ボタン押下か否かを判定する(ステップ32)。そして、設定ボタン押下であれば(ステップ32でY)、画像抜き取り設定ダイアログを表示し(ステップ33)、この動作フローを抜ける。
それに対して、マウスデータが設定ボタン押下を示していなければ(ステップ32でN)、実行ボタン押下か否かを判定する(ステップ34)。そして、実行ボタン押下であれば(ステップ34でY)、画像抜き取り制御部25が画像抜き取り制御を実行し(ステップ35)、範囲選択線で囲まれた領域の画像データを抽出する。そして、実行後、上書き透明ウィンドウを消去し(ステップ36)、描画モードをAPLモードに設定して(ステップ37)この動作フローを抜ける。
また、マウスデータが実行ボタン押下を示していなければ(ステップ34でN)、終了ボタン押下か否かを判定する(ステップ38)。そして、終了ボタン押下でなければ(ステップ38でN)この動作フローを抜け、終了ボタン押下であれば(ステップ38でY)、上書き透明ウィンドウを消去し(ステップ39)、画像抜き取りツールバーを消去し(ステップ40)、画像抜き取り制御の動作フローを終了させる。
次に、図17に従って画像抜き取り設定ダイアログ制御部23による画像抜き取り設定ダイアログ制御の動作フローを説明する。なお、図16に示したステップ33の実行で、画面には画像抜き取り設定ダイアログが表示されているものとする。
まず、画像抜き取り設定ダイアログ制御部23は取得したマウスデータ(図17参照)のマウスステータスがマウスボタンのオン(ペンダウン)を示しているか否かを判定する(ステップ41)。そして、マウスボタンのオンを示しているならば(ステップ41でY)、マウスデータが消しゴム長のハンドル操作領域内の座標を示しているか否かを判定し(ステップ42)、その領域内の座標であるならば(ステップ42でY)、マウス座標位置に相当する消しゴム長を算出してそのデータを保存するとともに(ステップ43)、その大きさの消しゴムを表示する(ステップ44)。
一方、ステップ42で消しゴム長のハンドル操作領域内の座標でないと判定されたならば(ステップ42でN)、並行距離つまみ操作領域内の座標か否かを判定し(ステップ45)、その領域内の座標である場合(ステップ45でY)、マウス座標位置に相当する並行距離を算出して保存するとともに(ステップ46)、つまみの表示位置をそのマウス座標位置へ移動させる(ステップ47)。
また、ステップ45で並行距離つまみ操作領域内の座標でないと判定されたならば(ステップ45でN)、継続距離つまみ操作領域内の座標か否かを判定し(ステップ48)、その領域の座標である場合(ステップ48でY)、マウス座標位置に相当する継続距離を算出して保存し(ステップ49)、つまみの表示位置をそのマウス座標位置へ移動させる(ステップ50)。
また、ステップ48で継続距離つまみ操作領域内の座標でないと判定されたならば(ステップ48でN)、そのときのマウスデータの示す座標のボタンを選択表示にする(ステップ51)(オンからオフまで同一座標とする)。
この後、マウスボタンの状態がオフ(ペンアップ)になったならば(ステップ41でN)、ステップ51で行なった選択表示を通常表示へ戻す(ステップ52)。そして、そのときまで選択表示されていたボタン(押下されたボタン)が色ボタンであれば(ステップ53でY)、押下位置のペン色を保存する(ステップ54)。また、選択表示されていたボタン(押下されたボタン)がOKボタンであれば(ステップ55でY)、保存されている並行距離、継続距離、ペン色、消しゴム長などを描画制御テーブルへ設定する(ステップ56)。さらに、画像抜き取り設定ダイアログを消去する(ステップ57)。また、選択表示されていたボタン(押下されたボタン)がキャンセルボタンであれば(ステップ58でY)、保存されていた並行距離、継続距離、ペン色、消しゴム長などの値を設定せずに画像抜き取り設定ダイアログを消去する(ステップ59)。
次に、図18および図19により範囲選択線描画制御部24の範囲選択線描画制御の動作フローを説明する。
この動作フローでは、範囲選択線描画制御部24がマウスボタン状態のオンからオフまで(ペンダウンからペンアップまで)のマウスデータを入力値として範囲選択線を描画する。
最初に、範囲選択線描画制御部24は描画モードが「消去」に設定されている否かを判定し(ステップ61)、「消去」に設定されていたならば(ステップ61でY)、後述する範囲選択線消去制御を実行して描画した範囲選択線を消去する(ステップ62)。
それに対して、「消去」に設定されていないならば(ステップ61でN)、マウスボタン状態がオン(ペンダウン)か否かを判定し(ステップ63)、オンであれば(ステップ63でY)、描画途中であって前に描画された範囲選択線と接続する接続モードである場合(ステップ64でY)、ペンアップまで非描画としてこの動作フローを抜ける。接続モードでなければ(ステップ64でN)、入力座標点を中心に並行距離までの矩形領域内に既に描画された範囲選択線(並行線)が存在するか否かを調べる(ステップ65)。そして、並行線が存在するならば(ステップ65でY)、描画開始前の状態(ストロークモード=停止、ペンアップ=マウスボタンオフ状態で停止モードに移行する)か否かを判定する(ステップ66)。
こうして、描画開始前の状態と判定されたならば(ステップ66でY)、ストロークモードを「並行」に設定して(ステップ67)この動作フローを抜ける。また、描画開始前の状態でなければ(ステップ66でN)、この描画途中の前の時点おいて並行線が存在すると判定されてストロークモードが「並行」と設定されているか否かを判定する(ステップ68)。そして、「並行」と設定されておらず(ステップ68でN)、且つストロークモードが「描画」であれば(ステップ69でY)、ストロークモードを「接続」に設定する(ステップ70)。
続いて、範囲選択線描画制御部24はストロークテーブルに保存されている直前座標から最小の距離となるストロークの先端座標または終端座標を範囲選択線データファイル26から検索する(ステップ71)。そして、得られた端点座標(先端座標または終端座標)と当該座標入力の直前に入力・保存された直前座標間を接続する線描画を行う(ステップ72)。さらに、得られた端点座標をストロークテーブルに保存し(ステップ73)、ストロークテーブル中のストローク座標数を1だけ増やす(ステップ74)。
ステップ65において並行線が存在せず(ステップ65でN)且つストロークモードが「並行」モードの場合(ステップ75でY)、つまり並行線が存在した状態から存在しない状態になったとき、範囲選択線描画制御部24はストロークモードを「描画」モードに設定する(ステップ76)。そして、そのときの入力座標から最小の距離となるストロークの先端座標または終端座標を範囲選択線データファイル26から検索する(ステップ77)。
続いて、得られた端点座標(先端座標または終端座標)と入力座標間を接続する線描画を行う(ステップ78)。そして、端点座標をストロークテーブルに保存し(ステップ79)、ストロークテーブル中のストローク座標数を1だけ増やす(ステップ80)。また、入力座標をストロークテーブルに保存し(ステップ81)、ストロークテーブル中のストローク座標数を1だけ増やす(ステップ82)。
それに対して、並行線が所定距離内から得られず(ステップ65でN)、並行モードでもない場合(ステップ75でN)、ストロークモードを「描画」にする(ステップ83)。そして、直前座標がストロークテーブルに保存されているならば(ステップ84でY)、その直前座標と入力座標を結合する線描画を行い(ステップ85)、入力座標をストロークテーブルに保存する(ステップ86)。それに対して、直前座標が保存されていないならば(ストローク座標数が0であるならば)、単に入力座標の保存のみ行う(ステップ86)。
入力座標の保存後は、ストローク座標数を1だけ増やして(ステップ87)この動作フローを抜ける。
一方、マウスボタンオフの状態(ペンアップ)になったならば(ステップ63でN)、ストローク座標数が1より大きいか否かを判定し(ステップ88)、1より大きければ(ステップ88でY)、ストロークデータを範囲選択線データファイル26へ保存する(ステップ89)。そして、ストローク座標数を0にし(ステップ90)、ストロークモードを「停止」(非描画状態)に設定する(ステップ91)。また、ストローク座標数が1より大きくなければ(ステップ88でN)、ストロークデータを保存せずにステップ90へ進む。
次に、図20により範囲選択線描画制御部24の範囲選択線消去制御を説明する。
範囲選択線描画制御部24による範囲選択線消去制御はマウスボタン状態のオンからオフまでのマウスデータを入力値として実行する。そのため、範囲選択線描画制御部24はまず、マウスボタン状態がオンか否かを判定する(ステップ101)。そして、マウスボタン状態がオンであれば(ステップ101でY)、入力座標を中心とする1辺が消しゴム長のカーソル領域を算出する(ステップ102)。さらに、ワークメモリ内のストローク数を0にする(ステップ103)。
続いて、範囲選択線描画制御部24は範囲選択線データファイル26(図20参照)に記憶されている当該ストロークのストロークデータをその範囲選択線データファイル26から取得する(ステップ104)。
次に、ワークメモリ内の座標数を0にし(ステップ105)、マウスデータとして入力された当該座標が消去済の座標でないならば(ステップ106でN)、当該入力座標が消しゴムカーソル領域内にあるか否かを判定する(ステップ107)。そして、消しゴムカーソル領域内にある場合(ステップ107でY)、ストロークデータ中の当該ストローク座標のフラグ(属性)を「消去」に設定する(ステップ108)。
続いて、当該ストローク座標の1つ前の座標が有効である場合は当該座標と1つ前の座標間を透明色で線描画し、1つ後の座標が有効である場合は当該座標と1つ後の座標間を透明色で線描画することにより当該範囲選択線を消去する(ステップ109)。そして、ワークメモリ内の座標数を1だけ増やす(ステップ110)。
続いて、その座標数が範囲選択線データファイル26から取得した当該ストロークのストローク座標数より小さいか否か、つまり当該ストロークのすべての座標について処理したか否かを判定し(ステップ111)、未処理の座標が残っている場合(ステップ111でY)、ステップ106から繰り返す。そして、未処理の座標がなくなると(ステップ111でN)、当該ストロークに消去座標があった場合(ステップ112でY)、当該ストロークのストロークデータを範囲選択線データファイル26へ書き込む(ステップ113)。
この後、ワークメモリ内のストローク数を1だけ増やし(ステップ114)、そのストローク数が範囲選択線データファイル26から取得したストローク総数より小さいか否かを判定する(ステップ115)。そして、小さければ(ステップ115でY)、ステップ104から次のストロークのデータについて繰り返し、ストローク数とストローク総数が同じになると(ステップ115でN)、この動作フローから抜ける。
次に、図21および図22に従って画像抜き取り制御部25による画像抜き取り制御の動作フローを説明する。
まず、画像抜き取り制御部25は範囲選択線の全座標を抽出し、範囲選択線座標テーブル(図21参照)を作成する(ステップ121)。そして、その範囲選択線座標テーブル中の全座標の座標種別を外点座標に設定する。
続いて、作成した範囲選択線座標テーブルを検索して頂点座標を抽出し(ステップ122)、その座標種別を頂点座標に変更する。さらに、範囲選択線座標テーブルを検索して底点座標を抽出し(ステップ123)、その座標種別を底点座標に変更する。
次いで、範囲選択線座標テーブル中の全座標から画像抜き取り領域の原点座標、幅、および高さを算出し(ステップ124)、画像抜き取りラインファイルを作成する(ステップ125)。そして、ワークメモリ内のライン番号領域の値を0(ステップ126)、保存されている座標の座標種別を記憶する保存座標領域の値を「なし」(ステップ127)、未処理の頂点数および底点数を示す頂底点数を0(ステップ128)、座標数を0(ステップ129)とする。
次に、範囲選択線座標テーブル内の当該ライン番号、当該座標の座標種別が外点座標か否かを判定し(ステップ130)、外点座標の場合(ステップ130でY)、保存座標領域の設定が「なし」であるならば(ステップ131でY)、保存座標領域の設定を「外点座標」とする(ステップ132)。そして、頂底点数が0であれば(頂点座標も底点座標も保存されていなければ)(ステップ133でN)、座標数を1だけ増やす(ステップ140)。
それに対して、頂底点数が0より大きいならば(頂点座標または底点座標が保存されているならば)(ステップ133でY)、頂点座標または底点座標だけで画像抜き取りラインを作成し(ステップ134)、画像抜き取りラインファイル27に保存し、頂底点数を0にする(ステップ135)。また、保存座標領域の設定が「なし」でないならば(ステップ131でN)、保存座標(外点座標)と当該外点座標を端点とする画像抜き取りラインを作成し(ステップ136)、画像抜き取りラインファイル27に保存する。そして、保存座標領域の設定を「なし」にし(ステップ137)、座標数を1だけ増やす(ステップ140)。
一方、当該座標の座標種別が外点座標でない場合(ステップ130でN)、つまり、頂点座標か底点座標である場合、その頂点座標または底点座標を頂底点座標テーブルに保存する(ステップ138)。そして、頂底点数を1だけ増やし(ステップ139)、座標数を1だけ増やす(ステップ140)。
座標数を1増やした後はその座標数(ワークメモリ内の座標数)を当該ラインの範囲選択線座標数と比較し(ステップ141)、ワークメモリ内の座標数の方が小さければ(ステップ141でY)、次の座標についてステップ130から繰り返す。
こうして、1つのラインについて画像抜き取りライン作成が終了すると(ステップ141でN)、頂底点数が0であれば(頂点座標も底点座標も保存されていなければ)(ステップ142でN)、直ちにライン番号を1だけ増やす(ステップ145)。それに対して、頂底点数が0より大きいならば(頂点座標または底点座標が保存されているならば)(ステップ142でY)、頂点座標または底点座標だけで画像抜き取りラインを作成し(ステップ143)、画像抜き取りラインファイル27に保存する。そして、頂底点数を0にして(ステップ144)、ライン番号を1だけ増やす(ステップ145)。
続いて、1増やしたライン番号を範囲選択線座標テーブルのライン総数と比較し(ステップ146)、ライン番号の方が小さければ(ステップ146でY)、1増やしたライン番号のラインについてステップ127から繰り返す。
こうして、全ラインについて画像抜き取りライン作成が終了すると(ステップ146でN)、範囲選択線データファイル26の上書き消去を行う(ステップ147)。そして、画面に表示された画像の画像データを画面画像領域へ取り込む(ステップ148)。
続いて、ライン番号を0にし(ステップ149)、そのライン番号の画像抜き取りラインデータを用いて画面画像領域から画像データを抽出する(ステップ150)。そして、抽出した画像データを抜き取り画像領域に保存し(ステップ151)、ライン番号を1増やす(ステップ152)。
次に、1増やしたライン番号を抜き取りライン総数と比較し(ステップ153)、ライン番号の方が小さければ(ステップ153でY)、1増やしたライン番号のラインに付いてステップ150から繰り返す。そして、すべてのラインについて画像データの抽出が終了すると(ステップ153でN)、抜き取り画像領域に抽出された画像データを画像ファイル28に保存する(ステップ154)。
以上、説明したように、この実施例によれば、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上に直接画像抜き取り領域を囲む範囲選択線を描画し、範囲選択線で囲んだ領域内の画像データを抜き取ることができるので、画像抜き取りのために例えば任意のアプリケーションプログラムにより表示された画面の全面コピーや貼り付けが不要になり、したがって操作が簡単になる。
また、範囲選択線を複数のストロークにより描画できるので、例えば途中で範囲選択線が不本意な描画になってしまったような場合、最初から描画し直す必要がなくなる。
また、範囲選択線を描画する際、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になるまで当該時点の描画座標を一方の端点とする範囲選択線描画を停止するので、無意味な描画を行わないで済む。また、その際、範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在しない状態になると、当該時点の描画座標をその描画座標に最も近いストローク端点の座標に接続する範囲選択線を描画するので、操作者の意図に合った描画ができる。
また、範囲選択線を描画中に、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に検知される状態になったとき、描画された範囲選択線中の直前設定座標とそのときに検知された範囲選択線中の該直前設定座標に最も近い端点の座標とを接続する描画を行うので、描き始めの端点に容易に位置合わせできる。また、その際、直前の座標の接続後、ペンアップまでの描画座標を描画対象外とするので、余計な描画を行わないで済む。
また、画像抜き取り領域内の当該検索ライン上に頂点座標とその頂点座標を挟む2つの外点座標のみがある場合、その2つの外点座標により画像抜き取りラインを作成するので、正しい画像抜き取りラインを作成できる。同様に、同一検索ライン上に底点座標とその底点座標を挟む2つの外点座標のみがある場合、その2つの外点座標により画像抜き取りラインを作成するので、正しい画像抜き取りラインを作成できる。
なお、ここでは、一実施例について説明したが、説明したような画像抜き取り方法に従ってプログラミングしたプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によった画像抜き取りを行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によった画像抜き取りを行うことができる。
本発明の一実施形態を示す、タブレットPCの外観図である。 本発明の一実施形態を示す、タブレットPC制御系の構成図である。 本発明の一実施形態を示す、タブレットPC制御系要部のデータ構成図である。 本発明の一実施例を示す、タブレットPCの行う範囲選択線描画に関する説明図である。 本発明の一実施例を示す、タブレットPCの行う範囲選択線描画に関する他の説明図である。 本発明の一実施例を示す、タブレットPCの行う範囲選択線描画に関する他の説明図である。 本発明の一実施例を示す、タブレットPCの行う画像抜き取りに関する説明図である。 本発明の一実施例を示す、タブレットPCの行う画像抜き取りに関する他の説明図である。 本発明の一実施例を示す、タブレットPCの行う画像抜き取りに関する他の説明図である。 本発明の一実施例を示す、タブレットPCの行う画像抜き取りに関する他の説明図である。 本発明の一実施例を示す、タブレットPCの行う画像抜き取りに関する他の説明図である。 本発明の一実施例を示す、タブレットPCの行う画像抜き取りに関する他の説明図である。 本発明の一実施例を示す、タブレットPCの画像抜き取り操作に関する説明図である。 本発明の一実施例を示す、タブレットPCの画像抜き取り制御系の構成図である。 本発明の一実施例を示す、タブレットPCのマウス入力制御の動作フロー図である。 本発明の一実施例を示す、タブレットPCの画像抜き取りツールバー制御の動作フロー図である。 本発明の一実施例を示す、タブレットPCの画像抜き取り設定ダイアログ制御の動作フロー図である。 本発明の一実施例を示す、タブレットPCの範囲選択線描画制御の動作フロー図である。 本発明の一実施例を示す、タブレットPCの範囲選択線描画制御の他の動作フロー図である。 本発明の一実施例を示す、タブレットPCの範囲選択線消去制御の動作フロー図である。 本発明の一実施例を示す、タブレットPCの画像抜き取り制御の動作フロー図である。 本発明の一実施例を示す、タブレットPCの画像抜き取り制御の他の動作フロー図である。
符号の説明
1 電子ペン
2 タッチパネルディスプレイ
3 液晶ディスプレイ
4 PC本体
11 タッチパネルドライバ
12 マウスインタフェース
13 アプリケーション処理部
21 マウス入力制御部
22 画像抜き取りツールバー制御部
23 画像抜き取り設定ダイアログ制御部
24 範囲選択線描画制御部
25 画像抜き取り制御部
26 範囲選択線データファイル
27 画像抜き取りラインファイル
28 画像ファイル

Claims (24)

  1. 画面上で任意形状の範囲選択線により囲まれた領域内の画像データを抜き取ることができる画像編集装置において、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上にウィンドウを表示させ、該ウィンドウ上で画像抜き取り領域を囲む範囲選択線を描画する選択線描画手段と、前記範囲選択線で囲まれた領域内の画像データを抜き取る画像抜き取り手段と、を備えたことを特徴とする画像編集装置。
  2. 請求項1記載の画像編集装置において、前記選択線描画手段は透明ウィンドウを表示させることを特徴とする画像編集装置。
  3. 請求項1または2記載の画像編集装置において、前記選択線描画手段は前記範囲選択線を複数のストロークにより描画することを特徴とする画像編集装置。
  4. 請求項1、2または3記載の画像編集装置において、前記選択線描画手段により描画された前記範囲選択線を消去する選択線消去手段を備えたことを特徴とする画像編集装置。
  5. 請求項1、2または3記載の画像編集装置において、前記選択線描画手段は、前記範囲選択線を描画する際、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になるときまで前記当該時点の描画座標を一方の端点とする範囲選択線描画を停止することを特徴とする画像編集装置。
  6. 請求項5記載の画像編集装置において、前記選択線描画手段は、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になったときに前記当該時点の描画座標と前記範囲選択線のストローク端点のうち該描画座標に最も近い端点の座標とを接続する範囲選択線を描画することを特徴とする画像編集装置。
  7. 請求項1、2または3記載の画像編集装置において、前記選択線描画手段は、前記範囲選択線を描画中に、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に検知されない状態から検知される状態になったとき、前記描画された範囲選択線中の直前設定座標と前記検知された範囲選択線中の該直前設定座標に最も近い端点の座標とを接続する描画を行うことを特徴とする画像編集装置。
  8. 請求項7記載の画像編集装置において、前記直前の座標の接続後、ペンアップまでの描画座標を描画対象外とすることを特徴とする画像編集装置。
  9. 請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とし、該頂点座標のみで画像抜き取りラインを作成することを特徴とする画像編集装置。
  10. 請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とするときに、同一検索ライン上に前記頂点座標と該頂点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする画像編集装置。
  11. 請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とし、該底点座標のみで画像抜き取りラインを作成することを特徴とする画像編集装置。
  12. 請求項1、2または3記載の画像編集装置において、前記画像抜き取り手段は、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とするときに、同一検索ライン上に前記底点座標と該底点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする画像編集装置。
  13. 画面上で任意形状の範囲選択線により囲まれた領域内の画像データを抜き取る画像抜き取り方法において、画像抜き取り機能を持たない任意のアプリケーションプログラムにより表示された画像上に透明ウィンドウを表示させ、該透明ウィンドウ上で画像抜き取り領域を囲む範囲選択線を描画し、該範囲選択線で囲んだ領域内の画像データを抜き取ることを特徴とする画像抜き取り方法。
  14. 請求項13記載の画像抜き取り方法において、前記選択線を描画する際、前記範囲選択線を複数のストロークにより描画することを特徴とする画像抜き取り方法。
  15. 請求項13または14記載の画像抜き取り方法において、前記範囲選択線を描画する際、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になるまで前記当該時点の描画座標を一方の端点とする範囲選択線描画を停止することを特徴とする画像抜き取り方法。
  16. 請求項15記載の画像抜き取り方法において、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に存在していた状態から存在しない状態になったときに前記当該時点の描画座標と前記範囲選択線のストローク端点のうち該描画座標に最も近い端点の座標とを接続する範囲選択線を描画することを特徴とする画像抜き取り方法。
  17. 請求項13または14記載の画像抜き取り方法において、前記範囲選択線を描画中に、当該時点までに描画された範囲選択線が当該時点の描画座標を中心とする所定の距離内に検知されない状態から検知される状態になったとき、前記描画された範囲選択線中の直前設定座標と前記検知された範囲選択線中の該直前設定座標に最も近い端点の座標とを接続する描画を行うことを特徴とする画像抜き取り方法。
  18. 請求項17記載の画像抜き取り方法において、前記直前の座標の接続後、ペンアップまでの描画座標を描画対象外とすることを特徴とする画像抜き取り方法。
  19. 請求項13または14記載の画像抜き取り方法において、前記画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とし、該頂点座標のみで画像抜き取りラインを作成することを特徴とする画像抜き取り方法。
  20. 請求項13または14記載の画像抜き取り方法において、前記画像抜き取り領域内の当該検索ライン上の座標中から、前記範囲選択線上にあり且つ後続検索ライン上にある2つの座標の間のX座標を持つとともに、前記2つの座標が継続座標となる前記範囲選択線上の座標を検索し、該当する座標を頂点座標とするときに、同一検索ライン上に前記頂点座標と該頂点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする画像抜き取り方法。
  21. 請求項13または14記載の画像抜き取り方法において、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とし、該底点座標のみで画像抜き取りラインを作成することを特徴とする画像抜き取り方法。
  22. 請求項13または14記載の画像抜き取り方法において、前記範囲選択線上にあり且つ当該検索ラインにある座標中から、前記範囲選択線上にあり且つ前の検索ライン上にある2つの座標の間のX座標を持つとともに前記2つの座標の継続座標となる座標を検索し、該当する座標を底点座標とするときに、同一検索ライン上に前記底点座標と該底点座標を挟む2つの外点座標のみがある場合、該2つの外点座標により画像抜き取りラインを作成することを特徴とする画像抜き取り方法。
  23. オペレーティングシステム上で実行されるプログラムにおいて、請求項13乃至22のいずれか1項に記載の画像抜き取り方法によった画像抜き取りを実行させるようにプログラミングされていることを特徴とするプログラム。
  24. プログラムを記憶した記憶媒体において、請求項23記載のプログラムを記憶したことを特徴とする記憶媒体。
JP2005199102A 2005-07-07 2005-07-07 画像編集装置、画像抜き取り方法、プログラム及び記憶媒体 Pending JP2007018261A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005199102A JP2007018261A (ja) 2005-07-07 2005-07-07 画像編集装置、画像抜き取り方法、プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005199102A JP2007018261A (ja) 2005-07-07 2005-07-07 画像編集装置、画像抜き取り方法、プログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2007018261A true JP2007018261A (ja) 2007-01-25

Family

ID=37755384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005199102A Pending JP2007018261A (ja) 2005-07-07 2005-07-07 画像編集装置、画像抜き取り方法、プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2007018261A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010143392A1 (en) * 2009-06-09 2010-12-16 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
JP2011232881A (ja) * 2010-04-26 2011-11-17 Sharp Corp 画像処理装置、表示装置、画像処理方法、画像処理プログラム、記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973550A (ja) * 1995-09-07 1997-03-18 Fuji Xerox Co Ltd 図形編集装置
JP2004258859A (ja) * 2003-02-25 2004-09-16 Denso Corp 3次元cadシステムのワイヤフレームデータ修正装置、3次元cadシステムのワイヤフレームデータ修正装置の制御用プログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体、及び3次元cadシステムのワイヤフレームデータ修正方法
JP2005092644A (ja) * 2003-09-18 2005-04-07 Ricoh Co Ltd タッチパネル付きディスプレイ装置の表示制御方法およびその方法をコンピュータに実行させるためのプログラム、タッチパネル付きディスプレイ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973550A (ja) * 1995-09-07 1997-03-18 Fuji Xerox Co Ltd 図形編集装置
JP2004258859A (ja) * 2003-02-25 2004-09-16 Denso Corp 3次元cadシステムのワイヤフレームデータ修正装置、3次元cadシステムのワイヤフレームデータ修正装置の制御用プログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体、及び3次元cadシステムのワイヤフレームデータ修正方法
JP2005092644A (ja) * 2003-09-18 2005-04-07 Ricoh Co Ltd タッチパネル付きディスプレイ装置の表示制御方法およびその方法をコンピュータに実行させるためのプログラム、タッチパネル付きディスプレイ装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010143392A1 (en) * 2009-06-09 2010-12-16 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
US9317226B2 (en) 2009-06-09 2016-04-19 Canon Kabushiki Kaisha Image processing apparatus for allowing a user to select a region of a web page
JP2011232881A (ja) * 2010-04-26 2011-11-17 Sharp Corp 画像処理装置、表示装置、画像処理方法、画像処理プログラム、記録媒体

Similar Documents

Publication Publication Date Title
JP4602166B2 (ja) 手書き情報入力装置。
JP4637455B2 (ja) ユーザインタフェースの利用方法並びにコンピュータで使用可能な媒体を含む製品
JP4132129B2 (ja) スタイラス入力を容易にする方法及びシステム
US7319454B2 (en) Two-button mouse input using a stylus
JP6189451B2 (ja) 手書き文書情報を処理するための電子機器および方法
JP3997566B2 (ja) 描画装置、及び描画方法
US20070038955A1 (en) Pen-based computer system having first and second windows together with second window locator within first window
US20050088418A1 (en) Pen-based computer interface system
JP4513830B2 (ja) 描画装置、及び描画方法
JP5664164B2 (ja) 電子情報ボード装置、情報表示方法、プログラム
US20150154444A1 (en) Electronic device and method
US20150146986A1 (en) Electronic apparatus, method and storage medium
EP3306458A1 (en) Information processing device, image display method, and program
JP6054547B2 (ja) 手書き文書情報を処理するための電子機器および方法
JP2004013318A (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
JP2007018261A (ja) 画像編集装置、画像抜き取り方法、プログラム及び記憶媒体
JPH0736607A (ja) 手書き文字入力装置
WO2022218352A1 (zh) 触控操作方法及装置
JP2005092644A (ja) タッチパネル付きディスプレイ装置の表示制御方法およびその方法をコンピュータに実行させるためのプログラム、タッチパネル付きディスプレイ装置
JP2001067183A (ja) 座標入力/検出装置および電子黒板システム
JP4266076B2 (ja) 電子黒板システム
JP4148867B2 (ja) 筆跡処理装置
JP2008027002A (ja) 上書き制御システム、上書きページ保存・表示方法、プログラム及び記録媒体
US8629846B2 (en) Information processing apparatus and information processing method
JP7357534B2 (ja) 情報処理システム、情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080624

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101221