特許第6973524号(P6973524)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特許6973524-プログラム 図000002
  • 特許6973524-プログラム 図000003
  • 特許6973524-プログラム 図000004
  • 特許6973524-プログラム 図000005
  • 特許6973524-プログラム 図000006
  • 特許6973524-プログラム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6973524
(24)【登録日】2021年11月8日
(45)【発行日】2021年12月1日
(54)【発明の名称】プログラム
(51)【国際特許分類】
   G06T 5/00 20060101AFI20211118BHJP
   G06F 3/0484 20130101ALI20211118BHJP
   G06F 3/0488 20130101ALI20211118BHJP
   H04N 5/232 20060101ALI20211118BHJP
【FI】
   G06T5/00 725
   G06F3/0484 150
   G06F3/0488
   H04N5/232 290
   H04N5/232 933
   H04N5/232 930
【請求項の数】9
【全頁数】13
(21)【出願番号】特願2020-24909(P2020-24909)
(22)【出願日】2020年2月18日
(62)【分割の表示】特願2016-31602(P2016-31602)の分割
【原出願日】2016年2月23日
(65)【公開番号】特開2020-102235(P2020-102235A)
(43)【公開日】2020年7月2日
【審査請求日】2020年3月12日
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100117101
【弁理士】
【氏名又は名称】西木 信夫
(74)【代理人】
【識別番号】100120318
【弁理士】
【氏名又は名称】松田 朋浩
(72)【発明者】
【氏名】佐藤 弘和
【審査官】 ▲徳▼田 賢二
(56)【参考文献】
【文献】 特開2015−197896(JP,A)
【文献】 特開2006−074512(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/00
G06F 3/0484
G06F 3/0488
H04N 5/232
(57)【特許請求の範囲】
【請求項1】
カメラと、ディスプレイと、タッチセンサを有する入力インタフェースとを備える携帯端末によって読み取り可能なプログラムであって、
該プログラムは、
対象物を撮影した前記カメラによって生成された撮影画像データを取得する取得処理と、
前記取得処理によって取得された前記撮影画像データが、長方形の対象物を斜めから撮影した前記カメラによって生成された前記撮影画像データであって、当該対象物を示す台形画像の一部を含み他部を含まない当該撮影画像データである場合に、前記撮影画像データが示す前記台形画像の一部に基づいて、当該一部に含まれる前記台形画像の頂点と、前記他部に含まれる前記台形画像の頂点とを推定する推定処理と、
推定した前記頂点からなる前記台形画像を台形補正することによって、長方形の補正画像を示す補正画像データを生成する補正処理と、
前記補正画像データを出力する出力指示処理と、
前記他部に含まれる頂点であって、推定した頂点を含む追加画素を前記撮影画像データが示す撮影画像に追加することによって、当該撮影画像を拡張した拡張画像であって、前記台形画像を含む当該拡張画像を示す拡張画像データを生成する拡張処理と、
前記拡張画像を前記ディスプレイに表示させる第1表示処理と、
前記第1表示処理で表示された前記拡張画像内において、前記台形画像の形状を調整するタッチ操作を、前記入力インタフェースを通じて受け付ける第1受付処理と、を前記携帯端末に実行させ、
該プログラムは、
前記補正処理において、前記第1受付処理で受け付けた調整を反映した前記台形画像を台形補正して前記補正画像データを生成するプログラム。
【請求項2】
該プログラムは、
前記第1表示処理において、前記推定処理で推定した頂点の位置を示すガイド画像を、前記拡張画像に重ねて前記ディスプレイに表示させ、
前記第1受付処理において、前記追加画素に重ねて表示された前記ガイド画像の位置を変更するタッチ操作を、前記入力インタフェースを通じて少なくとも受け付けることが可能であり、
前記補正処理において、前記第1受付処理で変更された前記ガイド画像の位置を頂点とする前記台形画像を台形補正する請求項に記載のプログラム。
【請求項3】
該プログラムは、前記第1受付処理において、前記追加画素に重ねて表示された前記ガイド画像の位置に対するドラッグ操作を、当該ガイド画像に対応する頂点の位置を前記ドラッグ操作の終了位置に変更するタッチ操作として受け付ける請求項に記載のプログラム。
【請求項4】
該プログラムは、
前記撮影画像に含まれる所定の長さ以上の直線を検出する検出処理と、
前記検出処理で検出した直線の数を判断する第1判断処理と、を前記携帯端末に実行させ、
4つの直線を検出したと前記第1判断処理で判断した場合の前記推定処理において、前記検出処理で検出した直線の各交点の位置を、前記台形画像の頂点の位置として推定する請求項又はに記載のプログラム。
【請求項5】
該プログラムは、
3つの直線を検出したと前記第1判断処理で判断したことに応じて、前記撮影画像の輪郭線の1つを第4の直線に決定する決定処理を前記携帯端末に実行させ、
前記推定処理において、前記検出処理で検出した直線及び前記決定処理で決定した直線の各交点の位置を、前記台形画像の頂点の位置として推定する請求項に記載のプログラム。
【請求項6】
2つ以下の直線を検出したと前記第1判断処理で判断したことに応じて、前記推定処理を前記携帯端末に実行させず、且つ前記撮影画像の周囲を囲むように、前記撮影画像に前記追加画素を付加する前記拡張処理を前記携帯端末に実行させる請求項又はに記載のプログラム。
【請求項7】
該プログラムは、前記第1表示処理において、前記追加画素に非背景画素値が設定された前記拡張画像を前記ディスプレイに表示させ、前記非背景画素値は、前記撮影画像の背景画素の画素値と異なる画素値である請求項からのいずれかに記載のプログラム。
【請求項8】
該プログラムは、前記出力指示処理において、前記追加画素に背景画素値が設定された前記補正画像データを出力し、前記背景画素値は、前記撮影画像の背景画素の画素値である請求項からのいずれかに記載のプログラム。
【請求項9】
該プログラムは、
前記補正画像を前記ディスプレイに表示させる第2表示処理と、
前記補正画像データの出力を指示する指示操作を、前記入力インタフェースを通じて受け付ける第2受付処理と、
前記第2受付処理で前記指示操作を受け付けたことに応じて、前記出力指示処理と、を前記携帯端末に実行させる請求項1からのいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラに生成させた画像を台形補正する携帯端末のプログラムに関する。
【背景技術】
【0002】
引用文献1には、カメラに生成させた撮影画像を台形補正する携帯端末のプログラムが記載されている。より詳細には、引用文献1に記載のプログラムは、被写体を撮影したカメラに生成させた撮影画像をディスプレイに表示させ、撮影画像内で被写体を囲む略四角形領域の頂点の位置をユーザに指定させ、指定された略四角形領域の画像をトリミングし、トリミングした画像を台形補正する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−218547号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、カメラに被写体をズームして撮影させた場合において、撮影画像に被写体の一部が含まれない場合がある。そして、このような撮影画像内で略四角形領域の頂点の位置をユーザに指定させようとすると、本来の位置より略四角形領域の内側の位置が頂点として指定される可能性がある。その結果、このような略四角形領域の画像がトリミング及び台形補正されると、撮影画像に含まれていた被写体の一部がさらに欠けてしまう可能性がある。
【0005】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、カメラに生成させた撮影画像内において、台形補正すべき領域をユーザに適切に指定させることが可能な携帯端末のプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本明細書に記載のプログラムは、カメラと、ディスプレイと、タッチセンサを有する入力インタフェースとを備える携帯端末によって読み取り可能である。該プログラムは、対象物を撮影した前記カメラによって生成された撮影画像データを取得する取得処理と、前記撮影画像データで示される撮影画像の外縁に追加画素を付加することによって、前記撮影画像を拡張した拡張画像を示す拡張画像データを生成する拡張処理と、前記拡張画像を前記ディスプレイに表示させる第1表示処理と、前記第1表示処理で表示された前記拡張画像内において、台形画像の形状を指定するタッチ操作を、前記入力インタフェースを通じて受け付ける第1受付処理とを前記携帯端末に実行させる。前記台形画像は、長方形の前記対象物が斜めから撮影されたことによって、前記拡張画像内で台形に表された前記対象物を示す画像である。該プログラムは、前記第1受付処理で指定された形状の前記台形画像を台形補正することによって、長方形の補正画像を示す補正画像データを生成する補正処理と、前記補正画像データを出力する出力指示処理とを前記携帯端末に実行させる。
【0007】
上記構成によれば、撮影画像の外縁に追加画素を付加した拡張画像内において、台形補正の対象となる台形画像をユーザに指定させることができる。すなわち、撮影画像に被写体の一部が含まれていない場合であっても、台形補正の対象となる領域をユーザに適切に指定させることができる。
【図面の簡単な説明】
【0008】
図1図1は、本実施形態に係るシステム100の概略図である。
図2図2は、プリント指示処理のフローチャートである。
図3図3は、台形拡張処理のフローチャートである。
図4図4は、撮影画像の例であって、(A)は4つの直線が検出された例を、(B)は3つの直線が検出された例を示す。
図5図5は、拡張画像の例であって、(A)は撮影画像80に追加画素85を付加した例を、(B)は撮影画像90に追加画素95を付加した例を示す。
図6図6は、ディスプレイ53の表示例であって、(A)は台形指定画面を、(B)はプレビュー画面を示す。
【発明を実施するための形態】
【0009】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【0010】
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、複合機10と、携帯端末50とで構成されている。また、システム100は、複合機10に代えて、プリンタ単能機を含んでもよい。複合機10及び携帯端末50は、通信ネットワーク101を通じて相互に通信可能に構成されている。通信ネットワーク101の具体例は特に限定されないが、例えば、インターネット、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。
【0011】
複合機10は、図1に示されるように、プリンタ11と、スキャナ12と、ディスプレイ23と、入力I/F24と、通信I/F25と、CPU31と、メモリ32と、通信バス33とを主に備える。複合機10を構成する各構成要素は、通信バス33を通じて相互に接続されている。
【0012】
プリンタ11は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ11の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ12は、原稿に記録されている画像を読み取って画像データを生成するスキャン動作を実行する。
【0013】
ディスプレイ23は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示面を備える。
【0014】
入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、入力I/F24は、ディスプレイ23の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク等である。
【0015】
タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ23に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【0016】
通信I/F25は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、複合機10は、通信I/F25を通じて外部装置に各種情報を出力し、通信I/F25を通じて外部装置から各種情報を受信する。通信I/F25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(Wi-Fi Allianceの登録商標)を採用することができる。
【0017】
CPU31は、複合機10の全体動作を制御するものである。CPU31は、入力I/F24から出力される各種情報、通信I/F25を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムをメモリ32から取得して実行する。CPU31及びメモリ32は、制御部の一例を構成する。
【0018】
メモリ32は、プログラム記憶領域32Aと、データ記憶領域32Bとを有する。領域32Aには、OS34と、装置プログラム35とが格納される。なお、装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。領域32Bには、装置プログラム35の実行に必要なデータ或いは情報が記憶される。メモリ32は、例えば、RAM、ROM、EEPROM、HDD、複合機10に着脱されるUSBメモリ等の可搬記憶媒体、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【0019】
メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末50のメモリ62についても同様である。
【0020】
携帯端末50は、図1に示されるように、カメラ52と、ディスプレイ53と、入力I/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。携帯端末50に含まれるディスプレイ53、入力I/F54、通信I/F55、CPU61、メモリ62、及び通信バス63は、複合機10に含まれるディスプレイ23、入力I/F24、通信I/F25、CPU31、メモリ32、及び通信バス33と同様の構成であるので、説明は省略する。CPU61及びメモリ62は、制御部の一例である。
【0021】
携帯端末50は、例えば、携帯電話、スマートフォン、或いはタブレット端末等である。より詳細には、携帯端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。また、携帯端末50の入力I/F54は、ディスプレイ53の表示画面に重ねられたタッチセンサであるのが望ましい。メモリ62の領域62Aには、OS64と、端末プログラム65とが格納されている。
【0022】
カメラ52は、被写体を撮影して画像データ(以下、「撮影画像データ」と表記することがある。)を生成する。カメラ52の動作は、例えば、領域62Aに記憶される不図示のカメラプログラムによって制御される。すなわち、カメラプログラムは、撮影画像データで示される画像と、[撮影]アイコンとをディスプレイ53に表示させる。また、ディスプレイ53に表示される画像は、カメラ52の向きが変更されるのに追従して変更される。そして、カメラプログラムは、[撮影]アイコンを指定するユーザ操作を入力I/F54を通じて受け付けたことに応じて、撮影画像データを領域62Bに記憶させる。
【0023】
[システム100の動作]
図2及び図3を参照して、本実施形態に係るシステム100の動作を説明する。
【0024】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「制御」等の処理は、CPU31、61の処理を表している。CPU61による処理は、OS64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【0025】
まず、携帯端末50の端末プログラム65は、不図示のカメラプログラムを起動させる(S11)。次に、カメラプログラムは、[撮影]アイコンを指定するユーザ操作を入力I/F54を通じて受け付けたことに応じて、撮影画像データを領域62Bに記憶させ、記憶させた撮影画像データを端末プログラム65に提供する。端末プログラム65は、例えば、カメラプログラムを所謂プラグインとして起動するためのAPIを実行すればよい。また、カメラプログラムは、領域62Bに記憶させた撮影画像データのパスを当該APIの戻り値に含めればよい。そして、端末プログラム65は、戻り値に含まれるパスに基づいて撮影画像データを読み出せばよい(S12:Yes)。
【0026】
本実施形態において、携帯端末50のユーザは、長方形のホワイトボードをカメラ52によって斜めから撮影したものとする。その結果、端末プログラム65は、例えばS12において、図4(A)に示される撮影画像80を示す撮影画像データ、或いは図4(B)に示される撮影画像90を示す撮影画像データを取得したものとする。ホワイトボードは、対象物の一例である。但し、対象物の具体例はホワイトボードに限定されず、黒板、ポスター、ディスプレイ等の概ね長方形或いは正方形の物であればよく、表面に文字或いは図柄等が描かれているのが望ましい。
【0027】
撮影画像80は、図4(A)に示されるように、輪郭線81A、81B、81C、81Dで囲まれた長方形の画像である。撮影画像90は、図4(B)に示されるように、輪郭線91A、91B、91C、91Dで囲まれた長方形の画像である。また、撮影画像80、90は、台形画像84、94の少なくとも一部を含む。台形画像84、94は、ホワイトボードが斜めから撮影されたことによって、撮影画像80、90内で台形に表されたホワイトボードを示す画像である。
【0028】
次に、端末プログラム65は、画像拡張処理を実行する(S13)。画像拡張処理は、撮影画像データで示される撮影画像に画素を追加することによって、拡張画像を生成する処理である。すなわち、拡張画像は、撮影画像を拡張した画像である。図3を参照して、画像拡張処理の詳細を説明する。
【0029】
まず、端末プログラム65は、ハフ変換等の周知のアルゴリズムを用いて、撮影画像に含まれる所定の長さ以上の直線を検出する(S31)。また、端末プログラム65は、S31で検出した直線の数を判断する(S32)。S31の処理は検出処理の一例であり、S32の処理は、第1判断処理の一例である。
【0030】
一例として、端末プログラム65は、図4(A)に示される撮影画像80内において、4つの直線82A、82B、82C、82Dを検出する。他の例として、端末プログラム65は、図4(B)に示される撮影画像90内において、3つの直線92A、92B、92Cを検出する。但し、S31で検出される直線の数は図4の例に限定されず、2つ以下の場合もあり得る。
【0031】
次に、端末プログラム65は、例えば図4(B)に示されるように、3つの直線92A〜92Cを検出したと判断したことに応じて(S32:3)、撮影画像90の4つの輪郭線91A〜91Dの1つを、第4の直線に決定する(S33)。S33の処理は、決定処理の一例である。一方、端末プログラム65は、図4(A)に示されるように、4つの直線82A〜82Dを検出したと判断したことに応じて(S32:4)、S33の処理をスキップする。
【0032】
端末プログラム65は、例えばS33において、S31で検出した3つの直線92A〜92Cのうち、平行に近い2つの直線92A、92Cを対となる直線と判断する。対となる直線92A、92Cは、台形画像94の対辺を構成し得る直線である。そして、端末プログラム65は、撮影画像90の4つの輪郭線91A〜91Dのうち、対となる直線が存在しない直線92Bから最も離れた輪郭線91Dを、第4の直線に決定する。
【0033】
次に、端末プログラム65は、S31で検出した4つの直線の交点の位置、或いはS31で検出した3つの直線及びS33で決定した1つの直線の交点の位置を特定する。そして、端末プログラム65は、特定した交点の位置を台形画像84、94の頂点の位置と推定する(S34)。S34の処理は、推定処理の一例である。一例として、端末プログラム65は、図4(A)に示される撮影画像80において、各直線の交点の位置を、台形画像84の頂点83A、83B、83C、83Dと推定する。他の例として、端末プログラム65は、図4(B)に示される撮影画像90において、各直線の交点の位置を、台形画像94の頂点93A、93B、93C、93Dと推定する。なお、図4に示されるように、S34で推定される頂点の一部は、撮影画像80、90外に位置してもよい。
【0034】
次に、端末プログラム65は、S34で推定した4つの頂点の位置が撮影画像内か否かを判断する(S35)。そして、端末プログラム65は、少なくとも1つの頂点の位置が撮影画像外だと判断したことに応じて(S35:No)、拡張画像を示す拡張画像データを生成する(S36)。一方、端末プログラム65は、全ての頂点の位置が撮影画像内だと判断したことに応じて(S35:Yes)、S36の処理をスキップする。S35の処理は第2判断処理の一例であり、S36の処理は拡張処理の一例である。
【0035】
端末プログラム65は、S36において、撮影画像の外縁に追加画素を付加することによって、拡張画像データを生成する。一例として、端末プログラム65は、図4(A)に示される撮影画像80の外縁に、図5(A)に示される追加画素85を輪郭線81Cに沿って付加した拡張画像86を生成する。他の例として、端末プログラム65は、図4(B)に示される撮影画像90の外縁に、図5(A)に示されるL字型の追加画素95を輪郭線91C、91Dに沿って付加した拡張画像96を生成する。拡張画像86、96は、台形画像84、94の全体を含む。
【0036】
すなわち、追加画素85、95は、撮影画像80、90の外に位置する頂点83C、93Cに最も近い輪郭線81C、91Cに沿って設けられるのが望ましい。また、追加画素95は、S33で直線に決定した輪郭線91Dに沿って設けられるのが望ましい。但し、追加画素85、95の形状は、図5の例に限定されない。一例として、追加画素85、95は、輪郭線81C、91C、91Dの全域に設けられていなくてもよい。すなわち、拡張画像86、96は、長方形でなくてもよい。他の例として、端末プログラム65は、図6(A)に示されるように、撮影画像80を囲む枠型の追加画素87を付加した拡張画像88を生成してもよい。
【0037】
また、追加画素85、95の幅は、例えば、撮影画像80、90の外に位置する頂点83C、93Cの位置と、S31で検出した直線の数とによって、適宜設定される。まず、端末プログラム65は、撮影画像80、90の外に位置する頂点83C、93Cが、拡張画像86、96の輪郭線より内側に位置するように、追加画素85、95の幅を設定すればよい。また、端末プログラム65は、S31で検出した直線の数が少ない程、追加画素85、95の幅を大きくすればよい。
【0038】
一方、端末プログラム65は、S31で2つ以下の直線を検出したと判断したことに応じて(S32:2以下)、S33〜S36に代えて、例えば図6(A)に示されるように、撮影画像80の周囲を囲む枠型の追加画素87を付加することによって、拡張画像88を示す拡張画像データを生成する(S37)。S37の処理は、拡張処理の一例である。本実施形態では、S36で撮影画像80に枠型の追加画素87が付加されたものとして、以下の処理の説明する。また、S36の処理がスキップされた場合(S35:Yes)、以下の処理において、拡張画像88に代えて撮影画像80が用いられる。
【0039】
図2に戻って、端末プログラム65は、図6(A)に示される台形指定画面をディスプレイ53に表示させる(S14)。台形指定画面は、拡張画像88と、ガイド画像111、112、113、114と、[補正]アイコン115とを含む。ガイド画像111〜114は、S34で推定した頂点83A〜83Dの位置を示す画像であって、拡張画像88に重ねて表示される。[補正]アイコン115は、台形画像を台形補正する指示に対応する。そして、端末プログラム65は、台形指定画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S15)。S14の処理は第1表示処理の一例であり、S15の処理は第1受付処理の一例である。
【0040】
なお、端末プログラム65は、S14において、追加画素87に非背景画素値が設定された拡張画像88を、台形指定画面に表示させてもよい。端末プログラム65は、例えば、S36、S37で生成した拡張画像データをコピーし、コピーした拡張画像データに含まれる追加画素87に非背景画素値を設定し、当該拡張画像データで示される拡張画像88を、台形指定画面に表示させればよい。非背景画素値は、撮影画像の背景画素の画素値と異なる画素値である。背景画素の画素値は、例えば、撮影画像に含まれる画素値のヒストグラムの最頻値を指す。また、端末プログラム65は、S31で2つ以下の直線を検出した場合に(S32:2以下)、拡張画像88上の予め定められた位置にガイド画像111〜114を表示してもよい。
【0041】
次に、端末プログラム65は、例えばガイド画像113の位置に対するドラッグ操作を入力I/F54を通じて受け付けたことに応じて(S15:ガイド画像)、台形指定画面上でガイド画像113の位置を変更する(S16&S14)。より詳細には、端末プログラム65は、ガイド画像113の位置にタッチされた入力媒体が表示面上で移動されたことに応じて、当該入力媒体に追随してガイド画像113の位置を変更する。そして、端末プログラム65は、入力媒体が離間された位置、すなわちドラッグ操作の終了位置を、ガイド画像113の新たな位置に決定する。
【0042】
ガイド画像113は、台形指定画面の拡張画像88内の任意の位置、すなわち、撮影画像80及び追加画素87内の任意の位置に移動させることができる。一方、ガイド画像113は、台形指定画面の拡張画像88外に移動させることができない。ガイド画像111、112、114に対するドラッグ操作についても同様である。ドラッグ操作は、ガイド画像111〜114の位置を変更するタッチ操作、及び台形画像84の形状を指定するタッチ操作の一例である。なお、台形画像の形状を指定するタッチ操作は、ガイド画像111〜114に対するドラッグ操作に限定されない。例えば、端末プログラム65は、台形画像84を構成する辺の位置に対するドラッグ操作を入力I/F54を通じて受け付けたことに応じて、当該辺の位置及び角度を変更してもよい。
【0043】
次に、端末プログラム65は、[補正]アイコン115の指定を入力I/F54を通じて受け付けたことに応じて(S15:補正アイコン)、ガイド画像111〜114の位置を頂点とする台形画像84を、拡張画像88から抽出する。そして、端末プログラム65は、抽出した台形画像84を台形補正して、長方形の補正画像を示す補正画像データを生成する(S17)。S17の処理は、補正処理の一例である。
【0044】
ガイド画像111〜114の少なくとも1つが追加画素87の位置に配置されている場合、端末プログラム65は、撮影画像80の画素と、追加画素87とを含む台形画像84を抽出する。また、端末プログラム65は、例えば、ガイド画像111〜114の位置を頂点とする台形画像84に対して、上辺及び短辺が平行になるように画素を補間することによって、補正画像データを生成する。台形補正は、例えば、射影変換等の周知のアルゴリズムによって実現される。
【0045】
次に、端末プログラム65は、図6(B)に示されるプレビュー画面をディスプレイ53に表示させる(S18)。プレビュー画面は、S17で生成された補正画像121と、[プリント]アイコン122と、[保存]アイコン123とを含む。[プリント]アイコン122は、補正画像データに対するプリント動作を複合機10に実行させる指示に対応する。[保存]アイコン123は、補正画像データを領域62Bに記憶させる指示に対応する。そして、端末プログラム65は、プレビュー画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S19)。S18の処理は第2表示処理の一例であり、S19の処理は第2受付処理の一例である。
【0046】
そして、端末プログラム65は、[プリント]アイコン122の指定を入力I/F54を通じて受け付けたことに応じて(S19:プリントアイコン)、通信I/F55を通じて複合機10にプリント指示情報を送信する(S20)。プリント指示情報は、補正画像データに対するプリント動作を指示するための情報であって、補正画像データを含む。一方図示は省略するが、複合機10の装置プログラム35は、通信I/F25を通じて携帯端末50からプリント指示情報を受信する。そして、装置プログラム35は、受信したプリント指示情報に従ったプリント動作をプリンタ11に実行させる。
【0047】
一方、端末プログラム65は、[保存]アイコン123の指定を入力I/F54を通じて受け付けたことに応じて(S19:保存アイコン)、補正画像データを領域62Bに記憶させる(S21)。なお、端末プログラム65は、S20、S21で出力する補正画像データが追加画素を含む場合に、当該追加画素に撮影画像の背景画素値を設定してもよい。[プリント]アイコン122或いは[保存]アイコン123の指定は、指示操作の一例である。S20、S21の処理は、出力指示処理の一例である。
【0048】
[実施形態の作用効果]
上記の実施形態によれば、撮影画像の外縁に追加画素を付加した拡張画像内において、台形補正の対象となる台形画像をユーザに指定させることができる。すなわち、撮影画像に被写体の一部が含まれていない場合であっても、台形補正の対象となる領域をユーザに適切に指定させることができる。
【0049】
なお、図5の例のように、追加画素85、95を必要な箇所に選択的に付加することによって、台形指定画面において撮影画像80、90を相対的に大きく表示させることができる。一方、図6(A)に示されるように、枠型の追加画素87を撮影画像80に付加することによって、撮影画像80及び拡張画像88の中心が一致するので、撮影時のアングルに近い拡張画像88を台形指定画面に表示させることができる。また、撮影画像80、90の外側に台形画像84、94の頂点83C、93Cが位置する場合にのみ撮影画像80、90が拡張されるので、不必要な追加画素の付加が抑制される。
【0050】
また、上記の実施形態によれば、台形画像84の頂点83A〜83Dの位置を推定し、推定された頂点83A〜83Dの位置を示すガイド画像111〜114を拡張画像88に重ねて表示し、表示されたガイド画像111〜114の位置を必要に応じてユーザに変更させる。これにより、台形画像84を指定するユーザ操作を簡略化することができる。また、適切な補正画像121が生成されたか否かを、プレビュー画面を通じてユーザに確認させてから、補正画像データを出力することができる。
【0051】
また、上記の実施形態によれば、台形指定画面において、追加画素87に非背景画素値を設定することによって、撮影画像80に含まれる画素と追加画素87とをユーザに区別させることができる。これにより、追加画素87に重ねられたガイド画像113が適切な位置に表示されているか否かの確認を、ユーザに促すことができる。一方、補正画像データに含まれる追加画素に背景画素値を設定することにより、出力された補正画像データで示される補正画像内において、追加画素を目立たなくすることができる。
【0052】
また、上記の実施形態の複合機10及び携帯端末50において、メモリ32、62の領域32A、62Aに記憶された各種プログラムがCPU31、61によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【0053】
さらに、本発明は、複合機10及び携帯端末50として実現できるだけでなく、複合機10及び携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じて複合機10及び携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。
【符号の説明】
【0054】
10・・・複合機
11・・・プリンタ
23,53・・・ディスプレイ
24,54・・・入力I/F
25,55・・・通信I/F
31,61・・・CPU
32,62・・・メモリ
35・・・装置プログラム
50・・・携帯端末
65・・・端末プログラム
図1
図2
図3
図4
図5
図6