JP2021015345A - 情報処理装置、情報処理方法、プログラム、および表示制御装置 - Google Patents

情報処理装置、情報処理方法、プログラム、および表示制御装置 Download PDF

Info

Publication number
JP2021015345A
JP2021015345A JP2019128418A JP2019128418A JP2021015345A JP 2021015345 A JP2021015345 A JP 2021015345A JP 2019128418 A JP2019128418 A JP 2019128418A JP 2019128418 A JP2019128418 A JP 2019128418A JP 2021015345 A JP2021015345 A JP 2021015345A
Authority
JP
Japan
Prior art keywords
image
trimming
length
interest
point
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.)
Pending
Application number
JP2019128418A
Other languages
English (en)
Inventor
渡 齊藤
Wataru Saito
渡 齊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019128418A priority Critical patent/JP2021015345A/ja
Priority to US16/919,276 priority patent/US11580644B2/en
Publication of JP2021015345A publication Critical patent/JP2021015345A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • G06F3/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3872Repositioning or masking
    • H04N1/3873Repositioning or masking defined only by a limited number of coordinate points or parameters, e.g. corners, centre; for trimming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Abstract

【課題】ユーザが望む構図でトリミングした画像を生成すること。【解決手段】アルバム作成アプリケーションは、トリミングを行う画像データと画像データを配置するスロットを含むテンプレートとを表示し、入力装置107を用いてスロットとそのスロットに配置する画像データを選択する。スロットに配置する画像における注目点の位置情報を取得する。注目点が指定された画像に適用する構図パターンをユーザに提示し、それらの中からユーザが選択した適用する構図パターンを取得する。注目点と、ステップS204で選択された構図パターンとに基づきトリミングを行う。トリミングされた画像を列挙し、トリミング案として複数のトリミングされた画像をユーザに提示する。提示したトリミング案から、ユーザが選択したトリミング画像を取得する。【選択図】図2

Description

本開示の技術は、デジタルカメラなどで撮影された画像を自動で特定の構図にトリミングするための情報処理技術に関する。
従来、画像を所定のスロットに適合するよう自動でトリミングを行い、その結果を複数提示することで、ユーザが好みのトリミングを選択できる方法がある(特許文献1参照)。
特開2010−160790号公報
しかしながら、従来の自動で所定のスロットに適合させるトリミングの方法では、トリミングされる領域が「人物周辺」など一律の決定方法により決められ、必ずしもユーザが望む領域がトリミングされないという課題がある。
そこで本開示の技術は、ユーザが望む構図でトリミングした画像を生成することを目的とする。
本開示の技術は、コンピュータを、画像における注目点の位置を指定する第1の指定手段と、所定の複数の構図パターンから、前記画像に対するトリミングに用いられる構図パターンを選択する第1の選択手段と、指定された前記注目点の位置が、選択された前記構図パターンに適合するように前記画像がトリミングされた少なくとも1つのトリミング案を表示手段に表示させる表示制御手段と、を備える装置として機能させることを特徴とするプログラムである。
ユーザが望む構図でトリミングした画像を生成することができる。
実施形態に係る情報処理装置のシステム構成図である。 実施形態において、三分割構図の処理を説明するフローチャート図である。 実施形態において、注目点を指定する具体例を示すUI図である。 実施形態において、構図パターンを選択する具体例を示すUI図である。 実施形態において、三分割構図を適用した具体例を示す説明図である。 実施形態において、三分割構図を適用する方法の説明図である。 実施形態において、三分割構図を適用する方法を説明するフローチャート図である。 実施形態において、三分割構図を適用した具体例を示す説明図である。 実施形態において、三分割構図を適用する方法の説明図である。 実施形態において、日の丸構図を適用した具体例を示す説明図である。 実施形態において、日の丸構図を適用する方法の説明図である。 実施形態において、日の丸構図を適用する方法を説明するフローチャート図である。 実施形態において、日の丸構図を適用する方法の説明図である。 実施形態において、トリミング案を提示する具体例を示すUI図である。 実施形態において、スコアリングの具体例を示す表である。 実施形態において、トリミング案を適用した具体例を示す説明図である。 実施形態において、複数注目点の処理を説明するフローチャート図である。 実施形態において、複数注目点の処理を説明する表である。 実施形態において、複数注目点の処理を説明する説明図である。 実施形態において、複数注目点の処理を説明するフローチャート図である。 実施形態において、包含面を用いた処理を説明するフローチャート図である。 実施形態において、包含面を用いた処理を説明する説明図である。 実施形態において、包含面を用いた処理を説明するフローチャート図である。 実施形態において、包含面を用いた処理を説明する説明図である。
以下、添付図面を参照して本開示の技術の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本開示の技術を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本開示の技術の解決手段に必須のものとは限らない。
<実施形態1>
図1に、本実施形態に係る印刷システム100の構成図を示す。まず図1を用いて、本開示の技術において用いる情報処理装置104の構成について説明する。
情報処理装置104は、ROM109、RAM110、CPU111を備える。また、プリンタ105、モニタ106、入力装置107、記憶装置108等の外部装置、及びネットワーク103と接続するための入出力インターフェース(不図示)を備える。
CPU111は、中央演算装置であり、記憶装置108やROM109、RAM110に記憶されているオペレーションシステムプログラム(以下、OSと略す)を実行することにより情報処理装置104全体の制御を行う。また、CPU111は、ROM109やRAM110に記憶されているプログラムを実行することによって、入力されたデータに基づき演算を行い、データを加工して出力したり、各ハードを制御したりして、情報処理装置104の各機能を実現する。ROM109は読み出し専用メモリであり、各プログラムが格納されている。RAM110は、ランダムアクセスメモリであり、CPU111のワークメモリとして使用されるが、不揮発性のRAMであれば各プログラムを格納することもできる。
情報処理装置104は、ROM109等に格納されたアルバム作成アプリケーション50を備えており、アルバム作成アプリケーション50により画像データの画像が配置されたアルバムに対応するアルバムデータを生成することができる。また情報処理装置104は、生成したアルバムデータを印刷データとしてプリンタ105に出力することや、ネットワーク103を介して外部サーバ102にアップロードすることが可能である。なお本開示では、アルバムには、フォトアルバムやフォトブックが含まれる。
ネットワーク103は、情報処理装置104、外部サーバ102と接続されており、接続されているそれぞれの情報の伝達を行うための通信網である。
外部サーバ102は、プリンタ101と接続するための入出力インターフェース(不図示)を有しており、入出力インターフェースを介してプリンタ101が接続されている。
情報処理装置104で作成されたアルバムデータは、ネットワーク103を介して外部サーバ102にアップロードされる。外部サーバ102では、アップロードされたアルバムデータが印刷可能であれば、プリンタ101に出力する。例えば、外部サーバ102はアルバム受注・管理サーバであり、ユーザにより情報処理装置104で作成したアルバムデータがアップロードされ、必要なアルバム購入手続きが取られると、プリンタ101を用いて出力する。その後、出力された印刷物は製本され、ユーザの手元に届けられる。
プリンタ105は、情報処理装置104から直接印刷するためのプリンタである。アルバムは、ユーザが所有し、情報処理装置104に接続されたプリンタ105で印刷し、ユーザが製本し、アルバムに仕上げてもよい。
モニタ106は、情報処理装置104により表示制御され、情報処理装置104から出力された画像情報を表示する表示装置である。
入力装置107は、ユーザが情報処理装置104に入力を行うためのキーボードやポインティングデバイス等の入力装置である。入力装置107には、モニタと一体となっており、モニタに直接触れ入力する構成の装置もある。
記憶装置108は、画像データや、画像を配置するための画像配置枠(スロット)を有するテンプレート等を保存するHDDやSSD等の記憶装置である。
なお、図1に示すブロック図では、情報処理装置104は、モニタ106、入力装置107、及び記憶装置108と別の構成物として記載されている。しかし、情報処理装置104は、モニタ106、入力装置107、記憶装置108(情報処理装置のRAMと共有となる場合もある)が情報処理装置104の構成物として情報処理装置104と一体化されているものであってもよい。
次に、図2に、本実施形態におけるトリミング案を提示する処理のフローチャートを示す。
S201において、アルバム作成アプリケーション50が、トリミングを行う画像データと画像データを配置するスロットを含むテンプレートとをユーザが選択可能に表示する。そしてアルバム作成アプリケーション50は、ユーザが入力装置107を用いてスロットとそのスロットに配置する画像データを選択する。
S202において、アルバム作成アプリケーション50が、スロットに配置する画像における注目点の位置情報を取得する。注目点はトリミングを行う上で主対象の中心を示す点で、主対象としたい人物の顔の中心や、主対象としたい物の中心などを指定するものである。
図3は、本実施形態においてユーザが注目点を指定可能にするためのUI画面例である。300はアルバムを編集する画面300を表し、301がアルバムのテンプレートを表している。302は、テンプレート301のスロットを表し、図3にはスロット302の形状に合わせて機械的に人物の全身をトリミングされた画像が配置されている様子を示している。ユーザは、スロット302に配置する画像を見栄え良くトリミングするために、このスロット302に配置する画像に対しての注目点を指定することができる。
注目点を指定可能にするため、ユーザがスロット単位で操作できるメニュー303において、ポインタなどを用いて注目点指定の指示を行うと、注目点指定の指示に従って注目点を設定する注目点設定画面304が開かれる。注目点設定画面304上には、スロット302にトリミングされて配置された画像の全体が表示される。ユーザは、ポインタ305で表示された画像に対して注目点を指定する。例えば、ユーザがトリミングを行う上で主対象としたい人物の顔の中心をポインタで指定すれば、人物の顔の中心が注目点となる。また、ユーザが指定する代わりに、顔認識エンジンを用いて注目点を自動で設定してもよい。例えば、顔が1つだけ検知された場合は、その顔の中心を注目点とし、顔が複数検知された場合は、その中からユーザが指定した顔の中心を注目点とするようにしてもよい。
S203において、アルバム作成アプリケーション50が、注目点が指定された画像に適用する構図パターンをユーザに選択可能に提示し、それらの中からユーザが選択した適用する構図パターンを取得する。図4は、構図パターンをユーザに提示するUI画面の例であり、三分割構図と日の丸構図が選択された様子を表す。所定の複数の構図パターンのうちのトリミングに使用される構図パターンは、ユーザにより選択されてもよいし、自動で選択されてもよい。例えば、予め定められた構図パターンを選択する方法や、注目点の位置を解析し、適用しやすい構図パターンを自動で選択する方法としてもよい。なお、本開示において構図パターンとは、注目点の位置とトリミングする領域の外周縁との相対的な位置関係を規定するものである。
S204で、アルバム作成アプリケーション50が、S202で指定された注目点と、S204で選択された構図パターンとに基づきトリミングを行う。S204では、S202で指定された注目点と、S204で選択された構図パターンとに基づき、採用し得る複数のトリミング処理をそれぞれ実行する。例えば、三分割構図の場合、後述するように、注目点を配置し得るパターンが複数あり得る。S204では、複数あり得るトリミングをそれぞれ実行する。ここで三分割構図を用いたトリミングの具体例を説明する。三分割構図は、画面を縦に三分割する2本の補助線と画面を横に三分割する2本の補助線の交点と、中心としたい対象(人物・物)とを重ねることで適用される。本開示では、主対象の注目点と、4つの交点のうちのいずれか1つとを重ねることで、三分割構図が適用されることになる。
図5は、人物の顔の中心が注目点で、三分割構図の4つの交点のうち左下の交点と注目点とが重なった様子を表している。500の外枠がトリミングを行う領域(以下、トリミング領域)を表し、図3のスロット302と同じアスペクト比で、取り得る最大面積となっている。
図6は、トリミング領域600の位置を算出する具体例を説明するための図である。また図7は、トリミング領域の上端線、下端線、左端線、右端線の位置を求める処理のフローチャートである。
図6における601は注目点の位置する交点であり、三分割構図の4つの交点のうちの左下の交点(以下、単に交点)に位置している。
まずS701において、アルバム作成アプリケーション50は、その注目点と重なっている交点(または交点と重なっている注目点)の位置を基準に、トリミング領域600の上端線602の位置を求める。トリミング領域600を最大面積にするため、画像の上端を上端線602の位置とする。トリミング領域を最大面積にする方法の詳細は、図9を用いて後述する。
S702において、アルバム作成アプリケーション50は、交点601から下端線603の長さ605が、交点601から上端線602までの長さ604の半分の長さとなるように下端線603の位置を求める。これは、交点601が三分割構図の4つの交点のうち左下であるためである。
この時S703において、アルバム作成アプリケーション50は、下端線603の位置が画像の下端を超えていないかを判定する。下端線603の位置が画像の下端を超えている場合は、S704に移行し、下端線603の位置が画像の下端を超えていない場合は、S706に移行する。
S704において、アルバム作成アプリケーション50は、画像の下端を下端線603の位置とする。
S705において、アルバム作成アプリケーション50は、交点から上端線602の長さ604が、交点から下端線603の長さ605までの2倍の長さとなるように上端線602の位置を設定する。
次に、S706において、アルバム作成アプリケーション50は、トリミング領域600の左端線606と右端線607の位置を求める。左端線606から右端線607の長さ609は、上端線602から下端線603までの長さ608とスロットのアスペクト比から求まる。例えば、長さ608(縦の長さに当たる)が1000ピクセルで、スロットのアスペクト比が、縦:横=1:2の場合、長さ609(横の長さに当たる)は、1000×2÷1=2000と計算することができる。
なお、図6の例ではスロットのアスペクト比が1:1であり、注目点と重なる交点は三分割構図の4つの交点のうち左下であるため、算出した長さ609の3分の1の長さが交点から左端線606までの長さ610となる。同様に、長さ609の3分の2の長さが交点から右端線607までの長さ611となる。このようにして左端線606および右端線607の位置をそれぞれ設定する。
次にS707において、アルバム作成アプリケーション50は、左端線606または右端線607の位置が画像の端を超えていないかを判定する。左端線606または右端線607の位置が画像の端を超えている場合は、S708に移行し、左端線606または右端線607の位置が画像の端を超えていない場合は、このフローを終了する。
左端線606または右端線607の位置が画像の端を超える場合、S708において、アルバム作成アプリケーション50は、先に求めた上端線602と下端線603の位置を破棄し、右端線607の位置を画像の右端に設定する。
S709において、アルバム作成アプリケーション50は、交点が4つのうちの左下であることから、右端線607の位置を画像の右端の位置とする。そして交点601から右端線607までの長さの半分の長さが、交点601から左端線606の長さとなるように左端線606の位置を求める。
S710において、アルバム作成アプリケーション50は、S709で求めた左端線606の位置が画像の端を超えていないかを判定する。左端線606の位置が画像の端を超えている場合は、S712に移行し、左端線606の位置が画像の左端を超えていない場合は、S713に移行する。
左端線606の位置が画像の端を超えている場合、S711において、アルバム作成アプリケーション50は、左端線606の位置を画像の左端に設定する。
S712において、アルバム作成アプリケーション50は、交点601から右端線607の長さが交点601から左端線606の2倍の長さとなるように右端線607の位置を求める。
S713において、アルバム作成アプリケーション50は、左端線606または右端線607の位置およびスロットのアスペクト比に基づき、上端線602と下端線603の位置を求める。
このように、図7に示す処理では、画像における注目点を、構図パターンで特定される交点のいずれかに配置した場合において、トリミング領域が最大面積となるようトリミングすることができる。
以上で求めた上端線602、下端線603、左端線606、右端線607の位置から、トリミング領域600の位置(座標等)を取得する。なお、上記フローにおいて、上端線602と下端線603の位置決定順は入れ替え可能であり、左端線606と右端線607の位置決定順も入れ替え可能である。
図8(a)〜(c)は、人物の顔の中心が注目点で、三分割構図の4つの交点のうち右下、左上、右上の交点と注目点が重なった様子をそれぞれ表す図である。
図8(a)の人物の顔の中心が注目点で、三分割構図の4つの交点のうち右下の交点と注目点が重なった様子を表す図である。810の外枠がトリミングを行う領域で、スロットと同じアスペクト比で、取り得る最大面積となっている。この外枠810の位置は、先に述べた図6を用いた具体例の一部の長さの比を変更することで、同じアルゴリズムで求めることができる。具体的には、S710を、交点601から右端線607までの長さ611の2倍の長さが、交点601から左端線606までの長さ610となるように左端線606の位置を求めるように変更すればよい。また、S713を、交点601から右端線607までの長さ611が、交点601から左端線606までの長さ610の半分の長さとなるように右端線607の位置を求めるように変更すればよい。
図8(b)は、人物の顔の中心が注目点で、三分割構図の4つの交点のうち左上の交点と注目点が重なった様子を表す図である。820の外枠がトリミングを行う領域で、スロットと同じアスペクト比で、取り得る最大面積となっている。この外枠820の位置は、先に述べた図6を用いた具体例の一部の長さの比を変更することで、同じアルゴリズムで求めることができる。具体的には、S702を、交点601から上端線602までの長さ604の2倍の長さが、交点601から下端線603までの長さ605となるように下端線603の位置を求めるように変更すればよい。また、S705を、交点601から上端線602までの長さ604が、交点601から下端線603までの長さ605の半分の長さとなるように上端線602の位置を求めるように変更すればよい。
図8(c)は、人物の顔の中心が注目点で、三分割構図の4つの交点のうち右上の交点と注目点が重なった様子を表す図である。830の外枠がトリミングを行う領域で、スロットと同じアスペクト比で、取り得る最大面積となっている。この外枠830の位置は、先に述べた図6を用いた具体例の一部の長さの比を変更することで、同じアルゴリズムで求めることがでる。具体的には、S702を、交点601から上端線602までの長さ604の2倍の長さが、交点601から下端線603までの長さ605となるように下端線603の位置を求めるように変更すればよい。また、S705を、交点601から上端線602までの長さ604が、交点601から下端線603までの長さ605の半分の長さとなるように上端線602の位置を求めるように変更すればよい。さらに、S710を、交点601から右端線607までの長さ611の2倍の長さが、交点601から左端線606までの長さ610となるように左端線606の位置を求めるように変更すればよい。また、S713を、交点601から右端線607までの長さ611が、交点601から左端線606までの長さ610の半分の長さとなるように右端線607の位置を求めるように変更すればよい。
図9は、三分割構図を適用した外枠の位置を算出する別の具体例を説明する図である。901は注目点の位置する交点であり、また、三分割構図の4つの交点のうち左下の交点(以下、交点)が位置することになる。なお、本アルゴリズムは4つの交点の何れの場合でも同様に処理できるため、以降、交点の位置は不問として説明する。最初に、仮のトリミングを行う領域900(以下、仮のトリミング領域900)を定める。仮のトリミング領域900は、画像領域内に必ず収まるサイズで、例えば、交点901から仮のトリミング領域900の上端までの長さを、画像の縦の長さの10分の1とするなど、画像のサイズに対して小さい長さで上端の位置を定める。そして、残りの仮のトリミング領域900の下端、仮のトリミング領域900の左端、仮のトリミング領域900の右端の位置を交点の位置、スロットのアスペクト比により、順次求める。
仮のトリミング領域900を定めた後に、仮のトリミング領域900の上端と画像の上端までの長さ902と、仮のトリミング領域900の下端から画像の下端までの長さ903を求める。また、仮のトリミング領域900の左端から画像の左端までの長さ904と、仮のトリミング領域900の右端から画像の右端までの長さ905を求める。そして、交点901からの仮のトリミング領域900の上端、下端、左端、右端までの長さの比が例えば2:1:1:2だとすると、長さ902の長さと、長さ903の半分と、長さ904の半分と、長さ905の長さとの中で最も短いものを求める。そして、その最も短い長さに合わせて、当該長さに対応する辺が移動するように、仮のトリミング領域900の変倍が行われる。即ち、当該変倍により、各辺が画像からはみ出さないように、変倍の基準となる辺が決められる。以降、本例では最も長さが短いものは長さ902であり、変倍の基準となる辺が上辺だとして説明する。
仮のトリミング領域900の上端の位置を長さ902の分だけ上方向に移動し、仮のトリミング領域900の下端の位置を、注目点と重なる交点が三分割構図の4つの交点のうち左下であるため長さ902の半分の長さだけ下方向に移動する。この時、仮のトリミング領域900の上端は画像の上端と同じ位置となり、仮のトリミング領域900の下端は画像領域内となる。
次に、仮のトリミング領域900の左端および右端を移動する長さを、長さ902とスロットのアスペクト比で算出する。本例の長さ902は縦方向の長さであるので、スロットのアスペクト比で横方向の長さを算出する。例えば長さ902が100ピクセルで、スロットのアスペクト比が、縦:横=1:1の場合、縦方向に伸びる長さは150ピクセルであり、また横方向に伸びる長さも150ピクセルとなる。注目点と重なる交点が三分割構図の4つの交点のうち左下のものであるため、仮のトリミング領域900は仮のトリミング領域900の左端の位置を求めた横方向に伸びる長さ(ここでは150ピクセル)の1/3分だけ左方向に移動する。同様に、仮のトリミング領域900は、仮のトリミング領域900の右端の位置を求めた横方向に伸びる長さ(150)の2/3分だけ右方向に移動する。この時、仮のトリミング領域900の右端と左端は必ず画像領域内となる。以上で求めた上端、下端、左端、右端の位置から、トリミング領域の位置(座標等)を取得することができる。
次に、日の丸構図を用いたトリミングの具体例を説明する。日の丸構図は、画面の中心点を、中心としたい対象(人物・物)と重ねることで適用される。本開示では、中心としたい対象を注目点として指定するので、画面の中心点と注目点を重ねることで、日の丸構図が適用されることになる。
図10は、人物の顔の中心が注目点で、トリミングを行う領域の中心点と注目点が重なった様子を表している。1000の外枠がトリミングを行う領域(以下、トリミング領域)である。そのトリミング領域1000はスロットと同じアスペクト比で、取り得る最大面積となっている。
図11は、日の丸構図の外枠の位置を算出する具体例を説明する図である。図12は、ここで述べた上端線、下端線、左端線、右端線の位置を求める処理のフローチャートである。1101が注目点の位置であり、また、日の丸構図を適用するのでトリミング領域1100の中心点(以下、中心点)が注目点1101と重なるように位置することになる。
まず、注目点1101と重なる中心点の位置を基準に、トリミング領域1100の上端線1102とトリミング領域の下端線1103の位置を求める。
S1201において、アルバム作成アプリケーション50は、注目点1101と重なるトリミング領域1100の中心点が画像の上半分の領域に位置するか否かを判定する。中心点が上半分の領域に位置する場合、S1202に移行し、中心点が上半分の領域に位置しない場合、S1204に移行する。
中心点が画像の上半分の領域内に位置する場合、S1202において、アルバム作成アプリケーション50は、画像の上端を上端線1102の位置とする。
S1203において、アルバム作成アプリケーション50は、中心点から下端線1103までの長さ1104が、中心点から上端線1102までの長さ1105と等しくなるよう下端線1103の位置を求める。
中心点が画像の下半分の領域内に位置する場合、S1204において、アルバム作成アプリケーション50は、画像の下端を下端線1103の位置とする。
S1205において、アルバム作成アプリケーション50は、中心点から上端線1102までの長さ1105が、中心点から下端線1103までの長さ1104と等しくなるよう上端線1102の位置を求める。
次に、トリミング領域1100の左端線1106とトリミング領域1100の右端線1107を求める。
S1206において、アルバム作成アプリケーション50は、トリミング領域1100の左端線1106と右端線1107の位置を求める。左端線1106から右端線1107の長さ1108は、上端線1102から下端線1103の長さ1109とスロットのアスペクト比から求まる。例えば、長さ1109(縦の長さに当たる)が1000ピクセルで、スロットのアスペクト比が、縦:横=1:2の場合、長さ1108(横の長さに当たる)は、1000×2÷1=2000と計算することができる。
なお、図11の例ではスロットのアスペクト比が1:1であり、中心点はトリミング領域1100の中心なので、算出した長さ1108の半分の長さが、中心点から左端線1106までの長さ1109と、中心点から右端線1107までの長さ1110となる。そのため、左端線1106の位置と右端線1107の位置を求めることができる。このようにして左端線1106および右端線1107の位置をそれぞれ設定する。
次にS1207において、アルバム作成アプリケーション50は、左端線1106または右端線1107の位置が画像の端を超えているかを判定する。左端線1106または右端線1107の位置が画像の端を超えている場合は、S1208に移行し、左端線1106または右端線1107の位置が画像の端を超えていない場合は、このフローを終了する。
左端線1106または右端線1107の位置が画像の端を超えている場合、S1208において、アルバム作成アプリケーション50は、中心点が画像の左半分の領域に位置するか否かを判定する。中心点が左半分の領域に位置する場合、S1209に移行し、中心点が左半分の領域に位置しない場合、S1211に移行する。
中心点が左半分の領域に位置する場合、S1209において、アルバム作成アプリケーション50は、先に求めた上端線1102と下端線1103の位置を破棄し、左端線1106の位置を画像の左端の位置とする。
S1210において、アルバム作成アプリケーション50は、注目点1101が位置する中心点から右端線1107までの長さ1110が、中心点から左端線1106の長さ1109と等しくなるよう右端線1107の位置を求める。
中心点が左半分の領域に位置しない場合、S1211において、アルバム作成アプリケーション50は、先に求めた上端線1102と下端線1103の位置を破棄し、右端線1107の位置を画像の右端の位置とする。
S1212において、アルバム作成アプリケーション50は、注目点1101が位置する中心点から左端線1106までの長さ1109が、中心点から右端線1107の長さ1110と等しくなるよう左端線1106の位置を求める。
S1213において、アルバム作成アプリケーション50は、左端線1106または右端線1107の位置およびスロットのアスペクト比に基づき、上端線1102と下端線1103の位置を求める。
以上で求めた上端線1102、下端線1103、左端線1106、右端線1107の位置から、トリミング領域の位置(座標等)を取得する。なお、上記フローにおいて、上端線1102と下端線1103の位置決定順は入れ替え可能であり、左端線1106と右端線1107の位置決定順も入れ替え可能であることは言うまでもない。
図13は、日の丸構図の外枠の位置を算出する別の具体例を説明する図である。1800は注目点の位置であり、また、日の丸構図の中心点1301(以下、中心点1301)が位置することになる。最初に、仮のトリミングを行う領域1300(以下、仮のトリミング領域1300)を定める。仮のトリミング領域1300は、画像領域内に必ず収まるサイズで、例えば、中心点1301から仮のトリミング領域1300の上端までの長さを、画像の縦の長さの10分の1とするなど、画像のサイズに対して小さい長さで上端の位置を定める。そして、残りの仮のトリミング領域1300の下端、仮のトリミング領域1300の左端、仮のトリミング領域1300の右端の位置を交点の位置、スロットのアスペクト比により、順次求める。
仮のトリミング領域1300を定めた後に、仮のトリミング領域1300の上端と画像の上端までの長さ1302と、仮のトリミング領域1300の下端から画像の下端までの長さ1303を求める。また、仮のトリミング領域1300の左端から画像の左端までの長さ1304と、仮のトリミング領域1300の右端から画像の右端までの長さ1305を求める。そして、それらの中で最も長さが短いものを求める。このように求められた最も短い長さに対応する辺が、変倍において基準となる辺として決定される。以降、本例では最も長さが短いものは長さ1303として説明する。
仮のトリミング領域1300の下端の位置を長さ1303の分だけ下方向に移動し、仮のトリミング領域1300の上端の位置を長さ1303の分だけ上方向に移動する。この時、仮のトリミング領域1300の下端は画像の下端と同じ位置となり、仮のトリミング領域1300の上端は画像領域内となる。
次に、仮のトリミング領域1300の左端、および右端を移動する長さを、長さ1303とスロットのアスペクト比とに基づき求める。本例の長さ1303は縦方向の長さであるので、スロットのアスペクト比で横方向の長さを算出する。例えば長さ1303が100ピクセルで、スロットのアスペクト比が、縦:横=1:2の場合、横方向の長さは、100×2÷1=200と計算することで求めることができる。仮のトリミング領域1300の左端の位置を求めた横方向の長さ分だけ左方向に移動し、仮のトリミング領域1300の右端の位置を求めた横方向の長さ分だけ右方向に移動する。この時、仮のトリミング領域1300の右端と左端は必ず画像領域内となる。以上で求めた仮のトリミング領域1300の上端、下端、左端、右端の位置から、トリミング領域の位置(座標等)を取得することができる。
ここで図2に戻る。S205で、アルバム作成アプリケーション50は、S204で得たトリミングされた画像を列挙し、トリミング案として複数のトリミングされた画像をユーザに提示する。図14(a)、(b)は、トリミング画像をユーザに提示するためのUI画面の例であり、編集画面1400上にトリミング画像の一覧画面1401が表示されている。それぞれのトリミングされた画像サイズが異なる場合は、見栄えが比べ易くなるよう、それぞれ解像度を調整して、全て同じサイズの枠に収めて列挙することが望ましい。また、この複数のトリミング画像を提示する際、優先度や警告を付加することでユーザによるトリミング画像の選択を補助することができる。図14(a)は、トリミング画像に所定の方法でスコアを付し、スコア順にトリミング画像を列挙した様子を表し、1402は警告を表示する例である(スコアリングの詳細は、図15を用いて後述する)。
S206において、アルバム作成アプリケーション50は、ユーザがS205で提示されたトリミング案から1つ選択した結果に従って、トリミング画像を取得する。図14(b)は、編集画面1400上にトリミング画像が列挙され、ユーザが好みのトリミング画像を選択する様子を表す。トリミング画像の一覧画面1401には、同じサイズの枠にトリミング画像が列挙され、ユーザは、ポインティングデバイス1403で好みのトリミング画像を選択する様子を表す。
また、S205で行う複数のトリミング画像の提示から、本の一連のフローは、自動で行うことができる。例えば、S204で取得したトリミング画像を解析し、スコアリングし、最もスコアの高いものをスロットに反映してもよい。図15はスコアリングの例で、この場合、注目点を指定した後は自動で、スコアの最も高い案1のトリミング画像がスロット302に反映されることになる。
S207で、アルバム作成アプリケーション50は、S206で選択されたトリミング画像を、スロット上に反映する。図16は、選択されたトリミング画像が図3に示すスロット302に配置された様子を示す図である。
本実施形態では、ユーザは、スロットに配置する画像を選択し、注目点を指定し、トリミング案から好みの1つを選択するだけで、所望の構図で画像のトリミングを行うことができる。なお、アルバム作成アプリケーション50は、選択された画像に対して注目点を指定し、トリミング案をユーザに提示するまでの構成を有するトリミング用のアプリケーションとしてもよい。
また、図2のフローチャートでは、S202で注目点を指定した後、S203で構図パターンを選択するとしているが、S202とS203の順序を入れ替えて、構図パターンを選択した後に注目点を指定するようにしてもよい。
<実施形態2>
本実施形態では、注目点を複数指定してトリミングを行う。ユースケースとしては、例えば、ユーザが複数の注目点を設定した場合や、顔認識エンジンが複数の顔を検知し、それぞれを注目点とした場合などである。図17に、注目点を複数指定された場合にトリミング案を提示する処理のフローチャートを示す。
S1701において、アルバム作成アプリケーション50が、トリミングを行う画像データと画像データを配置するスロットを含むテンプレートとを選択可能に表示し、入力装置107を用いてスロットとそのスロットに配置する画像データを選択する。
S1702において、アルバム作成アプリケーション50が、スロットに配置する画像における複数の注目点の位置情報を取得する。例えば、ユーザがトリミングを行う上で主対象としたい人物の顔の中心や、物の中心を複数指定する。または、顔認識エンジンを用いて、自動で複数の顔を検知し、それぞれの顔の中心を注目点としてもよい。
S1703において、アルバム作成アプリケーション50が、注目点が指定された画像に適用する構図パターンをユーザに提示し、それらの中からユーザが選択した適用する構図パターンを取得する。ここでは、実施形態1のS203で述べた方法を採ることができる。
S1704において、アルバム作成アプリケーション50が、S1702で指定された複数の注目点と、S1703で選択された構図パターンとに基づきトリミングを行う。
ここで図18に、注目点と三分割構図における交点の位置との対応関係を決める条件を示す。まず、アルバム作成アプリケーション50は、指定された複数の注目点から、最も画像の端に近い位置にある2点を選択する。次に、三分割構図の4つの交点から2点を選択する。選択された2つの注目点間の縦の長さと横の長さを求め、それぞれの長さの比率を求める。選択された2つの注目点間の縦の長さと横の長さの比率である縦/横が1/2以上、且つ、2/1未満であれば、三分割構図における注目点と重ねる交点は、左上と右下、または左下と右上とする。2つの注目点の内、左側にある注目点が、右側にある注目点よりも上、または同じ縦の位置であれば、交点は左上と右下とし(図18の1段目)、左側にある注目点が、右側にある注目点よりも下に位置していれば、交点は左下と右上にする(図18の2段目)。
また、注目点間の縦の長さと横の長さの比率である縦/横が、1/2未満の場合、交点は左上と右上、または左下と右下とする。2つの注目点の縦の位置の中間位置が画像の上半分(ちょうど半分を含む)の領域内であれば、交点は左上と右上とし(図18の3段目)、画像の下半分(ちょうど半分は含まない)の領域内であれば、交点は左下と右下とする(図18の4段目)。
また、注目点間の縦の長さと横の長さの比率である縦/横が、2/1以上の場合、交点は左上と左下、または右上と右下とする。2つの注目点の横の位置の中間位置が画像の左半分(ちょうど半分を含む)の領域内であれば、交点は左上と左下とし(図18の5段目)、画像の右半分(ちょうど半分は含まない)の領域内であれば、交点は右上と右下とする(図18の6段目)。
このように、注目点を複数指定する場合、注目点が1つの場合に比べ、1つの構図パターンに対して取り得るトリミング案の数は少なくなる。
図19(a)〜(d)に、注目点が2つ指定された場合の三分割構図を用いたトリミングの具体例を示す。
図19(a)で、三分割構図において注目点が重なる交点が左上と右下の場合の具体例を説明する。図20は、注目点の配置が図19(a)のような場合におけるトリミング領域の上端、下端、左端、右端の位置を求める処理のフローチャートである。なお、図20に示すアルゴリズムは交点が左下と右上の場合でも同様に適用できる。
2001において、アルバム作成アプリケーション50が、指定された2つの注目点1911と1912との間の縦の長さ1903を計測する。
S2002において、アルバム作成アプリケーション50が、長さ1903に基づき、注目点1911からトリミング領域1900の上端までの長さ1904と注目点1912からトリミング領域1900の下端までの長さ1905とを求める。S2001で求めた長さ1903は、三分割構図においてはトリミング領域1900の縦の長さの3分の1の長さに相当する。そのため、注目点1911からトリミング領域1900の上端までの長さ1904と注目点1912からトリミング領域1900の下端までの長さ1905が求められるため、トリミング領域1900の上端と下端の位置を算出できる。
S2003において、アルバム作成アプリケーション50が、算出したトリミング領域1900の上端または下端が画像の端を超えていないか判定する。トリミング領域1900の上端または下端が画像の端を超えていない場合、S2006に移行し、トリミング領域1900の上端または下端が画像の端を超えている場合、S2004に移行する。
S2004において、アルバム作成アプリケーション50が、トリミング領域1900の上端または下端が画像の端を超えた分の長さが、長さ1903の半分を超えたかを判定する。具体的には、トリミング領域1900の上端が画像の上端を超えた長さ、またはトリミング領域1900の下端が画像の下端を超えた長さが、長さ1903の半分の長さを超えたかを判定する。トリミング領域1900の上端または下端が画像の端を超えた分の長さが、長さ1903の半分を超えた場合、S2011に移行する。トリミング領域1900の上端または下端が画像の端を超えた分の長さが、長さ1903の半分を超えていない場合、S2005に移行する。
S2005において、アルバム作成アプリケーション50が、トリミング領域1900の上端は画像の上端の位置とし、トリミング領域1900の下端が画像の下端を超える場合、トリミング領域1900の下端は画像の下端の位置とする。これらの場合は、注目点1911、1912と三分割構図の交点が完全に重ならなくなり、それらの間にズレが生じる。このズレは、S2004における判定対象であるトリミング領域1900の上端または下端が画像の端を超えた分の長さのことである。このズレの長さが大きい場合は、構図パターンを適用していることにならないため、S2004においてズレの長さが所定の範囲内に収まらない、すなわち長さ1903の半分の長さを超える場合に処理を中断し、トリミング案に含めないようにしている。
次にS2006において、アルバム作成アプリケーション50が、指定された2つの注目点1911と1912との間横の長さ1907を計測する。
S2007において、アルバム作成アプリケーション50が、長さ1907に基づき、注目点1911からトリミング領域1900の左端までの長さ1906と注目点1912からトリミング領域1900の右端までの長さ1908とを求める。長さ1907は、三分割構図においてはトリミング領域1900の横の長さの3分の1の長さに相当する。そのため、注目点1911からトリミング領域1900の左端までの長さ1906と注目点1912からトリミング領域1900の右端までの長さ1908が求められるため、トリミング領域1900の左端と右端の位置を算出できる。
S2008において、アルバム作成アプリケーション50が、算出したトリミング領域1900の左端または右端が画像の端を超えていないか判定する。トリミング領域1900の左端または右端が画像の端を超えていない場合、処理を終了し、トリミング領域1900の左端または右端が画像の端を超えている場合、S2009に移行する。
S2009において、アルバム作成アプリケーション50が、トリミング領域1900の左端または右端が画像の端を超えた分の長さが、長さ1903の半分を超えたかを判定する。具体的には、トリミング領域1900の左端が画像の左端を超えた長さ、またはトリミング領域1900の右端が画像の右端を超えた長さが、長さ1903の半分の長さを超えたかを判定する。トリミング領域1900の左端または右端が画像の端を超えた分の長さが、長さ1903の半分を超えた場合、S2011に移行する。トリミング領域1900の左端または右端が画像の端を超えた分の長さが、長さ1903の半分を超えていない場合、S2010に移行する。
S2010において、アルバム作成アプリケーション50が、トリミング領域1900の左端が画像の左端を超える場合、トリミング領域1900の左端は画像の左端の位置とする。一方、トリミング領域1900の右端が画像の右端を超える場合、トリミング領域1900の右端は画像の右端の位置とする。これらの場合は、注目点1911、1912と三分割構図の交点が完全に重ならなくなり、それらの間にズレが生じる。このズレの長さは、S2009における判定対象であるトリミング領域1900の左端または右端が画像の端を超えた分の長さのことである。このズレの長さが大きい場合は、構図パターンを適用していることにならないため、S2009においてズレの長さが所定の長さ、すなわち長さ1903の半分の長さを超える場合に処理を中断し、トリミング案に含めないようにしている。
図19(b)で、三分割構図において注目点と重なる交点が左上と右上の場合の具体例を説明する。なお、注目点の配置が図19(b)に示すような場合には、図20に示すフローチャートの一部を変更することで、同じアルゴリズムで求めることができ、交点が左下と右下の場合でも同様に適用できる。まず、S2001〜S2005における縦、上端、下端を、横、左端、右端に変更し、トリミング領域の横方向の位置、またはトリミング案に含めないことを決定する。具体的には以下の通りである。
まず、注目点1921から1922までの横の長さ1907を計測する。この長さ1907はトリミング領域1900の横の長さの3分の1となるので、注目点1921からトリミング領域1900の左端までの長さ1906と注目点1922からトリミング領域1900の右端までの長さ1908が求められる。そのため、トリミング領域1900の左端と右端の位置を算出できる。
この時、トリミング領域1900の左端が画像の左端を超える場合、トリミング領域1900の左端は画像の左端の位置とする。また、トリミング領域1900の右端が画像の右端を超える場合、トリミング領域1900の右端は画像の右端の位置とする。これらの場合は、注目点と三分割構図の交点が完全に重ならなくなり、ズレが生じる。ズレの長さが大きい場合は、構図パターンを適用していることにならないため、処理を中断し、トリミング案に含めない。具体的には、算出したトリミング領域1900の左端が画像の左端を超えた長さ、または算出したトリミング領域1900の右端が画像の右端を超えた長さが、長さ1907の半分の長さを超えた場合は処理を中断する。
次に、S2006〜S2010における横、左端、右端を、縦、上端、下端に変更し、さらに、S2006における長さを、長さ1907とスロットのアスペクト比に基づき求めるように変更する。トリミング領域の縦方向の位置、またはトリミング案に含めないことを決定する。具体的には以下の通りである。
例えば、長さ1907(横の長さに当たる)が1000ピクセルで、スロットのアスペクト比が、縦:横=1:2の場合、長さ1903は1000×1÷2=500と計算することができる。長さ1903は、長さ1904と長さ1905と等しいため、トリミング領域の上端と下端の位置を算出できる。この時、トリミング領域の上端が画像の上端を超える場合、トリミング領域の上端は画像の上端の位置とする。また、トリミング領域の下端が画像の下端を超える場合、トリミング領域の下端は画像の下端の位置とする。これらの場合は、注目点と三分割構図の交点が完全に重ならなくなり、ズレが生じる。ズレの長さが大きい場合は、構図パターンを適用していることにならないため、処理を中断し、トリミング案に含めない。具体的には、算出したトリミング領域の上端が画像の上端を超えた長さ、または算出したトリミング領域の下端が画像の下端を超えた長さが、長さ1907の半分の長さを超えた場合は処理を中断する。
図19(c)で、三分割構図において注目点と重なる交点が左上と左下の場合の具体例を説明する。なお、注目点の配置が図19(c)に示すような場合には、図20に示すフローチャートの一部を変更することで、同じアルゴリズムで求めることができ、交点が右上と右下の場合でも同様に適用できる。S2001〜S2005は、図20のままで変更はなく、具体的には以下の通りである。
まず、注目点1931から1932までの縦の長さ1904を計測する。この長さ1903はトリミング領域の横の長さの3分の1となるので、注目点1931からトリミング領域の上端までの長さ1904と注目点1932からトリミング領域の下端までの長さ1905が求められる。そのため、トリミング領域1900の上端とした端の位置を算出できる。
この時、トリミング領域1900の上端が画像の上端を超える場合、トリミング領域1900の上端は画像の上端の位置とする。また、トリミング領域1900の下端が画像の下端を超える場合、トリミング領域1900の下端は画像の下端の位置とする。これらの場合は、注目点と三分割構図の交点が完全に重ならなくなり、ズレが生じる。ズレの長さが大きい場合は、構図パターンを適用していることにならないため、処理を中断し、トリミング案に含めない。具体的には、算出したトリミング領域1900の上端が画像の上端を超えた長さ、または算出したトリミング領域1900の下端が画像の下端を超えた長さが、長さ1904の半分の長さを超えた場合は処理を中断する。
次に、S2006における長さの計測を、長さ1903とスロットのアスペクト比とに基づき求めるように変更する。具体的には以下の通りである。
例えば、長さ1903(縦の長さに当たる)が1000ピクセルで、スロットのアスペクト比が、縦:横=1:2の場合、長さ1907は1000×2÷1=2000と計算することができる。長さ1907は、長さ1906と長さ1908と等しいため、トリミング領域の左端と右端の位置を算出できる。この時、トリミング領域の左端が画像の左端を超える場合、トリミング領域の左端は画像の左端の位置とする。また、トリミング領域の右端が画像の右端を超える場合、トリミング領域の右端は画像の右端の位置とする。これらの場合は、注目点と三分割構図の交点が完全に重ならなくなり、ズレが生じる。ズレの長さが大きい場合は、構図パターンを適用していることにならないため、処理を中断し、トリミング案に含めない。具体的には、算出したトリミング領域の左端が画像の左端を超えた長さ、または算出したトリミング領域の右端が画像の右端を超えた長さが、長さ1907の半分の長さを超えた場合は処理を中断する。
次に、日の丸構図において注目点が複数指定された場合の具体例を説明する。まず、アルバム作成アプリケーション50は、複数の注目点の中心位置を算出する。具体的には、それぞれの注目点の座標位置を取得し、それらの平均値の座標を複数注目点の中心位置とする方法がある。図19(d)で以降の処理を説明する。1941と1942はそれぞれ指定された注目点である。1943は、注目点1941と1942の中心位置である。以降は、中心位置を注目点として、実施形態1で図11、図12、図13を用いて説明した方法と同じ方法でトリミング領域を求めることができる。
ここで図17に戻る。以降の、S1705、S1706、S1707は、実施形態1で説明したS205、S206、S207と同様の処理を行う。
<実施形態3>
本実施形態では、トリミングの主対象を、点ではなく領域で指定する。図21に、トリミングの対象を領域で指定された場合にトリミング案を提示する処理のフローチャートを示す。
S2101において、アルバム作成アプリケーション50は、スロットに配置する画像におけるトリミング対象を含む領域についての位置情報を取得する。指定した領域を以降、包含面と呼ぶ。図22(a)、(b)を用いて、ユーザが包含面を指定する具体例を説明する。
図22(a)において、2200がアルバムを編集する画面を表し、2201がアルバムのテンプレートを表している。2202は、テンプレート2201のスロットを表し、スロット2202の形状に合わせて人物の全身を含む領域がトリミングされた画像が配置されている様子を表す。ユーザは、スロット2202に配置する画像を見栄え良くトリミングするために、このスロット2202に配置する画像に対しての包含面の指定を行うことができる。ユーザがスロット単位で操作できるメニュー2203において、ポインタなど用いて包含面指定の指示を行うと、包含面指定の指示に従って包含面を設定する包含面設定画面2204が開かれる。包含面設定画面2204上には、スロット2202にトリミングされて配置された画像2205の全体が表示される。ユーザは、ポインタ2206で包含面の矩形を示すことで、2202の画像に対しての包含面を指定する。2207はユーザによって示された矩形の包含面を表す。また、ユーザが指定する代わりに、包含面2207の設定を自動で行ってもよい。例えば、顔認識エンジンが検知した顔を全て含む領域を包含面2207とするようにしてもよい。
S2102において、アルバム作成アプリケーション50が、包含面2207の領域内から注目点を1つ以上設定する。注目点の設定は、実施形態1、2で述べた方法で行うことができる。
S2103において、アルバム作成アプリケーション50が、包含面を含み、構図パターンに合ったトリミングを実行する。なお、S2103で用いられる構図パターンは、図4に示したように、ユーザの指示により選択された構図パターンであってもよいし、予め定められた構図パターンでもよい。図22(b)で包含面2207を含み、三分割構図を適用する具体的な方法を説明する。2208は指定された注目点であり、図22(b)に示す例では三分割構図の4つの交点のうちの左上の交点上に注目点2208が位置する。包含面2207が指定されている場合、トリミング領域2209は、できるだけ包含面2207に近い面積となることが望ましい。そのため、実施形態1ではトリミング領域2209の下端線は画像の下端としたが、本実施形態はトリミング領域2209を包含面2207に近い面積にするため、トリミング領域2209の下端線は包含面2207の下端とする。
以降は、実施形態1で説明した方法と同様にトリミング領域2209を求める。トリミング領域2209はスロット2202と同じアスペクト比にする必要があるため、包含面2207とスロット2202の形状によっては包含面全体を含めることができない場合がある。例えば、縦長のスロット2202に対して、横長の画像上に横長の包含面2207が設定された場合、包含面2207を全て含めたトリミングを行うと、スロット2202のアスペクト比に合わせることができない場合がある。その場合の対処方法を以下で説明する。
第一の方法は、包含面2207を変更することである。具体的には、スロット2202のアスペクト比に合うよう、包含面2207の横の長さを縮めることで対処する。
第二の方法はスロット2202の形状を変更することである。包含面2207は全て含め、できるだけスロット2202に近いアスペクト比でトリミングを行い、スロット2202の形状をトリミング画像に合わせることで対処する。
以降の、S2104、S2105、S2106は、実施形態1で説明したS205、S206、S207と同様の処理を行う。
<実施形態4>
本実施形態では、トリミングを行う際に、トリミング領域に含めない領域を指定する。そのトリミング領域に含めない領域を以降、除外面と呼ぶ。図23は、除外面を設定する場合のトリミング案を提示する処理のフローチャートである。また図24は、除外面は含めずに、三分割構図を適用する具体的な方法を説明する図である。2400は指定された除外面であり、2401は指定された注目点である。
S2301において、アルバム作成アプリケーション50が、スロットに配置する画像におけるトリミングに含めない領域となる除外面2400についての位置情報を取得する。具体的な方法は実施形態3で説明した包含面の領域についての位置情報の取得と同様である。
S2302において、アルバム作成アプリケーション50が、除外面2400の領域外から注目点2401を1つ以上設定する。注目点2401の設定は、実施形態1及び実施形態2で述べた方法で行うことができる。
S2303において、アルバム作成アプリケーション50が、指定された除外面2400は含めず、選択された構図パターンに合ったトリミングを実行する。なお、S2303で用いられる構図パターンは、図4に示したように、ユーザの指示により選択された構図パターンであってもよいし、予め定められた構図パターンでもよい。図24に示す例では、三分割構図の4つの交点のうちの左上に注目点2401が位置する。また、今回の説明では、トリミング領域2402は、除外面2400は含めずに最大面積となるようにする。実施形態1では、トリミング領域を最大化するため、トリミング領域の左端線は画像の左端としたが、本実施形態はトリミング領域を、除外面2400を含めずに最大化するため、トリミング領域2402の左端線の位置は除外面2400の右端とする。以降は、実施形態1と同様にトリミング領域2402を求める。
以降の、S2304、S2305、S2306は、実施形態1で説明したS205、S206、S207と同様の処理を行う。
なお、本開示では、三分割構図および日の丸構図を例にトリミング処理について説明したが、適用する構図における注目点が配置される位置と構図の外枠との相対的な位置関係と同様に、注目点とトリミング領域との位置関係を設定する例であればよい。そのため、三分割構図や日の丸構図以外でも、注目点が配置される位置と構図の外枠との相対的な位置関係が分かる構図であれば、本開示の技術は適用可能である。
また、本開示における「トリミング」とは、画像における一部のみを切り出し、個別の画像として生成する場合であってもよいし、その一部のみが出力されるものであってもよい。後者の場合、例えば画像におけるトリミング対象領域以外の領域に対し、当該画像より上のレイヤーの別のオブジェクトを重ね、当該領域が表示されず、当該トリミング対象領域のみが表示されるようにするものも、本開示における「トリミング」に含まれる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (14)

  1. コンピュータを、
    画像における注目点の位置を指定する第1の指定手段と、
    所定の複数の構図パターンから、前記画像に対するトリミングに用いられる構図パターンを選択する第1の選択手段と、
    指定された前記注目点の位置が、選択された前記構図パターンに適合するように前記画像がトリミングされた少なくとも1つのトリミング案を表示手段に表示させる表示制御手段と、
    を備える装置として機能させることを特徴とするプログラム。
  2. 前記表示制御手段は、前記注目点が前記構図パターンを決めるための補助線の交点から所定の範囲内に位置するようにトリミングする領域を決定する
    ことを特徴とする請求項1に記載のプログラム。
  3. 前記表示制御手段は、前記注目点が前記補助線の複数の交点のそれぞれから所定の範囲内に位置するようにトリミングする領域が決定された、複数のトリミング案を表示させる
    ことを特徴とする請求項2に記載のプログラム。
  4. 前記表示制御手段は、前記注目点が複数指定されている場合、複数の前記注目点の中心位置を、前記構図パターンを決めるための補助線の交点から所定の範囲内に位置するようにトリミングする領域を決定する
    ことを特徴とする請求項2に記載のプログラム。
  5. 前記第1の指定手段は、前記注目点の位置をユーザからの入力に従って指定することを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
  6. 前記トリミングする領域に含める前記画像における領域である包含面の外周縁の位置を指定する第2の指定手段をさらに備え、
    前記表示制御手段は、前記包含面を含むようにトリミングする領域を決定する
    ことを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
  7. 第2の指定手段は、前記包含面の位置をユーザからの入力に従って指定することを特徴とする請求項6に記載のプログラム。
  8. 前記トリミングする領域に含めない前記画像における領域である除外面の外周縁の位置を指定する第3の指定手段をさらに備え、
    前記表示制御手段は、前記除外面を含まないようにトリミングする領域を決定する
    ことを特徴とする請求項1乃至5のいずれか1項に記載のプログラム。
  9. 第3の指定手段は、前記除外面の位置をユーザからの入力に従って指定することを特徴とする請求項8に記載のプログラム。
  10. 表示された前記トリミング案のうちの1つをユーザからの入力に従って選択する第2の選択手段と、
    選択された前記トリミング案に応じたトリミングが実行された前記画像をアルバムのスロット上に配置する配置手段と
    をさらに備えることを特徴とする請求項1乃至9のいずれか1項に記載のプログラム。
  11. 前記表示制御手段は、前記スロットのアスペクト比に応じて前記画像がトリミングされたトリミング案を表示させることを特徴とする請求項10に記載のプログラム。
  12. 前記第1の選択手段は、ユーザによる指示に応じて、前記所定の複数の構図パターンから前記画像に対するトリミングに用いられる構図パターンを選択することを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
  13. 画像における注目点の位置を指定するステップと、
    所定の複数の構図パターンから、前記画像に対するトリミングに用いられる構図パターンを選択するステップと、
    指定された前記注目点の位置が、選択された前記構図パターンに適合するように前記画像がトリミングされた少なくとも1つのトリミング案を表示手段に表示させるステップと、
    を備えることを特徴とする情報処理方法。
  14. 画像における注目点の位置を指定する第1の指定手段と、
    所定の複数の構図パターンから、前記画像に対するトリミングに用いられる構図パターンを選択する第1の選択手段と、
    指定された前記注目点の位置が、選択された前記構図パターンに適合するように前記画像がトリミングされた少なくとも1つのトリミング案を表示手段に表示させる表示制御手段と、
    を備えることを特徴とする情報処理装置。
JP2019128418A 2019-07-10 2019-07-10 情報処理装置、情報処理方法、プログラム、および表示制御装置 Pending JP2021015345A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019128418A JP2021015345A (ja) 2019-07-10 2019-07-10 情報処理装置、情報処理方法、プログラム、および表示制御装置
US16/919,276 US11580644B2 (en) 2019-07-10 2020-07-02 Information processing method, storage medium, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019128418A JP2021015345A (ja) 2019-07-10 2019-07-10 情報処理装置、情報処理方法、プログラム、および表示制御装置

Publications (1)

Publication Number Publication Date
JP2021015345A true JP2021015345A (ja) 2021-02-12

Family

ID=74101519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019128418A Pending JP2021015345A (ja) 2019-07-10 2019-07-10 情報処理装置、情報処理方法、プログラム、および表示制御装置

Country Status (2)

Country Link
US (1) US11580644B2 (ja)
JP (1) JP2021015345A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021027555A (ja) * 2019-08-08 2021-02-22 キヤノン株式会社 画像処理装置、制御方法及びプログラム
JP2022025480A (ja) 2020-07-29 2022-02-10 キヤノン株式会社 情報処理システム、情報処理方法、及びプログラム
JP2022164010A (ja) * 2021-04-15 2022-10-27 キヤノン株式会社 プログラム、情報処理装置、及び情報処理装置の制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2451483B (en) * 2007-07-31 2012-05-30 Hewlett Packard Development Co Image processing method, system and computer readable medium
US8498451B1 (en) * 2007-11-12 2013-07-30 Google Inc. Contact cropping from images
JP2010062853A (ja) * 2008-09-03 2010-03-18 Fujifilm Corp 情報処理装置、方法およびプログラム
AU2008259357B2 (en) 2008-12-18 2010-09-16 Canon Kabushiki Kaisha Automatic image cropping
US20120294514A1 (en) * 2011-05-19 2012-11-22 Xerox Corporation Techniques to enable automated workflows for the creation of user-customized photobooks
US8467606B2 (en) * 2011-08-25 2013-06-18 Eastman Kodak Company Method for segmenting a composite image
KR20140028311A (ko) * 2012-08-28 2014-03-10 삼성전자주식회사 출력화면의 편집 영역을 설정하기 위한 전자 장치 및 방법
JP2014123815A (ja) * 2012-12-20 2014-07-03 Sony Corp 画像処理装置、画像処理方法及び記録媒体
CN107736009A (zh) * 2015-06-16 2018-02-23 奥林巴斯株式会社 运算方法、运算程序和拍摄装置
WO2019155852A1 (ja) * 2018-02-08 2019-08-15 富士フイルム株式会社 電子アルバム装置とその作動方法および作動プログラム

Also Published As

Publication number Publication date
US20210012501A1 (en) 2021-01-14
US11580644B2 (en) 2023-02-14

Similar Documents

Publication Publication Date Title
JP2021015345A (ja) 情報処理装置、情報処理方法、プログラム、および表示制御装置
CN107146198B (zh) 一种照片智能裁剪方法及装置
JP7224774B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6902886B2 (ja) 画像処理装置、方法およびプログラム
JP3857328B2 (ja) ディスプレイ編集システム
JP3574170B2 (ja) 分散型画像処理装置
US9325869B2 (en) Image processing apparatus, image processing method, and image processing program
CN108961144B (zh) 图像处理系统
JP6559609B2 (ja) 画像合成装置、画像合成方法および画像合成プログラム
JP7442589B2 (ja) 画像処理装置,画像処理方法ならびに画像処理プログラムおよびそのプログラムを格納した記録媒体
KR20190120835A (ko) 아이라이너-착용 가이드 장치 및 방법
CN103891263A (zh) 图像处理装置、图像处理装置的控制方法、程序和信息存储介质
US6907136B1 (en) Image processing of designated image portion
JP3392628B2 (ja) 輪郭抽出方法及びシステム
JP5073612B2 (ja) コマ割り方法および装置ならびにコマ割り評価装置
CN110524665B (zh) 木制品加工方法、装置、介质以及设备
JP7282551B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7015130B2 (ja) データ処理装置
JP5898158B2 (ja) 人物画像表示制御装置ならびにその制御方法,その制御プログラムおよびその制御プログラムを格納した記録媒体
JP5883837B2 (ja) 電子アルバム用人物画像決定装置ならびにその制御方法,その制御プログラムおよびその制御プログラムを格納した記録媒体
JP7446877B2 (ja) 画像処理装置、画像処理方法、及びプログラム
US10606242B2 (en) Print data division apparatus and program
JP2013065214A (ja) レイアウト制御装置、レイアウト制御方法およびプログラム
JP6873186B2 (ja) 情報処理装置、スイッチングシステム、プログラム及び方法
JP2011135350A (ja) 画像処理装置およびその制御方法