JP2017151579A - program - Google Patents
program Download PDFInfo
- Publication number
- JP2017151579A JP2017151579A JP2016031602A JP2016031602A JP2017151579A JP 2017151579 A JP2017151579 A JP 2017151579A JP 2016031602 A JP2016031602 A JP 2016031602A JP 2016031602 A JP2016031602 A JP 2016031602A JP 2017151579 A JP2017151579 A JP 2017151579A
- Authority
- JP
- Japan
- Prior art keywords
- image
- program
- display
- captured image
- trapezoidal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012937 correction Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 89
- 230000004044 response Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 23
- 230000015654 memory Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Studio Circuits (AREA)
- Editing Of Facsimile Originals (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
Description
本発明は、カメラに生成させた画像を台形補正する携帯端末のプログラムに関する。 The present invention relates to a portable terminal program for correcting a keystone of an image generated by a camera.
引用文献1には、カメラに生成させた撮影画像を台形補正する携帯端末のプログラムが記載されている。より詳細には、引用文献1に記載のプログラムは、被写体を撮影したカメラに生成させた撮影画像をディスプレイに表示させ、撮影画像内で被写体を囲む略四角形領域の頂点の位置をユーザに指定させ、指定された略四角形領域の画像をトリミングし、トリミングした画像を台形補正する。 Cited Document 1 describes a mobile terminal program for correcting a trapezoid of a captured image generated by a camera. More specifically, the program described in the cited document 1 causes a captured image generated by a camera that captured a subject to be displayed on a display, and allows the user to specify the position of the apex of a substantially rectangular area surrounding the subject in the captured image. Then, the image of the specified substantially rectangular area is trimmed, and the trimmed image is trapezoidally corrected.
しかしながら、カメラに被写体をズームして撮影させた場合において、撮影画像に被写体の一部が含まれない場合がある。そして、このような撮影画像内で略四角形領域の頂点の位置をユーザに指定させようとすると、本来の位置より略四角形領域の内側の位置が頂点として指定される可能性がある。その結果、このような略四角形領域の画像がトリミング及び台形補正されると、撮影画像に含まれていた被写体の一部がさらに欠けてしまう可能性がある。 However, when the subject is zoomed and photographed, a part of the subject may not be included in the photographed image. If the user tries to designate the position of the vertex of the substantially rectangular area in such a captured image, the position inside the substantially rectangular area may be designated as the vertex from the original position. As a result, when such an image of the substantially rectangular area is trimmed and trapezoidally corrected, a part of the subject included in the captured image may be further lost.
本発明は、上記の事情に鑑みてなされたものであり、その目的は、カメラに生成させた撮影画像内において、台形補正すべき領域をユーザに適切に指定させることが可能な携帯端末のプログラムを提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a portable terminal program that allows a user to appropriately specify a region to be trapezoidally corrected in a captured image generated by a camera. Is to provide.
本明細書に記載のプログラムは、カメラと、ディスプレイと、タッチセンサを有する入力インタフェースとを備える携帯端末によって読み取り可能である。該プログラムは、対象物を撮影した前記カメラによって生成された撮影画像データを取得する取得処理と、前記撮影画像データで示される撮影画像の外縁に追加画素を付加することによって、前記撮影画像を拡張した拡張画像を示す拡張画像データを生成する拡張処理と、前記拡張画像を前記ディスプレイに表示させる第1表示処理と、前記第1表示処理で表示された前記拡張画像内において、台形画像の形状を指定するタッチ操作を、前記入力インタフェースを通じて受け付ける第1受付処理とを前記携帯端末に実行させる。前記台形画像は、長方形の前記対象物が斜めから撮影されたことによって、前記拡張画像内で台形に表された前記対象物を示す画像である。該プログラムは、前記第1受付処理で指定された形状の前記台形画像を台形補正することによって、長方形の補正画像を示す補正画像データを生成する補正処理と、前記補正画像データを出力する出力指示処理とを前記携帯端末に実行させる。 The program described in the present specification can be read by a portable terminal including a camera, a display, and an input interface having a touch sensor. The program expands the captured image by acquiring additional image data obtained by acquiring the captured image data generated by the camera that captured the object, and an outer edge of the captured image indicated by the captured image data. In the extended process for generating extended image data indicating the extended image, the first display process for displaying the extended image on the display, and the trapezoidal image in the extended image displayed in the first display process. The portable terminal is caused to execute a first reception process for receiving a designated touch operation through the input interface. The trapezoidal image is an image that shows the target object represented in a trapezoid in the extended image by photographing the rectangular target object from an oblique direction. The program includes a correction process for generating corrected image data indicating a rectangular correction image by correcting the trapezoidal image having the shape specified in the first reception process, and an output instruction for outputting the corrected image data. The processing is executed by the portable terminal.
上記構成によれば、撮影画像の外縁に追加画素を付加した拡張画像内において、台形補正の対象となる台形画像をユーザに指定させることができる。すなわち、撮影画像に被写体の一部が含まれていない場合であっても、台形補正の対象となる領域をユーザに適切に指定させることができる。 According to the above configuration, the user can designate a trapezoidal image to be trapezoidally corrected in an extended image in which additional pixels are added to the outer edge of the captured image. That is, even when a part of the subject is not included in the photographed image, the user can appropriately specify the area to be corrected for trapezoid.
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings as appropriate. The embodiment described below is merely an example of the present invention, and it is needless to say that the embodiment of the present invention can be changed as appropriate without departing from the gist of the present invention. For example, the execution order of each process described below can be changed as appropriate without departing from the scope of the present invention.
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、複合機10と、携帯端末50とで構成されている。また、システム100は、複合機10に代えて、プリンタ単能機を含んでもよい。複合機10及び携帯端末50は、通信ネットワーク101を通じて相互に通信可能に構成されている。通信ネットワーク101の具体例は特に限定されないが、例えば、インターネット、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。
FIG. 1 is a schematic diagram of a
複合機10は、図1に示されるように、プリンタ11と、スキャナ12と、ディスプレイ23と、入力I/F24と、通信I/F25と、CPU31と、メモリ32と、通信バス33とを主に備える。複合機10を構成する各構成要素は、通信バス33を通じて相互に接続されている。
As shown in FIG. 1, the
プリンタ11は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ11の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ12は、原稿に記録されている画像を読み取って画像データを生成するスキャン動作を実行する。
The printer 11 executes a printing operation for recording an image indicated by the image data on a sheet. As a recording method of the printer 11, a known method such as an ink jet method or an electrophotographic method can be employed. The
ディスプレイ23は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示面を備える。
The
入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、入力I/F24は、ディスプレイ23の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク等である。
The input I /
タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ23に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
The input I /
通信I/F25は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、複合機10は、通信I/F25を通じて外部装置に各種情報を出力し、通信I/F25を通じて外部装置から各種情報を受信する。通信I/F25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(Wi-Fi Allianceの登録商標)を採用することができる。
The communication I /
CPU31は、複合機10の全体動作を制御するものである。CPU31は、入力I/F24から出力される各種情報、通信I/F25を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムをメモリ32から取得して実行する。CPU31及びメモリ32は、制御部の一例を構成する。
The
メモリ32は、プログラム記憶領域32Aと、データ記憶領域32Bとを有する。領域32Aには、OS34と、装置プログラム35とが格納される。なお、装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。領域32Bには、装置プログラム35の実行に必要なデータ或いは情報が記憶される。メモリ32は、例えば、RAM、ROM、EEPROM、HDD、複合機10に着脱されるUSBメモリ等の可搬記憶媒体、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
The memory 32 has a program storage area 32A and a
メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末50のメモリ62についても同様である。
The memory 32 may be a computer readable storage medium. A computer-readable storage medium is a non-transitory medium. Non-transitory media include recording media such as CD-ROM and DVD-ROM in addition to the above examples. A non-transitory medium is also a tangible medium. On the other hand, an electrical signal that carries a program downloaded from a server on the Internet is a computer-readable signal medium that is a kind of computer-readable medium, but a non-transitory computer-readable storage. Not included in the media. The same applies to the
携帯端末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は、制御部の一例である。
As shown in FIG. 1, the
携帯端末50は、例えば、携帯電話、スマートフォン、或いはタブレット端末等である。より詳細には、携帯端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。また、携帯端末50の入力I/F54は、ディスプレイ53の表示画面に重ねられたタッチセンサであるのが望ましい。メモリ62の領域62Aには、OS64と、端末プログラム65とが格納されている。
The
カメラ52は、被写体を撮影して画像データ(以下、「撮影画像データ」と表記することがある。)を生成する。カメラ52の動作は、例えば、領域62Aに記憶される不図示のカメラプログラムによって制御される。すなわち、カメラプログラムは、撮影画像データで示される画像と、[撮影]アイコンとをディスプレイ53に表示させる。また、ディスプレイ53に表示される画像は、カメラ52の向きが変更されるのに追従して変更される。そして、カメラプログラムは、[撮影]アイコンを指定するユーザ操作を入力I/F54を通じて受け付けたことに応じて、撮影画像データを領域62Bに記憶させる。
The
[システム100の動作]
図2及び図3を参照して、本実施形態に係るシステム100の動作を説明する。
[Operation of System 100]
With reference to FIG.2 and FIG.3, operation | movement of the
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「制御」等の処理は、CPU31、61の処理を表している。CPU61による処理は、OS64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
The flowchart in this specification basically shows the processing of the
まず、携帯端末50の端末プログラム65は、不図示のカメラプログラムを起動させる(S11)。次に、カメラプログラムは、[撮影]アイコンを指定するユーザ操作を入力I/F54を通じて受け付けたことに応じて、撮影画像データを領域62Bに記憶させ、記憶させた撮影画像データを端末プログラム65に提供する。端末プログラム65は、例えば、カメラプログラムを所謂プラグインとして起動するためのAPIを実行すればよい。また、カメラプログラムは、領域62Bに記憶させた撮影画像データのパスを当該APIの戻り値に含めればよい。そして、端末プログラム65は、戻り値に含まれるパスに基づいて撮影画像データを読み出せばよい(S12:Yes)。
First, the
本実施形態において、携帯端末50のユーザは、長方形のホワイトボードをカメラ52によって斜めから撮影したものとする。その結果、端末プログラム65は、例えばS12において、図4(A)に示される撮影画像80を示す撮影画像データ、或いは図4(B)に示される撮影画像90を示す撮影画像データを取得したものとする。ホワイトボードは、対象物の一例である。但し、対象物の具体例はホワイトボードに限定されず、黒板、ポスター、ディスプレイ等の概ね長方形或いは正方形の物であればよく、表面に文字或いは図柄等が描かれているのが望ましい。
In the present embodiment, it is assumed that the user of the
撮影画像80は、図4(A)に示されるように、輪郭線81A、81B、81C、81Dで囲まれた長方形の画像である。撮影画像90は、図4(B)に示されるように、輪郭線91A、91B、91C、91Dで囲まれた長方形の画像である。また、撮影画像80、90は、台形画像84、94の少なくとも一部を含む。台形画像84、94は、ホワイトボードが斜めから撮影されたことによって、撮影画像80、90内で台形に表されたホワイトボードを示す画像である。
The captured
次に、端末プログラム65は、画像拡張処理を実行する(S13)。画像拡張処理は、撮影画像データで示される撮影画像に画素を追加することによって、拡張画像を生成する処理である。すなわち、拡張画像は、撮影画像を拡張した画像である。図3を参照して、画像拡張処理の詳細を説明する。
Next, the
まず、端末プログラム65は、ハフ変換等の周知のアルゴリズムを用いて、撮影画像に含まれる所定の長さ以上の直線を検出する(S31)。また、端末プログラム65は、S31で検出した直線の数を判断する(S32)。S31の処理は検出処理の一例であり、S32の処理は、第1判断処理の一例である。
First, the
一例として、端末プログラム65は、図4(A)に示される撮影画像80内において、4つの直線82A、82B、82C、82Dを検出する。他の例として、端末プログラム65は、図4(B)に示される撮影画像90内において、3つの直線92A、92B、92Cを検出する。但し、S31で検出される直線の数は図4の例に限定されず、2つ以下の場合もあり得る。
As an example, the
次に、端末プログラム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の処理をスキップする。
Next, in response to determining that the three
端末プログラム65は、例えばS33において、S31で検出した3つの直線92A〜92Cのうち、平行に近い2つの直線92A、92Cを対となる直線と判断する。対となる直線92A、92Cは、台形画像94の対辺を構成し得る直線である。そして、端末プログラム65は、撮影画像90の4つの輪郭線91A〜91Dのうち、対となる直線が存在しない直線92Bから最も離れた輪郭線91Dを、第4の直線に決定する。
For example, in S33, the
次に、端末プログラム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外に位置してもよい。
Next, the
次に、端末プログラム65は、S34で推定した4つの頂点の位置が撮影画像内か否かを判断する(S35)。そして、端末プログラム65は、少なくとも1つの頂点の位置が撮影画像外だと判断したことに応じて(S35:No)、拡張画像を示す拡張画像データを生成する(S36)。一方、端末プログラム65は、全ての頂点の位置が撮影画像内だと判断したことに応じて(S35:Yes)、S36の処理をスキップする。S35の処理は第2判断処理の一例であり、S36の処理は拡張処理の一例である。
Next, the
端末プログラム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の全体を含む。
In S36, the
すなわち、追加画素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を生成してもよい。
That is, it is desirable that the
また、追加画素85、95の幅は、例えば、撮影画像80、90の外に位置する頂点83C、93Cの位置と、S31で検出した直線の数とによって、適宜設定される。まず、端末プログラム65は、撮影画像80、90の外に位置する頂点83C、93Cが、拡張画像86、96の輪郭線より内側に位置するように、追加画素85、95の幅を設定すればよい。また、端末プログラム65は、S31で検出した直線の数が少ない程、追加画素85、95の幅を大きくすればよい。
Further, the widths of the
一方、端末プログラム65は、S31で2つ以下の直線を検出したと判断したことに応じて(S32:2以下)、S33〜S36に代えて、例えば図6(A)に示されるように、撮影画像80の周囲を囲む枠型の追加画素87を付加することによって、拡張画像88を示す拡張画像データを生成する(S37)。S37の処理は、拡張処理の一例である。本実施形態では、S36で撮影画像80に枠型の追加画素87が付加されたものとして、以下の処理の説明する。また、S36の処理がスキップされた場合(S35:Yes)、以下の処理において、拡張画像88に代えて撮影画像80が用いられる。
On the other hand, in response to determining that two or less straight lines are detected in S31 (S32: 2 or less), the
図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受付処理の一例である。
Returning to FIG. 2, the
なお、端末プログラム65は、S14において、追加画素87に非背景画素値が設定された拡張画像88を、台形指定画面に表示させてもよい。端末プログラム65は、例えば、S36、S37で生成した拡張画像データをコピーし、コピーした拡張画像データに含まれる追加画素87に非背景画素値を設定し、当該拡張画像データで示される拡張画像88を、台形指定画面に表示させればよい。非背景画素値は、撮影画像の背景画素の画素値と異なる画素値である。背景画素の画素値は、例えば、撮影画像に含まれる画素値のヒストグラムの最頻値を指す。また、端末プログラム65は、S31で2つ以下の直線を検出した場合に(S32:2以下)、拡張画像88上の予め定められた位置にガイド画像111〜114を表示してもよい。
Note that the
次に、端末プログラム65は、例えばガイド画像113の位置に対するドラッグ操作を入力I/F54を通じて受け付けたことに応じて(S15:ガイド画像)、台形指定画面上でガイド画像113の位置を変更する(S16&S14)。より詳細には、端末プログラム65は、ガイド画像113の位置にタッチされた入力媒体が表示面上で移動されたことに応じて、当該入力媒体に追随してガイド画像113の位置を変更する。そして、端末プログラム65は、入力媒体が離間された位置、すなわちドラッグ操作の終了位置を、ガイド画像113の新たな位置に決定する。
Next, the
ガイド画像113は、台形指定画面の拡張画像88内の任意の位置、すなわち、撮影画像80及び追加画素87内の任意の位置に移動させることができる。一方、ガイド画像113は、台形指定画面の拡張画像88外に移動させることができない。ガイド画像111、112、114に対するドラッグ操作についても同様である。ドラッグ操作は、ガイド画像111〜114の位置を変更するタッチ操作、及び台形画像84の形状を指定するタッチ操作の一例である。なお、台形画像の形状を指定するタッチ操作は、ガイド画像111〜114に対するドラッグ操作に限定されない。例えば、端末プログラム65は、台形画像84を構成する辺の位置に対するドラッグ操作を入力I/F54を通じて受け付けたことに応じて、当該辺の位置及び角度を変更してもよい。
The
次に、端末プログラム65は、[補正]アイコン115の指定を入力I/F54を通じて受け付けたことに応じて(S15:補正アイコン)、ガイド画像111〜114の位置を頂点とする台形画像84を、拡張画像88から抽出する。そして、端末プログラム65は、抽出した台形画像84を台形補正して、長方形の補正画像を示す補正画像データを生成する(S17)。S17の処理は、補正処理の一例である。
Next, in response to the designation of the [Correction]
ガイド画像111〜114の少なくとも1つが追加画素87の位置に配置されている場合、端末プログラム65は、撮影画像80の画素と、追加画素87とを含む台形画像84を抽出する。また、端末プログラム65は、例えば、ガイド画像111〜114の位置を頂点とする台形画像84に対して、上辺及び短辺が平行になるように画素を補間することによって、補正画像データを生成する。台形補正は、例えば、射影変換等の周知のアルゴリズムによって実現される。
When at least one of the
次に、端末プログラム65は、図6(B)に示されるプレビュー画面をディスプレイ53に表示させる(S18)。プレビュー画面は、S17で生成された補正画像121と、[プリント]アイコン122と、[保存]アイコン123とを含む。[プリント]アイコン122は、補正画像データに対するプリント動作を複合機10に実行させる指示に対応する。[保存]アイコン123は、補正画像データを領域62Bに記憶させる指示に対応する。そして、端末プログラム65は、プレビュー画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S19)。S18の処理は第2表示処理の一例であり、S19の処理は第2受付処理の一例である。
Next, the
そして、端末プログラム65は、[プリント]アイコン122の指定を入力I/F54を通じて受け付けたことに応じて(S19:プリントアイコン)、通信I/F55を通じて複合機10にプリント指示情報を送信する(S20)。プリント指示情報は、補正画像データに対するプリント動作を指示するための情報であって、補正画像データを含む。一方図示は省略するが、複合機10の装置プログラム35は、通信I/F25を通じて携帯端末50からプリント指示情報を受信する。そして、装置プログラム35は、受信したプリント指示情報に従ったプリント動作をプリンタ11に実行させる。
Then, the
一方、端末プログラム65は、[保存]アイコン123の指定を入力I/F54を通じて受け付けたことに応じて(S19:保存アイコン)、補正画像データを領域62Bに記憶させる(S21)。なお、端末プログラム65は、S20、S21で出力する補正画像データが追加画素を含む場合に、当該追加画素に撮影画像の背景画素値を設定してもよい。[プリント]アイコン122或いは[保存]アイコン123の指定は、指示操作の一例である。S20、S21の処理は、出力指示処理の一例である。
On the other hand, the
[実施形態の作用効果]
上記の実施形態によれば、撮影画像の外縁に追加画素を付加した拡張画像内において、台形補正の対象となる台形画像をユーザに指定させることができる。すなわち、撮影画像に被写体の一部が含まれていない場合であっても、台形補正の対象となる領域をユーザに適切に指定させることができる。
[Effects of Embodiment]
According to the above-described embodiment, the user can designate a trapezoidal image to be trapezoidally corrected in an extended image in which additional pixels are added to the outer edge of the captured image. That is, even when a part of the subject is not included in the photographed image, the user can appropriately specify the area to be corrected for trapezoid.
なお、図5の例のように、追加画素85、95を必要な箇所に選択的に付加することによって、台形指定画面において撮影画像80、90を相対的に大きく表示させることができる。一方、図6(A)に示されるように、枠型の追加画素87を撮影画像80に付加することによって、撮影画像80及び拡張画像88の中心が一致するので、撮影時のアングルに近い拡張画像88を台形指定画面に表示させることができる。また、撮影画像80、90の外側に台形画像84、94の頂点83C、93Cが位置する場合にのみ撮影画像80、90が拡張されるので、不必要な追加画素の付加が抑制される。
As in the example of FIG. 5, the captured
また、上記の実施形態によれば、台形画像84の頂点83A〜83Dの位置を推定し、推定された頂点83A〜83Dの位置を示すガイド画像111〜114を拡張画像88に重ねて表示し、表示されたガイド画像111〜114の位置を必要に応じてユーザに変更させる。これにより、台形画像84を指定するユーザ操作を簡略化することができる。また、適切な補正画像121が生成されたか否かを、プレビュー画面を通じてユーザに確認させてから、補正画像データを出力することができる。
Further, according to the above embodiment, the positions of the
また、上記の実施形態によれば、台形指定画面において、追加画素87に非背景画素値を設定することによって、撮影画像80に含まれる画素と追加画素87とをユーザに区別させることができる。これにより、追加画素87に重ねられたガイド画像113が適切な位置に表示されているか否かの確認を、ユーザに促すことができる。一方、補正画像データに含まれる追加画素に背景画素値を設定することにより、出力された補正画像データで示される補正画像内において、追加画素を目立たなくすることができる。
Further, according to the above-described embodiment, by setting a non-background pixel value for the
また、上記の実施形態の複合機10及び携帯端末50において、メモリ32、62の領域32A、62Aに記憶された各種プログラムがCPU31、61によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
Further, in the
さらに、本発明は、複合機10及び携帯端末50として実現できるだけでなく、複合機10及び携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じて複合機10及び携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。
Furthermore, the present invention may be realized not only as the
10・・・複合機
11・・・プリンタ
23,53・・・ディスプレイ
24,54・・・入力I/F
25,55・・・通信I/F
31,61・・・CPU
32,62・・・メモリ
35・・・装置プログラム
50・・・携帯端末
65・・・端末プログラム
10: MFP 11 ...
25, 55 ... Communication I / F
31, 61 ... CPU
32, 62 ...
Claims (10)
該プログラムは、
対象物を撮影した前記カメラによって生成された撮影画像データを取得する取得処理と、
前記撮影画像データで示される撮影画像の外縁に追加画素を付加することによって、前記撮影画像を拡張した拡張画像を示す拡張画像データを生成する拡張処理と、
前記拡張画像を前記ディスプレイに表示させる第1表示処理と、
前記第1表示処理で表示された前記拡張画像内において、台形画像の形状を指定するタッチ操作を、前記入力インタフェースを通じて受け付ける第1受付処理とを前記携帯端末に実行させ、前記台形画像は、長方形の前記対象物が斜めから撮影されたことによって、前記拡張画像内で台形に表された前記対象物を示す画像であり、
該プログラムは、
前記第1受付処理で指定された形状の前記台形画像を台形補正することによって、長方形の補正画像を示す補正画像データを生成する補正処理と、
前記補正画像データを出力する出力指示処理とを前記携帯端末に実行させるプログラム。 A program readable by a mobile terminal comprising a camera, a display, and an input interface having a touch sensor,
The program
An acquisition process for acquiring captured image data generated by the camera that captured the object;
An expansion process for generating extended image data indicating an extended image obtained by extending the captured image by adding an additional pixel to the outer edge of the captured image indicated by the captured image data;
First display processing for displaying the extended image on the display;
In the extended image displayed in the first display process, the mobile terminal is caused to execute a first reception process for receiving a touch operation for designating a shape of a trapezoidal image through the input interface, and the trapezoidal image is rectangular. It is an image showing the object represented in a trapezoid in the extended image by the object of
The program
A correction process for generating corrected image data indicating a rectangular correction image by correcting the trapezoidal image of the shape specified in the first reception process;
A program for causing the portable terminal to execute an output instruction process for outputting the corrected image data.
前記撮影画像に含まれる前記台形画像の頂点の位置を推定する推定処理を前記携帯端末に実行させ、
前記第1表示処理において、前記推定処理で推定した頂点の位置を示すガイド画像を、前記拡張画像に重ねて前記ディスプレイに表示させ、
前記第1受付処理において、前記追加画素に重ねて表示された前記ガイド画像の位置を変更するタッチ操作を、前記入力インタフェースを通じて少なくとも受け付けることが可能であり、
前記補正処理において、前記第1受付処理で変更された前記ガイド画像の位置を頂点とする前記台形画像を台形補正する請求項1に記載のプログラム。 The program
Causing the portable terminal to perform an estimation process for estimating a position of a vertex of the trapezoidal image included in the captured image;
In the first display process, a guide image indicating the position of the vertex estimated in the estimation process is displayed on the display so as to overlap the extended image.
In the first accepting process, it is possible to accept at least a touch operation for changing the position of the guide image displayed superimposed on the additional pixel through the input interface;
The program according to claim 1, wherein, in the correction process, the trapezoidal image having the apex at the position of the guide image changed in the first reception process is corrected.
前記撮影画像に含まれる所定の長さ以上の直線を検出する検出処理と、
前記検出処理で検出した直線の数を判断する第1判断処理とを前記携帯端末に実行させ、
4つの直線を検出したと前記第1判断処理で判断した場合の前記推定処理において、前記検出処理で検出した直線の各交点の位置を、前記台形画像の頂点の位置として推定する請求項2又は3に記載のプログラム。 The program
A detection process for detecting a straight line longer than a predetermined length included in the captured image;
Causing the portable terminal to execute a first determination process for determining the number of straight lines detected in the detection process;
The estimation process when the first determination process determines that four straight lines have been detected, wherein the position of each intersection of the straight lines detected by the detection process is estimated as the position of the vertex of the trapezoidal image. 3. The program according to 3.
3つの直線を検出したと前記第1判断処理で判断したことに応じて、前記撮影画像の輪郭線の1つを第4の直線に決定する決定処理を前記携帯端末に実行させ、
前記推定処理において、前記検出処理で検出した直線及び前記決定処理で決定した直線の各交点の位置を、前記台形画像の頂点の位置として推定する請求項4に記載のプログラム。 The program
In response to determining in the first determination process that three straight lines have been detected, the portable terminal is caused to execute a determination process for determining one of the contour lines of the captured image as a fourth straight line,
5. The program according to claim 4, wherein, in the estimation process, a position of each intersection of the straight line detected in the detection process and the straight line determined in the determination process is estimated as a position of a vertex of the trapezoidal image.
前記推定処理で推定した全ての頂点の位置が前記撮影画像内か否かを判断する第2判断処理を前記携帯端末に実行させ、
全ての頂点の位置が前記撮影画像内だと前記第2判断処理で判断したことに応じて、前記拡張処理を前記携帯端末に実行させず、且つ前記第1表示処理で前記撮影画像を前記ディスプレイに表示させ、
少なくとも1つの頂点の位置が前記撮影画像外だと前記第2判断処理で判断したことに応じて、当該頂点が前記拡張画像に含まれるように、前記撮影画像に前記追加画素を付加する前記拡張処理を前記携帯端末に実行させる請求項4又は5に記載のプログラム。 The program
Causing the portable terminal to execute a second determination process for determining whether or not the positions of all the vertices estimated in the estimation process are within the captured image;
In response to the determination in the second determination process that the positions of all the vertices are within the captured image, the portable terminal is not caused to execute the expansion process, and the captured image is displayed in the display in the first display process. Displayed on the
The extension for adding the additional pixel to the photographed image so that the vertex is included in the extension image in response to the determination in the second determination process that the position of at least one vertex is outside the photographed image The program according to claim 4 or 5, which causes the portable terminal to execute processing.
前記補正画像を前記ディスプレイに表示させる第2表示処理と、
前記補正画像データの出力を指示する指示操作を、前記入力インタフェースを通じて受け付ける第2受付処理と、
前記第2受付処理で前記指示操作を受け付けたことに応じて、前記出力指示処理とを前記携帯端末に実行させる請求項1から9のいずれかに記載のプログラム。 The program
A second display process for displaying the corrected image on the display;
A second receiving process for receiving an instruction operation for instructing output of the corrected image data through the input interface;
The program according to any one of claims 1 to 9, which causes the portable terminal to execute the output instruction process in response to receiving the instruction operation in the second reception process.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016031602A JP6665575B2 (en) | 2016-02-23 | 2016-02-23 | program |
JP2020024909A JP6973524B2 (en) | 2016-02-23 | 2020-02-18 | program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016031602A JP6665575B2 (en) | 2016-02-23 | 2016-02-23 | program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020024909A Division JP6973524B2 (en) | 2016-02-23 | 2020-02-18 | program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017151579A true JP2017151579A (en) | 2017-08-31 |
JP6665575B2 JP6665575B2 (en) | 2020-03-13 |
Family
ID=59740852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016031602A Active JP6665575B2 (en) | 2016-02-23 | 2016-02-23 | program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6665575B2 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001250114A (en) * | 1999-12-28 | 2001-09-14 | Ricoh Co Ltd | Method and device for image processing and computer- readable recording medium |
JP2004310726A (en) * | 2003-03-24 | 2004-11-04 | Fuji Xerox Co Ltd | Image inspection method, image inspection apparatus, and program |
JP2006074512A (en) * | 2004-09-02 | 2006-03-16 | Casio Comput Co Ltd | Photographing device, and image processing method, and program for photographing device |
JP2011055467A (en) * | 2009-08-07 | 2011-03-17 | Sharp Corp | Captured image processing system, image output method, program, and recording medium |
JP2013218547A (en) * | 2012-04-10 | 2013-10-24 | Seitosha Co Ltd | Trimming program for portable telephone, portable telephone, and image preservation method |
JP2015535108A (en) * | 2012-10-31 | 2015-12-07 | メドスナップ・リミテッド・ライアビリティ・カンパニーMedsnap, LLC | Adaptive color correction system and method for tablet recognition in digital images |
US20160349968A1 (en) * | 2015-05-29 | 2016-12-01 | Lexmark International, Inc. | Methods of Content-Based Image Area Selection |
-
2016
- 2016-02-23 JP JP2016031602A patent/JP6665575B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001250114A (en) * | 1999-12-28 | 2001-09-14 | Ricoh Co Ltd | Method and device for image processing and computer- readable recording medium |
JP2004310726A (en) * | 2003-03-24 | 2004-11-04 | Fuji Xerox Co Ltd | Image inspection method, image inspection apparatus, and program |
JP2006074512A (en) * | 2004-09-02 | 2006-03-16 | Casio Comput Co Ltd | Photographing device, and image processing method, and program for photographing device |
JP2011055467A (en) * | 2009-08-07 | 2011-03-17 | Sharp Corp | Captured image processing system, image output method, program, and recording medium |
JP2013218547A (en) * | 2012-04-10 | 2013-10-24 | Seitosha Co Ltd | Trimming program for portable telephone, portable telephone, and image preservation method |
JP2015535108A (en) * | 2012-10-31 | 2015-12-07 | メドスナップ・リミテッド・ライアビリティ・カンパニーMedsnap, LLC | Adaptive color correction system and method for tablet recognition in digital images |
US20160349968A1 (en) * | 2015-05-29 | 2016-12-01 | Lexmark International, Inc. | Methods of Content-Based Image Area Selection |
Non-Patent Citations (1)
Title |
---|
師 茂樹: ""Scanbot"", 漢字文▲献▼情報▲処▼理研究, JPN6020000959, 1 October 2015 (2015-10-01), JP, pages 65 - 68, ISSN: 0004194011 * |
Also Published As
Publication number | Publication date |
---|---|
JP6665575B2 (en) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6584076B2 (en) | Information processing apparatus, information processing method, and computer program | |
KR101450782B1 (en) | Image processing device and program | |
JP2014192901A (en) | Image processing system and image processing method | |
US9354801B2 (en) | Image processing apparatus, image processing method, and storage medium storing program | |
US9323494B2 (en) | Image processing system, image processing apparatus, portable information terminal, computer-readable storage medium with enhanced display capabilities | |
US10853010B2 (en) | Image processing apparatus, image processing method, and storage medium | |
JP6206581B2 (en) | Terminal device, display control method, and program | |
US10645246B2 (en) | Non-transitory computer-readable medium and portable device | |
JP2018088204A (en) | Image processing device and program | |
JP6880687B2 (en) | Programs and systems | |
JP6149684B2 (en) | Portable terminal, image processing apparatus, and program | |
US11233911B2 (en) | Image processing apparatus and non-transitory computer readable medium for image processing | |
JP6589302B2 (en) | Information processing apparatus, image reading apparatus, and image display method | |
US20160035062A1 (en) | Electronic apparatus and method | |
JP6973524B2 (en) | program | |
JP6665575B2 (en) | program | |
US10944884B2 (en) | Imaging device and non-transitory computer readable medium storing program | |
JP6260177B2 (en) | Image processing system, image processing method, and image processing program | |
JP2017208655A (en) | Information processing system, information processing method and program | |
JP5968926B2 (en) | Information processing apparatus and information processing program | |
JP5976708B2 (en) | Electronic equipment and operation support program | |
JP2020145632A (en) | Image processing apparatus, image processing system, and program | |
JP6319974B2 (en) | Form reader and program | |
JP2016045630A (en) | Image acquisition device | |
JP2015187755A (en) | Image processing apparatus, image processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180219 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6665575 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |