JP6995867B2 - Programs, information processing methods, and information processing equipment - Google Patents
Programs, information processing methods, and information processing equipment Download PDFInfo
- Publication number
- JP6995867B2 JP6995867B2 JP2019542940A JP2019542940A JP6995867B2 JP 6995867 B2 JP6995867 B2 JP 6995867B2 JP 2019542940 A JP2019542940 A JP 2019542940A JP 2019542940 A JP2019542940 A JP 2019542940A JP 6995867 B2 JP6995867 B2 JP 6995867B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- displayed
- image
- editing
- contour
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 15
- 238000003672 processing method Methods 0.000 title claims description 4
- 230000004044 response Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 46
- 238000000034 method Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 30
- 210000003811 finger Anatomy 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000009966 trimming Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 239000000853 adhesive Substances 0.000 description 4
- 230000001070 adhesive effect Effects 0.000 description 4
- 230000002238 attenuated effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 108010068977 Golgi membrane glycoproteins Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
Description
本開示は、プログラム、情報処理方法、及び情報処理装置に関する。 The present disclosure relates to programs, information processing methods, and information processing devices.
従来、ユーザの操作により、画像の一部分を切り抜き(切り取り、トリミング)できるツール(プログラム)が知られている(例えば、特許文献1、非特許文献1を参照)。このツールにおいて、例えば、切り抜く領域は、ユーザにより指やマウスカーソル等で当該領域の輪郭をなぞる操作により指定される。
Conventionally, a tool (program) capable of cropping (cutting and trimming) a part of an image by a user's operation is known (see, for example,
なお、切り抜いた画像は、例えば、SNS(Social Networking Service)のインスタントメッセージングサービス等で送信するスタンプ等に利用できる。 The cropped image can be used, for example, as a stamp or the like transmitted by an instant messaging service of SNS (Social Networking Service) or the like.
しかしながら、従来技術では、例えば、写真等の画像に含まれる被写体等のオブジェクトの輪郭を、指やマウスカーソル等によりなぞる操作により指定する場合、当該輪郭を正確に指定することは難しい場合があるという問題がある。 However, in the prior art, for example, when the contour of an object such as a subject included in an image such as a photograph is specified by an operation of tracing with a finger, a mouse cursor, or the like, it may be difficult to accurately specify the contour. There's a problem.
本開示は、上記問題に鑑みてなされたものであり、画像から切り抜くオブジェクトの領域を比較的高精度かつ容易に指定できる技術を提供することを目的とする。 The present disclosure has been made in view of the above problems, and an object of the present disclosure is to provide a technique capable of specifying an area of an object to be cut out from an image with relatively high accuracy and easily.
本開示の一実施形態に係るプログラムは、情報処理装置に、第1画像を表示させる第1表示ステップと、前記第1画像において切り抜く領域の輪郭を取得するステップと、前記輪郭を修正するための複数の編集点を、前記輪郭上にそれぞれ表示させる第2表示ステップと、ユーザの操作に応答して、前記第1画像を拡大して表示させるとともに、前記複数の編集点の数を増加させて表示させる第3表示ステップと、前記複数の編集点により指定される輪郭内の第2画像を切り抜くステップと、を実行させる。 The program according to the embodiment of the present disclosure includes a first display step of displaying a first image on an information processing apparatus, a step of acquiring a contour of a region to be cut out in the first image, and a step of correcting the contour. A second display step of displaying a plurality of edit points on the contour, and an enlarged display of the first image in response to a user operation, and increasing the number of the plurality of edit points. A third display step to be displayed and a step to cut out a second image in the contour designated by the plurality of editing points are executed.
<法的事項の遵守>
本明細書に記載の開示を実施する場合は、通信の秘密等、本開示を実施に関する実施国の法的事項を遵守の上で実施されるものであることに留意されたい。<Compliance with legal matters>
It should be noted that the disclosures described herein are to be carried out in compliance with the legal matters of the implementing country regarding the implementation of this disclosure, such as the secrecy of communications.
本開示に係るプログラム、情報処理方法、及び情報処理装置を実施するための実施形態について、図面を参照して説明する。 An embodiment for implementing the program, the information processing method, and the information processing apparatus according to the present disclosure will be described with reference to the drawings.
<システム構成>
図1は、本開示の一実施形態における通信システムの構成を示す図である。図1に開示されるように、通信システムでは、ネットワーク30を介してサーバ10と、端末20(端末20A,端末20B,端末20C)とが接続される。サーバ10は、ネットワーク30を介してユーザが所有する端末20に、端末20間でのメッセージの送受信を実現するサービスを提供する。なお、ネットワーク30に接続される端末20の数は限定されない。<System configuration>
FIG. 1 is a diagram showing a configuration of a communication system according to an embodiment of the present disclosure. As disclosed in FIG. 1, in a communication system, a
ネットワーク30は、1以上の端末20と、1以上のサーバ10とを接続する役割を担う。すなわち、ネットワーク30は、端末20がサーバ10に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
The
ネットワーク30のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよい。ネットワーク30は、限定でなく例として、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDNs(integrated service digital networks)、無線LANs、LTE(long term evolution)CDMA(code division multiple access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク30は、1つまたは複数のネットワーク30を含むことができる。
One or more parts of the
端末20(端末20A,端末20B,端末20C)は、各実施形態において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末20は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、端末20は情報処理端末と表現されても良い。
The terminal 20 (
端末20A、端末20Bおよび端末20Cの構成は基本的には同一であるため、以下の説明においては、端末20について説明する。また、必要に応じて、ユーザXが利用する端末を端末20Xと表現し、ユーザXまたは端末20Xに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよい。
Since the configurations of the
サーバ10は、端末20に対して、所定のサービスを提供する機能を備える。サーバ10は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ10は、限定でなく例として、サーバ装置、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ10は情報処理装置と表現されても良い。
The
<ハードウェア(HW)構成>
図1を用いて、通信システムに含まれる各装置のHW構成について説明する。<Hardware (HW) configuration>
The HW configuration of each device included in the communication system will be described with reference to FIG.
(1)端末のHW構成 (1) HW configuration of the terminal
端末20は、制御装置21(CPU:central processing unit(中央処理装置))、記憶装置28、通信I/F22(インタフェース)、入出力装置23、表示装置24、マイク25、スピーカ26、カメラ27を備える。端末20のHWの各構成要素は、限定でなく例として、バスBを介して相互に接続される。
The terminal 20 includes a control device 21 (CPU: central processing unit), a
通信I/F22は、ネットワーク30を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F22は、ネットワーク30を介して、サーバ10との通信を実行する機能を有する。通信I/F22は、各種データを制御装置21からの指示に従って、サーバ10に送信する。また、通信I/F22は、サーバ10から送信された各種データを受信し、制御装置21に伝達する。
The communication I /
入出力装置23は、端末20に対する各種操作を入力する装置、および、端末20で処理された処理結果を出力する装置を含む。入出力装置23は、入力装置と出力装置が一体化していても良いし、入力装置と出力装置に分離していてもよい。
The input /
入力装置は、ユーザからの入力を受け付けて、当該入力に係る情報を制御装置21に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力装置は、限定でなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。 The input device is realized by any or a combination of all kinds of devices capable of receiving an input from a user and transmitting information related to the input to the control device 21. The input device includes, but is not limited to, hardware keys such as a touch panel, a touch display, and a keyboard, a pointing device such as a mouse, a camera (operation input via a moving image), and a microphone (operation input by voice).
出力装置は、制御装置21で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力装置は、限定でなく例として、 タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(限定でなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。 The output device is realized by any one or a combination of all kinds of devices capable of outputting the processing result processed by the control device 21. Output devices include, but are not limited to, touch panels, touch displays, speakers (audio output), lenses (three dimensions output, hologram output, and not limited examples), printers, and the like.
表示装置24は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示装置24は、限定でなく例として、タッチパネル、タッチディスプレイ、モニタ(限定でなく例として、液晶ディスプレイやOELD(organic electroluminescence display))、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示装置24は、3Dで表示データを表示可能であってもよい。
The
入出力装置23がタッチパネルの場合、入出力装置23と表示装置24とは、略同一の大きさおよび形状で対向して配置されていても良い。
When the input /
制御装置21は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定でなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。 The control device 21 has a circuit that is physically structured to perform a function realized by a code or an instruction contained in the program, and is not limited to, but as an example, a data processing device built in hardware. Is realized by.
制御装置21は、限定でなく例として、中央処理装置(CPU)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)を含む。 The control device 21 is not limited, but as an example, a central processing unit (CPU), a microprocessor (microprocessor), a processor core (processor core), a multiprocessor (multiprocessor), an ASIC (application-specific integrated circuit), and an FPGA (field programmable). gate array) is included.
記憶装置28は、端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶装置28は、限定でなく例として、HDD(hard disk drive)、SSD(solid state drive)、フラッシュメモリ、RAM(random access memory)、ROM(read only memory)など各種の記憶媒体を含む。
The
端末20は、プログラムPを記憶装置28に記憶し、このプログラムPを実行することで、制御装置21が、制御装置21に含まれる各部としての処理を実行する。つまり、記憶装置28に記憶されるプログラムPは、端末20に、制御装置21が実行する各機能を実現させる。
The terminal 20 stores the program P in the
マイク25は、音声データの入力に利用される。スピーカ26は、音声データの出力に利用される。カメラ27は、動画像データの取得に利用される。
The
(2)サーバのHW構成
サーバ10は、制御装置11(CPU)、記憶装置15、通信I/F14(インタフェース)、入出力装置12、ディスプレイ13を備える。サーバ10のHWの各構成要素は、限定でなく例として、バスBを介して相互に接続される。(2) HW configuration of the server
The
制御装置11は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定でなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。 The control device 11 has a circuit that is physically structured to perform a function realized by a code or an instruction contained in the program, and is not limited to, but as an example, a data processing device built in hardware. Is realized by.
制御装置11は、代表的には中央処理装置(CPU)、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGAであってもよい。ただし、本開示において、制御装置11は、これらに限定されない。 The control device 11 is typically a central processing unit (CPU), and may be a microprocessor, a processor core, a multiprocessor, an ASIC, or an FPGA. However, in the present disclosure, the control device 11 is not limited to these.
記憶装置15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶装置15は、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。ただし、本開示において、記憶装置15は、これらに限定されない。
The
通信I/F14は、ネットワーク30を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F14は、ネットワーク30を介して、端末20との通信を実行する機能を有する。通信I/F14は、各種データを制御装置11からの指示に従って、端末20に送信する。また、通信I/F14は、端末20から送信された各種データを受信し、制御装置11に伝達する。
The communication I /
入出力装置12は、サーバ10に対する各種操作を入力する装置により実現される。入出力装置12は、ユーザからの入力を受け付けて、当該入力に係る情報を制御装置11に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入出力装置12は、代表的にはキーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイスで実現される。なお、入出力装置12、限定でなく例として、タッチパネルやカメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含んでいてもよい。ただし、本開示において、入出力装置12は、これらに限定されない。
The input /
ディスプレイ13は、代表的にはモニタ(限定でなく例として、液晶ディスプレイやOELD(organic electroluminescence display))で実現される。なお、ディスプレイ13は、ヘッドマウントディスプレイ(HDM)などであってもよい。なお、これらのディスプレイ13は、3Dで表示データを表示可能であってもよい。ただし、本開示において、ディスプレイ13は、これらに限定されない。
The
サーバ10は、プログラムPを記憶装置15に記憶し、このプログラムPを実行することで、制御装置11が、制御装置11に含まれる各部としての処理を実行する。つまり、記憶装置15に記憶されるプログラムPは、サーバ10に、制御装置11が実行する各機能を実現させる。
The
本開示の各実施形態においては、端末20および/またはサーバ10のCPUがプログラムPを実行することにより、実現するものとして説明する。
In each embodiment of the present disclosure, it will be described as being realized by the CPU of the terminal 20 and / or the
なお、端末20の制御装置21、および/または、サーバ10の制御装置11は、CPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。
The control device 21 of the terminal 20 and / or the control device 11 of the
また、本開示の各実施形態のプログラムP(ソフトウェアプログラム/コンピュータプログラム)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。 Further, the program P (software program / computer program) of each embodiment of the present disclosure may be provided in a state of being stored in a storage medium readable by a computer. The storage medium can store the program in a "non-temporary tangible medium".
記憶媒体は適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定でなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムPを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。 When appropriate, the storage medium may be one or more semiconductor-based or other integrated circuits (ICs), such as, but not limited to, field programmable gate arrays (FPGAs) or application-specific ICs (ASICs). ), Hard disk drive (HDD), hybrid hard drive (HHD), optical disk, optical disk drive (ODD), optical magnetic disk, optical magnetic drive, floppy diskette, floppy disk drive (FDD), magnetic It can include tapes, solid drive (SSD), RAM drives, secure digital cards or drives, any other suitable storage medium, or any suitable combination of two or more thereof. The storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate. The storage medium is not limited to these examples, and may be any device or medium as long as the program P can be stored.
サーバ10および/または端末20は、記憶媒体に記憶されたプログラムPを読み出し、読み出したプログラムPを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。
The
また、本開示のプログラムPは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ10および/または端末20に提供されてもよい。サーバ10および/または端末20は、限定でなく例として、インターネット等を介してダウンロードしたプログラムPを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
Further, the program P of the present disclosure may be provided to the
また、本開示の各実施形態は、プログラムPが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
サーバ10および/または端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。Each embodiment of the present disclosure may also be realized in the form of a data signal embedded in a carrier wave, in which the program P is embodied by electronic transmission.
At least a part of the processing in the
端末20における処理の少なくとも一部を、サーバ10により行う構成としてもよい。この場合、端末20の制御装置21の各機能部の処理のうち少なくとも一部の処理を、サーバ10で行う構成としてもよい。
At least a part of the processing in the terminal 20 may be performed by the
サーバ10における処理の少なくとも一部を、端末20により行う構成としてもよい。この場合、サーバ10の制御装置11の各機能部の処理のうち少なくとも一部の処理を、端末20で行う構成としてもよい。
At least a part of the processing in the
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよい。 Unless explicitly mentioned, the configuration of the determination in the embodiment of the present disclosure is not essential, and a predetermined process may be operated when the determination condition is satisfied, or a predetermined process may be performed when the determination condition is not satisfied. You may.
なお、本開示のプログラムは、限定でなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装される。 The program of this disclosure is not limited to, but examples include scripting languages such as ActionScript and JavaScript (registered trademark), object-oriented programming languages such as Objective-C and Java (registered trademark), and markup languages such as HTML5. Implemented using.
<第1の実施形態>
第1の実施形態は、原画像において切り抜く領域(範囲)の輪郭を修正するための点であって、当該輪郭上の点である編集点の数を、画像を拡大表示した際に、増加させて表示させる形態である。第1の実施形態によれば、画像から切り抜くオブジェクトの領域を比較的高精度かつ容易に指定できる。なお、第1の実施形態に記載の内容は、後述する他の各実施形態のいずれにも適用可能である。<First Embodiment>
The first embodiment is a point for correcting the contour of a region (range) to be cut out in the original image, and increases the number of editing points, which are points on the contour, when the image is enlarged and displayed. It is a form to be displayed. According to the first embodiment, the area of the object to be cut out from the image can be specified with relatively high accuracy and easily. The contents described in the first embodiment can be applied to any of the other embodiments described later.
<機能構成>
(1)端末の機能構成<Functional configuration>
(1) Functional configuration of the terminal
図1に示すように、端末20は、制御装置21により実現される機能として、受付部201、表示制御部202、画像処理部203、及び制御部204を有する。
As shown in FIG. 1, the terminal 20 has a
受付部201は、ユーザからの操作を受け付ける。受付部201は、例えば、表示されている原画像において切り抜く領域の輪郭を指定する操作等を受け付ける。
The
表示制御部202は、画像処理部203またはサーバ10からの指示に従い、画像をトリミングする際の表示画面を、端末20の画面に表示させる。表示制御部202は、例えば、画像において切り抜く領域(範囲)の輪郭を修正するための点であって、当該輪郭上の点である編集点を複数表示させる。また、表示制御部202は、ユーザの操作に応答して、当該画像の少なくとも一部を拡大して表示させるとともに、編集点の数を増加させて表示させる。
The
画像処理部203は、複数の編集点により指定される輪郭内の画像を切り抜く画像処理を行う。
The
制御部204は、画像処理部203により切り抜かれた画像を含むコンテンツを生成し、サーバ10に送信する。
(2)サーバの機能構成
図1に示すように、サーバ10は、制御装置11により実現される機能として、取得部101、表示制御部102、及び制御部103を有する。The
(2) Functional Configuration of Server As shown in FIG. 1, the
取得部101は、端末20からのデータを取得する。
The
表示制御部102は、端末20の画面の表示を制御する。
The
制御部103は、端末20から受信したコンテンツを、例えば、SNSのインスタントメッセージングサービス等で利用可能なスタンプ等として、各端末20のユーザに販売する。
<処理>
次に、図2を参照し、端末20において画像の一部分を切り抜く際の処理の一例について説明する。図2は、画像の一部分を切り抜く際の処理の一例を示すフローチャートである。図3Aは、端末20における原画像の表示例について説明する図である。図3Bは、端末20における切り抜き範囲の確認画面の表示例について説明する図である。The
<Processing>
Next, with reference to FIG. 2, an example of a process for cutting out a part of an image in the terminal 20 will be described. FIG. 2 is a flowchart showing an example of processing when cutting out a part of an image. FIG. 3A is a diagram illustrating a display example of an original image on the terminal 20. FIG. 3B is a diagram illustrating a display example of a cutout range confirmation screen in the terminal 20.
ステップS1において、端末20の受付部201は、ユーザから、画像を選択する操作を受け付ける。
In step S1, the
続いて、端末20の表示制御部202は、選択された画像(「第1画像」)を画面に表示させる(ステップS2)。ここで、図3Aに示すように、例えば、端末20において予め保存されている画像、または端末20にて撮影した画像が表示される。図3Aの例では、犬301の画像がユーザに選択され、表示されている。
Subsequently, the
続いて、端末20の受付部201、及び表示制御部202は、ユーザからの操作により、当該選択された画像における切り抜き範囲を編集する(ステップS3)。
Subsequently, the
続いて、端末20の画像処理部203は、ユーザの操作により、編集された切り抜き範囲内の画像(「第2画像」)をトリミングする(ステップS4)。図3Bの例では、編集された切り抜き範囲外の領域の輝度を下げることにより、編集された切り抜き範囲内である犬301の顔の部分301Aが強調されて表示されている。図3Bの例では、確認ボタン302がタップされると、編集された切り抜き範囲内である部分301Aの画像が、切り抜かれて保存される。
Subsequently, the
≪第1実施形態のトリミング処理≫
次に、図4乃至図7を参照し、ステップS3の、ユーザからの操作により切り抜き範囲を編集する際の処理について説明する。図4は、切り抜き範囲を編集する際の処理の一例を示すフローチャートである。図5は、画像が拡大表示される前の編集点を表示させる方法の一例について説明する図である。図6は、画像が拡大表示された際の編集点の数を増加させて表示させる方法の一例について説明する図である。図7は、画像が拡大表示された後に縮小表示された際の編集点の数を減少させて表示させる方法の一例について説明する図である。<< Trimming process of the first embodiment >>
Next, with reference to FIGS. 4 to 7, the process of editing the clipping range by the operation from the user in step S3 will be described. FIG. 4 is a flowchart showing an example of processing when editing the clipping range. FIG. 5 is a diagram illustrating an example of a method of displaying an edit point before the image is enlarged and displayed. FIG. 6 is a diagram illustrating an example of a method of increasing the number of edit points when the image is enlarged and displayed. FIG. 7 is a diagram illustrating an example of a method of reducing the number of edit points when the image is enlarged and then reduced and displayed.
ステップS101において、受付部201は、ユーザの操作に応答して、表示されている原画像において切り抜く領域の輪郭を取得する。
In step S101, the
続いて、表示制御部202は、当該輪郭上に、複数の編集点を表示させる(ステップS102)。ここで、表示制御部202は、例えば、ユーザが画面を指またはマウスカーソルでなぞる操作を行うと、ユーザによりなぞられた各画素を通る線を当該輪郭とする。図5の例では、互いに隣り合う編集点401及び編集点402等が輪郭400上に表示されている。ここで、表示制御部202は、例えば、輪郭上に、当該輪郭上における所定の間隔で編集点を表示してもよい。または、表示制御部202は、例えば、隣り合う2つの編集点の間の当該輪郭上の長さが第1閾値(例えば、6mm)以上離れた位置となり、かつ各編集点が当該輪郭上の特徴点の位置となる位置に編集点をそれぞれ表示してもよい。なお、輪郭上の特徴点については後述する。
Subsequently, the
続いて、受付部201は、表示されている原画像を拡大するための操作をユーザから受け付ける(ステップS103)。ここで、受付部201は、例えば、タッチパネル画面上に親指、及び人差し指等を乗せ、二本の指で押し広げるピンチアウト操作等を受け付ける。
Subsequently, the
続いて、表示制御部202は、表示されている原画像を拡大して表示させるとともに、編集点の数を増加させて表示させる(ステップS104)。
Subsequently, the
図6の例では、表示制御部202は、図5の画像が拡大表示され、編集点401と編集点402との間の輪郭上の長さが上述した第1閾値以上となっている場合、編集点401と編集点402との間の輪郭上に、編集点403を追加して表示させている。また、図6の例では、表示制御部202は、編集点401と編集点402との間の輪郭上で、編集点401と編集点402とからそれぞれ輪郭上の長さが第2閾値(例えば、3mm)以上離れた所定の位置に、編集点403を追加して表示させている。
In the example of FIG. 6, when the image of FIG. 5 is enlarged and the length on the contour between the
表示制御部202は、編集点403を、編集点401から編集点402までの輪郭上の中間に追加してもよい。または、表示制御部202は、編集点403を、編集点401から編集点402までの輪郭上の特徴点に追加してもよい。ここで、輪郭上の特徴点とは、当該輪郭の曲がり具合の特徴を表す点であり、例えば、当該輪郭を代数曲線にて表した場合の尖点等の特異点、及び当該代数曲線における曲率の極値点等を、輪郭上の特徴点として用いてもよい。
The
続いて、受付部201は、編集点の位置を画面上の任意の位置に移動させる操作をユーザから受け付ける(ステップS105)。ここで、受付部201は、例えば、タッチパネル画面上の編集点に指で触れた状態で当該指を滑らせるスライド操作等を受け付ける。
Subsequently, the
続いて、表示制御部202は、当該操作に応答して、操作された編集点の位置を移動させる(ステップS106)。ここで、表示制御部202は、例えば、操作された編集点を、スライド操作等により指が移動された位置まで移動させるとともに、当該操作された編集点から、輪郭上の長さが第3閾値(例えば、1cm)以下である1以上の他の編集点(以下で「周辺の編集点」との称する。)も、当該操作された編集点の移動方向に従った方向に移動させてもよい。この場合、表示制御部202は、例えば、周辺の編集点の移動距離は、当該操作された編集点の移動距離に比例し、当該操作された編集点から当該周辺の編集点までの輪郭上の長さに反比例するようにしてもよい。
Subsequently, the
続いて、表示制御部202は、移動後の編集点を通る輪郭を算出し、算出した変更後の輪郭を表示させる(ステップS107)。ここで、表示制御部202は、移動後の編集点を通る輪郭を、現在表示されている各編集点を通る代数曲線として算出してもよい。または、表示制御部202は、移動後の編集点を通る輪郭を、現在表示されている各編集点を通る直線等として算出してもよい。
Subsequently, the
続いて、表示制御部202は、現在表示されている編集点、及び変更後の輪郭に基づいて、表示させる編集点の追加、または削除を行う(ステップS108)。ここで、表示制御部202は、例えば、編集点の移動により、隣り合う2つの編集点の間の当該輪郭上の長さが第4閾値(例えば、1cm)以上離れた位置となる場合、各編集点が当該輪郭上の特徴点の位置となる位置に編集点を追加する。また、表示制御部202は、編集点の移動により、隣り合う2つの編集点の間の当該輪郭上の長さが上述した第2閾値未満の位置となる場合、当該隣り合う2つの編集点のうちの一方を削除する(非表示とする)。
Subsequently, the
続いて、受付部201は、表示されている原画像を縮小するための操作をユーザから受け付ける(ステップS109)。ここで、受付部201は、例えば、タッチパネル画面上に親指、及び人差し指等を乗せ、二本の指でつまむような動作をするピンチイン操作等を受け付ける。
Subsequently, the
続いて、表示制御部202は、拡大して表示されている原画像を縮小して表示させるとともに、編集点の数を減少させて表示させる(ステップS110)。
Subsequently, the
ここで、表示制御部202は、ステップS105の編集点の位置を移動させる操作に基づいて位置が変更された編集点は表示を継続し、ステップS105の編集点の位置を移動させる操作によっては位置が変更されていない編集点のみ数を減少させて表示させてもよい。これにより、画像を縮小した場合でも、変更後の輪郭の特徴点等となっている、ユーザ操作により位置が変更された編集点の表示が継続されるため、輪郭の形状をより明確にユーザに表示することができる。
Here, the
なお、この場合、表示制御部202は、例えば、ステップS105の編集点の位置を移動させる操作に基づいて位置が変更された編集点としては、例えば、ユーザにより操作をされた一の編集点のみとしてもよい。または、表示制御部202は、当該一の編集点に加え、ステップS106において当該一の編集点の移動に合わせて自動で移動させた当該一の編集点の周辺の編集点、及びステップS108で追加された編集点等を含むようにしてもよい。表示制御部202は、図7の例では、編集点601、及び編集点602等に加え、拡大表示された際に追加された後、ユーザの操作により位置が変更された編集点603も、縮小表示された際にも継続して表示させている。
In this case, for example, the
または、表示制御部202は、ステップS105の編集点の位置を移動させる操作に基づいて位置が変更された編集点についても、数を減少させて表示させてもよい。この場合、表示制御部202は、例えば、青丸等で表示される編集点は表示しないようにしても、白線等で表示される輪郭の線は、位置が変更された編集点を通る輪郭を表示してもよい。この場合、表示制御部202は、例えば、ステップS107にて移動後の編集点を通る輪郭を代数曲線として算出して記憶しておいてもよい。そして、表示制御部202は、縮小表示された際に編集点の表示を消し、再度拡大表示された際に、記憶されている代数曲線の特徴点等となっている、ステップS105のユーザ操作により位置が変更された編集点を再度表示させる。これにより、縮小表示された際に消された編集点を、再度拡大表示であれた際に復元することができる。
<第1実施形態の効果>
上述した第1の実施形態によれば、画像が拡大表示された際に、自動で編集点の数を増加させて表示させる。これにより、原画像中から切り抜く対象のオブジェクトの輪郭を、より容易な操作で、より精度良く指定することができる。また、操作がより容易となるため、結果的に端末20の処理負荷を軽減できるという効果も奏する。Alternatively, the
<Effect of the first embodiment>
According to the first embodiment described above, when the image is enlarged and displayed, the number of editing points is automatically increased and displayed. As a result, the outline of the object to be cut out from the original image can be specified more accurately with a simpler operation. In addition, since the operation becomes easier, the processing load of the terminal 20 can be reduced as a result.
<第2の実施形態>
第2の実施形態は、ユーザによる端末20の筐体を傾ける操作に応答して、原画像において切り抜く領域を指定する点を移動させて表示させる形態である。第2の実施形態によれば、画像から切り抜くオブジェクトの領域を比較的高精度かつ容易に指定できる。なお、第2の実施形態は一部を除いて第1の実施形態と同様であるため、適宜説明を省略する。以下では、第1の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。なお、第2の実施形態に記載の内容は、他の各実施形態のいずれにも適用可能である。
<ハードウェア(HW)構成>
図8は、第2の実施形態における通信システムの構成を示す図である。図8に示すように、第2の実施形態に係る端末20は、傾きセンサ29をさらに備える。傾きセンサ29は、例えば、加速度センサ、及び角速度センサ等であり、端末20の筐体の傾きを検出するためのセンサである。
<機能構成>
図8に示すように、第2の実施形態に係る端末20は、制御装置21により実現される機能として、傾き検出部205を有する。<Second embodiment>
The second embodiment is a mode in which a point designating a region to be cut out in the original image is moved and displayed in response to an operation of tilting the housing of the terminal 20 by the user. According to the second embodiment, the area of the object to be cut out from the image can be specified with relatively high accuracy and easily. Since the second embodiment is the same as the first embodiment except for a part, the description thereof will be omitted as appropriate. In the following, the parts common to the first embodiment will be omitted, and only the different parts will be described. The contents described in the second embodiment can be applied to any of the other embodiments.
<Hardware (HW) configuration>
FIG. 8 is a diagram showing a configuration of a communication system according to the second embodiment. As shown in FIG. 8, the terminal 20 according to the second embodiment further includes a
<Functional configuration>
As shown in FIG. 8, the terminal 20 according to the second embodiment has a
傾き検出部205は、傾きセンサ29からの出力に基づいて、端末20の筐体の傾きを検出する。
<処理>
≪第2実施形態のトリミング処理≫
次に、図9乃至図13を参照し、ステップS3の、ユーザからの操作により切り抜き範囲を編集する際の処理について説明する。図9は、第2実施形態に係る切り抜き範囲を編集する際の処理の一例を示すフローチャートである。図10は、第1の移動点群の表示画面の一例を説明する図である。図11は、元画像をエッジ検出されたデータの一例を説明する図である。図12、及び図13は、端末20の筐体を傾けた際の移動点の移動について説明する図である。図14は、ユーザ操作による移動点の位置が固定された表示画面の一例を示す図である。図15は、第2の移動点群の表示画面の一例を説明する図である。The
<Processing>
<< Trimming process of the second embodiment >>
Next, with reference to FIGS. 9 to 13, the process of editing the clipping range by the operation from the user in step S3 will be described. FIG. 9 is a flowchart showing an example of processing when editing the clipping range according to the second embodiment. FIG. 10 is a diagram illustrating an example of a display screen of the first moving point group. FIG. 11 is a diagram illustrating an example of data in which an edge of the original image is detected. 12 and 13 are views for explaining the movement of the moving point when the housing of the terminal 20 is tilted. FIG. 14 is a diagram showing an example of a display screen in which the position of a moving point by a user operation is fixed. FIG. 15 is a diagram illustrating an example of a display screen of the second moving point group.
ステップS201において、表示制御部202は、受付部201により受け付けられたユーザの操作に応答して、表示されている原画像において切り抜く領域を指定するための1以上の移動点である第1の移動点群(「第1の複数の点」)を画面の一方の側から表示させる。図10の例では、表示制御部202は、端末20の画面の上辺付近から、横方向に並べられた複数の移動点1001-1、1001-2、乃至1001-Nと、各移動点を結ぶ線1002(トリミング線)を表示させている。
In step S201, the
続いて、表示制御部202は、表示されている原画像のエッジを検出する(ステップS202)。ここで、表示制御部202は、例えば、画像を1次微分して勾配の大きさ(エッジの強さ)を計算し、勾配の方向からエッジの局所的方向を予測し、その方向の勾配が局所的に極大となる箇所を探す手法を用いてもよい。または、表示制御部202は、例えば、画像から求めた2次微分式でのゼロ交差を探す手法等を用いてもよい。または、その他の公知の手法を用いてもよい。図11では、図10に示す元画像をエッジ検出した結果のデータ1101の一例が示されている。図11の例では、検出されたエッジの強さが所定の閾値以上である画素が黒で示されている。表示制御部202は、検出されたエッジの強さのうち、所定の閾値以上の値のみを用いるようにしてもよい。
Subsequently, the
続いて、表示制御部202は、ユーザによる端末20の筐体を任意の方向に傾ける操作に応答して、複数の移動点1001-1、1001-2、乃至1001-Nと、各移動点を結ぶ線1002を、傾けられた方向に移動させて表示させる(ステップS203)。ここで、ユーザにより、筐体の画面が所定位置(例えば、水平位置)から大きく傾けられるほど、より速い速度で各移動点を移動させて表示させてもよい。
Subsequently, the
続いて、表示制御部202は、元画像のエッジの強さに応じた仮想的な力(粘着力または摩擦力)により、当該各移動点を当該エッジの各部分で一旦停止させて表示させる(ステップS204)。ここで、表示制御部202は、各移動点が現在位置する図10に示すような元画像上の画素の位置に対応する、図11に示すようなエッジのデータ上の画素の位置におけるエッジの強さの値を抽出する。そして、表示制御部202は、抽出したエッジの強さに応じた仮想的な力により、各移動点を一旦停止させる。
Subsequently, the
また、表示制御部202は、例えば、隣り合う各移動点を通る、原画像から検出したエッジに沿った曲線又は直線により、各移動点を結ぶトリミング線を表示する。
Further, the
なお、一旦停止された移動点は、筐体をさらに傾けることにより、再度移動される。この場合、表示制御部202は、例えば、ユーザにより筐体を傾けられた際、移動点に仮想的にかかる重力により当該移動点が滑り落ちる方向の力と、エッジの強さに応じた仮想的な力であるエッジ上の粘着力または摩擦力により当該移動点が当該エッジ上の位置に止まろうとする仮想的な慣性力とを算出する。そして、表示制御部202は、滑り落ちる方向の力の方が、エッジ上の位置に止まろうとする慣性力よりも大きくなった場合に、当該移動点を当該滑り落ちる方向に移動するように表示させてもよい。
The moving point once stopped is moved again by further tilting the housing. In this case, for example, when the housing is tilted by the user, the
また、滑り落ちる方向の力の方が、各エッジ上の位置に止まろうとする慣性力よりも大きくなる程度に、筐体が十分に大きく傾けられている場合、移動点は当該各エッジ上で一旦停止されずに、端末20の画面の端まで移動されて表示されてもよい。 Also, if the housing is tilted sufficiently large enough that the force in the sliding direction is greater than the inertial force that tries to stop at a position on each edge, the moving point will temporarily stop on each edge. Instead, it may be moved to the edge of the screen of the terminal 20 and displayed.
なお、ステップS203の移動点を移動させる処理、及びステップS204のエッジの強さに応じた仮想的な力により各移動点を一旦停止させる処理は、ユーザによる筐体を傾ける操作により、交互に繰り返して行われる。 The process of moving the moving point in step S203 and the process of temporarily stopping each moving point by a virtual force according to the strength of the edge in step S204 are alternately repeated by the operation of tilting the housing by the user. Is done.
図12の例では、図10に示す元画像上の画素の位置に対応する、図11に示す元画像がエッジ検出されたデータ上の画素の位置におけるエッジの強さの値に応じた仮想的な力により、各移動点が一旦停止されている。図12に示す、犬301の耳の部分のエッジ上で一旦停止された移動点1201と、犬301の胴体の部分のエッジ上で一旦停止された移動点1202とでは、図11に示すように、移動点1201の方が、移動点1202よりも高い仮想的な力により一旦停止される。そのため、図12の画面が表示されている際に、さらに画面の上部を起こす姿勢となるように筐体を一定程度傾けると、移動点1201は停止されたまま、移動点1202は画面の下部方向に移動される。そして、移動点1202は、図13に示す移動点1302のように、図11に示すようなエッジの強さに従い、犬301の顔の下部の位置に移動して一旦停止される。
In the example of FIG. 12, the original image shown in FIG. 11 is virtual according to the value of the edge strength at the position of the pixel on the data whose edge is detected, which corresponds to the position of the pixel on the original image shown in FIG. Each moving point is temporarily stopped due to the force. As shown in FIG. 12, the moving
図12、及び図13の例では、表示制御部202は、例えば、ユーザにより筐体を傾けられた際に各移動点に仮想的にかかる重力により移動点が滑り落ちるように表示させる。そして、表示制御部202は、各移動点を結ぶ線1002上で隣り合う移動点間のエッジ上の長さが上述した第1閾値以上となっている場合、当該各移動点間のエッジ上の特徴点等の位置に、移動点を追加して表示させている。また、図12、及び図13の例では、表示制御部202は、ユーザにより、画面の上下方向に傾けられることにより、各移動点を結ぶ直線が、オブジェクトに上または下から垂れかかるように停止されて表示させる。そして、表示制御部202は、ユーザにより、画面の左右方向等に傾けられることにより、各移動点を結ぶ直線が、オブジェクトに左右から垂れかかるように停止されて表示させる。
In the example of FIGS. 12 and 13, the
続いて、表示制御部202は、受付部201により当該各移動点に含まれる一の移動点がユーザによりタッチ(押下)操作されたことを検知すると(ステップS205)、タッチ操作された移動点の位置を固定する(ステップS206)。図14の例では、表示制御部202は、位置が固定された移動点を、位置が固定されていない移動点と区別できる態様で表示させている。例えば、位置が固定されていない移動点が緑の丸の場合、位置が固定された移動点を、中黒の二重丸(丸中黒)、青の丸等で表示させる。
Subsequently, when the
続いて、表示制御部202は、受付部201により受け付けられたユーザの操作に応答して、表示されている原画像において切り抜く領域を指定するための第2の移動点群(「第2の複数の点」)を、上述した第1の移動点群表示した画面の一方の側と向かい合う他方の側から表示させる(ステップS207)。図15の例では、第1の移動点群のうち、ステップS206の処理で位置が固定された移動点のみを表示させている。そして、端末20の画面の下辺付近から、横方向に並べられた複数の移動点1501-1、1501-2、乃至1501-Nと、各移動点を結ぶ線1502(トリミング線)を表示させている。
Subsequently, the
続いて、第2の移動点群についても、第1の移動点群と同様に、ステップS203乃至ステップS206と同様の処理を行う(ステップS208乃至ステップS211)。これにより、上述した第1の移動点群のうち、ユーザの操作により位置が固定された移動点と、上述した第2の移動点群のうち、ユーザの操作により位置が固定された移動点とにより、切り抜く領域の輪郭が指定される。この場合、表示制御部202は、隣り合う各移動点を通る、原画像から検出したエッジに沿った曲線又は直線により、当該輪郭を算出してもよい。
<第2の実施形態の第1変形例>
次に、図16を参照して、変形例について説明する。図16は、大まかに指定された領域内のエッジを検出した結果のデータの一例を示す図である。上述した第1の実施形態における編集点により切り抜く領域を指定する処理と、第2の実施形態による筐体の傾きに応じて移動点をエッジ上に移動させて切り抜く領域を指定する処理を組み合わせてもよい。Subsequently, the second moving point group is also subjected to the same processing as in steps S203 to S206 (steps S208 to S211) in the same manner as in the first moving point group. As a result, in the above-mentioned first moving point group, the moving point whose position is fixed by the user's operation, and in the above-mentioned second moving point group, the moving point whose position is fixed by the user's operation. Specifies the outline of the area to be cut out. In this case, the
<First modification of the second embodiment>
Next, a modified example will be described with reference to FIG. FIG. 16 is a diagram showing an example of data as a result of detecting an edge in a roughly specified region. A combination of the process of designating the area to be cut out by the editing point in the first embodiment described above and the process of designating the area to be cut out by moving the moving point on the edge according to the inclination of the housing according to the second embodiment. May be good.
この場合、例えば、図4に示す第1の実施形態の処理により、図7に示すように切り抜く領域を大まかに指定する。そして、図9に示す第2の実施形態のステップS202の処理において、図14に示すように、元画像において当該指定された領域内1401についてのみエッジを検出する。これにより、図9に示すステップS203以降の処理において、より容易に、エッジ上に移動させて切り抜く領域を指定する操作が可能となる。なお、この場合、図9のステップS205等の、ユーザのタッチ操作により移動点の位置を固定する処理を省略してもよい。また、2つ目のトリミング線を用いる図9のステップS207乃至ステップS211の処理を省略してもよい。
<第2の実施形態の第2変形例>
上述した第2の実施形態による筐体の傾きに応じて移動点をエッジ上に移動させて切り抜く領域を指定する処理をした後、上述した第1の実施形態における編集点により切り抜く領域を指定する処理を実行できるようにしてもよい。この場合、上述した移動点は、以下に説明するように、第1の実施形態における編集点として用いられる。In this case, for example, by the process of the first embodiment shown in FIG. 4, the region to be cut out is roughly specified as shown in FIG. 7. Then, in the process of step S202 of the second embodiment shown in FIG. 9, as shown in FIG. 14, the edge is detected only in the designated
<Second variant of the second embodiment>
After performing the process of moving the moving point on the edge to specify the area to be cut out according to the inclination of the housing according to the second embodiment described above, the area to be cut out is designated by the editing point in the first embodiment described above. It may be possible to execute the process. In this case, the above-mentioned moving point is used as an editing point in the first embodiment as described below.
まず、表示制御部202は、第2の実施形態の図9に示す処理により、筐体の傾きに応じて移動点をエッジ上に移動させて切り抜く領域を指定する。そして、表示制御部202は、例えば、上述した第1実施形態の図4に示すステップS103乃至ステップS110の処理により、原画像を拡大表示させるとともに、移動点を編集点とし、編集点の数を増加させて表示させる。そして、編集点を指で移動させる操作、または筐体を傾ける操作により、当該編集点を移動させる。
<第2実施形態の効果>
上述した第2の実施形態によれば、筐体の傾きに応じて、原画像において切り抜く領域を指定する点を移動させて表示させる。これにより、原画像中から切り抜く対象のオブジェクトの輪郭を、より容易な操作で、より精度良く指定することができる。また、操作がより容易となるため、結果的に端末20の処理負荷を軽減できるという効果も奏する。
<第3の実施形態>
第3の実施形態は、ユーザのフリック操作やスワイプ操作等の操作に応答して、原画像において切り抜く領域を指定する点を、原画像におけるエッジの位置まで移動させて表示させる形態である。第3の実施形態によれば、画像から切り抜くオブジェクトの領域を比較的高精度かつ容易に指定できる。なお、第3の実施形態は一部を除いて第1の実施形態、または第2の実施形態と同様であるため、適宜説明を省略する。以下では、第1の実施形態、または第2の実施形態と共通する部分については説明を省略し、異なる部分についてのみ説明する。なお、第3の実施形態に記載の内容は、他の各実施形態のいずれにも適用可能である。
<処理>
≪第3実施形態のトリミング処理≫
次に、図17乃至図19を参照し、ステップS3の、ユーザからの操作により切り抜き範囲を編集する際の処理について説明する。図17は、第3実施形態に係る切り抜き範囲を編集する際の処理の一例を示すフローチャートである。図18は、フリック操作により編集点を移動させて表示させる処理について説明する図である。図19A、及び図19Bは、エッジの強さに応じて編集点の移動速度が減衰され、停止させて表示させる処理について説明する図である。First, the
<Effect of the second embodiment>
According to the second embodiment described above, the point designating the area to be cut out in the original image is moved and displayed according to the inclination of the housing. As a result, the outline of the object to be cut out from the original image can be specified more accurately with a simpler operation. In addition, since the operation becomes easier, the processing load of the terminal 20 can be reduced as a result.
<Third embodiment>
The third embodiment is a mode in which, in response to an operation such as a flick operation or a swipe operation of the user, a point for designating a region to be cut out in the original image is moved to the position of an edge in the original image and displayed. According to the third embodiment, the area of the object to be cut out from the image can be specified with relatively high accuracy and easily. Since the third embodiment is the same as the first embodiment or the second embodiment except for a part, the description thereof will be omitted as appropriate. In the following, the description of the parts common to the first embodiment or the second embodiment will be omitted, and only the different parts will be described. The contents described in the third embodiment can be applied to any of the other embodiments.
<Processing>
<< Trimming process of the third embodiment >>
Next, with reference to FIGS. 17 to 19, the process of editing the clipping range by the operation from the user in step S3 will be described. FIG. 17 is a flowchart showing an example of processing when editing the clipping range according to the third embodiment. FIG. 18 is a diagram illustrating a process of moving and displaying an edit point by a flick operation. 19A and 19B are diagrams for explaining a process in which the moving speed of the editing point is attenuated according to the strength of the edge, and the processing is stopped and displayed.
ステップS301において、受付部201は、ユーザの操作に応答して、表示されている原画像において切り抜く領域の輪郭を取得する。続いて、表示制御部202は、当該輪郭上に、複数の編集点を表示させる(ステップS302)。
In step S301, the
ここで、ステップS301、及びステップS302の処理において、上述した第1実施形態の図4に示すステップS101、及びステップS102の処理と同様に、ユーザにより指等でなぞられた輪郭を取得してもよい。または、上述した第1実施形態の図4に示すステップS103乃至ステップS110のいずれかの処理段階における、拡大表示に伴い数が増加された編集点等を表示させてもよい。または、上述した第2実施形態の図9に示すステップS201乃至ステップS211のいずれかの処理段階における移動点を、編集点として用いるようにしてもよい。 Here, in the processing of step S301 and step S302, even if the contour traced by the user with a finger or the like is acquired as in the processing of step S101 and step S102 shown in FIG. 4 of the first embodiment described above. good. Alternatively, the editing points and the like whose number has been increased with the enlarged display in any of the processing stages of steps S103 to S110 shown in FIG. 4 of the first embodiment described above may be displayed. Alternatively, the moving point in any of the processing stages of step S201 to step S211 shown in FIG. 9 of the second embodiment described above may be used as an editing point.
続いて、受付部201は、複数の編集点に含まれる一の編集点(以下で「第1編集点」と称する。)に対するユーザのフリック操作(またはスワイプ操作)を受け付ける(ステップS303)。ここで、フリック操作とは、例えば、タッチパネルを有する画面上で、指を素早く動かしたり、弾いたりするような操作である。また、スワイプ操作とは、タッチパネルを有する画面上で、指を滑らせるような操作である。
Subsequently, the
続いて、表示制御部202は、第1編集点と、第1編集点の周辺の編集点(以下で「第2編集点」と称する。)とを、フリック操作の方向に移動させる(ステップS304)。ここで、表示制御部202は、フリック操作の速さに応じた速さで第1編集点を移動させ、フリック操作の速さと、第1編集点と第2編集点との輪郭上の距離とに応じた速さで、第2編集点を移動させる。なお、フリック操作の方向とは、例えば、フリック操作にて指を動かした方向である。また、フリック操作の速さとは、例えば、フリック操作にて指を動かした速さである。
Subsequently, the
図18の例では、表示制御部202は、フリック操作された第1編集点1801からの輪郭上の距離が所定の閾値以下、または第1編集点1801からの隣り合う編集点の数が所定の閾値以下である編集点1802、編集点1803、及び編集点1804を選択する。ここで、所定の閾値としては、少なくとも第1編集点と隣り合う他の編集点が含まれる値としてもよい。
In the example of FIG. 18, in the
そして、表示制御部202は、第1編集点1801と、選択した編集点1802との輪郭上の距離を算出し、フリック操作の速さと、算出した距離とに応じた速さを大きさとし、フリック操作の方向を向きとする速度ベクトル1802Aを算出する。ここで、表示制御部202は、当該大きさを、例えば、フリック操作の速さに比例し、算出した距離に反比例した大きさとしてもよい。
Then, the
また、表示制御部202は、選択した編集点1803、及び編集点1804についても、同様にして速度ベクトル1803A、及び速度ベクトル1804Aをそれぞれ算出する。
Further, the
そして、表示制御部202は、第1編集点1801を、フリック操作の速さに応じた速さ、及びフリック操作の方向を有する速度ベクトル1801Aで移動させるとともに、編集点1802、編集点1803、及び編集点1804を、速度ベクトル1803A、及び速度ベクトル1804Aで移動させる。
Then, the
図18の例では、第1編集点1801からの輪郭上の距離は、編集点1802、編集点1803、及び編集点1804の順に長くなっている。この場合、速度ベクトル1802A、速度ベクトル1803A、速度ベクトル1804Aは、方向はそれぞれ同一であり、速さは、速度ベクトル1802A、速度ベクトル1803A、速度ベクトル1804Aの順に小さくなっている。
In the example of FIG. 18, the distance on the contour from the
続いて、表示制御部202は、移動された各編集点が表示されている原画像のエッジの位置に移動すると、元画像のエッジの強さに応じた仮想的な力(粘着力または摩擦力)により、各編集点をエッジ上の位置で停止させて表示させる(ステップS305)。ここで、表示制御部202は、原画像におけるエッジを予め検出しておいてもよい。または、表示制御部202は、移動された各編集点の移動元の位置から移動方向に沿った原画像におけるエッジのみを検出してもよい。これにより、端末20における処理負荷を軽減できる。
Subsequently, when the
ここで、表示制御部202は、例えば、フリック操作の速さと、フリック操作に応答して各編集点が移動する経路上のエッジの強さとに応じて、各編集点の移動の速さを減衰させて停止させてもよい。この場合、表示制御部202は、移動している各編集点について、図19Aに示すように、編集点1901を速度ベクトル1901Aで移動させる。そして、表示制御部202は、移動方向1902上のエッジ1903を通過する際、エッジ1903の強さに応じた仮想的な力により、編集点1901の移動の速さを減衰させる。そして、表示制御部202は、図19Bに示すように、編集点1901を、移動方向は不変であり、速度ベクトル1901Aから速さが減衰された速度ベクトル1901Bで移動させる。そして、表示制御部202は、移動方向1902上のエッジ1904の強さに応じた仮想的な力により、移動方向1902上のエッジ1904の位置で編集点1901を停止させる。
Here, the
続いて、表示制御部202は、移動後の編集点を通る輪郭を算出し、算出した変更後の輪郭を表示させる(ステップS306)。続いて、表示制御部202は、現在表示されている編集点、及び変更後の輪郭に基づいて、表示させる編集点の追加、または削除を行う(ステップS307)。なお、ステップS306乃至ステップS307の処理は、上述した第1実施形態の図4のステップS107乃至ステップS108の処理と同様でもよい。
<第3の実施形態の第1変形例>
表示制御部202は、フリック操作等に応答して、編集点をエッジの位置まで移動させた後、ピンチアウト操作等を受け付けると、上述した第1実施形態の図4に示すステップS103乃至ステップS110の処理を行うようにしてもよい。すなわち、原画像を拡大表示させるとともに、移動点を編集点とし、編集点の数を増加させて表示させる等の処理を行う。そして、拡大表示された状態で、編集点を指で移動させるスライド操作により、当該編集点を指が離された位置まで移動させる。
<第3実施形態の効果>
上述した第3の実施形態によれば、ユーザのフリック操作やスワイプ操作等の操作に応答して、原画像において切り抜く領域を指定する点を、原画像におけるエッジの位置まで移動させて表示させる。これにより、原画像中から切り抜く対象のオブジェクトの輪郭を、より容易な操作で、より精度良く指定することができる。また、操作がより容易となるため、結果的に端末20の処理負荷を軽減できるという効果も奏する。Subsequently, the
<First modification of the third embodiment>
When the
<Effect of the third embodiment>
According to the third embodiment described above, in response to an operation such as a flick operation or a swipe operation of the user, a point that specifies a region to be cut out in the original image is moved to the position of an edge in the original image and displayed. As a result, the outline of the object to be cut out from the original image can be specified more accurately with a simpler operation. In addition, since the operation becomes easier, the processing load of the terminal 20 can be reduced as a result.
<その他>
なお、上述した実施形態では、端末20にインストールされたアプリケーション等において画像処理を行う例について説明したが、サーバ10において画像処理を行うようにしてもよい。この場合、例えば、端末20の受付部201は、ユーザによる操作内容をサーバ10に通知し、サーバ10の表示制御部102により端末20の表示画面の制御を行い、サーバ10の制御部103がトリミング等の画像処理を行うようにしてもよい。<Others>
In the above-described embodiment, an example of performing image processing in an application installed on the terminal 20 has been described, but image processing may be performed on the
受付部201は、「取得部」の一例である。画像処理部203は、「切り取り部」の一例である。サーバ10、及び端末20は、それぞれ、「情報処理装置」の一例である。
The
本開示の実施形態を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本開示の範囲に含まれることに留意されたい。限定でなく例として、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、各実施形態に示す構成を適宜組み合わせることとしてもよい。 Although the embodiments of the present disclosure have been described based on the drawings and examples, it should be noted that those skilled in the art can easily make various modifications and modifications based on the present disclosure. Therefore, it should be noted that these modifications and modifications are within the scope of this disclosure. As an example without limitation, the functions included in each means, each step, etc. can be rearranged so as not to be logically inconsistent, and a plurality of means, steps, etc. can be combined or divided into one. Is possible. Further, the configurations shown in each embodiment may be appropriately combined.
10 サーバ
101 取得部
102 表示制御部
103 制御部
20 端末
201 受付部
202 表示制御部
203 画像処理部
204 制御部
205 傾き検出部10
Claims (8)
第1画像を表示させる第1表示ステップと、
前記第1画像において切り抜く領域の輪郭を取得するステップと、
前記輪郭を修正するための複数の編集点を、前記輪郭上にそれぞれ表示させる第2表示ステップと、
ユーザの操作に応答して、前記第1画像を拡大して表示させるとともに、前記複数の編集点の数を増加させて表示させる第3表示ステップと、
前記複数の編集点により指定される輪郭内の第2画像を切り抜くステップと、
を実行させるプログラム。For information processing equipment
The first display step to display the first image and
The step of acquiring the outline of the area to be cut out in the first image, and
A second display step of displaying a plurality of edit points for modifying the contour on the contour, respectively.
A third display step in which the first image is enlarged and displayed in response to a user operation and the number of the plurality of editing points is increased and displayed.
A step of cropping a second image within the contour specified by the plurality of editing points,
A program to execute.
前記第3表示ステップは、前記第1編集点から前記第2編集点までの前記輪郭上の長さが第1閾値以上の場合、前記第1編集点から前記第2編集点までの前記輪郭上に、第3編集点を表示させる、
請求項1に記載のプログラム。In the second display step, the first edit point and the second edit point are displayed.
In the third display step, when the length on the contour from the first editing point to the second editing point is equal to or greater than the first threshold value, the third display step is on the contour from the first editing point to the second editing point. To display the third edit point,
The program according to claim 1.
請求項2に記載のプログラム。In the third display step, the length on the contour from the first editing point to the second editing point is equal to or larger than the second threshold value from the first editing point and the second editing point, respectively. Display the third edit point at a distant position.
The program according to claim 2.
請求項2または3に記載のプログラム。In the third display step, the third edit point is displayed at the feature points on the contour from the first edit point to the second edit point.
The program according to claim 2 or 3.
請求項2または3に記載のプログラム。The third display step causes the third edit point to be displayed at an intermediate point on the contour from the first edit point to the second edit point.
The program according to claim 2 or 3.
ユーザの操作に応答して、前記第3表示ステップにより拡大して表示された前記第1画像を縮小して表示させるとともに、前記変更するステップにより位置が変更された編集点は表示を継続し、前記変更するステップにより位置が変更されていない編集点の数を減少させて表示させる第4表示ステップと、
を実行する請求項1から5のいずれか一項に記載のプログラム。A step of changing the position of one or more edit points among the plurality of edit points displayed by the third display step in response to a user operation.
In response to the user's operation, the first image enlarged and displayed by the third display step is reduced and displayed, and the editing point whose position has been changed by the changing step continues to be displayed. A fourth display step in which the number of edit points whose positions have not been changed by the change step is reduced and displayed.
The program according to any one of claims 1 to 5.
第1画像を表示させる第1表示ステップと、
前記第1画像において切り抜く領域の輪郭を取得するステップと、
前記輪郭を修正するための複数の編集点を、前記輪郭上にそれぞれ表示させる第2表示ステップと、
ユーザの操作に応答して、前記第1画像を拡大して表示させるとともに、前記複数の編集点の数を増加させて表示させる第3表示ステップと、
前記第1画像における前記複数の編集点により指定される輪郭内の第2画像を切り抜くステップと、
を実行する情報処理方法。Information processing equipment
The first display step to display the first image and
The step of acquiring the outline of the area to be cut out in the first image, and
A second display step of displaying a plurality of edit points for modifying the contour on the contour, respectively.
A third display step in which the first image is enlarged and displayed in response to a user operation and the number of the plurality of editing points is increased and displayed.
A step of cutting out a second image in the contour designated by the plurality of editing points in the first image, and
Information processing method to execute.
前記輪郭を修正するための複数の編集点を、前記輪郭上にそれぞれ表示させ、ユーザの操作に応答して、前記第1画像を拡大して表示させるとともに、前記複数の編集点の数を増加させて表示させる表示制御部と、
前記第1画像における前記複数の編集点により指定される輪郭内の第2画像を切り抜く切り抜き部と、
を有する情報処理装置。The acquisition unit that acquires the outline of the area to be cut out in the displayed first image, and the acquisition unit.
A plurality of editing points for correcting the contour are displayed on the contour, respectively, and the first image is enlarged and displayed in response to a user operation, and the number of the plurality of editing points is increased. The display control unit that lets you display
A cutout portion for cutting out the second image in the contour designated by the plurality of editing points in the first image, and
Information processing device with.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/034438 WO2019058539A1 (en) | 2017-09-25 | 2017-09-25 | Program, information processing method, and information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019058539A1 JPWO2019058539A1 (en) | 2020-11-19 |
JP6995867B2 true JP6995867B2 (en) | 2022-01-17 |
Family
ID=65809624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019542940A Active JP6995867B2 (en) | 2017-09-25 | 2017-09-25 | Programs, information processing methods, and information processing equipment |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6995867B2 (en) |
WO (1) | WO2019058539A1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3429618B2 (en) * | 1995-11-24 | 2003-07-22 | 大日本スクリーン製造株式会社 | Image layout device with image component clipping function |
-
2017
- 2017-09-25 WO PCT/JP2017/034438 patent/WO2019058539A1/en active Application Filing
- 2017-09-25 JP JP2019542940A patent/JP6995867B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2019058539A1 (en) | 2019-03-28 |
JPWO2019058539A1 (en) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6960249B2 (en) | Programs, display methods and information processing terminals | |
EP2701152B1 (en) | Media object browsing in a collaborative window, mobile client editing, augmented reality rendering. | |
KR102137240B1 (en) | Method for adjusting display area and an electronic device thereof | |
EP3091426B1 (en) | User terminal device providing user interaction and method therefor | |
CN107657934B (en) | Method and mobile device for displaying images | |
US20160357428A1 (en) | Display device, display controlling method, and computer program | |
CN112328353B (en) | Display method and device of sub-application player, electronic equipment and storage medium | |
US9357132B2 (en) | Video rolling shutter correction for lens movement in optical image stabilization cameras | |
JP7395070B1 (en) | Video processing methods and devices, electronic equipment and computer-readable storage media | |
CN110908554B (en) | Long screenshot method and terminal device | |
JP6433923B2 (en) | Providing a specific object location to the device | |
TW201642115A (en) | An icon adjustment method, an icon adjustment system and an electronic device thereof | |
US11263814B2 (en) | Method, apparatus, and storage medium for rendering virtual channel in multi-world virtual scene | |
US9665232B2 (en) | Information-processing device, storage medium, information-processing method, and information-processing system for enlarging or reducing an image displayed on a display device | |
KR102113509B1 (en) | Method for controlling a virtual keypad and an electronic device thereof | |
JP7007168B2 (en) | Programs, information processing methods, and information processing equipment | |
US10261602B2 (en) | Hop navigation | |
US20150095817A1 (en) | Adaptive determination of information display | |
DE202017104855U1 (en) | Animating an image to indicate that the image is floating | |
JP7029913B2 (en) | Programs, information processing methods, and information processing equipment | |
CN107705275B (en) | Photographing method and mobile terminal | |
JP6995867B2 (en) | Programs, information processing methods, and information processing equipment | |
JP6918660B2 (en) | Programs, information processing methods, and information processing equipment | |
US20170139563A1 (en) | Image data generation apparatus and non-transitory computer-readable recording medium | |
WO2023210352A1 (en) | Information processing device, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200911 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20210414 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20210412 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210521 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210531 |
|
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: 20211124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6995867 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |