(57)【要約】【課題】原稿領域を歪み補正・トリミング処理する際に調整を行う場合、歪み補正前に戻って処理をやり直す必要があり、応答性能やユーザビリティが良くなかった。【解決手段】画像処理装置であって、画像に含まれるオブジェクト領域の輪郭上に位置する複数の点から歪み補正を行うための第一のパラメータを算出し、前記第一のパラメータを用いて前記オブジェクト領域の歪み補正を行い、前記補正されたオブジェクト領域の周囲にマージン領域を設定し、前記マージン領域の少なくとも一部が、前記オブジェクト領域に含まれるように前記複数の点の調整を受け付け、前記画像のうち、前記複数の点が調整された際に前記オブジェクト領域に新たに含まれた領域の歪み補正を行い、前記複数の点の調整が確定したことに応答して、調整された前記複数の点から歪み補正を行うための第二のパラメータを算出し、前記第二のパラメータを用いて前記画像のうち前記調整された前記複数の点にて示される領域の歪み補正を行うことで出力画像を生成する。【選択図】  図５
2015103873.tif 000002
【特許請求の範囲】
【請求項１】
画像に含まれるオブジェクト領域の輪郭上に位置する複数の点を特定する特定手段と、
前記特定手段にて特定された複数の点から歪み補正を行うための第一のパラメータを算出する第一の算出手段と、
前記第一のパラメータを用いて前記オブジェクト領域の歪み補正を行う第一の補正手段と、
前記第一の補正手段により補正されたオブジェクト領域の周囲にマージン領域を設定する設定手段と、
前記マージン領域の少なくとも一部が、前記オブジェクト領域に含まれるように前記複数の点の調整を受け付ける調整手段と、
前記画像のうち、前記調整手段にて前記複数の点が調整された際に前記オブジェクト領域に新たに含まれた領域の歪み補正を行う第二の補正手段と、
前記調整手段による前記複数の点の調整が確定したことに応答して、前記調整手段にて調整された前記複数の点から歪み補正を行うための第二のパラメータを算出する第二の算出手段と、
前記第二のパラメータを用いて前記画像のうち前記調整手段にて調整された前記複数の点にて示される領域の歪み補正を行うことで出力画像を生成する生成手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記第二の補正手段は、前記オブジェクト領域に新たに含まれた領域に対し、前記第一のパラメータを用いて歪み補正を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第一もしくは第二のパラメータを用いて行う歪み補正は、射影変換であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記第一の算出手段は、前記特定手段にて特定された複数の点と、出力画像として出力する際の出力サイズとから前記第一のパラメータを算出することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
前記出力サイズの設定を受け付ける受付手段を更に有することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記受付手段は更に、前記出力サイズに対する割合として前記マージン領域のサイズの設定を受け付けることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像の解像度から前記マージン領域のサイズを決定する手段を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記第一および第二の補正手段にて補正されることによって得られる画像を表示する表示手段を更に有することを特徴とする請求項５乃至７のいずれか一項に記載の画像処理装置。
【請求項９】
前記表示手段は、前記第一および第二の補正手段にて補正されることによって得られる画像を表示する際に、前記受付手段にて受け付けた出力サイズの縦横の比率に収まるように表示することを特徴とすることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記画像に含まれる前記オブジェクト領域を分割する分割手段を更に備え、
前記第一の算出手段は、前記分割手段で分割された領域それぞれに対して、第一のパラメータを算出することを特徴とする請求項１乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記オブジェクト領域のオブジェクトに対する折り加工に関する情報を受け付ける手段を更に有し、
前記分割手段は、前記折り加工に関する情報に基づいて、分割する領域を決定することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記オブジェクト領域は、前記画像に含まれる原稿の領域であることを特徴とする請求項１乃至１１のいずれか一項に記載の画像処理装置。
【請求項１３】
画像に含まれるオブジェクト領域の輪郭上に位置する複数の点を特定する特定工程と、
前記特定工程にて特定された複数の点から歪み補正を行うための第一のパラメータを算出する第一の算出工程と、
前記第一のパラメータを用いて、前記オブジェクト領域の歪み補正を行う第一の補正工程と、
前記第一の補正工程により補正されたオブジェクト領域の周囲にマージン領域を設定する設定工程と、
前記マージン領域の少なくとも一部が、前記オブジェクト領域に含まれるように前記複数の点の調整を受け付ける調整工程と、
前記画像のうち、前記調整工程にて前記複数の点が調整された際に前記オブジェクト領域に新たに含まれた領域の歪み補正を行う第二の補正工程と、
前記調整工程による前記複数の点の調整が確定したことに応答して、前記調整工程にて調整された前記複数の点から歪み補正を行うための第二のパラメータを算出する第二の算出工程と、
前記第二のパラメータを用いて、前記画像のうち前記調整工程にて調整された前記複数の点にて示される領域の歪み補正を行うことで出力画像を生成する生成工程と
を有することを特徴とする画像処理方法。
【請求項１４】
コンピュータを、
画像に含まれるオブジェクト領域の輪郭上に位置する複数の点を特定する特定手段、
前記特定手段にて特定された複数の点から歪み補正を行うための第一のパラメータを算出する第一の算出手段、
前記第一のパラメータを用いて前記オブジェクト領域の歪み補正を行う第一の補正手段、
前記第一の補正手段により補正されたオブジェクト領域の周囲にマージン領域を設定する設定手段、
前記マージン領域の少なくとも一部が、前記オブジェクト領域に含まれるように前記複数の点の調整を受け付ける調整手段、
前記画像のうち、前記調整手段にて前記複数の点が調整された際に前記オブジェクト領域に新たに含まれた領域の歪み補正を行う第二の補正手段、
前記調整手段による前記複数の点の調整が確定したことに応答して、前記調整手段にて調整された前記複数の点から歪み補正を行うための第二のパラメータを算出する第二の算出手段、
前記第二のパラメータを用いて前記画像のうち前記調整手段にて調整された前記複数の点にて示される領域の歪み補正を行うことで出力画像を生成する生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレットなど、情報処理機能と通信機能を持つ携帯端末が普及してきている。これらの携帯端末では、カメラを備え、撮影機能（カメラ機能）を有しているのが一般的になっている。そして、このようなカメラ機能を用いて、例えば紙媒体の原稿を撮影し、携帯端末のメモリ上に画像データとして保存して利用する機会が増えてきている。
【０００３】
このようなカメラ撮影による紙原稿の保存では、従来のスキャナによる画像取得と異なり、基本的に正面からの撮影ではなかったり、紙が抑えつけられておらず浮かんでいたりする。そのため、撮影した原稿が歪んだ画像になる。また、撮影範囲も一定しておらず、原稿外の領域を含めて撮影することが多い。
【０００４】
このため、携帯端末等で手軽に原稿範囲のみ抽出して歪み補正できるように、原稿枠による歪み補正とトリミング処理を同時に行う機能を有するアプリケーションソフトが提供されている。また、例えば特許文献１では、画像全体の歪み補正を実施後、歪みパラメータをより使い易く、より精度良く補正できる技術を提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１１５７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した原稿枠による歪み補正とトリミング処理を行うアプリケーションソフトでは、原稿枠の指定を、歪み補正・トリミング処理前に適切に指示することを前提にしている。適切でない場合は、歪み補正・トリミング処理前の元画像には存在する端部データが、歪み補正・トリミング処理によって欠損する等の結果が生じる。そして、歪み補正・トリミング処理後の確認段階で端部欠損などの問題をユーザが発見した場合、指定範囲の微調整を行うために、歪み補正・トリミング処理前の原稿枠の指定画面まで戻ってやり直す必要があった。このように、原稿枠の指定、歪み量の再計算、歪み量に基づき画像全体を再度補正する等、手戻りが大きいことに加えて、ユーザの手順を後戻りさせるため、ユーザビリティが良くないシステムとなっていた。
【０００７】
一方、特許文献１では、歪み補正後に、原稿枠の状態に囚われずに適当な値で歪み補正量を手動調節でき、再度、歪み量を調整できるという利点がある。しかし、歪み補正の調整に利用する適当な値の刻み幅は、撮影対象を基に決定されておらず、また、歪み量の変更の度に画像全体を再計算するため、微調整が容易に行えなかった。
【０００８】
そこで、本願発明では、歪み補正・トリミング処理後に、歪み補正またはトリミング処理に利用する原稿枠の微調整を容易にし、再計算の負荷が低く、ユーザビリティの高い手法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、画像処理装置であって、画像に含まれるオブジェクト領域の輪郭上に位置する複数の点を特定する特定手段と、前記特定手段にて特定された複数の点から歪み補正を行うための第一のパラメータを算出する第一の算出手段と、前記第一のパラメータを用いて前記オブジェクト領域の歪み補正を行う第一の補正手段と、前記第一の補正手段により補正されたオブジェクト領域の周囲にマージン領域を設定する設定手段と、前記マージン領域の少なくとも一部が、前記オブジェクト領域に含まれるように前記複数の点の調整を受け付ける調整手段と、前記画像のうち、前記調整手段にて前記複数の点が調整された際に前記オブジェクト領域に新たに含まれた領域の歪み補正を行う第二の補正手段と、前記調整手段による前記複数の点の調整が確定したことに応答して、前記調整手段にて調整された前記複数の点から歪み補正を行うための第二のパラメータを算出する第二の算出手段と、前記第二のパラメータを用いて前記画像のうち前記調整手段にて調整された前記複数の点にて示される領域の歪み補正を行うことで出力画像を生成する生成手段とを有する。
【発明の効果】
【００１０】
ユーザビリティの高い歪み補正・トリミング補正手段を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】携帯端末の外観の例を示す図。
【図２】携帯端末による原稿撮影形態の例を示す図。
【図３】携帯端末のシステム構成の例を示す図。
【図４】画像処理部の構成の例を示す図。
【図５】射影変換の制御を示すフローチャート。
【図６】射影変換前の原稿枠点（角）の調整画面の例を示す図。
【図７】マッピング先情報の設定画面の例を示す図。
【図８】射影変換前後の対応関係を説明するための図。
【図９】画像の表示領域を説明するための図。
【図１０】射影変換後の原稿枠点の調整画面の例を示す図。
【図１１】射影変換後の原稿枠点の調整を説明するための図。
【図１２】折り加工設定における領域分割を説明するための図。
【図１３】折り加工設定における射影変換前後の対応関係を説明するための図。
【図１４】原稿枠点の距離を用いたマージン計算を説明するための図。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１３】
＜第一の実施形態＞
［携帯端末の外観］
図１に、本実施形態に係る携帯端末１０１の外観を示す。なお、携帯端末１０１は様々な種類や構成が存在し、図１に示す構成に限るものではない。図１（ａ）は、携帯端末１０１の表面である。表面には、タッチパネルディスプレイのようなタッチ操作が可能な表示部１０２、及び操作ボタン１０３を備える。図１（ｂ）は携帯端末１０１の裏面である。裏面には、カメラ１０４が配置されている。
【００１４】
なお、本願発明は、携帯端末に限られず、カメラ機能を持つ装置で撮影された原稿画像に対して、歪み補正／トリミング処理を行う装置に適用可能である。例えば、スマートフォンや携帯電話、ノートＰＣ、デスクトップＰＣ、デジタルカメラのいずれの構成で動作するシステムであっても構わない。
【００１５】
［携帯端末による原稿撮像システムの撮像形態例］
図２は、携帯端末１０１による撮像形態の例を示す。
【００１６】
図２（ａ）は、携帯端末１０１を手に持ち、カメラ１０４で原稿２０１を上方から撮影している例である。なお、カメラ１０４は、撮影対象に対し前後左右への傾きも持つ場合もある。
【００１７】
図２（ｂ）は、携帯端末１０１を台２０２に立て掛け、カメラ１０４で原稿２０１を撮影している例である。なお、これらの利用例は一例であり、黒板やホワイトボード、掲示板を撮影対象としてカメラ１０４を向けて撮影する場合であってもよく、図２に示した例に限定されるものではない。
【００１８】
［システム全体構成］
図３に、携帯端末１０１のシステム全体構成の例を示す。但し、この構成図は、本実施形態に必要な構成に限定して記載している。図３において、ＣＰＵ３０１、ＲＡＭ３０２、及びＲＯＭ３０３が、データバス３１０を介してプログラムやデータの送受信を行う。また、データバス３１０には、記憶部３０４、送受信部３０５、表示部３０６、撮像部３０７、操作部３０８、及び画像処理部３０９が接続される。表示部３０６は、図１の表示部１０２に相当する。操作部３０８は、タッチ操作可能な表示部１０２と操作ボタン１０３からユーザからの操作指示を受け付ける。記憶部３０４は、画像データや各種プログラムを格納することができる。送受信部３０５は、無線ルータ（不図示）とデータ送受信が可能である。なお、ＣＰＵ３０１は、ＲＯＭ３０３に保持するプログラムに基づき、携帯端末１０１内の構成要素の制御を行う。
【００１９】
［画像処理部の構成］
図４に、画像処理部３０９の構成の例を示す。但し、この構成図は、本実施形態に必要な構成に限定して記載しているため、他の構成要素を含んでいても構わない。画像処理部３０９は、射影変換係数算出部４０１、射影変換部４０２、及び解像度変換部４０３を備える。射影変換係数算出部４０１、射影変換部４０２、及び解像度変換部４０３はそれぞれ、データバス３１０を介してプログラムやデータの送受信を行う。射影変換係数算出部４０１は、射影変換前と変換後それぞれの４点の座標データを与えることで、射影変換係数を算出する。射影変換部４０２は、射影変換係数算出部４０１で算出された射影変換係数を用いて行列変換を行い、射影変換画像を求める。解像度変換部４０３は、入出力の解像度やサイズ、倍率の指定を行い任意の解像度変換を行う。
【００２０】
［射影変換処理フロー］
図５に、本発明における射影変換フローの一例を示す。本フローチャートは、記憶部であるＲＯＭ３０３に格納されたプログラムに基づいて、ＣＰＵ３０１が実行することで実現されるものとする。なお、画像処理時に利用するバッファには、ＲＡＭ３０２を利用する。また、本フローチャートによる画像処理後の出力データは、記憶部３０４に保存する、もしくは送受信部３０５を介して、プリンタ（不図示）に送信するものとする。
【００２１】
Ｓ５０１にて、ＣＰＵ３０１は、カメラ１０４を起動して原稿２０１を撮影する、もしくはＲＡＭ３０２に格納されている原稿２０１を撮影した画像の読み込みを行う。なお、読み込んだ画像の解像度が所定の値よりも高い場合は、更に解像度変換部４０３により任意の低解像度に変換してもよい。Ｓ５０２にて、ＣＰＵ３０１は、読み込んだ画像から輪郭抽出を行う。例えば、キャニー法によるエッジ検出アルゴリズムなどを用いて画像処理を行い、輪郭抽出する。なお、本願発明において、輪郭抽出する方法は公知のものを利用でき、特に限定するものではない。なお、本工程にて輪郭抽出を省略し、直接ユーザからの指定にて輪郭もしくは角の点の情報を取得するようにしてもかまわない。
【００２２】
Ｓ５０３にて、ＣＰＵ３０１は、抽出した輪郭情報からその輪郭上に位置する四隅の原稿枠点（角）を検出し特定する。検出精度が不十分な場合や、輪郭の検出が行われない場合には、タッチ操作が可能な表示部１０２を介してユーザ指示を受けた操作部３０８が、四隅の原稿枠点（角）の座標調整を行う。図６は、タッチ操作が可能な表示部１０２に表示されたプレビュー画像において、操作部３０８が、四隅の原稿枠点（角）Ｐ１〜Ｐ４の座標情報に関する指示を受け付けている様子を示している。ここでは、撮影対象を原稿とし、その原稿を示す領域を原稿領域（オブジェクト領域）として説明する。
【００２３】
Ｓ５０４にて、ＣＰＵ３０１は、Ｓ５０３で決定した原稿枠点（角）の射影変換後のマッピング先の情報を設定する。図７は、図６のＯｐｔｉｏｎボタン６０１が押下された際に表示されるマッピング先設定画面７０１である。出力サイズ７０２に示されるリスト（Ａ０…Ａ４…，Ｂ０…Ｂ４…等）から出力サイズを選択することで、原稿枠点（角）Ｐ１〜Ｐ４の基本対応点が決定する。なお、出力サイズは、登録ボタン（不図示）により不定形の任意サイズを出力サイズ７０２に示されるリストに追加することもできる。ここでの出力サイズとは、例えばプリンタにおいて出力する際の用紙サイズに相当する。
【００２４】
出力サイズ７０２の設定に加え、一時バッファ（ここでは、ＲＡＭ３０２）用のマッピング設定に利用する一時バッファ設定７０５において、マージン７０６を設定する。この一時バッファ設定７０５は、撮影対象に基づいてマージンを決定するためのマージン情報として用いられ、本願発明の特徴の１つである。マージン７０６は、出力サイズに対し、任意の指定割合をリストから選択する。詳細は後述するが、一時バッファにおいて、原稿領域の周囲にマージン領域を設けることで、射影変換後の原稿枠点調整に容易に対応することができる。なお、本実施形態では、出力サイズに対して、上下左右の方向について同じ設定値を用いているが、これに限定するものではない。例えば、マージン７０６において、上下左右それぞれ異なる設定ができるようにしても構わない。
【００２５】
本実施形態では、マッピング先設定画面７０１にて設定される出力サイズとマージン量を用いて、一時バッファのサイズと原稿枠点（角）Ｐ１〜Ｐ４のマッピング先を確定させる。なお、チェックボックス７０３は、後述する原稿枠点（線）を調整した際に、調整後の範囲を出力サイズとするか指示するチェックボックスである。詳細については後述する。また、マージン７０６のその他の指定方法や、折り加工７０４については、第二の実施形態で説明を行う。本実施形態において、図７に示すマッピング先設定画面７０１により、受付手段を実現する。
【００２６】
Ｓ５０５にて、ＣＰＵ３０１は、射影変換係数算出部４０１により、Ｓ５０３で決定した原稿枠点（角）Ｐ１〜Ｐ４の座標情報と、Ｓ５０４にて決定したマッピング設定に基づき、一時バッファへの射影変換係数の算出を行う。なお、Ｓ５０５以降の各ステップの詳細は、本フローの説明後に説明する。
【００２７】
Ｓ５０６にて、ＣＰＵ３０１は、射影変換部４０２によりＳ５０５にて算出された射影変換係数を利用して、プレビュー画像における原稿枠点（角）内の射影変換を実施する。
【００２８】
Ｓ５０７にて、ＣＰＵ３０１は、表示部１０２の表示内容を、Ｓ５０６にて射影変換したプレビュー画像となるように更新する。なお、表示部１０２における表示は、一時バッファの表示範囲を表示部３０６が有する表示バッファ（不図示）に格納することで実施する。なお、表示部１０２と一時バッファの表示範囲の解像度が異なる場合、解像度変換部４０３が解像度変換を行うことで表示部１０２に合わせた解像度に変換した後、表示部１０２は、表示を行う。詳細については、図９を用いて後述する。
【００２９】
Ｓ５０８にて、ＣＰＵ３０１は、原稿枠点の確定判断を行う。表示部１０２に表示されている射影変換により歪み補正およびトリミングされた画像がユーザ所望の画像となり、ユーザ指示に基づき原稿枠点が確定したと判定した場合（Ｓ５０８にてＹＥＳ）、Ｓ５１１に進む。トリミングによる端部欠損等の発生に対応して微調整を行う旨のユーザ指示等を受けることにより、原稿枠点が確定していないと判定した場合（Ｓ５０８にてＮＯ）、Ｓ５０９に進む。
【００３０】
Ｓ５０９にて、ＣＰＵ３０１は、ユーザ指示等に基づき原稿枠点の調整を行い、トリミングによる画像欠損の回避や、歪み補正位置の微調整を行う。なお、ここでの処理は、原稿枠点を調整するだけであるとし、射影変換前の撮像画像の時点ですでに欠損している部分を復元する処理は行われないものとする。
【００３１】
Ｓ５１０にて、Ｓ５０９にて原稿枠点の調整が元の位置から拡張側に行われた場合、ＣＰＵ３０１は、マージンとして確保してあった領域に対して、射影変換部４０２によりＳ５０５で求めた射影変換係数を用いて射影変換を行う。そして、Ｓ５０７に戻り、ＣＰＵ３０１は、処理を繰り返す。なお、Ｓ５０６にて原稿枠点内の領域に対する射影変換を第一の補正とし、Ｓ５１０にて拡張領域（マージン領域）に対する射影変換を第二の補正とする。
【００３２】
原稿枠点が確定した場合（Ｓ５０８にてＹＥＳ）、Ｓ５１１にて、ＣＰＵ３０１は、射影変換係数算出部４０１により、原稿枠点の調整結果に応じて射影変換係数の算出、更新を行う。なお、Ｓ５０５にて算出した射影変換係数を第一のパラメータとし、Ｓ５１１にて算出する射影変換係数を第二のパラメータとする。
【００３３】
Ｓ５１２にて、ＣＰＵ３０１は、射影変換部４０２によりＳ５１１で更新された射影変換係数を用いて、読み込んだ画像に含まれるユーザが所望する原稿領域に対し、最終的な出力画像の生成のための射影変換を行う。
【００３４】
［射影変換係数の算出］
Ｓ５０５の射影変換係数算出について詳細を説明する。本実施形態において、射影変換係数が、原稿領域の歪み補正を行うためのパラメータとなる。
【００３５】
図８は、Ｓ５０３にて指示されたプレビュー画像の四隅の原稿枠点（角）と、Ｓ５０４にて設定された射影変換後に対応させる一時バッファへのマッピング先を示す。ここでは、左上端を座標系の原点として説明する。また、画面の横方向をＸ軸とし、縦方向をＹ軸とする。
【００３６】
座標データでは、変換前後の座標を以下で表すことができる。ここでは、変換前の座標をＰにて示し、変換後の座標をＰ’にて示す。
Ｐ１（ｘ１，ｙ１）⇔Ｐ１’（ｘ１’，ｙ１’）＝Ｐ１’（ＬｅｆｔＭａｒｇｉｎ，ＴｏｐＭａｒｇｉｎ）
Ｐ２（ｘ２，ｙ２）⇔Ｐ２’（ｘ２’，ｙ２’）＝Ｐ２’（ＬｅｆｔＭａｒｇｉｎ＋ｔｍｐＷｉｄｔｈ，ＴｏｐＭａｒｇｉｎ）
Ｐ３（ｘ３，ｙ３）⇔Ｐ３’（ｘ３’，ｙ３’）＝Ｐ３’（ＬｅｆｔＭａｒｇｉｎ＋ｔｍｐＷｉｄｔｈ，ＴｏｐＭａｒｇｉｎ＋ｔｍｐＨｅｉｇｈｔ）
Ｐ４（ｘ４，ｙ４）⇔Ｐ４’（ｘ４’，ｙ４’）＝Ｐ４’（ＬｅｆｔＭａｒｇｉｎ，ＴｏｐＭａｒｇｉｎ＋ｔｍｐＨｅｉｇｈｔ）
【００３７】
このように、本願発明の特徴は、原稿枠点（角）である４点指定を行いつつ、枠外の情報を算出することを想定に入れたマージン領域を設け、マッピング関係を用いて射影変換行列を算出することにある。マージン領域は、原稿の輪郭から外側にわたって位置する所定の範囲の領域を指すものとする。
【００３８】
なお、一時バッファ内の原稿領域（ｔｍｐＷｉｄｔｈ，ｔｍｐＨｅｉｇｈｔ）は、出力サイズ７０２にて設定された“Ａ４サイズ”に従う縦横比になる。また、最終的な射影変換行列を決定するプロセスにおけるプレビュー表示であることから、解像度は７２ｄｐｉ程度あれば十分と考え、ここでは、
（ｔｍｐＷｉｄｔｈ，ｔｍｐＨｅｉｇｈｔ）＝（５９５，８４７）［ｐｉｘ］
とする。
【００３９】
また、マージン７０６に設定した“出力サイズの１０％マージン”に従って、マージン量を求めることができる。ここでは、マージン量は、小数点以下切捨て、かつ、２で割り切れる値とする。
ＴｏｐＭａｒｇｉｎ＝ＢｏｔｔｏｍＭａｒｇｉｎ＝０．１０＊ｔｍｐＨｅｉｇｈｔ≒８４［ｐｉｘ］
ＬｅｆｔＭａｒｇｉｎ＝ＲｉｇｈｔＭａｒｇｉｎ＝０．１０＊ｔｍｐＷｉｄｔｈ≒５８［ｐｉｘ］
【００４０】
以上から、一時バッファサイズは、
（ＥｘｔｅｎｓｉｏｎＷｉｄｔｈ，ＥｘｔｅｎｓｉｏｎＨｅｉｇｈｔ）
＝（ｔｍｐＷｉｄｔｈ＋ＬｅｆｔＭａｒｇｉｎ＋ＲｉｇｈｔＭａｒｇｉｎ，ｔｍｐＨｅｉｇｈｔ＋ＴｏｐＭａｒｇｉｎ＋ＢｏｔｔｏｍＭａｒｇｉｎ）
＝（５９５＋５８＊２，８４７＋８４＊２）＝（７１１，１０１５）［ｐｉｘ］
となる。
【００４１】
また、射影変換後のマッピング座標Ｐ１’，Ｐ２’，Ｐ３’，Ｐ４’は、
Ｐ１’（ｘ１’，ｙ１’）＝Ｐ１’（ＬｅｆｔＭａｒｇｉｎ，ＴｏｐＭａｒｇｉｎ）＝（５８，８４）
Ｐ２’（ｘ２’，ｙ２’）＝Ｐ２’（ＬｅｆｔＭａｒｇｉｎ＋ｔｍｐＷｉｄｔｈ，ＴｏｐＭａｒｇｉｎ）＝（６５３，８４）
Ｐ３’（ｘ３’，ｙ３’）＝Ｐ３’（ＬｅｆｔＭａｒｇｉｎ＋ｔｍｐＷｉｄｔｈ，ＴｏｐＭａｒｇｉｎ＋ｔｍｐＨｅｉｇｈｔ）＝（６５３，９３１）
Ｐ４’（ｘ４’，ｙ４’）＝Ｐ４’（ＬｅｆｔＭａｒｇｉｎ，ＴｏｐＭａｒｇｉｎ＋ｔｍｐＨｅｉｇｈｔ）＝（５８，９３１）
となる。
【００４２】
Ｓ５０３において射影変換前の原稿枠点（角）の座標は決定しているため、４組の射影変換前後の座標から射影変換係数（平面射影変換係数）を求めることができる。例えば、読込み画像が１２００ｘ１６００［ｐｉｘ］のときの原稿枠点座標を以下とする。
Ｐ１（ｘ１，ｙ１）＝（２００，５０）
Ｐ２（ｘ２，ｙ２）＝（１１００，２００）
Ｐ３（ｘ３，ｙ３）＝（５０，１４００）
Ｐ４（ｘ４，ｙ４）＝（１１５０，１５００）
なお、射影変換係数を求めるため、座標データにｚ軸情報を与え、Ｐ（ｘ，ｙ）をＰ（ｘ，ｙ，１）と扱って計算する。
【００４３】
ｓＰ’＝Ｈ・Ｐ    …式（１）
2015103873.tif 000003
2015103873.tif 000004
・・・式（２） 
ｓ：スケール
Ｈ：ホモグラフィ行列
Ｐ：変換前座標
Ｐ’：変換後座標
【００４４】
ここでは途中式を省略するが、式（２）を整理すると、下記の式（３）ようになる。
2015103873.tif 000005
・・・式（３）
ここに、４組の対応点の座標情報を代入して、連立法的式を解くと、Ｈの係数が求まる。具体的に４組の対応点の情報を代入すると以下のような状態となる。
2015103873.tif 000006
これを各行列でまとめると、Ａ・Ｈ＝Ｂであり、Ｈが未知数になる。Ａの逆行列を両辺にかけると、
Ｈ＝Ａ−１・Ｂ
となる。上述までのデータと数式を整理し、Ｈを求めた例を下記に示す。
【００４５】
【表１】
2015103873.tif 000007
【００４６】
【表２】
2015103873.tif 000008
【００４７】
2015103873.tif 000009
2015103873.tif 000010
従って、Ｈ＝Ａ−１・Ｂを求めると、
2015103873.tif 000011
となる。
【００４８】
そして、Ｈの逆行列を求め、
Ｐ＝Ｈ−１・Ｐ’
に代入する。これにより、図８の一時バッファを構成する全座標の画素値は、プレビュー画像のどの座標の画素値を参照すればよいか求めることができ、射影変換を行うことができる。なお、ここでは時系列の分かり易さを優先して、ＰをＰ’にするホモグラフィ行列の逆行列から逆変換を求める式を記載した。この方法では、Ｈがｎ次正方行列ではないため逆行列を求めるのに手間がかかる。実際には、逆変換も射影変換であることから、ＰとＰ’の関係を逆にすればよい。
（方法１）
Ｐ：射影変換前、Ｐ’：射影変換後とし、Ｐ’＝Ｈ１・Ｐのホモグラフィ行列Ｈ１を求める。
（方法２）
Ｐ’：射影変換前、Ｐ：射影変換後とし、Ｐ＝Ｈ２・Ｐ’のホモグラフィ行列Ｈ２を求める。
【００４９】
上述した方法１を方法２の見方に変えることで、Ｐ’からＰの座標を逆算できるようにする。こうすることで、方法１だと逆算する際に必要になった逆行列を求めなくて済む。上記は、式を入れ替えて説明したが、Ｐの座標データをＰ’に入れて、Ｐ’の座標データをＰに代入すれば、用いる式も変えないで済む。表３は表１に対応し、表４は表１に対応する。
【００５０】
【表３】
2015103873.tif 000012
【００５１】
【表４】
2015103873.tif 000013
【００５２】
従って、Ｈ＝Ａ−１・Ｂを求めると、
2015103873.tif 000014
となる。
【００５３】
［原稿枠点内の射影変換］
Ｓ５０６の原稿枠点内の射影変換について詳細を説明する。Ｓ５０５で求めた射影変換係数を利用して射影変換を行い、図８の一時バッファの各画素値を求める。このとき、マージン領域は、原稿枠点の微調整が行われない場合には不要であるため、先行してマージン領域以外の領域について射影変換を行うものとする。なお、表示のパフォーマンスに影響を与えない範囲で、バックグラウンドでマージン領域の射影変換を行っていてもよい。
【００５４】
［表示の更新］
Ｓ５０７の表示の更新について詳細を説明する。図９は、一時バッファの中で表示に用いる表示領域を白点線で示している。図９（ａ）に示すように、表示領域は、開始点（初期位相）ＤｉｓｐＳｔａｒｔと領域サイズ（ｔｍｐｄｉｓｐＷｉｄｔｈ，ｔｍｐｄｉｓｐＨｅｉｇｈｔ）を有する。このとき、既定値としては、出力サイズと同一サイズになっている。図９（ｂ）、図９（ｃ）に示すように、開始点と領域サイズを変更することで、図１０（ａ）に示す表示部１０２の画像表示領域１００２に表示される画像の表示範囲を変更することができる。なお、図１０（ａ）の画像表示領域１００２のサイズ（ｄｉｓｐＷｉｄｔｈ，ｄｉｓｐＨｅｉｇｈｔ）と、一時バッファの表示領域サイズ（ｔｍｐｄｉｓｐＷｉｄｔｈ，ｔｍｐｄｉｓｐＨｅｉｇｈｔ）との間に差異が生じる場合がある。この差異を調整する処理については、表示部１０２が行うものとし、ここでの詳細な説明は省略する。例えば、初期位相とサイズ比率から倍率を求められるため、解像度変換部４０３を用いて画像表示領域１００２の縦横どちらかのサイズに合わせた解像度変換を行い、それを表示部１０２が表示してもよい。
【００５５】
［原点枠点調整］
Ｓ５０９の原点枠点調整について詳細を説明する。図１０は、射影変換後の表示部１０２の状態を示している。表示部１０２において、操作ボタンエリア１００１および画像表示領域１００２が示されている。操作ボタンエリア１００１には、戻るボタン１０１１、原稿枠点表示ボタン１０１２、原稿枠点の確定ボタン１０１３、キャンセルボタン１０１４がある。
【００５６】
戻るボタン１０１１は、ユーザ操作において１つ前の手順に戻る際に指示される。戻るボタン１０１１による指示が行われた場合、射影変換前の状態で原稿枠点（角）の位置を調整する処理（Ｓ５０３）からやり直すことになり、図６のような画面になる。原稿枠点表示ボタン１０１２は、原稿枠点の表示のＯＮ／ＯＦＦを切替え、ＯＮ状態では原稿枠点を調整する際に指示される。図１０（ａ）がＯＦＦ状態を示しており、図１０（ｂ）がＯＮ状態を示している。基本的に既定値としては、表示部１０２は、ＯＮ状態で表示される。
【００５７】
原稿枠点の確定ボタン１０１３は、プレビュー画像における原稿枠点を確定させて、この原稿枠点情報を用いて正式の画像サイズによる射影変換を実施する際に指示される。キャンセルボタン１０１４は、対象画像の射影変換をキャンセルする際に指示される。
【００５８】
次に、図１０（ｂ）に示す原稿枠点の調整について説明する。原稿枠点（線）は、原稿枠点（角）を結ぶ線の中間点として生成される。原稿枠点（線）を移動させることにより、トリミング範囲を調整することができる。なお、ここでは、枠の縦線はｘ軸方向のみ、枠の横線はｙ軸方向のみの調整が可能であるとする。また、原稿枠点（線）の調整により、原稿枠点（角）の表示位置は変化させない。調整を行う場合には、トリミング範囲を示す補助線のみ変更させる。これについては、図１１を用いて後述する。また、原稿枠点（角）を移動させることにより、歪みとトリミング範囲の調整を行うことができる。ただし、本実施形態においては、プレビュー画面上では、歪み量を再計算しないものとする。更に、原稿枠点（角）の調整では、原稿枠点（角）の中間点が変わるため、原稿枠点（線）の調整が入っていない状態の基準位置を連動して移動させる。
【００５９】
図１１は、上述した原稿枠点（角）、原稿枠点（線）を調整した場合の原稿枠点の移動や、トリミング補助線の状態を示している。図１１において、原稿枠点（角）をＫＰにて示し、原稿枠点（線）をＬＰにて示す。図１１（ａ）は、原稿枠点（線）ＬＰ４を拡張側に調整してＬＰ４’とした場合を示している。原稿枠点（角）には影響を与えないが、タイル地で表現されている部分までをトリミング範囲として拡張している。
【００６０】
図１１（ｂ）は、原稿枠点（角）ＫＰ１を拡張側に調整してＫＰ１’とした場合を示している。これに伴い、原稿枠点（線）のＬＰ１とＬＰ４の表示位置をＬＰ１’とＬＰ４’に変更している。また、斜線地の部分を表示範囲として拡張しつつ、トリミング範囲を示す原稿枠点（角）を結ぶ補助線を更新している。図１１（ｃ）は、原稿枠点（角）ＫＰ１をＫＰ１’に変更後、原稿枠点（線）ＬＰ４’をＬＰ４”に調整した組合せ変更時の状態を示している。本実施形態では、マージン領域として保持されていた部分の少なくとも一部が、原稿領域であるとして含まれるように拡張されるものとする。
【００６１】
［拡張領域（マージン領域）の射影変換］
Ｓ５１０の拡張領域（マージン領域）の射影変換について詳細を説明する。図１１におけるタイル地や斜線地の部分は、一時バッファのマージン領域にあたり、この部分について、すでに求めてある射影変換係数を行って画素値を求める。なお、原稿枠点の調整指示を受ける前に、バックグラウンドでマージン領域の画素値を求めても良い。
【００６２】
このようにマージン領域を備えるバッファを用いて、射影変換係数を求めておくことで、射影変換後の画像に対する枠点調整に対して、新たに表示が指示された部分だけ同じ射影変換係数を用いて処理すれば良く、高い応答性を持って対応することができる。
【００６３】
そして、再度Ｓ５０７に戻り、表示の更新を行う。このとき、図７のチェックボックス７０３の設定に応じて表示範囲が変わる。チェックボックス７０３の設定に基づき、調整サイズを出力サイズ内に納めるかどうかのＯＮ／ＯＦＦが制御される。チェックボックス７０３がＯＮの場合は、Ｓ５０９の原稿枠点の調整に対して、原稿枠点内の全体が入るように出力が行われる。図１１を用いて説明すると、原稿枠点の調整によって新たに求められたタイル地、斜線地、及び原稿領域が表示範囲に入るようにする。つまり、出力サイズの縦横の比率に応じて表示サイズの縮尺が変更されることとなる。チェックボックス７０３がＯＦＦの場合は、図９（ｂ）のように、元の表示サイズを維持したまま、原稿枠点の調整が入った方に表示位置をずらす制御が行われる。
【００６４】
続いて、Ｓ５０８にて原稿枠点が確定した際の処理について詳細を説明する。
【００６５】
［射影変換係数の更新］
Ｓ５１１の射影変換係数の更新について詳細を説明する。Ｓ５０９にて原稿枠点が調整された場合、調整された原稿枠点（角）について、射影変換前の座標を求め、その座標点を用いて射影変換係数を再計算しなおす。なお、原稿枠点（線）と、チェックボックス７０３のＯＮ／ＯＦＦ状態に応じて、マッピング先の座標と出力画像サイズを変更する。
【００６６】
チェックボックス７０３がＯＮの場合には以下のように出力画像サイズの変更を行う。例えば、原稿枠点（線）ＬＰ４をｘ軸方向にｌｐ４＿ａｘの分だけ調整した場合、ｔｍｐＷｉｄｔｈ＋ｌｐ４＿ａｘが出力サイズになるようにスケールを調整する。また、マージン量もスケールを用いて調整を行う。
ｓｃａｌｅＷ＝ｔｍｐＷｉｄｔｈ／（ｔｍｐＷｉｄｔｈ＋ｌｐ４＿ａｘ）
ＬｅｆｔＭａｒｇｉｎ＝ｌｐ４＿ａｘ＊ｓｃａｌｅＷ
ＴｏｐＭａｒｇｉｎ＝ＢｏｔｔｏｍＭａｒｇｉｎ＝ＲｉｇｈｔＭａｒｇｉｎ＝０
ｔｍｐＷｉｄｔｈ＝ｔｍｐＷｉｄｔｈ＊ｓｃａｌｅＷ
（ｄｓｔＷｉｄｔｈ，ｄｓｔＨｅｉｇｈｔ）
＝（ｔｍｐＷｉｄｔｈ＋ＬｅｆｔＭａｒｇｉｎ＋ＲｉｇｈｔＭａｒｇｉｎ，ｔｍｐＨｅｉｇｈｔ＋ＴｏｐＭａｒｇｉｎ＋ＢｏｔｔｏｍＭａｒｇｉｎ）
Ｐ１’（ｘ１’，ｙ１’）＝Ｐ１’（ＬｅｆｔＭａｒｇｉｎ，ＴｏｐＭａｒｇｉｎ）
Ｐ２’（ｘ２’，ｙ２’）＝Ｐ２’（ＬｅｆｔＭａｒｇｉｎ＋ｔｍｐＷｉｄｔｈ，ＴｏｐＭａｒｇｉｎ）
Ｐ３’（ｘ３’，ｙ３’）＝Ｐ３’（ＬｅｆｔＭａｒｇｉｎ＋ｔｍｐＷｉｄｔｈ，ＴｏｐＭａｒｇｉｎ＋ｔｍｐＨｅｉｇｈｔ）
Ｐ４’（ｘ４’，ｙ４’）＝Ｐ４’（ＬｅｆｔＭａｒｇｉｎ，ＴｏｐＭａｒｇｉｎ＋ｔｍｐＨｅｉｇｈｔ）
チェックボックス７０３がＯＦＦの場合は、スケールは１として計算し（Ｓ＝１）、出力サイズが原稿枠点の調整に応じて変動するようになる。
【００６７】
［出力データの射影変換］
Ｓ５１２の出力データの射影変換について詳細を説明する。Ｓ５１１で求めた最終的な射影変換係数を用いて、読み込み画像の出力対象として決定した領域（原稿枠点内の領域）に対し射影変換を実施する。
【００６８】
以上により、第一の実施形態では、マージン領域を持ったバッファ確保と射影変換係数を用いることで、射影変換後の画像において、原稿枠点の調整を容易に行うことができる。
【００６９】
＜第二の実施形態＞
第一の実施形態においては、マージン領域を有するバッファ確保と射影変換係数を用いることで、射影変換後の画像において、原稿枠点の調整を容易に行う方法について説明した。第二の実施形態では、原稿が折り加工原稿であり、分割して射影変換を適用する場合において、マージン領域も分割して射影変換を適用することで、射影変換後の画像で原稿枠点の調整を適用できることを特徴とする。
【００７０】
まず、図７の折り加工７０４のリスト（２つ折り、３つ折り、４つ折り等）から２つ折りを選択する。本設定により、指定できる原稿枠点を６つに増やす。このとき増えた折り部分の原稿枠点は、原稿枠点（折）とする。なお、折り加工７０４の設定値に応じて原点枠点（折）の数は変動するものとする。また、マッピング先の原稿枠点（折）は、図１２に示すように基本的に原稿枠点（角）から等間隔に設置させるものとするが、所定の設定によりマッピング先の原稿枠点（折）の位置が調整できてもよい。
【００７１】
図１２において原点枠点（折）をＯＰにて示す。図１２では、Ａ’＿Ｈｅｉｇｈｔ＝ｔｍｐＨｅｉｇｈｔ／２とする。そして、本設定により、マージン領域を含めてマッピング先の一時バッファを領域分割する。図１２の例の場合、Ｙ座標が、ＴｏｐＭａｒｇｉｎ＋Ａ’＿Ｈｅｉｇｈｔの位置で、Ａ’面とＢ’面に分割している。
【００７２】
図１３は、２つ折りの折り加工原稿に対して、Ａ面とＢ面に分けて射影変換を適用している状態を示している。Ａ面はＰ１，Ｐ２，ＯＰ２，ＯＰ１、Ｂ面はＯＰ１，ＯＰ２，Ｐ３，Ｐ４と、それに対応するマッピング先の点を用いて、それぞれの面の射影変換係数ＨａとＨｂを求める。
【００７３】
なお、マージン領域を含むＡ’面内の画素値はＨａを用いて算出し、Ｂ’面内の画素値はＨｂを用いて算出する。これによって、領域分割された場合の原稿に対しても、各面の射影変換係数に従いマージン領域の画素値を計算することで、射影変換後の画像に対する原稿枠点の調整に容易に対応することができる。なお、原稿枠点（折）を調整する場合は、原稿枠点（角）と同じ振る舞いで調整をすることができる。ただし、一時バッファの領域分割は、原稿枠点（折）の調整によって変化させないことを基本とする。
【００７４】
原稿枠点（折）の調整で領域を変化させたい場合は、原稿枠点（折）のマッピング先であるＯＰ１’，ＯＰ２’を結ぶ直線を延長して仮想点ＶＰ１とＶＰ２を設置する。そして、ＶＰ１、ＶＰ２を結ぶ直線でマージン領域を含む一時バッファ全体をＡ’面、Ｂ’面に分割する。
【００７５】
以上、第二の実施形態では、マージン領域を含めて領域分割を行い、各領域に属する画素値は、それぞれの領域面で求めた射影変換係数を利用する。これによって、折れ加工された原稿で、複数の射影変換行列を持つ場合でも、射影変換後の画像で原稿枠点を調整することができる。なお、本実施形態では、折り加工７０４の設定値に基づいて、分割の有無を判定していたが、これに限定するものではない。例えば、輪郭を抽出し、その輪郭の状態から分割するか否かを判定するようにしてもよい。
【００７６】
＜第三の実施形態＞
第一の実施形態においては、マージン領域を持ったバッファ確保と射影変換係数を用いることで、射影変換後の画像において、原稿枠点の調整を容易に行う方法について説明した。このとき、マージン領域は出力サイズに対する割合で決定していた。
【００７７】
第三の実施形態では、表示画像の解像度からマージン領域を決定することを特徴とする。
【００７８】
表示部１０２で、目視で原稿枠点の調整を行う場合、表示画像がどのスケールで表示されているかに応じて誤差が大きく変わる。本実施形態では、表示画像の解像度ｄｉｓｐｉｍｇ＿ｒｅｓｏｌｕｔｉｏｎから、枠線の射影変換による最大スケールを求めて、そこからマージンを決定する。
【００７９】
例えば、ｄｉｓｐｉｍｇ＿ｒｅｓｏｌｕｔｉｏｎ＝７２［ｄｐｉ］の表示画像において、１０ｍｍ程度の目視誤差が発生すると想定とした場合、（１０［ｍｍ］／２５．４［ｍｍ］）＊７２［ｄｏｔ］＝２８［ｐｉｘ］程度の誤差が想定される。
【００８０】
そして、図１４に示すような射影変換を行う場合、原稿枠点（角）Ｐ１，Ｐ２，Ｐ３，Ｐ４に対して、表示画像の解像度における各点間の距離が｜Ｌ１２｜，｜Ｌ２３｜，｜Ｌ３４｜，｜Ｌ１４｜になる。ここで、｜Ｘ｜は、Ｘの絶対値を示す。そこから、各ラインのスケールは、
Ｓ１２＝ｔｍｐｄｉｓｐＷｉｄｔｈ／｜Ｌ１２｜
Ｓ２３＝ｔｍｐｄｉｓｐＨｅｉｇｈｔ／｜Ｌ２３｜
Ｓ３４＝ｔｍｐｄｉｓｐＷｉｄｔｈ／｜Ｌ３４｜
Ｓ１４＝ｔｍｐｄｉｓｐＨｅｉｇｈｔ／｜Ｌ１４｜
として求められる。そして、上記のスケールのうち最大スケールとなるＳｍａｘを使って、２８［ｐｉｘ］×Ｓｍａｘをマージン領域の大きさとする。
【００８１】
以上により、表示状態に応じたマージン領域を決定できる。この結果、無駄に大きなマージン領域を確保することや、マージンが不足して調整範囲が不足することを防ぐことができる。
【００８２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015103873.tif 000015
【図２】
2015103873.tif 000016
【図３】
2015103873.tif 000017
【図４】
2015103873.tif 000018
【図５】
2015103873.tif 000019
【図７】
2015103873.tif 000020
【図６】
2015103873.tif 000021
【図８】
2015103873.tif 000022
【図９】
2015103873.tif 000023
【図１０】
2015103873.tif 000024
【図１１】
2015103873.tif 000025
【図１２】
2015103873.tif 000026
【図１３】
2015103873.tif 000027
【図１４】
2015103873.tif 000028