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