(57)【要約】【課題】画像を１つまたは複数の選択可能なサブパートに分割するコンピュータ実行方法を提供する。【解決手段】本発明は画像を分割するためのコンピュータ実行方法に関する。コンピュータ実行方法は、縁を含む画像を表示するステップ（Ｓ１０）と、画像に重ねて曲線を描くステップ（Ｓ２０）と、曲線と画像の縁とで囲まれた、全ての閉じられたエリアを計算するステップであって、各々の閉じられたエリアは、他の計算された閉じられたエリアから独立しており、個々に選択可能である、ステップとを備える。【選択図】図７
2016100016.tif 000002
【特許請求の範囲】
【請求項１】
画像を分割するためのコンピュータ実行方法であって、
縁を含む画像を表示するステップ（Ｓ１０）と、
前記画像に重ねて曲線を描くステップ（Ｓ２０）と、
前記曲線と前記画像の前記縁とで囲まれた、全ての閉じられたエリアを計算するステップであって、各々の閉じられたエリアは、他の計算された閉じられたエリアから独立しており、個々に選択可能である、ステップと
を備えるコンピュータ実行方法。
【請求項２】
前記画像に重ねて前記曲線を描くステップの後に、
前記画像に重ねて描いた前記曲線から連続したポリラインを構築するステップ（Ｓ４０）と、
前記連続したポリラインを形成する各線に関して、前記表示された画像の前記各線を辺として有するピクセルを識別するステップ（Ｓ５０）と
をさらに備えることを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記連続したポリラインを構築するステップ（Ｓ４０）は、
前記画像に重ねて描かれた前記曲線の２つの異なる終点をリンクするピクセルの集合を計算するステップであって、前記集合の隣接するピクセルは共通の辺を有する、ステップと、
前記ポリラインの各線が、前記計算されたピクセルの集合の前記ピクセルの１つの辺である、連続したポリラインを構築するステップと
を含むことを特徴とする請求項２に記載のコンピュータ実行方法。
【請求項４】
前記表示された画像の前記ピクセルを識別するステップ（Ｓ５０）の後に、
各々識別されたピクセルをマーク付けするステップであって、前記マーク付けは前記各々識別されたピクセルに対するポリラインの位置を示す、ステップをさらに備えることを特徴とする請求項３に記載のコンピュータ実行方法。
【請求項５】
前記各々識別されたピクセルをマーク付けするステップは、ＲＧＢＡ色空間で符号化された色で、各々識別されたピクセルを色付けするステップ（Ｓ６０）により実行され、
第１のＲＧＢＡ値は、ポリラインが前記ピクセルの右側に位置することを示し、
第２のＲＧＢＡ値は、ポリラインが前記ピクセルの左側に位置することを示し、
第３のＲＧＢＡ値は、ポリラインが前記ピクセルの上側に位置することを示し、
第４のＲＧＢＡ値は、ポリラインが前記ピクセルの下側に位置することを示すことを特徴とする請求項４に記載のコンピュータ実行方法。
【請求項６】
前記各々識別されたピクセルを色付けするステップは、累積的であることを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項７】
前記曲線と前記画像の前記縁とで囲まれた全ての閉じられたエリアを計算するステップは領域拡張アルゴリズムを用いることによって実行され、ピクセルの領域加入基準は前記連続したポリラインを超えないことを特徴とする請求項４から請求項６の１項に記載のコンピュータ実行方法。
【請求項８】
前記領域拡張アルゴリズムは、
（ｉ）第１の閉じられたエリアに属する、前記画像の第１のピクセルを選択するステップと、
（ｉｉ）前記選択された第１のピクセルに隣接する、前記領域加入基準を満たすピクセルを、前記選択されたピクセルへの前記マーク付けを用いて、識別するステップと、
（ｉｉｉ）ステップ（ｉｉ）で識別された各々隣接するピクセルを、前記選択された第１のピクセルとして、選択、処理されるピクセルのリストに追加するステップと、
（ｉｖ）前記選択された第１のピクセルをチェック済みとしてマーク付けし、前記選択された第１のピクセルを前記第１の閉じられたエリアに属するピクセルのリストに追加するステップと、
（ｖ）選択すべきピクセルの前記リストから第２のピクセルを選択し、ステップ（ｉｉ）から（ｉｖ）を前記第２のピクセルに対して実行するステップと、
（ｖｉ）選択すべきピクセルの前記リストの全ての前記ピクセルが選択されるまで、前記ステップ（ｖ）を繰り返すステップと
を備えることを特徴とする請求項７に記載のコンピュータ実行方法。
【請求項９】
（ｖｉｉ）前記画像の第２の閉じられたエリアに属する第３のピクセルを識別するステップであって、前記第３のピクセルはステップ（ｉｖ）でマーク付けされていない、ステップと
（ｖｉｉｉ）前記ステップ（ｉｉ）から（ｖｉ）を実行するステップと、
（ｉｘ）前記画像の全ての前記ピクセルがチェック済みとしてマーク付けされるまで前記ステップ（ｖｉｉ）から（ｖｉｉｉ）を繰り返すステップと
をさらに備えることを特徴とする請求項８に記載のコンピュータ実行方法。
【請求項１０】
前記連続したポリラインを構築するステップから開始され、実行されるステップはマスクに対して実行され、前記マスクは前記表示された画像と同じサイズおよび同じ数のピクセルを有する画像であることを特徴とする請求項２から９の１項に記載のコンピュータ実行方法。
【請求項１１】
前記マスクは空白画像として初期設定され、チェック済みとしてマーク付けされた前記ピクセルは閉じられたエリアに属するピクセルのリストに追加される場合に、黒で色付けされることを特徴とする、請求項９と組み合わされた、請求項１０に記載のコンピュータ実行方法。
【請求項１２】
前記計算された閉じられたエリアは、四分木データ構造に記憶されることを特徴とする請求項１から１１の１項に記載のコンピュータ実行方法。
【請求項１３】
前記全ての閉じられたエリアを計算するステップの後に、
少なくとも１つの閉じられたエリアを個々に選択するステップと、
選択された各々閉じられたエリアに関して独立した画像を生成するステップと
をさらに備えることを特徴とする請求項１から１２の１項に記載のコンピュータ実行方法。
【請求項１４】
請求項１から１３のいずれかの方法を実行するための命令を備えたコンピュータプログラム。
【請求項１５】
メモリとグラフィカルユーザインタフェースとに結合されたプロセッサを備え、前記メモリは請求項１４の前記コンピュータプログラムを記録することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム及びシステムの分野に関し、より詳細には、画像を分割する方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
画像の処理に用いられる描画ソフトウェアのほとんどは、画像のサブパート（subpart）を抽出する機能をユーザに提供する。典型的には、ユーザは、画像を分割する時、以下の操作を行う必要がある。最初に、ユーザは、自分が探しているサブパートの境界を定める。ユーザは、自由な形を描いてもよいし、プリミティブな形（長方形、円形・・・）を描いてもよい。そうすると、ユーザの描画に基づいて、ソフトウェアは、２つの異なる部分、すなわち、描画の内側の第１の部分と、描画の外側の第２の部分に分けようとする。
【０００３】
ユーザが自由な形を描いた場合、ソフトウェアは、最初の点を最後の点にリンクさせて、描画を閉じる。これは、描画が画像の「内側」と「外側」とを画定することを確実にするために必要である。これは、図１、図２に示してある。図１においては、ユーザが描いた自由な形１０は、その開始点と終点の間が連結されていないので、閉じられていない。リンク２０が、図２に示すように、（境界である）閉じられた自由な形を取得するためにソフトウェアによって作成される。このようにして、画像を分割する既知の方法によって、画像を２つの異なったエリアに分けることができる。１番目のエリアは境界の内側であり、２番目のエリアは境界の外側である。そして、ユーザが分離を有効に（自動的に行われる場合もある）した後、内側の部分のみが保持される。この選択は、逆に、外側部分を保持する場合もあるが、常にそうとは限らない。ただ画像のサブパートが選択される。この選択から別の画像を作成するために、または、別の画像または何か他のものを取り除くために、ユーザは、さらにアクションを行う必要がある。例えば、ユーザの選択を用いて別の画像を作成するためには、ユーザは、新しい画像を作成し、コピーペーストを行うか、自分の選択を逆にして、不要な部分を取り除く必要がある。
【０００４】
画像を分割するための既知の解決法は、幾つかの制約を伴う。第１の制約は、ユーザは、自分が欲するサブパートを常に正確に画定できるとは限らないことである。これは、ソフトウェアは、ユーザがプリミティブな形（例えば、長方形）を用いて境界を特定するのを可能にするだけか、（例えば、その描画が既に閉じた曲線を画定している場合）ソフトウェアは描画の形を考慮しないで、最初の点と最後の点をリンクして閉じた曲線を作成するからである。これは、図３、図４に示すように、良くない結果につながる。図３において、ユーザは画像に自由な形を描いた。これは閉じられた自由な形である。しかしながら、閉じられた自由な形の開始点と終点の間が連結されていないので、ソフトウェアは、これら２つの点の間にリンクを生成して、図４に示す第２の閉じられたエリアを生成する。よって、ユーザの意図は考慮されない。
【０００５】
別の短所は、ソフトウェアが保持するサブパートは常に内側であるということである。一部のプログラムにおいては、ユーザは、それを逆にして、内側のパートではなく外側のパートを保持する操作を行うことができるが、常に可能とは限らない。
【０００６】
さらなる短所は、幾つかのサブパートを選択することは、時間がかかり、面倒なことである。これは、ユーザが画像に取り組み、２つの異なるパートを画像から抽出したいという以下のシナリオで例証される。既存のソフトウェアを用いると、ユーザは、次のステップに従う必要がある。すなわち、元画像をインポートする、閉じた形を描くことによって第１のサブパートを画定する、新しい画像にこの部分をコピー／ペーストする（または、選択を逆にして、選択していない部分を除く）、元画像を再びインポートする、閉じた形を描くことによって第２のサブパートを画定する、新しい画像にこの部分をコピー／ペーストする（または、選択を逆にして、選択していない部分を除く）。
【０００７】
さらなる短所の１つは、ユーザが画像を単に半分に切りたい場合、図５、図６に示すように、ユーザが欲しい画像の部分の周りに円形を描く必要がある。これは、直観的ではなく、時間がかかり、かつ、人間工学的に効率が良くない。
【０００８】
さらなる短所としては、既知の解決法は、ユーザが描いた閉じられたエリアまたはプリミティブな形の「内側」と「外側」の検出に依存しているので、サブパートの選択は、予測不可能な場合がある。しかしながら、自由な形の「内側」と「外側」の識別は、現在のアルゴリズムにとっては複雑なタスクとなり得る。特に、自由な形が幾つかの交点を含む時、アルゴリズムは、自由な形のどの部分が内側でどの部分が外側か識別できない場合がある。さらに、閉じられたエリアの「内側」と「外側」の検出は、現在のアルゴリズムにとって簡単ではないので、コンピュータシステムにとっては時間がかかる。よって、かなりの量のコンピューティング資源が、予測不可能であり得る結果のために用いられる。
【０００９】
この文脈で、画像を１つまたは複数の選択可能なサブパートに分割する改良された方法が必要とされている。
【発明の概要】
【００１０】
従って、画像を分割するコンピュータ実行方法を提供する。コンピュータ実行方法は以下のステップを含む。
・縁を含む画像を表示するステップ。
・画像に重ねて曲線を描くステップ。
・曲線と画像の縁とで囲まれた、全ての閉じられたエリアを計算するステップであって、各々の閉じられたエリアは、他の計算された閉じられたエリアから独立しており、個々に選択可能である、ステップ。
【００１１】
コンピュータ実行方法は以下のステップをさらに含む。
・画像に重ねて曲線を描くステップの後、画像に重ねて描いた曲線から連続したポリラインを構築するステップ（Ｓ４０）と、連続したポリラインを形成する各線に関して、表示された画像の当該各線を辺として有するピクセルを識別するステップ。
・連続したポリラインを構築するステップは、画像に重ねて描かれた曲線の２つの異なる終点をリンクするピクセルの集合を計算することを含み、その集合の隣接するピクセルは共通の辺を有し、連続したポリラインを構築するステップにおいて、ポリラインの各線は、計算されたピクセルの集合のピクセルの１つの辺である。
・表示された画像のピクセルを識別するステップの後、各々識別されたピクセルをマーク付けするステップであって、マーク付けは当該各識別されたピクセルに対するポリラインの位置を示す、ステップ。
・各識別されたピクセルをマーク付けするステップは、ＲＧＢＡ色空間で符号化された色で、各識別されたピクセルを色付けすることによって行われる。第１のＲＧＢＡ値は、ポリラインがピクセルの右側に位置することを示し、第２のＲＧＢＡ値は、ポリラインがピクセルの左側に位置することを示し、第３のＲＧＢＡ値は、ポリラインがピクセルの上側に位置することを示し、第４のＲＧＢＡ値は、ポリラインがピクセルの下側に位置することを示す。
・各ピクセルに色をつけることは、累積的である。
・曲線と画像の縁とで囲まれた全ての閉じられたエリアを計算するステップは、領域拡張アルゴリズムを用いることによって実行され、ピクセルの領域加入基準は、連続したポリラインを超えないことである。
・領域拡張アルゴリズムは、以下のステップを含む。（ｉ）画像の第１の閉じられたエリアに属する第１のピクセルを選択するステップ、（ｉｉ）基準を満たす選択された第１のピクセルに隣接するピクセルを、選択されたピクセルへのマーク付けを用いて、識別するステップ、（ｉｉｉ）ステップ（ｉｉ）で識別された各隣のピクセルを、第１の選択されたピクセルとして、選択、処理されるピクセルのリストに追加するステップ、（ｉｖ）選択された第１のピクセルをチェック済みとしてマーク付けし、選択された第１のピクセルを第１の閉じられたエリアに属するピクセルのリストに追加するステップ、（ｖ）選択すべきピクセルのリストから第２のピクセルを選択し、ステップ（ｉｉ）〜（ｉｖ）を第２のピクセルに対して実行するステップ、（ｖｉ）選択すべきピクセルのリストの全てのピクセルが選択されるまで、ステップ（ｖ）を繰り返すステップ。
・（ｖｉｉ）画像の第２の閉じられたエリアに属する第３のピクセルを識別するステップであって、第３のピクセルはステップ（ｉｖ）でマーク付けされていない、ステップ、（ｖｉｉｉ）ステップ（ｉｉ）〜（ｖｉ）を実行するステップ、（ｉｘ）画像の全てのピクセルがチェック済みとしてマーク付けされるまでステップ（ｖｉｉ）〜（ｖｉｉｉ）を繰り返すステップ。
・連続したポリラインを構築するステップから開始され、実行されるステップは、マスクに対して実行される。マスクは、表示された画像と同じサイズ及び同じ数のピクセルを有する画像である。
・マスクは、空白画像として初期設定され、チェック済みとしてマーク付けされたピクセルは、閉じられたエリアに属するピクセルリストに追加される時、黒で色付けされる。
・計算された閉じられたエリアは、四分木データ構造に記憶される。
・全ての閉じられたエリアを計算するステップの後、少なくとも１つの閉じられたエリアを個々に選択するステップと、選択された各々閉じられたエリアに関して独立した画像を生成するステップ。
【００１２】
上記方法を行う命令を含むコンピュータプログラムをさらに提供する。
【００１３】
コンピュータプログラムを記録したコンピュータ可読記憶媒体をさらに提供する。
【００１４】
コンピュータプログラムを記録したメモリとグラフィックユーザインタフェースとに接続されたプロセッサを含むシステムをさらに提供する。
【図面の簡単な説明】
【００１５】
発明の実施形態を、添付の図面を参照して、例を挙げて記載するが、発明はそれらの例に限定されない。
【図１】画像を分割する既知の方法の例を示す図である。
【図２】画像を分割する既知の方法の例を示す図である。
【図３】画像を分割する既知の方法の例を示す図である。
【図４】画像を分割する既知の方法の例を示す図である。
【図５】画像を分割する既知の方法の例を示す図である。
【図６】画像を分割する既知の方法の例を示す図である。
【図７】本発明の例を示すフローチャートである。
【図８】本発明で用いられる伝播アルゴリズムの例を示すフローチャートである。
【図９】本発明に係る、分割された画像から新しい画像を生成する操作を示すフローチャートである。
【図１０】画像に重ねてユーザが描いた曲線を示す図である。
【図１１】本発明に係る、曲線からポリラインを計算する例を示す図である。
【図１２】本発明に係る、曲線からポリラインを計算する例を示す図である。
【図１３】本発明に係る、曲線からポリラインを計算する例を示す図である。
【図１４】本発明に係る、閉じられたエリアの計算を示す図である。
【図１５】本発明に係る、閉じられたエリアの計算を示す図である。
【図１６】本発明に係る、閉じられたエリアの計算を示す図である。
【図１７】本発明に係る、閉じられたエリアの計算を示す図である。
【図１８】本発明に係る、閉じられたエリアの計算を示す図である。
【図１９】本発明に係る、閉じられたエリアの計算を示す図である。
【図２０】本発明に係る、閉じられたエリアの計算を示す図である。
【図２１】本発明に係る、閉じられたエリアの計算を示す図である。
【図２２】本発明を行うシステムの例を示す図である。
【発明を実施するための形態】
【００１６】
図７のフローチャートを参照して、画像を分割するコンピュータ実行方法を提案する。画像の分割とは、分割可能な少なくとも２つの部分に画像を分けることを意味する。方法は、縁を含む画像を表示するステップを含む。次に、曲線を、表示された画像に重なるように描く。次に、曲線と画像の縁とによって囲まれた全ての閉じられたエリアを計算する。各計算された閉じられたエリアは、他の計算された閉じられたエリアから独立しており、個々に選択可能である。
【００１７】
本発明の方法によって、画像はより効率良く分割される。実際、閉じられたエリアの数（すなわち、サブパートの数）は、ユーザが描いた曲線と画像の縁からのみ計算され、曲線の開始点と終点のリンク付けは必要とされない。興味深いことに、閉じられたエリアの数を計算する時、画像の縁が使用される。こうすると、ユーザは、画像を半分に切りたい場合、画像の最上部から最下部に線を引くだけでよい。閉じられたエリアの数を計算する時、画像の縁を使用するので、少なくとも１つの閉じられたエリア（ユーザが描いた曲線が交点を含まない時の、完全な画像）から、描画の閉じた形の数に応じて、幾つかの閉じられたエリアまでが存在する。従って、ユーザの意図が変更されることなく、同時に、「内側」「外側」の判定がないので閉じられたエリアの計算に必要なコンピューティング資源が低減される。さらなる利点を以下に記載する。
【００１８】
方法は、コンピュータで実行される。これは、方法のステップ（または、ほぼ全てのステップ）は、少なくとも１つのコンピュータまたは任意の同様のシステムによって実行されることを意味する。従って、方法のステップは、おそらく、全自動または半自動で、コンピュータによって実行される。例においては、方法のステップの少なくとも一部のトリガは、ユーザとコンピュータのインタラクションを通して行われてよい。必要とされるユーザとコンピュータとのインタラクションのレベルは、想定される自動化のレベルによって決められてよく、ユーザの要望を実行する必要とバランスをとってよい。例においては、このレベルは、ユーザが決定してよく、及び／または、予め決定されてよい。
【００１９】
例えば、画像に重ねて曲線を描くステップ（Ｓ２０）は、ユーザアクションによってトリガされる。少なくとも１つの閉じられたエリアを個々に選択するステップ（Ｓ１１０）も、ユーザアクションで行うことができる。
【００２０】
方法をコンピュータで実行する典型的な例は、この目的のために適合されたシステムを用いて方法を行うことである。システムは、メモリとグラフィカルユーザインタフェース（ＧＵＩ）に接続されたプロセッサを含んでよく、メモリは、方法を実行する命令を含むコンピュータプログラムを記録している。メモリは、データベースも記憶してよい。メモリは、このような記憶に適合した任意のハードウェアで、幾つかの物理的に異なる部分（例えば、プログラム用の部分、及び、おそらく、データベース用の部分）を含み得る。
【００２１】
「データベース」とは、検索及び読み取りのために体系化された任意のデータ（すなわち、情報）のコレクションを意味する。データベースは、メモリに記憶されて、コンピュータによる迅速な検索と読み取りを可能にする。データベースは、様々なデータ処理操作と共に、データの記憶、読み取り、修正、削除を容易にするように構造化されている。データベースは、レコードに分けることができるファイルまたはファイルのセットからなり、各レコードは、１つまたは複数のフィールドからなるものとすることができる。フィールドは、データ記憶装置の基本単位である。ユーザは、主にクエリを通してデータを読み取ってよい。キーワード及びソートコマンドを用いて、ユーザは、使用中のデータベース管理システムの規則に従って、多くのレコードのフィールドを迅速に検索、並び替え、グループ化、選択して、特定のデータ集合体を読み取ることができ、または、特定のデータ集合体に関するレポートを生成することができる。
【００２２】
方法は、一般的に、画像を操作する。画像は、二次元であってよい。画像は、三次元、例えば、コンピュータ支援設計（ＣＡＤ）システムにおいて三次元シーンで示された三次元モデルオブジェクトの表現であってよい。本発明においては、画像という語は、画像の数値表現であるデジタル画像を指す。数値表現は、当分野で既知のように、画像データを２進数のセットで表現することを含む。画像は、ラスタ画像またはベクタ画像であってよいが、それらに限定されない。ラスタ画像は、画素（ピクセル）の有限集合として記憶され、各ピクセルはデジタル値を表す。ベクタ画像は、画像を表現する数式に基づいた幾何プリミティブの集合として記憶される。
【００２３】
表示される時、ラスタ画像とベクタ画像とは、ピクセルの集合として表現される。この目的のために、ベクタ画像は、表示前に、ラスタ画像に変換される。これは、ラスタ化と呼ばれる。ピクセルは、画像の最小の個々の要素である。ピクセルは、画像のある特定の点で、表色系の所与の色の明度を表す量子化された値を保持する。実際には、画像は、コンピュータシステムが実行する画像ビューアソフトウェアによって表示される。画像ビューアソフトウェアは、本発明の方法を実行することができる、または、方法は、独立したコンピュータプログラムで実行することができる。
【００２４】
ラスタ画像もしくはベクタ画像、または、ピクセルで表現された任意の他の種類の画像のピクセルの集合は、一般的に、ピクセルからなる長方形格子を形成し、各ピクセルも長方形である。各ピクセルは、隣のピクセルと連結される。ピクセルの連結性とは、当分野で既知のように、二次元または三次元画像において、ピクセルと隣接するピクセルとの関連の仕方である。例えば、画像のピクセルが長方形の場合、各ピクセルは、４つの辺を有し、１つまたは複数の辺を隣のピクセルと共有する。
【００２５】
ピクセルの格子（grid）は、長方形格子に限られず、当分野で既知のように、１つのピクセルが６つまでの隣接するピクセルを有し得る六角形格子または長手積みの長方形格子であってもよい。以下では、長方形のピクセルからなる長方形格子を用いて表現される画像で最も多いケースを、説明目的のみで記載する。
【００２６】
図２２は、発明の方法を実行するシステムの例を示す。システムは、典型的には、コンピュータ、例えば、パーソナルコンピュータである。図２２のコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０と、同様にバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。コンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００に関連付けられたグラフィック処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、フレームバッファとしても当分野では知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０等の大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令及びデータを有形に実現するのに適した大容量メモリデバイスは、例を挙げると、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及び、フラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスク、及び、リムーバルディスク等の磁気ディスク、光磁気ディスク、並びに、ＣＤ‐ＲＯＭディスク１０４０を含む、あらゆる形式の不揮発メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完されてよい、または、当該ＡＳＩＣに組み込まれてよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。コンピュータは、カーソル制御装置、キーボード等の触覚装置１０９０も備えてよい。カーソル制御装置は、コンピュータで用いられて、ディスプレイ１０８０の任意の所望の位置にユーザがカーソルを選択的に置くのを可能にする。さらに、カーソル制御装置は、ユーザが、様々なコマンドを選択し、制御信号を入力するのを可能にする。カーソル制御装置は、システムへの入力制御信号のための多くの信号生成装置を含む。典型的には、カーソル制御装置は、マウスであってよく、マウスのボタンは、信号生成に用いられる。選択的に、または、追加的に、コンピュータシステムは、タッチパッド及び／またはタッチスクリーンを備えてよい。
【００２７】
本発明は、コンピュータプログラムによって実行することができる。コンピュータプログラムは、コンピュータによって実行可能な命令を含み、命令は、上記システムに方法を実行させる手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってよい。プログラムは、例えば、デジタル電子回路で、または、コンピュータのハードウェア、ファームウェア、ソフトウェア、もしくは、それらの組み合わせで、実行されてよい。プログラムは、装置、例えば、プログラム可能なプロセッサによって実行するために機械可読記憶装置で有形に具体化される製品として、実行されてよい。方法のステップは、命令のプログラムを実行するプログラム可能なプロセッサによって実行されて、入力データに関する操作を実行し、出力を生成することによって方法の機能を実行してもよい。プロセッサは、従って、プログラム可能であってよく、データ記憶システム、少なくとも１つの入力装置、及び、少なくとも１つの出力装置に結合されて、それらからデータ及び命令を受信し、それらにデータ及び命令を送信してよい。アプリケーションプログラムは、必要に応じて、高水準手続き型プログラミング言語もしくはオブジェクト指向プログラム言語で、または、アセンブリ言語もしくは機械語で実行されてよい。いずれの場合でも、言語は、コンパイラ型言語であってもよく、インタープリタ型言語であってもよい。プログラムは、完全インストールプログラムであってもよく、更新型プログラムであってもよい。プログラムのシステムへの適用によって、いずれの場合でも、方法を行う命令となる。
【００２８】
図７を参照すると、ステップＳ１０において、画像が、例えば、システムによって表示される。画像を表示するとは、ピクセルの集合が、表示装置、例えば、図２２のディスプレイ１０８０上に表現されることを意味する。画像を表示するプロセスは、当分野で既知のように行われる。画像は縁を含む。画像の縁は、ピクセルの連結性が部分的に満たされている画像のピクセルの集合である。例えば、長方形のピクセルは、当該ピクセルが３つ以下の隣り合うピクセルを有する場合、画像の縁に属する。画像の表示は、ユーザアクションで、例えば、ユーザが画像を選択すると、トリガされてよい。
【００２９】
次に、ステップＳ２０において、ステップＳ１０で表示された画像に、例えば、ユーザによって曲線が描かれる。曲線という語は、線分に類似しているが直線である必要はないオブジェクトを意味する。線分は、２つの異なる終点によって区切られ、その終点間の線上のあらゆる点を含む線の一部である。本発明において、曲線という語は、自由な形という表現と同義である。あるいは、所定の形を画像に描いてよい。任意の所定の形を用いてよい。
【００３０】
曲線の描画は、ユーザによって行われる。ユーザは、当分野で既知のように進める。例えば、ユーザは、マウス、スタイラス等の触覚装置をタッチディスプレイ上で用いることができる。
【００３１】
画像に曲線を描くという表現は、ユーザが画像表現（例えば、画像が表現されるコンピュータ画面）とインタラクトし、かつ、画像は修正されない（例えば、画像のピクセルは色付けされない）ことを意味する。ユーザに示される曲線の表現は、一時的なものであり、画像表現に重ね合わせられる。よって、曲線を画像に重ねて描くとも言うことができる。
【００３２】
ここで、図１０を参照すると、ユーザが描いた曲線が示されている。ユーザが描いた曲線の表現１００は、画像上に重ねられ、画像は修正されない。画像の縁は、黒の実線で表される。興味深いことに、曲線の一部は画像の外側にあることがわかる。これは、ユーザがコンピュータ画面上に曲線を描き、画像に直接、描いていないので、可能である。あるいは、画像は、画像より大きい画像キャンバス（図示せず）に配置されてよい。ユーザは、（全体的または部分的に）画像の外に曲線を描くことができる。曲線の描画は画像の縁に制限されない。
【００３３】
次に、ステップＳ３０において、マスクを、例えば、システムによって計算する。マスクは、典型的には、ユーザが曲線の描画をやめると、計算される。マスクは、表示された画像と同じサイズ及び同じ数のピクセルを有する画像である。例えば、ステップＳ１０で表示された画像が、（ｘ×ｙ）ピクセルのサイズを有し、ｎ＝ｘ×ｙ個のピクセルを含む場合、マスクは、同じサイズの（ｘ×ｙ）ピクセルを有し、同じ数のｎ個のピクセルを有するように、計算される。言い換えると、マスクは、ステップＳ１０に表示された画像と同じサイズと解像度を有する。
【００３４】
マスクの１つのピクセルと画像の１つのピクセルは１対１で対応し、その結果、マスクの１つのピクセルに対して行った操作（単数または複数）の結果は、画像の１つの対応するピクセルに行われる。
【００３５】
実際には、マスクは、空白画像として初期設定され、そのピクセルの不透明度値は、例えば、ＲＧＢＡ（赤、緑、青、アルファ）色空間において、各ピクセルに関して同じである。これによって、マスクの各ピクセルのカラーチャネルを均一に設定することができる。マスクは、透明として初期設定されるのが好ましい。マスクは、実行されると、ユーザに表示されず、本方法で使用される内部構造とみなされるべきであることは、理解されたい。表示されないので、ユーザは、マスクと直接インタラクトしない。
【００３６】
次に、図７のステップＳ４０において、連続したポリラインが、画像に描かれた曲線から、例えば、システムによって構築される。連続したポリラインは、１つまたは複数の線分（線とも言う）で構成され、各線分の終点は特定される。ポリラインは、１つの点に連結される２つの異なる終点を除いては、ポリラインの各点が２つの線分に連結されるので、連続している。連続したポリラインを構築することは、描かれた曲線の各点のピクセル位置を計算することを意味する。
【００３７】
曲線の部分（単数または複数）が図１０に示すように画像の外側に描かれた場合、これらの部分（単数または複数）は考慮されない。これは、図１４に示されており、３つの連続したポリライン１４０、１４２、１４４が図１０の曲線から構築されている。画像の外側の（すなわち、画像に重ならない）曲線の部分は無視され、システムは３本の独立した曲線が画像に重ねて描かれていると認識する。図１４では、１つの連続したポリライン１４０、１４２、１４４が、各独立した曲線に対して計算されている。実際、曲線の無視された部分は、（ｉ）画像の外側に位置し、（ｉｉ）曲線と画像の縁との第１の交点から曲線と画像の縁との第２の交点に延びる部分である。言い換えると、（画像の内側と外側に描かれる）曲線の保持される部分は、（ｉ）画像の内側で、（ｉｉ）（ａ）曲線と画像の縁との第１の交点から曲線と画像の縁との第２の交点に、または、（ｂ）曲線と画像の縁との第１の交点から画像の内側の曲線の終点に、延びる部分である。例えば、ステップＳ４０で構築された連続したポリライン１４２は、画像の縁に２つの終点があり、連続したポリライン１４０、１４２は、縁に１つだけ終点があり、第２の終点は、画像の内側にある。曲線が全体的に画像に重ねて描かれる場合、完全な曲線が保持されることは理解されよう。
【００３８】
画像に描かれた曲線のピクセル位置は、当分野で既知のように計算されてよい。図８、図９に示された実施形態においては、当分野で広く知られているブレゼンハムのアルゴリズムの派生形（derivation）が、これら全てのピクセル位置をリンクさせ、ピクセルの連続した線を得るために用いられる。
【００３９】
ブレゼンハムのアルゴリズムは、２つの離れたピクセルをリンクする最短の経路を計算する。これは、図１１に示されており、灰色のピクセルが、ブレゼンハムのアルゴリズムを用いて、画像に描かれた曲線１１３の２つの異なる終点の位置を表す２つのピクセル１１０と１１２をリンクして得られたピクセルである。オリジナルのブレゼンハムのアルゴリズムにおいては、頂点のみを共有する隣り合うピクセル１１４、１１６があり、他の隣り合うピクセル１１６、１１８は、他のピクセルと少なくとも１つの辺を共有することが分かる。
【００４０】
図１２を参照すると、ブレゼンハムのアルゴリズムの派生形が示されている。異なる終点を表す２つのピクセル１１０、１１２をリンクするピクセル集合において、各ピクセルは、オリジナルのブレゼンハムのアルゴリズムで識別されたピクセルの中のピクセルと、少なくとも１つの共通の辺を共有する。言い換えると、隣り合うピクセル間に許された唯一のピクセルの連結性は、辺の連結性である。実際には、図１２に示す結果は、オリジナルのプレゼンハムのアルゴリズムで選択されなかった（ｉ）１つの頂点のみを共有する２つのピクセルと共通の辺を共有し、（ｉｉ）描かれた曲線上に位置する、ピクセル１２０、１２２、１２４、１２６を識別することによって得られる。
【００４１】
ここで、図１３を参照すると、（点線で表された）連続したポリライン１３０は、ピクセルの連続した辺から計算することができ、各辺がポリラインの線である。連続した辺は、（ｉ）曲線の２つの異なる終点をリンクし、オリジナルのプレゼンハムのアルゴリズムから得られたピクセル集合、及び／または、（ｉｉ）２つの隣り合うピクセル間に辺の連結性のみがあることを確実にするために追加された新しいピクセルから得られる。図１３において、連続したポリラインを形成するピクセルの辺は、ポリラインが全てのピクセルの基準点をリンクするように選択される。基準点は、ピクセルの４つの頂点の１つである。ピクセルの基準点の選択は任意である。この例においては、ピクセルの左下の頂点が基準点として選択されている。任意の頂点を基準点に選ぶことができ、全てのピクセルが、この選択に従う。図１３においては、各ピクセルは、その左下の頂点を基準点とし、その結果、ポリライン１３０は、ピクセル１１０の頂点１１１から開始し、ピクセル１１２の頂点１１９で終了する。
【００４２】
ポリラインの計算は、一般的には、ステップＳ３０で計算されたマスク上で行われる。これは、画像の修正を避け、従って、コンピューティング資源の消費を低減する。図１６は、図１１の曲線１１３から得られたポリライン１６０を示す。
【００４３】
連続したポリラインを構築するステップは、画像の縁に関するポリラインを構築することをさらに備える。実際には、画像は、ピクセルからなる長方形格子を形成し、従って、画像の縁は長方形である。このような場合、画像の４つの辺の各辺はポリラインである。画像の辺に関するポリラインの構築は、画像に関する情報を用いる。画像の各頂点の座標を計算し、その頂点を線分にリンクさせる。これは図１５に示される。図１５は、それぞれ、頂点１５０−１５２、頂点１５２−１５４、頂点１５４−１５６、頂点１５６−１５０を接続する画像の縁の４つのポリライン１５１、１５３、１５５、１５７が、点線で表されている以外は、図１４と同じである。画像の縁のポリラインを構築することによって、画像の縁が境界とみなされるので、有利なことに、ユーザによる閉じられたエリアの作成が容易になる。例えば、ユーザは、画像を半分に切りたい場合、単に、画像の最上部から最下部に線を引いて、画像の左もしくは右、または、両方のパートを保持したいかを選択する。よって、ユーザは、画像を半分に切りたい場合、図５、図６を参照して記載したように画像の周りに円形を描く必要はない。
【００４４】
次に、図８のステップＳ５０で、少なくとも１つの辺が計算された連続したポリラインの線の１つである画像の全てのピクセルを識別する。連続したポリラインが、描かれた曲線からマスク上に構築された場合、マスクのピクセルを識別することを理解されよう。図１７は、図１６のポリラインと、識別されたピクセルとを示す。このステップは、ポリラインの両側にある２つのピクセルからなるポリラインの縁を作成し、この２つのピクセルの縁が、閉じられたエリアに属するピクセルの識別を容易にし、閉じられたエリアの計算は容易になり、ポリラインに接触するピクセルが、正確な閉じられたエリアに確実に割り当てられるようにする。
【００４５】
次に、ステップＳ６０において、ステップＳ５０で識別された各ピクセルは、当該ピクセルに対するステップＳ４０で計算したポリラインの位置を識別するために、マーク付けされる。逆の操作、すなわち、各ピクセルに関して、ポリラインに対するピクセルの位置を決定できることは理解されよう。ピクセルをマーク付けすることは、情報をピクセルに追加することを意味し、追加の情報をピクセルデータと共に記憶してよく、追加の情報は、新しいデータ構造で記憶されてよい。マーク付けは、ピクセルデータと共に記憶されるのが好ましく、これによって、本方法を実行するシステムに関する最適な計算結果が得られる。
【００４６】
ピクセルに対するポリラインの位置は、ピクセルの基準点を用いて推定する。ピクセルの左下の頂点が、基準点として選択され、（典型的には、画像基準の原点は、画像の左下にあるピクセルの左下の頂点である）画像基準における座標（ａ，ｂ）を有する場合、他の頂点は、座標（ａ＋１，ｂ）、（ａ，ｂ＋１）、（ａ＋１，ｂ＋１）を有する。このようにして、各辺、位置に関連付けられた２つの座標、すなわち、ピクセルの右の辺または左の辺または上の辺または下の辺によって定義される。ピクセルに対するポリラインの位置の決定は、簡単である。（ｉ）ポリラインの線がピクセルの右の辺である場合、ポリラインはピクセルの右側にあり、（ｉｉ）ポリラインの線がピクセルの左の辺である場合、ポリラインはピクセルの左側にあり、（ｉｉｉ）ポリラインの線がピクセルの上の辺である場合、ポリラインはピクセルの上側にあり、（ｉｖ）ポリラインの線がピクセルの下の辺である場合、ポリラインはピクセルの下側にある。
【００４７】
図７、図８に示す実施形態においては、マーク付けは、情報を符号化するためにマスクのＲＧＢＡチャネルを用いて行われる。言い換えると、マーク付けは、ポリラインに対する位置に従って、ステップＳ５０で識別された各ピクセルに色付けをすることである。ここで、頭字語ＲＧＢＡは、Ｒｅｄ（赤）、Ｇｒｅｅｎ（緑）、Ｂｌｕｅ（青）、Ａｌｐｈａ（アルファ）色空間を指し、各色（赤、緑、青）と透明度（Ａ）は、ｎビットで定義される、例えば、１つのピクセルのＲＧＢＡ情報は、位置を符号化するために、チャネル毎にｎ＝８ビットの、１つの３２ビット符号なし整数を提供することができる。
【００４８】
よって、第１のＲＧＢＡ値（例えば、透明な緑、Ｒ＝０、Ｇ＝２５５、Ｂ＝０、Ａ＝０）は、ポリラインがピクセルの右側に位置することを示し、第２のＲＧＢＡ値（例えば、透明な白、Ｒ＝０、Ｇ＝０、Ｂ＝０、Ａ＝２５５）は、ポリラインがピクセルの左側に位置することを示し、第３のＲＧＢＡ値（例えば、透明な赤、Ｒ＝２５５、Ｇ＝０、Ｂ＝０、Ａ＝０）は、ポリラインがピクセルの上側に位置することを示し、第４のＲＧＢＡ値（例えば、透明な青、Ｒ＝０、Ｇ＝０、Ｂ＝２５５、Ａ＝０）は、ポリラインがピクセルの下側に位置することを示す。ＲＧＢＡ値の使用は、ピクセルの色付けを意味することは理解されよう。よって、ステップＳ６０を行う時、（空白画像として初期設定された）マスクは、これらのピクセルに対するポリラインの位置を示す色付けされたピクセル及び透明なピクセルを含む。
【００４９】
興味深いことに、ピクセルにマーク付けするプロセスは、累積的である。これは、ピクセルは複数回マーク付けされてよいこと、及び、各連続したマーク付けの情報を読み取ることができることを意味する。例えば、ポリラインがあるピクセルの上側と右側にある場合、そのピクセルは、２回マーク付けされ、最後のマーク付け（すなわち、２回のマーク付けの結果）は、ポリラインがピクセルの上側と右側にあるという情報を提供する。この例においては、第３のＲＧＢＡ値が、ピクセルの上側に位置するポリラインがＲ＝０、Ｇ＝２５５、Ｂ＝０、Ａ＝０に設定されていることを示し、第１のＲＧＢＡ値が、ピクセルの右側に位置するポリラインがＲ＝２５５、Ｇ＝０、Ｂ＝０、Ａ＝０に設定されていることを示した場合、ピクセルのマーク付けは、Ｒ＝２５５、Ｇ＝２５５、Ｂ＝０、Ａ＝０に設定される。ピクセルは、透明な黄色で色付けされる。
【００５０】
図１７の識別されたピクセルは、色付けされる（ここでは、色は、各ピクセルに書かれた数字で表される）。（数字１で表される）青のピクセルは、ポリラインがピクセルの下側に位置することを示し、（数字４で表される）赤のピクセルは、ポリラインがピクセルの上側に位置することを示し、（数字３で表される）薄い青のピクセルは、ポリラインがピクセルの下側及び左側に位置することを示し、（数字２で表される）黄色のピクセルは、ポリラインがピクセルの上側及び右側に位置することを示す。数字２と３のピクセルは、従って、マーク付けが累積したピクセルである。
【００５１】
次に、ステップＳ７０〜Ｓ１００において、曲線と画像の縁とによって囲まれた全ての閉じられたエリアを計算する。全ての閉じられたエリアという表現は、１つまたは複数の閉じられたエリアを計算することを含む。閉じられたエリアは、ユーザが選択したい画像上の範囲を定められた表面であり、当該表面は、ユーザが描いた曲線から構築された連続したポリライン、及び／または、画像の縁から構築された連続したポリラインによって定められる。各閉じられたエリアは、画像の他の閉じられたエリアから独立している。これは、２つの閉じられたエリア間に交点がないということ、すなわち、画像のピクセルは１つの閉じられたエリアにのみ属することができるということを意味する。１つまたは複数の閉じられたエリアは個々に選択可能である、すなわち、１つの閉じられたエリアの選択は、第２の閉じられたエリアの選択を伴わない。閉じられたエリアを計算することは、画像のピクセルの集合を識別し、その集合内の各ピクセルは、その集合内に少なくとも１つの隣接するピクセルを有することを意味する。
【００５２】
曲線と画像の縁とによって囲まれた全ての閉じられたエリアを計算することは、領域拡張アルゴリズムの使用によって行うことができる。領域拡張は、シード点を選択し、この選択したシード点から領域を拡張する画像セグメンテーション法である。選択したシード点の隣の点が、少なくとも１つの加入基準を順守している場合、領域は拡張される、そして、隣の点が少なくとも１つの加入基準を順守している場合、その点自体がシード点として分類される。各新しいシード点に関して、チェックすべきシード点がなくなるまで、プロセスは繰り返される。
【００５３】
図８は、本発明と共に用いてよい領域拡張アルゴリズムの例を示す。領域加入基準は、選択したピクセルの隣のピクセルは、ポリラインを超えないということである。よって、領域加入基準は、ポリライン（単数または複数）を超えない隣のピクセルを保存することを目的とする。
【００５４】
ステップＳ７００において、マスクのピクセルを選択する。選択されたピクセルは、方法のこのステップではまだ分かってない閉じられたエリアに属する。
【００５５】
ここで、図１８を参照すると、図１７のポリラインとマーク付けされたピクセルが、ポリラインの新しい線と２つのピクセル１８４、１８５が追加されて少し修正されて示されている。ピクセルの１つ１８０が選択された、例えば、ピクセルのランダムな選択が本分割方法を実行するシステムによって行われる。あるいは、ユーザがピクセルの１つを選択してよい。
【００５６】
図８に戻ると、ステップＳ７１０において、選択したピクセルに隣接するピクセルをチェックして、これらの隣接するピクセルが加入基準を満たしているか否かを識別する。ステップＳ７００で選択されたピクセル１８０に隣接するピクセルのうち、既に構築済みのポリラインに入っている隣接するピクセルは拒絶される、すなわち、ステップ７００で選択されたピクセルが属する現在の閉じられたエリアに属さないと見なされる。言い換えると、ポリラインを超えない１つまたは複数の隣接するピクセル、すなわち、選択したピクセルの閉じられたエリアに属するピクセルを識別する。隣接するピクセルがポリラインを超えるか否かの判定は、選択したピクセルに対してであることは理解されよう。基準を満たすピクセルの識別は、従って、拒絶されるピクセル（ポリラインを超えるピクセル）を識別すること、または、保持すべきピクセル（ポリラインを超えないピクセル）を識別することである。
【００５７】
加入基準の検証は、選択したピクセルへのマーク付けを用いて行われるのが好ましい。マスク上の選択されたピクセルが空白の場合、その辺のいずれもポリラインの線にあたらないということを意味するので、その隣接するピクセルはどれも（選択したピクセルに対して）ポリラインを超えない。マスク上の選択されたピクセルがマーク付けされている場合、マーク付けは、この選択されたピクセルに対するポリラインの位置を示し、そのポリラインの線として用いられた辺を共有する隣接するピクセルは、ポリラインを超えるとみなされて、破棄される。
【００５８】
次に、ステップＳ７２０において、ステップＳ７ｌ０で識別された隣接するピクセルが、ピクセルのリストに追加され、現在選択されているピクセルと同じように選択、処理される。これは、領域拡張アルゴリズムの正確な伝播を確実にする。
【００５９】
図１８に戻ると、この例におけるピクセルの連結性は、（画像の縁、または、マスクの縁のピクセルを除いた）画像の各ピクセルの４つの隣接するピクセルによる。よって、選択されたピクセル（図１８の網掛けされたピクセル１８０）は、４つの隣接するピクセルを有する。網掛けされたピクセルは色付けされておらず、それは、ピクセル１８０の辺のいずれも構築済みのポリラインの線を含まないことを意味する。保持すべきピクセルとして識別されたピクセルは、ピクセルリストに追加され、ステップＳ７００で選択されたピクセルと同じように選択、処理される。この例においては、選択したピクセル１８０の４つの隣接するピクセルは、基準を満たすので、保持され、リストに追加される。
【００６０】
次に、ステップＳ７３０において、選択されたピクセルは、チェック済みとしてマーク付けされる。これは、ＲＧＢＡチャネルを用いて行うことができる。例えば、ピクセルは黒で色付けされる。そして、マーク付けされたピクセルは、現在計算されている閉じられたエリアに属するピクセルのリストに追加される。
【００６１】
次に、ステップＳ７４０において、新しいピクセルが、ステップＳ７２０で生成されたリストから選択される。このピクセルは、ステップＳ７１０で選択されたピクセルと同じように処理される。よって、ステップＳ７１０〜Ｓ７４０が、このピクセルに対して実行される。
【００６２】
ここで、図１９を参照すると、今度は、図１８に示す選択済みのピクセル１８０に隣接するピクセルである新しく選択されたピクセル１８２に焦点を当てている。このピクセル１８２は、選択済みのピクセル１８０と同じように選択、処理されるピクセルのリストに追加された。選択されたピクセル１８２は、青でマーク付けされる、それは、（ｉ）ポリラインが、このピクセルの下側に位置すること、（ｉｉ）（黄色で色付けされ、数字２で表される）隣のピクセル１９０がポリラインを超えることを示す。よって、このピクセル１９０は、拒絶され、選択すべきピクセルのリストには追加されず、従って、ステップＳ７００で選択されたピクセルと同じ閉じられたエリアには属さないとして、マーク付けされない。対照的に、２つの他の隣接するピクセルは、選択すべきピクセルのリストに追加される。ピクセル１８０は、チェック済みとして既にマーク付けされているので、選択、処理されるピクセルのリストに追加されないことは理解されよう。このようにして、ステップＳ７ｌ０〜Ｓ７６０が、収束して解決に至るまで繰り返される。
【００６３】
図８に戻る。ステップＳ７６０において、選択すべきピクセルリストの全てのピクセルが確かに処理されたと判定される。従って、リストに含まれた各ピクセルがチェック済みとしてマーク付け（例えば、黒に色付け）されていない間は、ステップＳ７ｌ０〜Ｓ７４０が繰り返される（Ｓ７５０）。
【００６４】
プロセスのこのステップにおいて、マスクは、画像の第１の閉じられたエリアに属する黒で色付けされたピクセルの集合を含む。黒で色付けされたこれらのピクセルは、従って、第１の閉じられたエリアを形成するピクセルの集合に属する。これは、図１８のポリラインと識別されたピクセルを示す図２０に示され、ポリラインの上部に置かれたピクセルは全て黒で色付けされている。興味深いことに、ステップＳ５０で識別され、ポリラインの下に配置されたピクセルは、プロセスのこのステップではそのままで、ポリラインに接触する第２の閉じられたエリアを同様に計算するために必要なピクセルへのマーク付けは変更されていない。
【００６５】
実際には、閉じられたエリアが計算された後、この新しく計算された閉じられたエリアのピクセルは、データ構造に記憶される（Ｓｌ００）。このデータ構造は、画像の各ピクセルに対して、当該各ピクセルが属する閉じられたエリアを記憶する。用いられるデータ構造は、当分野で既知の四分木データ構造であってよい。四分木データ構造は、計算された閉じられたエリアの検索時に、パフォーマンスを有利に向上させる。
【００６６】
次に、第２の閉じられたエリアに属する新しいピクセルが、マスク上で選択される（ステップＳ７７０）。この選択したピクセルは、従って、チェック済みとしてマーク付けされていない、例えば、黒で色付けされていないピクセルである。画像は、１つの閉じられたエリアのみを含むことができる、例えば、ユーザが描いた曲線は、少なくとも２回、その曲線自体と交差することはなく、画像の縁と交差することはないので、画像の縁のみが閉じられたエリアを作成することは理解されよう。
【００６７】
次に、ステップＳ７１０〜Ｓ７６０が、第２の閉じられたエリアが計算されるまで、すなわち、第２の閉じられたエリアの全てのピクセルが黒で色付けされるまで、同様に繰り返される。そして、第２の閉じられたエリアのピクセルが、計算済みの第１の閉じられたエリアのピクセルが既に記憶されている同じ四分木データ構造に記憶される。
【００６８】
マスクの全てのピクセルがステップＳ７７０でマーク付けされていない間、ステップＳ７１０〜Ｓ７６０が繰り返される。
【００６９】
次に、ステップＳ７８０で、マスクの全てのピクセルが黒で色付けされたことが判定される。よって、全ての閉じられたエリアが計算される。この後、マスクの各ピクセルに関して、そのピクセルと対応する画像のピクセルを識別し、その画像のピクセルは、計算済みの閉じられたエリアに従ってグループ分けされる。
【００７０】
四分木データ構造が各々新しく計算された閉じられたエリアの記憶に用いられる時、このステップＳ７８０が暗に行われていることを理解されよう。実際、四分木は、新しく発見された閉じられたエリアに属するピクセルの座標を用いて書き込まれる。
【００７１】
図２１は、図１５に表された連続したポリラインｌ４０、１４２、１４４、１５１、１５３、１５５、１５７から計算された３つの閉じられたエリア２００、２２２、２２４を示す。
【００７２】
図９を参照すると、本発明に係る、分割された幾つかの初期画像から新しい画像を生成する例が示されている。
【００７３】
幾つかの画像が、ユーザに表示され、ユーザは、表示された画像の１つまたは複数に自由な形を描く。均等に、画像は、並べて表示されてもよく、部分的、全体的に、重なってもよい。ユーザが描いた曲線は、表示された画像に重ねて表され、画像は修正されない。
【００７４】
次に、ステップＳ７０を参照して記載したように計算された閉じた形の存在を検出する。画像の縁は、閉じられたエリアを生成し、それは、考慮してもよく、考慮しなくてもよい。例えば、ユーザが描いた曲線が、少なくとも２回、その曲線自体を交差せず、画像の縁を交差しない場合、画像の縁のみが１つまたは複数の閉じられたエリアを生成する。これらの閉じられたエリアをユーザに示さないか、または、逆に、ユーザに示すかを決定することができる。
【００７５】
次に、閉じられたエリアがユーザに示される。これは、例えば、各閉じられたエリアの特定のレンダリングを用いる、各閉じられたエリアの縁を形成するピクセルの特定のレンダリングを用いる等で、行うことができるが、それらに限定されない。このステップにおいて、画像はカットされる。これは、画像の各ピクセルに関して、当該各ピクセルが属する閉じられたエリアを記憶する（四分木データ構造を用いて保存可能な）最終的なマスクを用いて行われる。
【００７６】
その結果、ユーザは、画像の１つまたは複数の閉じられたエリアを選択した。選択は、当分野で既知のように行われる。例えば、ユーザは、選択しようとする閉じられたエリア（単数または複数）の上にマウスのカーソルを移動し、マウスをクリックして、画像のこのサブパートを選択することをシステムに知らせる。
【００７７】
新しい画像が、これらの閉じられたエリアのそれぞれに対して、最初の画像を修正することなしに作成される。これは、各選択されたサブパートのピクセルの新しい画像へのコピーを用いて行うことができる。
【００７８】
次に、ユーザは、プロセスを停止してもよく、初期画像は本分割方法によって修正されていないので、さらに選択を行うことができる。
【００７９】
本発明の好ましい実施形態を記載した。発明の精神と範囲を逸脱することなく、様々な変更を行ってよいことは理解されよう。従って、他の実施も請求項の範囲内である。
【図７】
2016100016.tif 000003
【図８】
2016100016.tif 000004
【図２２】
2016100016.tif 000005
【図１】
2016100016.tif 000006
【図２】
2016100016.tif 000007
【図３】
2016100016.tif 000008
【図４】
2016100016.tif 000009
【図５】
2016100016.tif 000010
【図６】
2016100016.tif 000011
【図９】
2016100016.tif 000012
【図１０】
2016100016.tif 000013
【図１１】
2016100016.tif 000014
【図１２】
2016100016.tif 000015
【図１３】
2016100016.tif 000016
【図１４】
2016100016.tif 000017
【図１５】
2016100016.tif 000018
【図１６】
2016100016.tif 000019
【図１７】
2016100016.tif 000020
【図１８】
2016100016.tif 000021
【図１９】
2016100016.tif 000022
【図２０】
2016100016.tif 000023
【図２１】
2016100016.tif 000024
【外国語明細書】
2016100016000001.pdf