(57)【特許請求の範囲】
【請求項１】
多数の写真を走査しかつ検出するとともに人工エッジを除去するための方法であって；
スキャナ上に複数の写真を設置するステップと；
複数の低解像度画像を作成するために低解像度走査を行うステップと；
少なくとも一つの前記低解像度画像を含む複数の多角形を形成するステップと；
前記多角形の数を決定するステップと；
前記多角形の前記数を前記写真の数と比較するステップと；
前記多角形の前記数が前記写真の数よりも少ない場合には、重なりあった写真を再配置し、前記低解像度走査を行うとともに以降のステップを反復して行うステップと；
前記各写真の傾斜角度および位置を決定するステップと；
第一の写真を選択するステップと；
高解像度画像を作成するために前記第一の写真を高解像度で走査するステップと；
前記高解像度画像の傾斜修正を行うステップと；
複数の人工エッジを除去するために前記高解像度画像をトリミングするステップと；
からなることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して写真の走査（スキャン）を行う分野に関し、特に、焼付けを行う前に複数の人工エッジ（edge artifacts）を除去するために、スキャナ・プラテン（scanner platen）上に載置された写真の数および傾斜（skew）角度の検出を行い、デジタル画像の傾斜修正およびトリミングを行うものである。
【０００２】
【従来の技術】
図１に示すように、ユーザ１０が、スキャナ１１により写真１２をコピーしたい場合には、ユーザは、最初に、スキャナ・プラテン１４上に写真１２を頂部スライド部１６および側部スライド部１８に押し付けて置かなければならない。その後で、ユーザ１０は、入力スクリーン２１上で、４ｘ６、５ｘ７等のような写真サイズを選択しなければならない。ＡＰＳ写真フォーマットに関連するサイズを選択するための別のスクリーンも用意されている。画像を焼き付ける前、または画像をディスクにセーブする前に、スキャナ上の原点１９から固定サイズの高解像度のスキャンが行われる。この方法は、多くの商業上の製品について用いられている。
【０００３】
このモードの動作についてはいくつかの問題がある。第一の問題は、ユーザは、スキャナ上の原点のところに正しく整合させて一枚の写真をうまく置かなければならないことである。原点のところに画像が正確に置かれないと、走査領域内に画像全体が納まらず、デジタル化した画像が一つまたはそれ以上のエッジに沿って、図２に示す人工エッジ２０とも呼ばれるスキャナのプラテンの一部を含むことになる。上記人工エッジは、顧客のプリントから除去しなければならない。ある種のスキャナは、上記人工エッジを除去するために、水平または垂直エッジに沿った走査領域をトリミングするためのロジックをソフトウェアに内蔵している。しかし、画像が回転していると、上記ソフトウェアは、図３に示すように、画像ラインに沿った人工エッジ２２を除去しない。また、ユーザが数枚の写真を走査してそれら画像をディスクにセーブしたい場合には、一度に一つの画像しか処理することができず、効率が悪い。
【０００４】
【発明が解決しようとする課題】
本発明の一つの目的は、人工エッジを除去するために多数の写真を走査し、それら写真の数、位置および傾斜角度を決定し、画像のトリミングを行うための方法を提供することである。
【０００５】
【課題を解決するための手段】
本発明の一つの特徴は、スキャナ・プラテン上に複数の写真を置くことである。複数の低解像度の画像を作るために、上記複数の写真に対して低解像度走査が行われる。複数の多角形が作られ、各多角形は少なくとも一つの低解像度の画像を含む。多角形の数が決定されるとともに、写真の数と比較される。多角形の数が写真の数より少ない場合には、重なりあった写真を分離するために置き場所の変更が行われ、低解像度走査が繰り返して行われる。各写真の傾斜角度および位置の決定が行われる。第一の写真が選択されるとともに、この第一の写真が高解像度で走査され、高解像度の画像が作成される。高解像度の画像は、傾斜修正（deskew）が行われ、人工エッジを除去するためにトリミングが行われる。
【０００６】
本発明の一つの利点は、スキャナ・プラテン上の各写真の位置または向きがどのようになっていても、複数の写真を走査することができることである。
【０００７】
【発明の実施の形態】
図１は、写真を走査するための従来技術のシステムのブロック図である；
図２は、人工エッジを示す従来技術のシステムのブロック図である；
図３は、傾斜配置された写真、走査画像およびプリントした写真上に結果として現れる人工エッジを示す従来技術のシステムのブロック図である；
図４は、写真の位置を自動的に検出し、サイズおよび傾斜角度を修正し、人工エッジを除去するための本発明によるシステムのブロック図である；
図５は、スキャナ・プラテンの表面上の複数の写真を示した概略図である；
図６は、写真を検出するためのシステムのブロック図である；
図７は、画像の閾値を決めるためのシステムのブロック図である；
図８は、階調強度を計算するためのテーブルを示した図である；
図９は、輪郭多角形抽出のフローチャートである；
図１０は、本発明の好適な実施形態で使用する輪郭ピクセル検出方法のフローチャートである；
図１１（ａ）、図１１（ｂ）および図１１（ｃ）は、それぞれ、３ｘ３ビットマップ・パターンから索引表を生成する図であり、３ｘ３ビットマップを索引表の入力に変換する図であり、索引表を使用するコマンドを生成する図である；
図１２（ａ）〜図１２（ｈ）は、８つの左エッジ検出装置の定義を示し、ここで、０＝白色ドット、１＝黒色ドット、Ｘ＝無視する値である；
図１３（ａ）〜図１３（ｈ）は、８つの右エッジ検出装置の定義を示し、ここで、０＝白色ドット、１＝黒色ドット、Ｘ＝無視する値である；
図１４は、表１の規則に基づくエッジの組み合わせによるテンプレート３ｘ３マトリックスで示した図である；
図１５（ａ）〜図１５（ｄ）は、表１の規則により生成されたテンプレート・コマンドの例を示す図である；
図１６（ａ）は方向を規定するチェーン・コード・グラフ、図１６（ｂ）はチェーン・コードの代表的な多角形ベクトルへの変換の一例を示す図である；
図１７は、スキャナ・プラテン上に傾斜配置された写真の概略図である；
図１８は、写真の位置、サイズおよび傾斜角度の計算を示したブロック図である；
図１９は、写真の傾斜角度、頂部境界および底部境界の検出を示したブロック図である；
図２０は、一番上の交点および一番下の交点の集合を示す図である；
図２１は、隣接交点間の垂直距離を示したヒストグラムである；
図２２は、最も左の交点および最も右の交点の集合を示す図である；
図２３は、写真の左右の境界の検出を概略的に示すフローチャートである；
図２４は、傾斜修正およびトリミング動作を示す概略図である。
理解し易いように、同様の要素にはできる限り同じ参照符号を使用してある。
【０００８】
図４について説明すると、この図は、その全体を参照符号３０で示す写真の傾斜角度を検出しかつ修正するためのシステムの主要な構成部材および処理段階のブロック図である。各ブロックの動作については、以降の図面を参照しながら、以下に詳細に説明する。
【０００９】
走査対象の多数の写真は、ブロック３２のスキャナのプラテン上に置かれる。上記写真の低解像度の走査は、ブロック３４で完了し、写真はブロック３６で検出され、写真の数は、ブロック３８で決定される。ブロック４０において、写真が重なりあっているかどうかの判断が行われる。写真が重なっている場合には、重なりあっている部分があるとの注意４２がオペレータに与えられ、写真が再配置される。写真が重なりあっていないと判断された場合には、ブロック４４において、写真検出の結果がタッチ・スクリーン上に表示される。オペレータは、ブロック４６において、上記スクリーンに触れて所望の写真を選択する。ブロック４８において、その写真のマッピング座標が計算され、ブロック５０において、所望の写真が高解像度で再走査される。ブロック５２において、デジタル化された画像の傾斜修正が行われ、ブロック５４において、人工エッジが除去される。その後、ブロック５６において、写真はプリントもしくは記憶される。
【００１０】
図５は、スキャナ・スライド部１６および１８、または走査原点１９とは無関係に、スキャナ・プラテン１４上にランダムに置かれた一組の写真１２を示している。例えば、９０ＤＰＩ（１インチ当たりのドット数）の低解像度の走査は、スキャナ・プラテン１４の表面全体にわたって行われ、その結果、低解像度のグレイスケール画像が作られる。
【００１１】
図６は、写真の検出についてさらに詳細に示している。低解像度グレイスケール画像５８に対して、閾値処理動作６０が行われる。これについては後でさらに詳細に説明するが、その結果、二進画像６１が得られる。その後、輪郭ベクトル化プロセス７０が実行され、それにより写真３８の数が検出される。各写真の位置、傾斜角度、幅および高さは、ブロック７８において検出される。
【００１２】
図７は、閾値処理と呼ばれるグレイスケール画像から二進画像への変換を示す。ブロック６２において、０〜２５５の数値の範囲で各ピクセルの輝度（intensity）が決定される。その後、上記輝度は、例えば、２３０というような設定値ＩＴと比較される。上記輝度がＩＴより低い場合には、ピクセルは黒であると判断される。
【００１３】
上記輝度がＩＴより高い場合には、そのピクセルに対する傾斜強さが、ブロック６４において計算される。ピクセル（ｉ，ｊ）の傾斜強さは、中心がピクセル（ｉ，ｊ）付近にある複数のピクセルのウィンドウ上で、いわゆる「ソーベル（Sobel）」傾斜オペレータを使用することにより決定される。図８に示すように、マトリックス８０は、その中心がピクセル（ｉ，ｊ）周りにある３ｘ３のウィンドウである。下記式（１）〜（３）内に集合的に定義するように、ソーベルオペレータは、各ピクセル位置（ｉ，ｊ）およびＧＹ（ｉ，ｊ）に対して水平および垂直ピクセル輝度傾斜ＧＸ（ｉ，ｊ），ＧＹ（ｉ，ｊ）に基づいて計算を行い、また傾斜強さを形成する各ピクセル位置（ｉ，ｊ）に対してＧＸ（ｉ，ｊ）およびＧＹ（ｉ，ｊ）の絶対値の合計として傾斜強さＧ（ｉ，ｊ）を形成する。
0003883696.tif 000002
ここで、Ｇ（ｉ，ｊ）は、ピクセル位置（ｉ，ｊ）での傾斜強さである。図７について再び説明すると、数値Ｇ（ｉ，ｊ）は、ブロック６６において、例えば、５０というような定数ＧＴと比較される。Ｇの数値がＧＴより大きい場合には、ピクセルは黒であると判断される。このプロセスは、各ピクセル毎に完了するまで行われる。
【００１４】
図９を参照しながら、輪郭ベクトル化プロセス７０をさらに詳細に説明する。確立した変換数値により、輪郭ピクセルを検出しかつピクセル値を割り当てるために、二進画像６１が処理される。ブロック・ラベル９０で示す割当関数は、二進画像上を進む３ｘ３ピクセル・ウィンドウを使用して一度に一つのピクセル列に対して実行される。画像の輪郭を表すピクセルは、ブロック９２によって表されるベクトルに変換される。ベクトルのセグメントは、ボックス９４のへ入力として送られる。ボックス９４は、走査画像の輪郭を表す一つまたはそれ以上の多角形を形成するために複数のベクトルの端と端とを正しく接続する機能を表す。要するに、上記の動作、すなわち、輪郭のベクトル化は、二進画像を傾斜検出、ライン検出または画像登録技術のような写真認識システムまたは技術において役に立つ簡単な多角形の集合に変換するものである。
【００１５】
図１０について説明すると、この図は、図９の輪郭ピクセル検出ブロック９０が行う機能を詳細に示した図である。輪郭ピクセルを検出するための好適な方法論として、上記の二進画像６１である走査機能の出力とともに、写真の走査により得た３ｘ３ビットマップを用いる。この３ｘ３ビットマップは、写真上でウィンドウが走査される一瞬の間に、３ｘ３ウィンドウ内に含まれる９のピクセル値を表す。機能ボックス１０２に示すように、各３ｘ３ビットマップは、０〜５１１の範囲内の数値を持つ整数にコード化される。結果として得られた整数値は、索引表１０４への入力として使用される。索引表を用いる技術は、計算効率が高いので望ましい技術である。索引表は、後で詳細に説明する「テンプレート・コマンド」を出力する。この出力は、機能ボックス１０６に入力されるが、このボックスは、命令されたシーケンスで、テンプレート・コマンドを実行することにより、輪郭ピクセルを抽出する機能を表す。各出力輪郭ピクセルは、三つの分類、すなわち、最大点、最小点または境界点の一つに割り当てられる。
【００１６】
本発明の３ｘ３ビットマップからの、出力テンプレート・コマンドの形成についての詳細は、図１１（ａ）〜図１１（ｃ）のところで説明する。図１１（ａ）は、ＡからＩまでの九つのセルを含む３ｘ３ウィンドウを概略的に示す。周知のように、二進法システムにおいては、一つのセル内の一つのビットは、１または０どちらかの数値を取ることができる。図１１（ｂ）は、このことを特定の例により示す。ＡからＩまでのビットは、９ビットの一つの整数を形成するように特定の順序で配列されている。すでに説明したように、本発明の好適な実施形態においては、この９ビットの整数の数値は、０〜５１１の範囲内にある。その後、この整数は、図１１（ｃ）に示すように、関連テンプレート・コマンドを出力するために索引表１０４にアドレスする入力番号として使用される。
【００１７】
図１２（ａ）〜図１２（ｈ）について説明すると、これら図においては、八つの左エッジの検出部に使用されている定義は、エッジのタイプＬ０〜Ｌ７を定義するためのものである。これら数字の中、０は白色ドットを示し、１は黒色ドットを示し、Ｘは白または黒どちらかであって、システムが無視することができるドットを表す。図１２（ａ）の３ｘ３マトリックスを調べてみると、二つの隣接する１のビットは、水平で、隣接する二つの０ビットに平行とされている。このビット・パターンが表すエッジの向きは、水平であって左に向かって延びている。分かりやすくするためにエッジの向きをエッジの向きを示す矢印の方向を制御する０ビット（白色ドット）の位置の矢印により表す。エッジタイプＬ０の場合、エッジタイプＬ４と同じであるが、反転しており矢印は水平であり、反対方向を向いており、図１２（ａ）のウィンドウ内の０ビットは、１の下に位置していている。一方、図１２（ｅ）のウィンドウ内においては、０ビットが１の上に存在することに留意されたい。垂直エッジタイプＬ２およびＬ６についても、また４５度のエッジタイプＬ１、Ｌ５、Ｌ３およびＬ７についても同じことがいえることに留意されたい。図１３（ａ）〜図１３（ｈ）は、エッジタイプＲ０〜Ｒ７を表す八つの右エッジ検出装置の定義を示す。
【００１８】
表１は、各エッジタイプの組み合わせに使用するテンプレート・コマンドを示し、各組み合わせに規則番号を割り当てる。逆にいえば、各規則番号は、特定のタイプの組み合わせを識別する。
【００１９】
【表１】
0003883696.tif 000003
【００２０】
図１４は、表１の規則に従って、エッジ組み合わせから得たテンプレートを示す。
【００２１】
表２は、特定の３ｘ３ビットマップと、その関連入力番号との関係を示す。図１３（ｂ）は、上記手順により発生した入力番号である。表２はさらに、対応する入力番号をアドレスとして索引表に適用した際の索引表２４から出力されるテンプレート・コマンドを示す。多数のビットマップ・パターンは、割当テンプレート・コマンドを持たないものであり、それ以外のビットマップ・パターンは一つ以上のテンプレート・コマンドを持つことができる。例えば、表２について説明すると、３ｘ３マトリックスの中央のセルが１であり、周囲のセルの少なくとも一つが０である場合には割当テンプレート・コマンドが存在し、そうでない場合にはコマンドの割当は行われない。
【００２２】
【表２】
0003883696.tif 000004
【００２３】
図１５（ａ）〜図１５Ｄは、図１１（ａ）および図１１（ｂ）を用いて説明したビット割当の方法論を用いた、表入力番号３７３、１２４、１５１、および３６８に変換する四つのビット・パターンを示す。その後、各テンプレート・パターンは、どのテンプレート・コマンドをテンプレート・パターンに適用すべきかを決定するために左右のエッジ検出装置に対する八つの組み合わせと比較される。
【００２４】
【表３】
0003883696.tif 000005
【００２５】
例えば、図１５（ａ）のテンプレートは、規則番号２、５および７で示す三つの輪郭セグメントＡ、ＢおよびＣを含む。これらの規則により、テンプレート・コマンド１、３、６、５および３が得られる。テンプレート・コマンド１は、中央のセルの数値１が、左の一番上のセルの数値１を伴っているので、輪郭セグメントＡに関連する。この関連を図１６（ａ）の矢印で示すチェーン・コードの定義と比較することにより、コマンド１が得られる。同様に、中央のセル、および右の一番上のセルのビット１からコマンド３が得られる。図１５（ａ）のマトリックスの１のパターンを見れば、このマトリックスの上の二つの行の１は、１のチェーン・コードと３のチェーン・コードとを併合したものであることがわかる。上記のような併合により、コマンド６が得られる。セル数値の第三の行を見れば、新しい内側の最大輪郭点は、コマンド５となる輪郭セグメントＣに対応することが分かる。セル値の右の列を見れば、輪郭セグメントＢを識別できる。１の中央のセル値からスタートして、関連チェーン・コードは３であると導き出される。
【００２６】
走査済みの各二進画像は、エッジタイプ（Ｌ０〜Ｌ７；Ｒ０〜Ｒ７）に割り当てられるエッジおよび／またはラインを形成する多数のピクセルを有している。この識別子は、ベクトル・セグメントの方向に関連する。一組の規則に従って、各ベクトル・セグメントは、ベクトル・セグメントがある対象物の内側のエッジを形成するのか又は対象物の外側のエッジを形成するのかによって、時計方向または反時計方向のどちらかの方向に連結して、もう一つのベクトル・セグメントを形成する。図１６（ａ）は、連結したベクトル・セグメントにより表されるチェーン・コード・ストリングの一例である。表示のチェーン・コード・ストリングは、２１２１２１  １２２２２１  １１２１１１２１１  １  ３３３３３である。このチェーン・コードを図１６（ｂ）のベクトルと比較し、図１６（ａ）の方向を示す矢印を参照すると、上記チェーン・コードの最初の数字２は垂直ベクトル素子ｅとなり、該ベクトル素子ｅは、図１６（ａ）のベクトル１により表される４５度の方向に延びるチェーン・コードの第二の数字１を示すベクトル素子ｆと連結していることが分かる。ベクトル素子ｇ〜ｊについても同じことがいえる。この点において、ライン・セグメントＤは、接続しているベクトル素子の二つの終点の間の直線により形成される。
【００２７】
次のステップは、図６のブロック３８に示すように、検出した写真の数を決定することである。輪郭をベクトル化した後で、二進画像の対象物の各輪郭がトレースされ、多角形により表される。各ベクトルは、前の節で説明したプロセスに従って、その終点のｘおよびｙ座標により表される。各多角形の境界座標、幅および高さ（対象物の輪郭）は、多角形の頂点（ベクトルの終点）の座標を使用して計算される。写真多角形の識別は、単に多角形をグループ分けすることによって行われる。（より大きい多角形内に完全に含まれるより小さい多角形である）重なり合っている多角形の中の最大の多角形は、ラベルがつけられ、写真の候補として識別される。複数の多角形の候補を比較して、Ｍ個の最大の多角形候補が、所望の写真の最も外側の輪郭であると見なされる。この場合、Ｐは一回の走査において予測される写真の数であり、ユーザが適用する。写真の検出数Ｍが、ユーザが入力した写真の数Ｐより少ない場合には、スキャナ上で何枚かの写真が重なり合っていることになるので、写真を置き直さなければならない。一枚の写真であると識別された各多角形は、傾斜角度および位置を計算するためにさらに分析される。
【００２８】
図６について再度説明すると、この図のブロック７８においては、各写真の位置、傾斜角度、幅および高さの検出が行われる。図１７は、スキャナ・プラテン１４上で検出された写真に対応する画像領域８２の概略図である。
【００２９】
図１８は、各多角形の写真の寸法および傾斜角度の計算を示すブロック図である。このブロック図において、写真の形は長方形であると仮定される。このブロック図は、多角形からスタートする。図２０にさらに詳細に示すように多角形９０を処理することにより、一番上の境界線９２および一番下の境界線９３が検出され、一番上の境界線の勾配が、その写真の傾斜角度であると見なされる。上記多角形の左の境界線９４および右の境界線９５も、同様に検出される。抽出された四本のまっすぐな境界線は、選択した写真に等しい長方形を構成するのに使用される。写真の原点としての左上の隅９６は、一番上の境界線９２と左の境界線９４との交点の位置により計算される。右上の隅９７は、一番上の境界線９２と右の境界線９５との交点の位置により計算される。その後、左下の隅９８は、左の境界線９４と一番下の境界線９３との交点の位置により計算される。写真の幅は、左上の隅９６と右上の隅９７との間の距離であり、写真の高さは左上の隅９６と左下の隅９８との間の距離である。一番上の境界線および一番下の境界線の計算方法は図１９において、左の境界線および右の境界線の計算方法は図２３においてそれぞれ説明される。
【００３０】
図２０は、未知の傾斜角度で傾いている写真の多角形の一例である。同じ間隔で並んでいる一連の垂直線が、距離Ｄｘの間隔を置いて引かれる。垂直線と多角形９０との交点が決定される。最小Ｙ値および最大Ｙ値を持つ点が記録される。垂直方向でのその長さ（Ｄｙ）が、水平方向でのその長さ（Ｄｘ）よりも長いという要件を満たす一対の隣接点が、それぞれ、二組の点から削除される。
【００３１】
次に、隣接点の垂直距離の二つのヒストグラム、すなわち、頂部交点のヒストグラム（Ｈｔ（Ｄｙ））および底部交点のヒストグラム（Ｈｂ（Ｄｙ））が計算される。二つのヒストグラムのモードを、図２１に示すように、それぞれＭｔおよびＭｂで示す。勾配の決定をさらに正確にするために、Ｍｔ＋／−Ｋ値およびＭｂ＋／−Ｋ値の範囲の外側の点は、それぞれ除去される。データをより正確にするプロセスの後で、残りの頂部交点および残りの底部交点の相関係数ＣｔおよびＣｂが、それぞれ点がどの程度同一線上にあるかを評価するために計算される。上記相関係数は、以下に述べる方法で決定される。
【００３２】
これら走査線および多角形の頂部および底部ラインの間の交点は、（ｘi，ｙi）で表される。この場合、ｉ＝１，．．．，Ｎであり、Ｎは交点の数である。相関係数（ｒry）は、以下のように表される。
【数１】
0003883696.tif 000006
【００３３】
相関係数の数値は、その定義により０と１の間の数値とされる。相関係数が１に近づくということは、これらの点が同一線上にあることを意味し、線形最小二乗法近似がこれらの点に適用されることを意味する。回転角度θSは、適合直線、ｙ＝ａ＋ｂｘの勾配（θS＝ｂ）から読み取られる。ここで、
【数２】
0003883696.tif 000007
である。多角形の回転角度は、走査された写真の傾斜角度であると見なされる。
【００３４】
写真の形は長方形であると仮定されるので、頂部境界線および底部境界線は平行でなければならない。それ故、点が一直線上にあるかどうかの判断には、図１９および図２３に示す二つの相関係数ＣｔおよびＣｂの中の、大きい方の数値（Ｃｍ）が使用される。Ｃｍが予め定めた域値（ＴＨ）より小さい場合には、水平の境界線または不規則な境界線が検出されたことを意味する。この条件下では、傾斜角度はいつでもゼロに設定される。このことは、頂部および底部の境界線が水平に設定されることを意味する。左右の境界線の計算は、上記ステップに類似のものである。図２２の各水平交点に対してこのプロセスのブロック図が反復して実行されるとともに、図２３の左右の境界線の計算が行われる。
【００３５】
写真原点（左上の隅）が決定された後で、検出された写真の画像の大きさ（幅および高さ）および傾斜角度が、全プラテンに対する低解像度走査から計算される。図１７の画像境界座標が再調整（スケール・アップ）されるとともに、所望の高解像度走査の座標にマッピングされる。
【００３６】
所望の写真が選択されるとともに、選択された写真に対して高解像度走査が行われる。高解像度走査を行った後で、高解像度画像は、当業者にとっては周知の標準双線画像補間（standard bilinear image interpolation）により傾斜修正が行われる。
【００３７】
図２４は、画像領域の傾斜修正を行い、トリミングすことにより人工エッジを除去する方法の概略図である。画像を傾斜修正した後に、頂部、底部および側部人工エッジを容易に除去することができる。その後、画像を、当業者にとっては周知のようにディスクに記憶したり、写真としてプリントすることができる。
【００３８】
本発明を好適な実施形態を参照しながら説明してきた。しかし、通常の当業者であれば、本発明の範囲から逸脱することなしに種々の変更および修正を行うことができることを理解されたい。
【図面の簡単な説明】
【図１】  写真を走査するための従来技術のシステムを示したブロック図である。
【図２】  人工エッジを示す従来技術のシステムを示したブロック図である。
【図３】  傾斜配置された写真、走査画像およびプリントした写真上に結果として現れる人工エッジを示す従来技術のシステムを示したブロック図である。
【図４】  写真の位置を自動的に検出し、サイズおよび傾斜角度を修正し、人工エッジを除去するための本発明によるシステムのブロック図である。
【図５】  スキャナ・プラテンの表面上の複数の写真を示した概略図である。
【図６】  写真を検出するためのシステムのブロック図である。
【図７】  画像の閾値を決定するためのシステムのブロック図である。
【図８】  階調強度を計算するためのテーブルを示した図である。
【図９】  輪郭多角形の抽出を示したフローチャートである。
【図１０】  本発明の実施形態で使用する輪郭ピクセル検出方法を示したフローチャートである。
【図１１】  ３ｘ３ビットマップによる出力テンプレート・コマンドの形成を示し、それぞれ、（ａ）は３ｘ３ビットマップ・パターンから索引表への配列、（ｂ）は３ｘ３ビットマップの索引表用入力番号への変換、（ｃ）は索引表を用いた各コマンドの発生を示す概略図である。
【図１２】  左エッジ検出装置であって、（ａ）〜（ｈ）はそれぞれ８つの定義を示す図である。
【図１３】  右エッジ検出装置であって、（ａ）〜（ｈ）はそれぞれ８つの定義を示す図である。
【図１４】  表１の規則に基づく各エッジの組み合わせから発生する複数のテンプレートを３ｘ３マトリックスで示した図である。
【図１５】  表１の規則により生成されるテンプレート・コマンドを示し、（ａ）〜（ｄ）はそれぞれ異なるテンプレートパターンに対して示された図である。
【図１６】  （ａ）は方向を規定するチェーン・コード・グラフを示し、（ｂ）はチェーン・コードの代表的な多角形ベクトルへの変換の一例を示す図である。
【図１７】  スキャナ・プラテン上に傾斜配置された写真を示した概略図である。
【図１８】  写真の位置、サイズおよび傾斜角度の計算を示したブロック図である。
【図１９】  写真の傾斜角度、頂部境界および底部境界の検出を示したブロック図である。
【図２０】  一番上の交点および一番下の交点の集合を示した図である。
【図２１】  隣接交点間の垂直距離を示したヒストグラムである。
【図２２】  最も左の交点および最も右の交点の集合を示した図である。
【図２３】  写真の左右の境界の検出を概略的に示したフローチャートである。
【図２４】  傾斜修正およびトリミング動作を概略的に示したフローチャートである。
【符号の説明】
１１  スキャナ
１２  写真
１４  プラテン
２０  人工エッジ
【図１】
0003883696.tif 000008
【図２】
0003883696.tif 000009
【図３】
0003883696.tif 000010
【図４】
0003883696.tif 000011
【図５】
0003883696.tif 000012
【図６】
0003883696.tif 000013
【図７】
0003883696.tif 000014
【図８】
0003883696.tif 000015
【図９】
0003883696.tif 000016
【図１０】
0003883696.tif 000017
【図１１】
0003883696.tif 000018
【図１２】
0003883696.tif 000019
【図１３】
0003883696.tif 000020
【図１４】
0003883696.tif 000021
【図１５】
0003883696.tif 000022
【図１６】
0003883696.tif 000023
【図１７】
0003883696.tif 000024
【図１８】
0003883696.tif 000025
【図１９】
0003883696.tif 000026
【図２０】
0003883696.tif 000027
【図２１】
0003883696.tif 000028
【図２２】
0003883696.tif 000029
【図２３】
0003883696.tif 000030
【図２４】
0003883696.tif 000031