(57)【特許請求の範囲】
【請求項１】
複数の画像を取得する取得手段と、
前記取得手段により取得された複数の画像それぞれにおいて、複数の候補線分を検出し、当該検出された候補線分に関する情報に基づき算出される評価値に基づき、四辺形領域の各辺に関して、辺となりうる可能性が高い順に第１位から所定順位までの候補線分を特定し、前記四辺形領域の各辺に関して当該特定された前記第１位から所定順位までの候補線分を保持する特定手段と、
前記取得された複数の画像のうちの第１の画像に重ねて、前記特定手段により前記第１の画像において特定されて保持された各辺の第１位の候補線分で構成される四辺形領域を表示し、ユーザからの修正指示に基づいて、当該表示された四辺形領域を構成する少なくともいずれかの辺の位置を、前記特定手段により保持されている他の候補線分の位置に修正する修正手段と、
前記修正手段により前記第１の画像に重ねて表示された四辺形領域を構成する少なくともいずれかの辺の位置が、前記特定手段により保持されている他の候補線分の位置に修正された場合、当該修正後の位置に対応する候補線分の順位が第１位となるように評価値の算出に用いる情報の重みづけを変更し、前記変更した重みづけを用いて、前記取得された複数の画像のうちの前記第１の画像以外の画像それぞれにおいて検出された候補線分を再評価することにより、前記取得された複数の画像のうちの前記第１の画像以外の画像において検出された候補線分の評価値を更新する更新手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の画像に対しては、前記修正手段により辺の位置が修正された四辺形領域に基づいて歪み補正を行い、
前記取得された複数の画像のうちの前記第１の画像以外の画像それぞれに対しては、前記更新手段により更新された後の評価値に基づき特定される四辺形領域に基づいて歪み補正を行う、補正手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得手段により取得した複数の画像のうち前記第１の画像の特徴量と近い特徴量を有する画像において検出された候補線分に対してのみ、前記更新手段による評価値の更新を行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記取得された複数の画像は、撮像部で原稿を撮像することで得られる画像であることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
複数の画像を取得する取得ステップと、
前記取得ステップにて取得された複数の画像それぞれにおいて、複数の候補線分を検出し、当該検出された候補線分に関する情報に基づき算出される評価値に基づき、四辺形領域の各辺に関して、辺となりうる可能性が高い順に第１位から所定順位までの候補線分を特定し、前記四辺形領域の各辺に関して当該特定された前記第１位から所定順位までの候補線分を保持する特定ステップと、
前記取得された複数の画像のうちの第１の画像に重ねて、前記特定ステップにより前記第１の画像において特定されて保持された各辺の第１位の候補線分で構成される四辺形領域を表示し、ユーザからの修正指示に基づいて、当該表示された四辺形領域を構成する少なくともいずれかの辺の位置を、前記特定ステップにより保持されている他の候補線分の位置に修正する修正ステップと、
前記修正ステップにより前記第１の画像に重ねて表示された四辺形領域を構成する少なくともいずれかの辺の位置が、前記特定ステップにより保持されている他の候補線分の位置に修正された場合、当該修正後の位置に対応する候補線分の順位が第１位となるように評価値の算出に用いる情報の重みづけを変更し、前記変更した重みづけを用いて、前記取得された複数の画像のうちの前記第１の画像以外の画像それぞれにおいて検出された候補線分を再評価することにより、前記取得された複数の画像のうちの前記第１の画像以外の画像において検出された候補線分の評価値を更新する更新ステップと、
を有することを特徴とする画像処理方法。
【請求項６】
前記第１の画像に対しては、前記修正ステップにより辺の位置が修正された四辺形領域に基づいて歪み補正を行い、
前記取得された複数の画像のうちの前記第１の画像以外の画像それぞれに対しては、前記更新ステップにより更新された後の評価値に基づき特定される四辺形領域に基づいて歪み補正を行う、補正ステップを有することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記取得ステップにて取得した複数の画像のうち前記第１の画像の特徴量と近い特徴量を有する画像において検出された候補線分に対してのみ、前記更新ステップにて評価値の更新を行うことを特徴とする請求項５又は６に記載の画像処理方法。
【請求項８】
前記取得された複数の画像は、撮像部で原稿を撮像することで得られる画像であることを特徴とする請求項５乃至７のいずれか１項に記載の画像処理方法。
【請求項９】
コンピュータを、請求項１乃至４のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中に含まれる原稿領域を抽出して歪み補正することが可能な画像処理装置、画像処理方法、コンピュータプログラムに関するものである。
【背景技術】
【０００２】
近年、スマートフォンやタブレットＰＣといった高度な画像処理機能を持つ携帯端末が普及してきている。これら携帯端末は、カメラを備え、撮影機能（カメラ機能）を有している。このような携帯端末のカメラ機能を用いて紙媒体の原稿を撮影して得られた原稿画像を、携帯端末のメモリ上に画像データとして保存する機会が増えてきた。これに伴い、撮影した画像データをプリンタへ送信してプリントするように、原稿を複写するために携帯端末とプリンタとを組み合わせて使用する機会も増えてきた。このように、ユーザがスキャナ機能とプリンタ機能との両方を備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）を持っていなくても、携帯端末とプリンタとがあれば、原稿の複写ができるようになっている。
【０００３】
携帯端末のカメラ機能を用いた原稿の撮影では、ＭＦＰにおける原稿のスキャンとは異なり、撮影画像全面に原稿全体を正面から歪みなく写すことが難しい。台座や三脚などを用意して携帯端末と撮影対象である原稿を固定しなければ、カメラと原稿の距離や角度を正確に保つことは難しいためである。また、このようにして得られた撮影画像をそのままコピーしたりデータファイル化したりするのは好ましくない。撮影時に原稿画像以外の余計なものが写ってしまう場合や、斜め方向から撮影したために原稿画像が幾何学的に歪んでしまう場合があるためである。このような場合には、コピーやデータファイル化を行う前に撮影画像から原稿画像の領域（原稿領域）だけを切り出し、切り出した原稿領域に対して歪み補正（台形補正と呼ばれる場合もある）を施して幾何科学的歪みを取り除く必要がある。
【０００４】
撮影画像から原稿領域を切り出す方法として、できるだけユーザの負担を減らすために、撮影画像中のエッジ情報を利用して原稿領域の四辺（原稿の端部を構成する辺）を自動検出する方法がある。しかしながら、原稿領域と原稿以外の背景領域のコントラストが低いために原稿領域の辺のエッジが検出できない場合や、原稿領域の四辺以外で多くのエッジが検出されてエッジが適切に判定できない場合など、原稿領域の辺の自動検出が失敗してしまう場合がある。
【０００５】
この場合には、原稿領域の辺として検出されたエッジの集合体である線分のうち、原稿領域の辺である可能性が一番高いと判断された線分で構成される四辺形を入力画像に重ねて表示する。この場合、ユーザからのこの四辺の位置の修正操作を受け付けることで、正しい原稿領域を指定させる必要がある。
【０００６】
また、ユーザに四辺形の領域を指定させる方法としては、四辺形の頂点や辺の中点に修正操作用のハンドルを設定し、マウスやタッチによる操作を受け付ける方法がある。この方法では、ユーザがハンドルを操作することにより、頂点や辺をユーザの任意の位置に移動させることができる。
【０００７】
また、頂点や辺の位置をユーザが直接指定するのではなく、予め取得された候補の中からユーザに所望の頂点や辺の位置を選択させる方法がある。特許文献１では、輪郭の候補を複数求め、ユーザが輪郭候補を切替える操作を行うことで一つずつ輪郭候補を提示し、ユーザ所望の輪郭を確定させることで、輪郭の指定を行う方法について開示している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−５２６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし上記の技術では、複数の画像を入力して各画像に含まれる原稿画像の四辺の位置に対して修正のための操作（修正操作）をする場合、それぞれの画像に含まれる原稿画像に対して四辺の位置の修正操作を行う必要がある。
【００１０】
よって、ユーザは複数の画像それぞれに含まれる原稿画像に対して正しい領域の指定をする処理を行う必要があるため修正操作に手間がかかり、修正操作が煩雑になる。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の画像処理装置は、複数の画像を取得する取得手段と、前記取得手段により取得された複数の画像それぞれにおいて、複数の候補線分を検出し、当該検出された候補線分に関する情報に基づき算出される評価値に基づき、四辺形領域の各辺に関して、辺となりうる可能性が高い順に第１位から所定順位までの候補線分を特定し、前記四辺形領域の各辺に関して当該特定された前記第１位から所定順位までの候補線分を保持する特定手段と、前記取得された複数の画像のうちの第１の画像に重ねて、前記特定手段により前記第１の画像において特定されて保持された各辺の第１位の候補線分で構成される四辺形領域を表示し、ユーザからの修正指示に基づいて、当該表示された四辺形領域を構成する少なくともいずれかの辺の位置を、前記特定手段により保持されている他の候補線分の位置に修正する修正手段と、前記修正手段により前記第１の画像に重ねて表示された四辺形領域を構成する少なくともいずれかの辺の位置が、前記特定手段により保持されている他の候補線分の位置に修正された場合、当該修正後の位置に対応する候補線分の順位が第１位となるように評価値の算出に用いる情報の重みづけを変更し、前記変更した重みづけを用いて、前記取得された複数の画像のうちの前記第１の画像以外の画像それぞれにおいて検出された候補線分を再評価することにより、前記取得された複数の画像のうちの前記第１の画像以外の画像において検出された候補線分の評価値を更新する更新手段と、を有することを特徴とする。
【発明の効果】
【００１２】
複数の画像を入力した場合、そのうち１枚の画像に含まれる原稿画像（四辺形画像）に対して四辺の位置の修正をすることで、それ以外の画像に含まれる原稿画像の検出結果も修正することが可能になる。これにより入力した画像のうち他の画像に含まれる原稿画像の四辺の修正を減らすことが可能になり、ユーザの操作が煩雑にならない。
【図面の簡単な説明】
【００１３】
【図１】実施例１における携帯端末の概観図である。
【図２】実施例１における携帯端末の概略構成を示すブロック図である。
【図３】実施例１における処理手順のフローチャートである。
【図４】実施例１における原稿領域特定処理を表す図である。
【図５】実施例１における領域指定処理手順のフローチャートである。
【図６】実施例１における辺選択による領域指定処理手順のフローチャートである。
【図７】実施例１における辺選択による領域指定処理を表す図である。
【図８】実施例１における歪み補正処理を表す図である。
【図９】実施例１における候補線分群を保持している候補線分群管理テーブルの例を示す図である。
【図１０】実施例１における候補辺群の更新処理手順のフローチャートである。
【図１１】実施例２における処理手順のフローチャートである。
【図１２】実施例２における領域指定処理手順のフローチャートである。
【図１３】実施例３における領域指定処理手順のフローチャートである。
【図１４】実施例４における領域指定処理手順のフローチャートである。
【発明を実施するための形態】
【００１４】
（実施例１）
以下に、本発明を実施するための形態について図面を用いて説明する。
【００１５】
＜携帯端末の構成＞
図１に本実施例で利用する携帯端末（画像処理装置）１０１の外観を示す。図１（ａ）は、携帯端末１０１を表側の外観図であり、表側には、タッチパネルディスプレイ１０２、操作ボタン１０３が含まれる。図１（ｂ）は、携帯端末１０１の裏側の外観図であり、裏側には、カメラ１０４が配置されている。また、カメラ１０４には図示しないオートフォーカス機構が搭載されており、これにより焦点距離や被写体距離を測定することもできる。
【００１６】
なお、本実施例はカメラ機能を持つ画像処理装置ならば利用が可能である。例えば、カメラ機能を有するスマートフォン（携帯電話）やタブレット端末やパソコン（ＰＣ）のみならず、タッチパネルディスプレイを有するデジタルカメラでも構わない。また、有線または無線でカメラと接続されたＰＣ等でも実施可能である。また、カメラ等で撮影された画像データが保存されている保存装置（メモリカード等）から、携帯端末やＰＣ等が画像データを読み込んで本実施例の処理を行うことも可能である。
【００１７】
図２に携帯端末１０１の内部の構成を示す。但し、この構成図は本実施例を実施するための構成の一例であり、この構成に限るものではない。
【００１８】
図２において、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３がデータバス２１１を介してプログラムやデータを送受信する。データバス２１１には、記憶部２０４、データ送受信部２０５、撮像部２０６、表示部２０７、操作部２０８、画像処理部２０９、モーションセンサ２１０が接続される。さらに、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３も併せて、互いにプログラムやデータの送受信を行う。
【００１９】
記憶部２０４は、フラッシュメモリであり、画像データや各種プログラムを格納する。データ送受信部２０５は、無線ＬＡＮコントローラを有し、外部とのデータの送受信を実現する。
【００２０】
撮像部２０６は、カメラであり、原稿の撮影を行って撮影画像を取得する。取得された撮影画像のデータには、携帯端末のメーカー名やモデル名・画像解像度・絞り（Ｆ値）・焦点距離などのヘッダー情報が付与され、後述のように各部に送信される。
【００２１】
表示部２０７は、ディスプレイであり、カメラ機能を用いて原稿を撮影する際にライブビューによる表示や、本実施例の処理終了通知などの各種情報を表示する。操作部２０８は、タッチパネルや操作ボタンであり、ユーザからの操作を受け付け、各部へこの操作の情報を送信する。
【００２２】
画像処理部２０９は、撮影画像から原稿画像（四辺形領域）を抽出する原稿抽出を行う。モーションセンサ２１０は、３軸加速度センサ、電子コンパス、３軸角速度センサを搭載しており、公知の技術を利用することにより、携帯端末１０１の姿勢や移動を検知することが可能である。
【００２３】
なお、ＣＰＵ２０１がＲＯＭ２０３または記憶部２０４で保持されているコンピュータプログラムを実行することで、これらの携帯端末１０１内の構成要素の制御を行う。
【００２４】
＜フローチャートを用いた本実施例の詳細説明＞
図３は、本実施例における携帯端末１０１が実行する歪み補正処理（台形補正処理と呼ばれる場合もある）を説明するフローチャートである。携帯端末１０１は、ＲＯＭ２０３に格納されている入力画像または撮像部２０６で取得した入力画像に対して、歪み補正を行う基準となる四辺形領域をユーザに指定させて、指示された四辺形領域が矩形になるように補正する歪み補正処理を実行する。なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図３の各ステップの処理を実行する処理部として機能する。
【００２５】
ステップＳ３０１においてＣＰＵ２０１は、ユーザによって選択または撮影された入力画像を取得する。入力画像を格納済の画像から選択することで取得する場合は、ＲＯＭ２０３やメモリカード等のメモリに格納されている画像の中から、操作部２０８によって指示された画像を選択し、データバス２１１を経由して取得する。また、入力画像を撮影することで取得する場合は、撮像部２０６で取得された画像を、データバス２１１を経由して取得する。
【００２６】
ステップＳ３０６においてＣＰＵ２０１は、追加して画像の選択を指示する、または追加して画像の撮影を指示するための表示を表示部２０７に示す。
【００２７】
ＣＰＵ２０１は表示部２０７に表示された内容に対して、操作部２０８で操作された情報を取得する。ここでの操作部２０８で操作された情報とは、処理対象の画像の追加を行うために、さらに画像をメモリから選択する、またはさらに画像を撮像部により撮影する、または画像の追加をしないという情報である。
【００２８】
入力画像を選択することで画像を追加する場合は、ステップＳ３０１で説明したように、ＲＯＭ２０３やメモリカード等に格納されている画像の中から、操作部２０８によって指示された画像を選択し、データバス２１１を経由して取得する。また、入力画像を撮影することで画像を追加する場合には、ステップＳ３０１で説明したように撮像部２０６で取得された画像を、データバス２１１を経由して取得する。
【００２９】
ステップＳ３０２においてＣＰＵ２０１は、ステップＳ３０１で取得した入力画像から、原稿領域の各辺の候補となる候補線分群（候補辺群）を検出する。そして、その複数検出された線分である候補線分群の中から各辺において辺となりうる可能性が一番高い辺で構成される原稿領域の四辺を表す四辺形領域を特定する原稿領域特定処理を実行する。原稿領域特定処理の詳細については、図４を用いて後述する。ステップＳ３０６において、追加される画像があった場合には、追加された全ての画像のそれぞれに対してステップＳ３０２で説明した原稿領域特定処理を行う。
【００３０】
ステップＳ３０７においてＣＰＵ２０１は、ステップＳ３０１で取得した入力画像全てに対してステップＳ３０２の原稿領域特定処理を完了したか否か判断処理を行う。
【００３１】
ステップＳ３０３においてＣＰＵ２０１は、ステップＳ３０２で検出された四辺形領域を入力画像に重ねて表示し、表示された四辺形領域に対してユーザからの指示を受けて四辺形領域の形状を変更（修正）する領域指定処理を実行する。
【００３２】
なお、最初にこの修正を受けた入力画像を基準画像（第１の画像）とする。この基準画像は最初に入力された画像に限らず、最初にこの修正処理を施された画像を基準画像とする。
【００３３】
領域指定処理の詳細については、図５を用いて後述する。
【００３４】
ステップＳ３０４においてＣＰＵ２０１は、ステップＳ３０３で指定された四辺形領域を基準に、入力画像に含まれる四辺形領域の画像を抽出し、この画像が矩形画像になるように歪みを補正する歪み補正処理を実行する。歪み補正処理の詳細については後述する。
【００３５】
ステップＳ３０８においてＣＰＵ２０１は、ステップＳ３０１で取得した入力画像全てに対してそれぞれステップＳ３０４の歪み補正処理が完了したか否かの判断を行う。
【００３６】
ステップＳ３０５においてＣＰＵ２０１は、ステップＳ３０４で得られた歪み補正が施された原稿画像のプレビュー画像を表示部２０７に表示する。ＣＰＵ２０１は、ステップＳ３０４で得られた歪み補正が施された原稿画像が複数の場合には、全ての原稿画像のプレビュー画像を表示部２０７に表示を行う。ＣＰＵ２０１が表示部２０７に表示する例としては、プレビュー画像を縮小して表示部２０７に複数表示することや、プレビュー画像を１画像ごとに表示するなど表示の仕方は限定されるものではない。
【００３７】
なお、上記した処理（画像取得〜台形補正）について、携帯端末１０１が実行したが、これらの処理をＭＦＰが実行してもよい。すなわち、ＭＦＰにより画像をスキャンして、スキャンした画像をＭＦＰが有するＵＩに表示、台形補正をおこなってもよい。
【００３８】
＜原稿領域特定処理（Ｓ３０２）の詳細説明＞
ステップＳ３０２にて実行される原稿領域特定処理は画像処理部２０９で行われる。入力画像が取得された場合に、原稿領域の四辺の候補である候補線分群と、原稿領域の四辺を示す四辺形領域を特定する。図４（ａ）は、入力画像４００であり、この画像内に原稿画像の領域（四辺形領域）を示す原稿領域４０１を含む。
【００３９】
図４（ｂ）は、入力画像４００上に候補線分群を重ねて表示した画像である。候補線分群は、入力画像４００から検出されたエッジ情報を検出するＨｏｕｇｈ変換アルゴリズムなどの公知の方法によって検出される。検出された候補線分群には、候補線分４０２をはじめとした、原稿領域の四辺以外を表す線分も含まれる。この中から、原稿領域の上辺、右辺、下辺、左辺のそれぞれに対して各辺を構成する可能性が最も高いと判断される候補線分４０３、４０４、４０５、４０６を特定する。原稿領域の各辺として候補線分４０３、４０４、４０５、４０６を候補線分群の中から第１の候補として特定する手段としては、任意の４本の候補線分で構成される四辺形に対して評価を行うことで特定する。任意の４本の候補線分で構成される四辺形の評価は、例えば、対辺の長さの比や内角の大きさ、アスペクト比などの幾何学的な情報に基づいて行われてもよい。または、四辺形を構成する線分について、内側と外側の色味や分散を比較するなどの画像情報に基づいて行われてもよい。
【００４０】
図４（ｃ）は、候補線分群の中から特定された原稿領域である四辺形領域４０７を、入力画像４００上に表示した画像である。四辺形領域４０７は、候補線分４０３、４０４、４０５、４０６を四辺として特定された場合に構成される四辺形領域であり、頂点４０８、４０９、４１０、４１１を結ぶ線分によって囲まれた四辺形領域である。
【００４１】
図９（ａ）は、候補線分群についての情報を保持している候補線分群管理テーブルの例を示す。この例では、候補線分の各辺に対して四辺形領域を構成する辺の可能性が高い順に上位６位の線分まで保持されている。四辺形領域を構成する各辺に対して候補線分の両端、例えば上辺の左端（Ｘ１、Ｙ１）、右端（Ｘ２、Ｙ２）の座標を保持している。右辺の上端（Ｘ１、Ｙ１）、下端（Ｘ２、Ｙ２）、下辺の左端（Ｘ１、Ｙ１）、右端（Ｘ２、Ｙ２）、左辺の上端（Ｘ１、Ｙ１）、下端（Ｘ２、Ｙ２）の座標を保持している。
【００４２】
＜領域指定処理（Ｓ３０３）の詳細説明＞
ステップＳ３０３にて実行される領域指定処理では、歪み補正を行う基準となる四辺形領域をユーザからの指定に基づいて変更（修正）させる。領域指定処理の詳細を、図５に示すフローチャートに従って説明する。
【００４３】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図５の各ステップの処理を実行する処理部として機能する。
【００４４】
ステップＳ５０１においてＣＰＵ２０１は、ステップＳ３０２の原稿領域特定処理によって特定した四辺形領域およびユーザからの操作を受け付ける辺ハンドルを、表示部２０７に表示されている入力画像の上に重ねて表示する。ハンドルの表示形態については、図７を用いて後述する。
【００４５】
ステップＳ５０２においてＣＰＵ２０１は、操作部２０８によって、ユーザから辺の選択または領域の確定のいずれかの指示を受け付ける。なお、表示部２０７に表示されている辺のハンドルが選択されることで、四辺形のうちの一辺が選択指示（辺選択指示）されたとする。
【００４６】
ステップＳ５０３においてＣＰＵ２０１は、ステップＳ５０２で辺選択が指示されたか否か（ユーザの指示に基づき四辺形のうちの一辺が選択されたか否か）を判断する。
【００４７】
ステップＳ５０４においてＣＰＵ２０１は、辺選択による領域指定処理を実行する。辺選択による領域指定処理の詳細は、図６および図７を用いて後述する。
【００４８】
ステップＳ５０５においてＣＰＵ２０１は、ステップＳ５０２で領域確定が指示された否かを判断する。領域確定が指示された場合には、その時点での四辺形領域を保持してステップＳ５０６へ進む。領域確定が指示されていない場合には、ステップＳ５０２に戻り再度ユーザからの指示を受け付ける。
【００４９】
ステップＳ５０６において、ＣＰＵ２０１は、ステップＳ５０２、ステップＳ５０３、ステップＳ５０４において、辺が選択されて領域の変更が行われたか否かを判断する。領域の変更が行われていた場合にはステップＳ５０７へ進み、領域の変更が行われていない場合には、その時点での四辺形領域を保持して処理を完了する。
【００５０】
ステップＳ５０７においてＣＰＵ２０１は、ステップＳ５０５で確定した領域についての情報を用いて、他の入力画像に対して候補辺群の各評価値を更新する処理を行う。候補辺群の更新処理についての詳細は、図１０を用いて後述する。
【００５１】
図５のフローにより複数画像のうち１画像（基準画像）に対して検出された四辺形領域（原稿領域）を構成する辺の位置が変更され四辺形領域の形状が修正されると、他の画像に含まれる四辺形画像を検出する際に用いられる候補辺群の評価値を更新することができる。
【００５２】
＜候補辺群の更新処理（Ｓ５０７）の詳細説明＞
ステップＳ５０７にて実行される候補辺群の更新処理では、辺選択においてユーザからの指示を受けて四辺形領域の形状が修正された場合、この修正された基準画像以外の画像に対しても候補辺群の評価値を再評価し、候補辺群の評価値を更新させる。
【００５３】
この候補辺群の更新処理の詳細を、図１０に示すフローチャートに従って説明する。
【００５４】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図１０の各ステップの処理を実行する処理部として機能する。
【００５５】
ステップＳ１００１においてＣＰＵ２０１は、ステップＳ５０４で修正された四辺形領域の辺のデータの取得を行う。例えば、図９（ａ）の候補線分群管理テーブルにおいて、上辺は候補辺群のうち２番目の順位の辺が選択された、右辺は候補辺群のうち３番目の順位の辺が選択された、左辺と下辺は修正されていない、といったデータを取得する。
【００５６】
ステップＳ１００２において、ＣＰＵ２０１は、ステップＳ１００１で取得した辺のデータが候補辺群の中に存在する辺であるか否かの判断を行う。この判断は四辺全てに対してそれぞれ行う。
【００５７】
ステップＳ１００２で候補辺群の中に存在する辺が選択されたと判断した場合、ステップＳ１００３においてＣＰＵ２０１は、候補辺群の中における順位が１位となるように選択された辺の評価値を変更する。
【００５８】
この評価値は、ステップＳ３０２の説明で前述した対辺の長さの比や内角の大きさ、アスペクト比などの幾何学的な情報に基づいて評価された値でもよいし、四辺形を構成する線分について、内側と外側の色味や分散を比較して得られた値でもよい。選択された辺の評価値が他の辺よりも高くなるように重みづけ等を行うことで、評価値を変更・決定する。
【００５９】
ステップＳ１００４においてＣＰＵ２０１は、ステップＳ１００３で決定した評価値を用いて候補辺群に対して再評価を行い、再評価値を取得する。
【００６０】
ステップＳ１００５においてＣＰＵ２０１は、ステップＳ１００４で取得した再評価値に基づいて候補辺群の更新処理を行う。この候補辺群の更新処理とは、図９に示す候補線分管理テーブルにおいて、各候補線分の順位を変更することである。
【００６１】
ステップＳ１００６においてＣＰＵ２０１は、辺の修正処理を行った基準画像以外の入力画像全てに対して候補辺群の更新を行ったか否か判断を行う。辺の修正処理を行った画像以外の入力画像全てに対して候補辺群の更新が行われていた場合、処理を完了する。
【００６２】
図９（ｂ）にステップＳ１００５において、図９（ａ）に示した候補線分群が更新された候補線分群管理テーブルの例を示す。図９（ｂ）の候補線分群は、図９（ａ）の候補線分が変わる（座標が変わる）のではなく、順位が変わっていることを示している。図９（ｂ）は、図９（ａ）の順位３位が１位に更新されており、図９（ａ）の２位は図９（ｂ）と変わりがない。また、図９（ａ）の４位が図９（ｂ）の６位へ更新され、図９（ａ）の５位は、図９（ｂ）の５位と変わりがない。図９（ａ）の６位は、図９（ｂ）の４位へ更新されている。
【００６３】
図１０のフローにより、基準画像に含まれる四辺形領域（原稿画像）の形状が修正された場合、基準画像以外の画像に含まれるし四辺形領域に対しても候補辺群の評価値を再評価し、候補辺群の評価値を更新させることができる。
【００６４】
これにより、基準画像以外の画像から原稿画像を検出する際に、ある１画像に含まれる原稿画像に対して施された修正結果を反映することが可能になる。
【００６５】
＜辺選択による領域指定処理（Ｓ５０４）の詳細説明＞
ステップＳ５０４にて実行される辺選択による領域指定処理は、辺が選択されている場合に、ユーザからの指示を受けて四辺形領域を変形させる。
【００６６】
図７は、辺選択による領域指定処理の概念図である。図７（ａ）に、四辺形領域７０１と、辺の選択に使用する辺ハンドル７０２、７０３、７０４、７０５、および頂点の選択に利用する頂点のハンドル７０６、７０７、７０８、７０９を示す。
【００６７】
ここでは、辺ハンドル７０２、７０３、７０４、７０５は、各辺の中点位置に丸形のハンドルを配置しているが、辺ハンドルの形状および位置はこれに限ることはなく、辺自体をハンドルとして選択できるようにしても良い。
【００６８】
図６は、辺選択による領域指定処理のフローチャートである。
【００６９】
ハンドルの辺選択による領域指定処理の詳細を、図６に示すフローチャートに従って、図７を用いながら説明する。
【００７０】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図６の各ステップの処理を実行する処理部として機能する。
【００７１】
ステップＳ６０１において、ユーザが表示画面の辺ハンドル（または辺自体）をタッチして選択すると、選択中の辺およびそのハンドルの表示形態（例えば色）を他のハンドルの表示形態とは別の表示形態に変更して選択中の辺およびそのハンドル表示する。これによって、ユーザはどの辺を選択しているかを確認することができる。図７（ｂ）では、辺７１０の辺ハンドル７１１が選択され、辺７１０と辺ハンドル７１１の色が変更された場合を示している。
【００７２】
ステップＳ６０２において、選択中の辺に対応する候補辺群を表示する。選択中の辺に対応する候補辺群は、原稿領域特定処理において検出された候補線分群の中から、選択中の辺に代替しうる線分の候補となる線分だけを抜粋することで得られる。これによって、ユーザは、候補辺群の中に、選択中の辺に代替しうる線分として所望する線分が含まれているか否かを容易に確認することができる。また、辺を選択中にだけこの辺に対応する候補辺群を表示することで、辺を選択していない場合の表示画面における視認性を保つことができる。複数の候補線分群の中から選択中の辺に対応する候補辺群だけを抜粋する方法としては、選択中の辺の長さや角度、位置など幾何学的な情報を用いる。図７（ｂ）に、辺７１０が選択された場合の候補辺群として、線分７１２、７１３、７１４を示す。なお、候補辺群７１２、７１３、７１４は、四辺形の領域７０１や選択中の辺７１０と区別できるように、それらとは異なる色または異なる表示形態（例えば破線）で表示する。
【００７３】
ステップＳ６０３において、ユーザからの辺の移動指示または辺の選択解除を受け付ける。辺の移動指示は、ユーザによって辺ハンドルの位置が変更されたことにより行われる。例えば、ユーザが表示画面上にて指で辺の位置をタッチしたまま、指の位置をスライドさせると、辺ハンドルの位置が変更され辺の移動指示がされたと判断する。また、辺の選択解除は、辺ハンドルの選択が解除されることにより行われる。例えば、ユーザが表示画面上にて辺の位置をタッチしている指を画面から離すと、選択解除されたと判断する。
【００７４】
ステップＳ６０４において、ステップＳ６０３でのユーザの指示が、辺の移動指示であるか否かを判断する。辺の移動指示であると判断された場合、ステップＳ６０５へ進む。そして、ステップＳ６０５において、変形を適用する前の四辺形領域をメモリに一時保存する。
【００７５】
次にステップＳ６０６において、選択中の辺を移動中の辺ハンドルの現在位置に最も近い位置にある候補線分の位置に移動させるか否か（位置を置換するか否か）を判定する。
【００７６】
図７（ｂ）では、辺ハンドル７１１に最も近い位置にある線分７１２が判定対象である。置換するか否かは、選択中の辺ハンドルの移動位置（移動指示された位置）と判定対象の候補線分との距離や、選択中の辺と判定対象の候補線分の長さや角度の違いなどの幾何学的な情報に基づいて判定する。例えば、移動指示を受けた後のハンドルの位置と判定対象の線分との距離が所定閾値以内に近づいたと判定されれば、選択中の辺を判定対象の線分の位置に合わせる（置換する）指示を受けたと判定する。
【００７７】
ステップＳ６０６で選択中の辺を候補線分に置換しないと判定された場合、ステップＳ６０７において、ステップＳ６０３でユーザに指示された位置に、選択中の辺を平行移動させる。
【００７８】
図７（ｃ）は、辺７１４を移動させたときの図である。辺７１５が移動後の辺である。移動させる際には、選択中の辺７１４の傾きを保ったまま、辺７１４に隣り合う２辺である辺７１６、７１７の間を、辺ハンドルの移動に追従して移動させる。変形後の四辺形領域は、辺７１６を延長させた直線と移動後の辺との交点７１８と、辺７１７を延長させた直線と移動後の辺との交点７１９を新たな頂点とすることで得ることができる。
【００７９】
ステップＳ６０６で選択中の辺を置換すると判定された場合、ステップＳ６０８において、選択中の辺の位置を、判定対象の候補線分の位置に合うように移動させて表示する。これによって、ユーザが選択中の辺を、表示されている候補線分に近づける操作を行うだけで、選択中の辺と候補線分との間の距離が所定閾値内であれば、選択中の辺を近づけた候補線分の位置に移動させることができる。したがって、候補辺群の中に、原稿領域の四辺を表す線分が含まれている際には、容易に正しい原稿領域の辺を指定することができる。
【００８０】
図７（ｄ）に、辺７２０を候補辺７２２の方へ移動させたときに、辺７２０と候補辺７２２の距離が所定閾値内になったと判断した時点で、辺７２０の位置と傾きが候補辺７２２の位置と傾きに置換されて、辺７２１に置換された場合を示す。置換結果の辺７２１は、選択した辺７２０に隣り合う２辺である辺７２３、７２４と、線分７２２との交点を求めることで得ることができる。
【００８１】
ステップＳ６０９において、ステップＳ６０７およびステップＳ６０８で得られた四辺形領域が不正であるか否かの判定を行う。不正であるか否かは、変形後の四辺形領域の頂点間の距離や頂点の位置、内角の角度に基づいて判定する。判定基準の例としては、撮影画像中に占める原稿領域の最小の大きさを設定することで決まる頂点間の距離や、操作性や視認性を損なわないように頂点ハンドルの表示の大きさに基づいて頂点間が近づき過ぎないように判定する方法がある。また、すべての頂点が画像表示領域内に入っているか否かという頂点位置に基づく判定や、内角の大きさから原稿を斜め方向から撮影しても起こり得ない四辺形を判定する方法がある。
【００８２】
ステップＳ６１０ではステップＳ６０９での判定結果に基づいて判定が行われる。これにより、ステップＳ６０９で不正な四辺形領域であると判定された場合には、現在の四辺形領域をステップＳ６０７またはステップＳ６０８で得られた四辺形領域に更新せず、ユーザからの変形指示を受け付けない。
【００８３】
ステップＳ６１０での判定でステップＳ６０９での判定結果が不正でないと判定された場合、ステップＳ６１１に進む。そしてステップＳ６１１にて現在の四辺形領域をステップＳ６０７またはステップＳ６０８で得られた四辺形領域に更新し、ユーザからの変形指示を適用する。
【００８４】
ステップＳ６１２において、ステップＳ６０３でユーザに辺の選択解除が指示され、ステップＳ６０４で辺の移動指示がなかったと判断された場合に、四辺形領域の形状を判定する。四辺形領域の形状判定としては、たとえば内角の大きさから凸型の四辺形領域になっていないかを判定したり、対辺が交差していないかを判定したりする方法がある。
【００８５】
ステップＳ６１３において、選択中の辺およびそのハンドルの表示形態（色）を元に戻す。これによって、ユーザは辺の選択が解除されたことを確認することができる。
【００８６】
ステップＳ６１４において、候補線分の表示を解除する。これによって、ユーザが辺の選択を解除した際には、表示画面で入力画像上に重ねて表示されるのは、図７（ａ）のような、四辺形領域とハンドルだけであるため、四辺形領域を確認する際に視認性を低下させることはない。
【００８７】
＜歪み補正処理（Ｓ３０４）の詳細説明＞
ステップＳ３０４にて実行される歪み補正処理は、画像処理部２０９で行なわれる。原稿画像を含む入力画像から、原稿画像の領域である原稿領域特定処理および領域指定処理から得ることができた四辺形領域を基準にして歪み補正処理を行う。入力画像上に、四辺形領域を重ねて表示したのが、図８（ａ）である。四辺形領域８０１は、領域指定処理の結果によって得ることができた四辺形領域であるとする。画像処理部２０９は、撮影画像内の原稿領域のサイズに基づいて変倍パラメータを算出する。ここで、算出する変倍パラメータは、撮影画像内の四辺形領域が、出力してファイル化する際の画像サイズである出力画像サイズに変倍されるような変倍パラメータである。例えば、Ａ４やレターサイズ等の出力画像サイズになるように変倍される。この変倍パラメータは予め設定されていても良いしユーザが選択してもよい。
【００８８】
四辺形領域が台形に歪んでいる場合も考慮し、この変倍パラメータは射影変換行列になる。射影変換行列は、入力画像内の四辺形領域の頂点情報（頂点８０２、８０３、８０４、８０５）と、出力画像の四隅の座標情報（８０６、８０７、８０８、８０９）から公知の方法により算出することが可能である。なお、処理速度を優先する場合には、アフィン変換行列や単純な変倍率を変倍パラメータとして用いて算出しても良い。変倍パラメータが決定すると、画像処理部２０９は、入力画像の四辺形領域だけに対して変倍処理を施すことで、入力画像内から四辺形領域だけを取り出した画像をディスプレイ１０２などの表示部にて出力ことができる。歪み補正処理の出力結果が画像を示したのが、図８（ｂ）である。
【００８９】
以上、本実施例によれば、複数の画像を入力した場合、そのうち１枚の画像（基準画像）に含まれる四辺形領域（原稿画像）を構成する四辺の位置の修正し、四辺形領域の形状を修正することで、基準画像以外の画像に含まれる四辺形領域の検出結果も修正することが可能になる。これにより入力した画像のうち他の画像に含まれる原稿画像の四辺の修正を減らすことが可能になり、ユーザの操作が煩雑にならない。
【００９０】
また、領域指定処理における辺の選択時にだけその辺の候補辺群を表示することで、ユーザの所望する辺が候補として得られているか否かを容易に確認することができる。このため、処理中の画面表示が煩雑にならない。
【００９１】
また、辺を選択して操作した際のハンドルの位置に基づいて、候補辺群の中から辺を選択できるため、頂点位置を手動で指定する場合と比べて、容易かつ効率的に四辺形領域を指定することができる。
【００９２】
（実施例２）
実施例１では、ユーザによる画像データの追加（連続撮影あるいは複数枚画像入力）を行ってから、原稿領域特定処理、領域指定処理、歪み補正処理を行っていた。
【００９３】
本実施例では、ユーザが処理対象である基準画像を入力し、この基準画像に含まれる原稿画像（四辺形領域）に対して原稿領域特定処理、領域指定処理、歪み補正処理を行ってから、追加で画像を入力（または撮影）する。そして、後から追加された画像に含まれる原稿の四辺の候補線分群の評価結果を変更し、辺候補としての順位の更新を可能にする。
【００９４】
これによって、基準画像を入力し、この基準画像に含まれる原稿画像（四辺形領域）に対し四辺形領域を構成する辺の位置を修正した後に入力した別の画像に含まれる原稿画像にも基準画像に対して施した修正処理の内容を反映することが可能になる。
【００９５】
なお、本実施例においては、実施例１と差分がある部分についてのみ説明する。
【００９６】
図１１は、実施例２における携帯端末１０１が実行する歪み補正処理（台形補正処理と呼ばれる場合もある）を説明するフローチャートである。なお、図３で説明したものと同じ処理に関しては、説明は省略する。
【００９７】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図６の各ステップの処理を実行する処理部として機能する。
【００９８】
ステップＳ１１０２において、ＣＰＵ２０１は、追加される画像があるか否かの判断を行う。画像追加の指示があると判断された場合には、ステップＳ３０１へ進む。追加される画像がないと判断された場合には、処理を完了する。
【００９９】
＜領域指定処理（Ｓ１１０１）の詳細説明＞
図１２は、実施例２における候補線分群の更新を説明するフローチャートである。なお、図５で説明したものと同じ処理に関しては、説明を省略する。
【０１００】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図１２の各ステップの処理を実行する処理部として機能する。
【０１０１】
ステップＳ１２０１において、ＣＰＵ２０１は、追加される次の入力画像の候補線分群の評価へ反映をさせる処理を行う。これにより各画像における候補辺群の順位が更新される。
【０１０２】
よってユーザの指示により四辺形領域を構成する辺の位置の修正を行い、その結果を次の入力画像に対して反映させることが可能になる。
【０１０３】
これにより、基準画像を入力し、この基準画像に含まれる原稿画像に対し四辺形領域を構成する辺の位置を修正した後に入力した別の画像に含まれる原稿画像にも基準画像に対して施した修正処理の内容を反映することが可能になる。
【０１０４】
よって、基準画像に含まれる原稿画像に対する補正処理が終わった後から追加した画像に対しても基準画像に含まれる原稿画像に対する補正処理を反映することが可能になる。
【０１０５】
（実施例３）
本実施例では、四辺形領域を構成する辺のうちユーザからどの辺に対して修正を行ったか否かについての情報を取得し、修正を行った辺に対してのみ他の画像に含まれる原稿画像に対して候補線分群の評価の更新を可能にする。これによって、ユーザが修正した四辺形領域をより絞ることが出来るため、修正する候補線分群の評価が減り、高速に処理することが可能になる。
【０１０６】
＜領域指定処理（Ｓ１１０１）の詳細説明＞
図１３は、実施例３における候補辺群の更新を説明するフローチャートである。
【０１０７】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図１３の各ステップの処理を実行する処理部として機能する。
【０１０８】
図１０のフローチャートで説明した処理と同じ処理に関しては説明を省略する。
【０１０９】
ステップＳ１３０３において、ＣＰＵ２０１は、ステップＳ１００２で候補辺群の中に存在する辺が選択されたと判断した場合、選択された辺の場所と候補辺群の順位が１位となる評価値の取得を行う。ここで選択された辺の場所とは、四辺の上辺、右辺、下辺、左辺を指す。また、評価値とは、ステップＳ３０２の説明で前述した対辺の長さの比や内角の大きさ、アスペクト比などの幾何学的な情報に基づいて評価してもよいし、四辺形を構成する線分について、内側と外側の色味や分散を比較するなどである。
【０１１０】
ステップＳ１３０４において、ＣＰＵ２０１は、ステップＳ１３０３で取得した辺の場所に対応する辺の評価値から該当する辺の場所の候補辺群に対して再評価する処理を行う。
【０１１１】
ステップＳ１３０５において、ＣＰＵ２０１は、ステップＳ１３０４で算出した評価値に基づいて修正した辺の場所に該当する候補辺群のみに対して更新処理を行う。
【０１１２】
これによって、原稿の四辺のうちユーザが修正した四辺形領域をより絞ることが出来るため、他の画像に含まれる原稿画像に対して修正する候補線分群の評価を行うための処理が減る。よって、他の画像に含まれる原稿画像に対する原稿領域特定処理、領域指定処理、を高速に処理することが可能になる。
【０１１３】
（実施例４）
本実施例では、ユーザが修正した四辺形領域を構成する辺の位置に対して、他の画像に対して候補線分群の評価の更新する場合、画像に応じて更新を適用するか否かの判断を行ってから候補線分群の更新を行うことを可能にする。これによって、ユーザが四辺形領域を構成する辺の位置を修正した画像と他の画像を比較して候補線分群の評価を更新するか否かの判断をすることで、ユーザの煩雑な操作を減らすことが可能になる。
【０１１４】
＜領域指定処理（Ｓ１１０１）の詳細説明＞
図１４は、実施例４における候補辺群の更新を説明するフローチャートである。
【０１１５】
なお、携帯端末１０１のＣＰＵ２０１（コンピュータ）がＲＯＭ２０３に格納されている処理プログラムをＲＡＭ２０２にロードして実行することにより、図１４の各ステップの処理を実行する処理部として機能する。
【０１１６】
図１０のフローチャートで説明した処理と同じ処理関しては説明を省略する。
【０１１７】
ステップＳ１４０１において、ＣＰＵ２０１は、連続撮影して入力された他の画像に対して画像の特徴量についての情報を取得する。特徴量とは、例えば、画像全体の輝度値や色のヒストグラム、原稿と背景の輝度差など、入力された画像の特徴量が、基準画像の特徴量と異なるか否かを判断するための処理である。なお、ここで示したもの以外を用いても特徴量についての判断は可能である。また、基準画像とは、入力された画像のうちユーザにより最初に四辺形領域を構成する辺の位置を修正された原稿画像を含む画像である。
【０１１８】
ステップＳ１４０２において、ＣＰＵ２０１は、ステップＳ１４０１で取得した情報を用いて基準画像と特徴量が変わるか否かの判断を行う。例えば、この判断は、予め閾値を設定しておき、取得した情報と基準画像との差分が閾値以内か否かによって判断を行う。その閾値は、外部から指定や設定が出来るようにしても構わない。
【０１１９】
これによって、ユーザが四辺形領域を構成する辺の位置を修正した原稿画像を含む画像と他の画像を比較して候補線分群の評価を更新するか否か判断できるので、ユーザの煩雑な操作を減らすことが可能になる。
【０１２０】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
0006676299.tif 000002
【図２】
0006676299.tif 000003
【図３】
0006676299.tif 000004
【図４】
0006676299.tif 000005
【図５】
0006676299.tif 000006
【図６】
0006676299.tif 000007
【図７】
0006676299.tif 000008
【図８】
0006676299.tif 000009
【図９】
0006676299.tif 000010
【図１０】
0006676299.tif 000011
【図１１】
0006676299.tif 000012
【図１２】
0006676299.tif 000013
【図１３】
0006676299.tif 000014
【図１４】
0006676299.tif 000015