(57)【要約】【課題】対象画像の特徴部分を人間に選択させることなく、対象画像の特徴部分が含まれるようなトリミング画像を取得することが可能な画像処理装置を提供すること。【解決手段】設定部（５０）は対象画像内に複数のトリミング候補領域を設定する。算出部（５２）は、複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する。決定部（５４）は、複数のトリミング候補領域の各々の上記合計値に基づいて、複数のトリミング候補領域のうちからトリミング領域を決定する。取得部（５６）はトリミング領域内の画像を取得する。【選択図】図７
2013102396.tif 000002
【特許請求の範囲】
【請求項１】
対象画像内に複数のトリミング候補領域を設定する設定手段と、
前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出手段と、
前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定手段と、
前記トリミング領域内の画像を取得する取得手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記決定手段は、前記複数のトリミング候補領域のうちで、前記合計値が最大であるトリミング候補領域を前記トリミング領域として決定する手段を含むことを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記複数のトリミング候補領域の各々について、該トリミング候補領域の前記合計値を、該トリミング候補領域の少なくとも一つの境界部分の画素のエッジ量の合計値で除することによって得られる除算値又はその逆数を算出する第２算出手段を含み、
前記決定手段は、前記複数のトリミング候補領域の各々の前記除算値又は前記逆数に基づいて、前記複数のトリミング候補領域のうちから前記トリミング領域を決定する、
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記決定手段は、前記複数のトリミング候補領域のうちで、前記除算値が最大であるトリミング候補領域、又は前記逆数が最小であるトリミング候補領域を前記トリミング領域として決定する手段を含むことを特徴とする画像処理装置。
【請求項５】
請求項３又は４に記載の画像処理装置において、
前記複数のトリミング候補領域の各々について、該トリミング候補領域の第１境界部分の画素のエッジ量の合計値を第１合計値として算出する手段と、
前記複数のトリミング候補領域の各々について、該トリミング候補領域の、前記第１境界部分に対向する第２境界部分の画素のエッジ量の合計値を第２合計値として算出する手段と、を含み、
前記第２算出手段は、前記複数のトリミング候補領域の各々について、該トリミング候補領域の前記合計値を、該トリミング候補領域の前記第１合計値及び前記２合計値のうちの大きい方で除することによって得られる除算値又はその逆数を算出する、
ことを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の画像処理装置において、
前記算出手段は、前記トリミング候補領域内の画素のエッジ量の合計値として、前記トリミング候補領域内の画素のエッジ量の重み付き合計値を算出し、
前記算出手段は、前記トリミング候補領域の中央部分の画素のエッジ量の重みを、前記トリミング候補領域の境界部分の画素のエッジ量の重みよりも高く設定する、
ことを特徴とする画像処理装置。
【請求項７】
請求項１乃至６のいずれかに記載の画像処理装置において、
前記エッジ量は、前記画素と該画素の周辺画素との間の輝度の差に関する量であることを特徴とする画像処理装置。
【請求項８】
請求項１乃至６のいずれかに記載の画像処理装置において、
前記エッジ量は、前記画素と該画素の周辺画素との間の色相の差に関する量であることを特徴とする画像処理装置。
【請求項９】
請求項１乃至８のいずれかに記載の画像処理装置において、
前記トリミング領域の画像の端から、基準量以上の前記エッジ量を有する画素が存在しない部分を取り除く手段を含むことを特徴とする画像処理装置。
【請求項１０】
請求項１に記載の画像処理装置において、
前記複数のトリミング候補領域のうちから前記トリミング領域を決定するための複数種類のトリミング領域決定処理の各々に、画像のエッジ量の分布パターンに関する分布パターン情報を関連付けてなる関連付けデータを記憶する手段と、
前記決定手段は、前記複数のトリミング候補領域のうちから前記トリミング領域を前記複数のトリミング候補領域の各々の前記合計値に基づいて決定することを、前記対象画像のエッジ量の分布パターンに関連づけられたトリミング領域決定処理によって実行する、
ことを特徴とする画像処理装置。
【請求項１１】
請求項１０に記載の画像処理装置において、
前記決定手段は、前記複数のトリミング候補領域のうちから前記トリミング領域を前記複数のトリミング候補領域の各々の前記合計値に基づいて決定することを前記複数種類のトリミング領域決定処理の各々によって実行することによって、前記複数種類のトリミング領域決定処理にそれぞれ対応する複数のトリミング領域を決定する手段を含み、
前記画像処理装置は、
前記複数のトリミング領域の画像を表示手段に表示させる表示制御手段と、
ユーザによる前記複数のトリミング領域の画像のうちの少なくとも１つの選択を受け付ける受付手段と、
前記ユーザの選択結果に基づいて前記関連付けデータを更新する更新手段と、をさらに含む、
ことを特徴とする画像処理装置。
【請求項１２】
請求項１に記載の画像処理装置において、
前記画像処理装置は、前記複数のトリミング候補領域のうちから前記トリミング領域を決定するための複数種類のトリミング領域決定処理の各々に、画像のエッジ量の分布パターンに関する分布パターン情報を関連付けてなる関連付けデータを記憶する手段をさらに含み、
前記決定手段は、前記複数のトリミング候補領域のうちから前記トリミング領域を前記複数のトリミング候補領域の各々の前記合計値に基づいて決定することを前記複数種類のトリミング領域決定処理の各々によって実行することによって、前記複数種類のトリミング領域決定処理にそれぞれ対応する複数のトリミング領域を決定する手段を含み、
前記画像処理装置は、
前記複数のトリミング領域の画像を表示手段に表示させる表示制御手段と、
ユーザによる前記複数のトリミング領域の画像のうちの少なくとも１つの選択を受け付ける受付手段と、を含み、
前記表示制御手段は、前記複数のトリミング領域の画像のうちの、前記対象画像のエッジ量の分布パターンに関連付けられたトリミング領域決定処理に対応するトリミング領域の画像を優先表示又は区別表示する、
ことを特徴とする画像処理装置。
【請求項１３】
請求項１２に記載の画像処理装置において、
前記ユーザの選択結果に基づいて前記関連付けデータを更新する更新手段を含むことを特徴とする画像処理装置。
【請求項１４】
請求項１０乃至１３のいずれかに記載の画像処理装置において、
前記複数種類のトリミング領域決定処理は、
前記複数のトリミング候補領域のうちで、前記合計値が最大であるトリミング候補領域を前記トリミング領域として決定するトリミング領域決定処理と、
前記複数のトリミング候補領域のうちで、前記合計値を、該トリミング候補領域の少なくとも一つの境界部分の画素のエッジ量の合計値で除することによって得られる除算値が最大であるトリミング候補領域を前記トリミング領域として決定するトリミング領域決定処理と、を含む、
ことを特徴とする画像処理装置。
【請求項１５】
請求項１０乃至１４のいずれかに記載の画像処理装置において、
前記算出手段は、
前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素の第１エッジ量の合計値を第１合計値として算出する第１算出手段と、
前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素の第２エッジ量の合計値を第２合計値として算出する第２算出手段と、を含み、
前記第１エッジ量は、前記画素と該画素の周辺画素との間の色相の差に関する量であり、
前記第２エッジ量は、前記画素と該画素の周辺画素との間の輝度の差に関する量であり、
前記複数種類のトリミング領域決定処理は、
前記複数のトリミング候補領域の各々の前記第１合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定するトリミング領域決定処理と、
前記複数のトリミング候補領域の各々の前記第２合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定するトリミング領域決定処理と、を含む、
ことを特徴とする画像処理装置。
【請求項１６】
請求項１乃至１５のいずれかに記載の画像処理装置において、
前記設定手段は、前記対象画像内の一部領域をトリミング候補領域として設定し、前記トリミング候補領域を前記対象画像内で縦又は／及び横に移動させることによって、前記複数のトリミング候補領域を設定することを特徴とする画像処理装置。
【請求項１７】
対象画像内に複数のトリミング候補領域を設定する設定ステップと、
前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出ステップと、
前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定ステップと、
前記トリミング領域内の画像を取得する取得ステップと、
を含むことを特徴とする画像処理装置の制御方法。
【請求項１８】
対象画像内に複数のトリミング候補領域を設定する設定手段、
前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出手段、
前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定手段、及び、
前記トリミング領域内の画像を取得する取得手段、
としてコンピュータを機能させるためのプログラム。
【請求項１９】
対象画像内に複数のトリミング候補領域を設定する設定手段、
前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出手段、
前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定手段、及び、
前記トリミング領域内の画像を取得する取得手段、
としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理装置の制御方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【０００２】
複数の画像を並べて表示するインタフェースを採用したＷｅｂサービスが知られている。例えば、ユーザから投稿された料理の画像をレシピとともに公開するサービスや、ユーザから投稿された自動車の画像を公開するサービス等が知られている。
【０００３】
上記のようなサービスにおいて複数の画像を並べて表示する場合には、元の画像の一部をトリミングすることによって作成されるサムネイル画像が用いられることが多い。従来、このようなサムネイル画像の作成は主に手動で行われていたが、近年、大量の画像を取り扱うＷｅｂサービスが増えてきており、大量の画像のサムネイル画像を効率的に生成するための技術が強く望まれている。
【０００４】
上記のような技術としては、例えば、予め決められた固定位置でトリミングを行うことによって画像からサムネイル画像を自動的に生成する技術が知られている。
【０００５】
また例えば、特許文献１には、ユーザが選択したキー被写体が中心に位置するようなトリミング画像を得られるようなトリミングを行うことが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２８９７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像からサムネイル画像を生成する場合には、元の画像の特徴部分がサムネイル画像に含まれているのが望ましい。しかしながら、予め定められた固定位置でトリミングを行うことによって画像からサムネイル画像を作成する場合には、元の画像の内容に関係なく、予め定められた固定位置でトリミングが行われるため、元の画像の特徴部分がサムネイル画像に含まれない場合があり、望ましいサムネイル画像を得ることができない場合があった。また、特許文献１に記載された技術によれば、キー被写体が中心に位置しているようなトリミング画像を得ることができるが、特許文献１に記載された技術の場合、人間がキー被写体を選択しなければならなかった。
【０００８】
本発明は上記課題に鑑みてなされたものであって、その目的は、対象画像の特徴部分を人間に選択させることなく、対象画像の特徴部分が含まれるようなトリミング画像を取得することが可能な画像処理装置、画像処理装置の制御方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る画像処理装置は、対象画像内に複数のトリミング候補領域を設定する設定手段と、前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出手段と、前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定手段と、前記トリミング領域内の画像を取得する取得手段と、を含むことを特徴とする。
【００１０】
また、本発明に係る画像処理装置の制御方法は、対象画像内に複数のトリミング候補領域を設定する設定ステップと、前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出ステップと、前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定ステップと、前記トリミング領域内の画像を取得する取得ステップと、を含むことを特徴とする。
【００１１】
また、本発明に係るプログラムは、対象画像内に複数のトリミング候補領域を設定する設定手段、前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出手段、前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定手段、及び、前記トリミング領域内の画像を取得する取得手段、としてコンピュータを機能させるためのプログラムである。
【００１２】
また、本発明に係る情報記憶媒体は、対象画像内に複数のトリミング候補領域を設定する設定手段、前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素のエッジ量の合計値を算出する算出手段、前記複数のトリミング候補領域の各々の前記合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定する決定手段、及び、前記トリミング領域内の画像を取得する取得手段、としてコンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１３】
また、本発明の一態様では、前記決定手段は、前記複数のトリミング候補領域のうちで、前記合計値が最大であるトリミング候補領域を前記トリミング領域として決定する手段を含むようにしてもよい。
【００１４】
また、本発明の一態様では、前記複数のトリミング候補領域の各々について、該トリミング候補領域の前記合計値を、該トリミング候補領域の少なくとも一つの境界部分の画素のエッジ量の合計値で除することによって得られる除算値又はその逆数を算出する第２算出手段を含み、前記決定手段は、前記複数のトリミング候補領域の各々の前記除算値又は前記逆数に基づいて、前記複数のトリミング候補領域のうちから前記トリミング領域を決定するようにしてもよい。
【００１５】
また、本発明の一態様では、前記決定手段は、前記複数のトリミング候補領域のうちで、前記除算値が最大であるトリミング候補領域、又は前記逆数が最小であるトリミング候補領域を前記トリミング領域として決定する手段を含むようにしてもよい。
【００１６】
また、本発明の一態様では、前記複数のトリミング候補領域の各々について、該トリミング候補領域の第１境界部分の画素のエッジ量の合計値を第１合計値として算出する手段と、前記複数のトリミング候補領域の各々について、該トリミング候補領域の、前記第１境界部分に対向する第２境界部分の画素のエッジ量の合計値を第２合計値として算出する手段と、を含み、前記第２算出手段は、前記複数のトリミング候補領域の各々について、該トリミング候補領域の前記合計値を、該トリミング候補領域の前記第１合計値及び前記２合計値のうちの大きい方で除することによって得られる除算値又はその逆数を算出するようにしてもよい。
【００１７】
また、本発明の一態様では、前記算出手段は、前記トリミング候補領域内の画素のエッジ量の合計値として、前記トリミング候補領域内の画素のエッジ量の重み付き合計値を算出し、前記算出手段は、前記トリミング候補領域の中央部分の画素のエッジ量の重みを、前記トリミング候補領域の境界部分の画素のエッジ量の重みよりも高く設定するようにしてもよい。
【００１８】
また、本発明の一態様では、前記エッジ量は、前記画素と該画素の周辺画素との間の輝度の差に関する量であってもよい。
【００１９】
また、本発明の一態様では、前記エッジ量は、前記画素と該画素の周辺画素との間の色相の差に関する量であってもよい。
【００２０】
また、本発明の一態様では、前記トリミング領域の画像の端から、基準量以上の前記エッジ量を有する画素が存在しない部分を取り除く手段を含むようにしてもよい。
【００２１】
また、本発明の一態様では、前記複数のトリミング候補領域のうちから前記トリミング領域を決定するための複数種類のトリミング領域決定処理の各々に、画像のエッジ量の分布パターンに関する分布パターン情報を関連付けてなる関連付けデータを記憶する手段と、前記決定手段は、前記複数のトリミング候補領域のうちから前記トリミング領域を前記複数のトリミング候補領域の各々の前記合計値に基づいて決定することを、前記対象画像のエッジ量の分布パターンに関連づけられたトリミング領域決定処理によって実行するようにしてもよい。
【００２２】
また、本発明の一態様では、前記決定手段は、前記複数のトリミング候補領域のうちから前記トリミング領域を前記複数のトリミング候補領域の各々の前記合計値に基づいて決定することを前記複数種類のトリミング領域決定処理の各々によって実行することによって、前記複数種類のトリミング領域決定処理にそれぞれ対応する複数のトリミング領域を決定する手段を含み、前記画像処理装置は、前記複数のトリミング領域の画像を表示手段に表示させる表示制御手段と、ユーザによる前記複数のトリミング領域の画像のうちの少なくとも１つの選択を受け付ける受付手段と、前記ユーザの選択結果に基づいて前記関連付けデータを更新する更新手段と、をさらに含むようにしてもよい。
【００２３】
また、本発明の一態様では、前記画像処理装置は、前記複数のトリミング候補領域のうちから前記トリミング領域を決定するための複数種類のトリミング領域決定処理の各々に、画像のエッジ量の分布パターンに関する分布パターン情報を関連付けてなる関連付けデータを記憶する手段をさらに含み、前記決定手段は、前記複数のトリミング候補領域のうちから前記トリミング領域を前記複数のトリミング候補領域の各々の前記合計値に基づいて決定することを前記複数種類のトリミング領域決定処理の各々によって実行することによって、前記複数種類のトリミング領域決定処理にそれぞれ対応する複数のトリミング領域を決定する手段を含み、前記画像処理装置は、前記複数のトリミング領域の画像を表示手段に表示させる表示制御手段と、ユーザによる前記複数のトリミング領域の画像のうちの少なくとも１つの選択を受け付ける受付手段と、を含み、前記表示制御手段は、前記複数のトリミング領域の画像のうちの、前記対象画像のエッジ量の分布パターンに関連付けられたトリミング領域決定処理に対応するトリミング領域の画像を優先表示又は区別表示するようにしてもよい。
【００２４】
また、本発明の一態様では、前記ユーザの選択結果に基づいて前記関連付けデータを更新する更新手段を含むようにしてもよい。
【００２５】
また、本発明の一態様では、前記複数種類のトリミング領域決定処理は、前記複数のトリミング候補領域のうちで、前記合計値が最大であるトリミング候補領域を前記トリミング領域として決定するトリミング領域決定処理と、前記複数のトリミング候補領域のうちで、前記合計値を、該トリミング候補領域の少なくとも一つの境界部分の画素のエッジ量の合計値で除することによって得られる除算値が最大であるトリミング候補領域を前記トリミング領域として決定するトリミング領域決定処理と、を含むようにしてもよい。
【００２６】
また、本発明の一態様では、前記算出手段は、前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素の第１エッジ量の合計値を第１合計値として算出する第１算出手段と、前記複数のトリミング候補領域の各々について、該トリミング候補領域内の画素の第２エッジ量の合計値を第２合計値として算出する第２算出手段と、を含み、前記第１エッジ量は、前記画素と該画素の周辺画素との間の色相の差に関する量であり、前記第２エッジ量は、前記画素と該画素の周辺画素との間の輝度の差に関する量であり、前記複数種類のトリミング領域決定処理は、前記複数のトリミング候補領域の各々の前記第１合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定するトリミング領域決定処理と、前記複数のトリミング候補領域の各々の前記第２合計値に基づいて、前記複数のトリミング候補領域のうちからトリミング領域を決定するトリミング領域決定処理と、を含むようにしてもよい。
【００２７】
また、本発明の一態様では、前記設定手段は、前記対象画像内の一部領域をトリミング候補領域として設定し、前記トリミング候補領域を前記対象画像内で縦又は／及び横に移動させることによって、前記複数のトリミング候補領域を設定するようにしてもよい。
【発明の効果】
【００２８】
本発明によれば、対象画像の特徴部分を人間に選択させることなく、対象画像の特徴部分が含まれるようなトリミング画像を取得することが可能になる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。
【図２】料理画像の一例を示す図である。
【図３】料理画像の他の一例を示す図である。
【図４】トリミング画像の一例を示す図である。
【図５】トリミング画像の他の一例を示す図である。
【図６】料理画像の画素について説明するための図である。
【図７】画像処理装置の機能ブロック図である。
【図８】トリミング候補領域について説明するための図である。
【図９】トリミング候補領域について説明するための図である。
【図１０】トリミング領域決定部について説明するための図である。
【図１１】トリミング領域決定部について説明するための図である。
【図１２】画像処理装置で実行される処理の一例を示すフロー図である。
【図１３】画像処理装置で実行される処理の一例を示すフロー図である。
【図１４】トリミング候補領域の境界部分について説明するための図である。
【図１５】トリミング候補領域の境界部分について説明するための図である。
【図１６】複数種類のトリミング領域決定処理について説明するための図である。
【図１７】トリミング画像選択画面の一例を示す図である。
【図１８】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図１９】トリミング領域決定処理データの一例を示す図である。
【図２０】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２１】選択結果データの一例を示す図である。
【図２２】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２３】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２４】トリミング候補領域の他の一例を示すフロー図である。
【図２５】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２６】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２７】トリミング画像取得部について説明するための図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００３１】
［第１実施形態］まず、本発明の第１実施形態について説明する。本発明の第１実施形態に係る画像処理装置は、例えばデスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、又はサーバコンピュータ等によって実現される。図１は、第１実施形態に係る画像処理装置１０のハードウェア構成の一例を示す。
【００３２】
図１に示すように、画像処理装置１０は制御部１１、記憶部１２、光ディスクドライブ部１３、通信インタフェース部１４、操作部１５、表示部１６、及び音声出力部１７を含む。
【００３３】
制御部１１は例えば１又は複数のマイクロプロセッサを含み、記憶部１２に記憶されたオペレーティングシステム又はプログラムに従って情報処理を実行する。記憶部１２は例えばＲＡＭ、ハードディスク、又はソリッドステートドライブを含む。光ディスクドライブ部１３は、光ディスク（情報記憶媒体）に記憶されたプログラムやデータを読み取る。
【００３４】
プログラムやデータは光ディスクを介して記憶部１２に供給される。すなわち、プログラムやデータが記憶された光ディスクが光ディスクドライブ部１３に装着され、プログラムやデータが光ディスクドライブ部１３によって光ディスクから読み出され、記憶部１２に記憶される。なお、光ディスクドライブ部１３は必須の構成要素ではない。光ディスク以外の情報記憶媒体（例えばメモリカード）に記憶されたプログラム又はデータを読み取るための構成要素が光ディスクドライブ部１３の代わりに含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが記憶部１２に供給されるようにしてもよい。
【００３５】
通信インタフェース部１４は画像処理装置１０を通信ネットワークに接続するためのインタフェースである。画像処理装置１０は通信ネットワークを介して他の装置（例えばサーバ等）とデータを授受できるようになっている。なお、プログラム及びデータが通信ネットワークを介して記憶部１２に供給されるようにしてもよい。
【００３６】
操作部１５はユーザが操作を行うためのものである。例えば、キーボード、タッチパッド、マウス、タッチパネル、又はスティック（レバー）等が操作部１５に相当する。表示部１６は例えば液晶表示ディスプレイ等であり、音声出力部１７は例えばスピーカ又はヘッドホン端子等である。
【００３７】
画像処理装置１０はデータベース２０にアクセスできるようになっている。データベース２０は、画像処理装置１０以外の装置（例えばサーバ）において実現されていてもよいし、画像処理装置１０において実現されていてもよい。
【００３８】
データベース２０には画像が記憶される。例えば、図示しないＷｅｂサーバによって提供されるサービスによって公開される画像がデータベース２０に記憶される。例えば、投稿者によって投稿された料理画像を公開するサービスが提供される場合には、投稿者によって投稿された料理画像がデータベース２０に記憶される。また例えば、投稿者によって投稿された自動車画像を公開するサービスが提供される場合には、投稿者によって投稿された自動車画像がデータベース２０に記憶される。
【００３９】
なお、以下では、投稿者によって投稿された料理画像がデータベース２０に記憶されることとして説明する。図２及び図３はデータベース２０に記憶される料理画像の例を示す。図２に示す料理画像３０は、縦辺の長さ（画素数）が横辺の長さ（画素数）よりも長い縦長の画像になっている。一方、図３に示す料理画像３０は、横辺の長さが縦辺の長さよりも長い横長の画像になっている。
【００４０】
以下、投稿者によって投稿された料理画像３０のうちの一部をトリミングすることによって該料理画像３０のトリミング画像（サムネイル画像）を生成するための技術について説明する。特に、以下では、料理画像３０の特徴部分を人間に選択させることなく、料理画像３０の特徴部分が含まれるようなトリミング画像を生成するための技術について説明する。
【００４１】
なお、以下では、一辺の長さが料理画像の短辺の長さと等しい正方形のトリミング画像を料理画像３０から生成する場合について説明する。図４は、図２に示す料理画像３０のトリミング画像の一例を示し、図５は、図３に示す料理画像３０のトリミング画像の一例を示す。図４に示すトリミング画像４０の各辺の長さは、図２に示す料理画像３０の横辺の長さ（ｗ）と等しくなっている。一方、図５に示すトリミング画像４０の各辺の長さは、図３に示す料理画像３０の縦辺の長さ（ｈ）と等しくなっている。
【００４２】
また、以下では、図６に示すように、料理画像３０の左上画素を原点とし、右方向をＸ軸正方向とし、下方向をＹ軸正方向とした座標系によって、料理画像３０の各画素を（ｘ，ｙ）のように表す。例えば、料理画像３０の左上画素を（０，０）と記載し、右上画素を（ｗ−１，０）と記載する。また例えば、料理画像３０の左下画素を（０，ｈ−１）と記載し、右下画素を（ｗ−１，ｈ−１）と記載する。
【００４３】
図７は、第１実施形態に係る画像処理装置１０において実現される機能ブロックのうち、本発明に関連する機能ブロックを示す機能ブロック図である。図７に示すように、画像処理装置１０はトリミング候補領域設定部５０、算出部５２、トリミング領域決定部５４、及びトリミング画像取得部５６を含む。
【００４４】
トリミング候補領域設定部５０は、対象画像内に複数のトリミング候補領域を設定する。「対象画像」とは、トリミング処理の対象となる画像であり、本実施形態の場合、投稿者によって投稿された料理画像３０が「対象画像」に相当する。
【００４５】
図８及び図９はトリミング候補領域について説明するための図である。トリミング候補領域６０の大きさは、生成しようとするトリミング画像４０の大きさと同じ大きさに設定される。例えば、一辺の長さが料理画像３０（対象画像）の短辺の長さと等しい正方形画像を料理画像３０のトリミング画像４０として生成する場合には、トリミング候補領域６０は、一辺の長さが料理画像３０の短辺の長さと等しい正方形領域に設定される。
【００４６】
例えば、料理画像３０が縦長の画像である場合、図８に示すように、トリミング候補領域６０は、一辺の長さが料理画像３０の横辺の長さ（ｗ）と等しい正方形領域となる。一方、料理画像３０が横長の画像である場合、図９に示すように、トリミング候補領域６０は、一辺の長さが料理画像３０の縦辺の長さ（ｈ）と等しい正方形領域となる。
【００４７】
トリミング候補領域設定部５０は、料理画像３０内の一部領域をトリミング候補領域６０として設定し、トリミング候補領域６０を料理画像３０内で縦又は／及び横に移動させることによって、複数のトリミング候補領域６０を設定する。
【００４８】
例えば、料理画像３０が縦長の画像である場合、図８に示すように、トリミング候補領域設定部５０は、トリミング候補領域６０の左上画素が料理画像３０の左上画素と一致するようにして、トリミング候補領域６０の初期位置を設定する（図８（Ａ）参照）。言い換えれば、トリミング候補領域設定部５０は、トリミング候補領域６０の上側境界線６２Ｕが料理画像３０の上辺３２Ｕと一致するようにして、トリミング候補領域６０の初期位置を設定する。
【００４９】
そして、トリミング候補領域設定部５０はトリミング候補領域６０を料理画像３０内で下方に１画素移動させる（図８（Ｂ）参照）。さらに、トリミング候補領域設定部５０はトリミング候補領域６０を料理画像３０内で下方に１画素移動させる（図８（Ｃ）参照）。このようにして、トリミング候補領域設定部５０は、トリミング候補領域６０の下側境界線６２Ｄが料理画像３０の下辺３２Ｄと一致するまで、トリミング候補領域６０を料理画像３０内で下方に１画素ずつ移動させる（図８（Ｄ）参照）。トリミング候補領域６０の下側境界線６２Ｄが料理画像３０の下辺３２Ｄと一致した場合、トリミング候補領域６０の左上画素は料理画像３０の画素（０，ｈ−ｗ−１）に一致することになる。
【００５０】
なお、トリミング候補領域設定部５０は、トリミング候補領域６０の左下画素が料理画像３０の左下画素と一致するようにして、トリミング候補領域６０の初期位置を設定するようにしてもよい。言い換えれば、トリミング候補領域設定部５０は、トリミング候補領域６０の下側境界線６２Ｄが料理画像３０の下辺３２Ｄと一致するようにして、トリミング候補領域６０の初期位置を設定するようにしてもよい。そして、トリミング候補領域設定部５０は、トリミング候補領域６０の上側境界線６２Ｕが料理画像３０の上辺３２Ｕと一致するまで、トリミング候補領域６０を料理画像３０内で上方に１画素ずつ移動させるようにしてもよい。
【００５１】
一方、料理画像３０が横長の画像である場合、図９に示すように、トリミング候補領域設定部５０は、トリミング候補領域６０の左上画素が料理画像３０の左上画素と一致するようにして、トリミング候補領域６０の初期位置を設定する（図９（Ａ）参照）。言い換えれば、トリミング候補領域設定部５０は、トリミング候補領域６０の左側境界線６２Ｌが料理画像３０の左辺３２Ｌと一致するようにして、トリミング候補領域６０の初期位置を設定する。
【００５２】
そして、トリミング候補領域設定部５０はトリミング候補領域６０を料理画像３０内で右方に１画素移動させる（図９（Ｂ）参照）。さらに、トリミング候補領域設定部５０はトリミング候補領域６０を料理画像３０内で右方に１画素移動させる（図９（Ｃ）参照）。このようにして、トリミング候補領域設定部５０は、トリミング候補領域６０の右側境界線６２Ｒが料理画像３０の右辺３２Ｒと一致するまで、トリミング候補領域６０を料理画像３０内で右方に１画素ずつ移動させる（図９（Ｄ）参照）。なお、トリミング候補領域６０の右側境界線６２Ｒが料理画像３０の右辺３２Ｒと一致した場合、トリミング候補領域６０の左上画素は料理画像３０の画素（ｗ−ｈ−１，０）に一致することになる。
【００５３】
なお、トリミング候補領域設定部５０は、トリミング候補領域６０の右上画素が料理画像３０の右上画素と一致するようにして、トリミング候補領域６０の初期位置を設定するようにしてもよい。言い換えれば、トリミング候補領域設定部５０は、トリミング候補領域６０の右側境界線６２Ｒが料理画像３０の右辺３２Ｒと一致するようにして、トリミング候補領域６０の初期位置を設定するようにしてもよい。そして、トリミング候補領域設定部５０は、トリミング候補領域６０の左側境界線６２Ｌが料理画像３０の左辺３２Ｌと一致するまで、トリミング候補領域６０を料理画像３０内で左方に１画素ずつ移動させるようにしてもよい。
【００５４】
算出部５２は、複数のトリミング候補領域６０の各々について、該トリミング候補領域６０内の画素のエッジ量の合計値を算出する。ここで、「エッジ」とは、対象画像中で色が変化する度合いのことを意味しており、「画素のエッジ量」とは、画素と該画素の周辺画素との間の色相の差に関する量である。
【００５５】
画素のエッジ量を算出するための手法としては公知の手法を用いることができる。例えば、Ｓｏｂｅｌフィルタを用いることができる。画素（ｘ，ｙ）における画素値をＩｘ，ｙとした場合、画素（ｘ，ｙ）のエッジ量Ｓｘ，ｙは下記の式（１）〜（３）によって算出される。
【００５６】
【数１】
2013102396.tif 000003
【００５７】
なお、各画素の画素値Ｉは、各画素のＲＧＢ値をＹＣＢＣＲ値に変換することによって取得される。ＲＧＢ値からＹＣＢＣＲ値への変換は下記の式（４）によって行われる。また、ここでは、画素と該画素の周辺画素との間の色相の差に関する量を「画素のエッジ量」として用いるため、各画素のＣＢ，ＣＲ値に基づいて各画素の画素値Ｉが算出される。例えば下記の式（５）によって各画素の画素値Ｉが算出される。
【００５８】
【数２】
2013102396.tif 000004
【００５９】
以上のようにして算出された料理画像３０（対象画像）の各画素のエッジ量Ｓに基づいて、算出部５２は、トリミング候補領域６０内の画素のエッジ量Ｓの合計値Ｔを算出する。例えば、料理画像３０が縦長の画像である場合、トリミング候補領域６０の左上画素が（０，ｉ）であるとすると、上記合計値Ｔは下記の式（６）によって算出される。一方、料理画像３０が横長の画像である場合、トリミング候補領域６０の左上画素が（ｉ，０）であるとすると、上記合計値Ｔは下記の式（７）によって算出される。
【００６０】
【数３】
2013102396.tif 000005
【００６１】
トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記合計値Ｔに基づいて、該複数のトリミング候補領域６０のうちからトリミング領域を決定する。
【００６２】
例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちで、上記合計値Ｔが最大であるトリミング候補領域６０をトリミング領域として決定する。図１０及び図１１はトリミング領域決定部５４について説明するための図である。図１０及び図１１では、各トリミング候補領域６０の上記合計値Ｔを各トリミング候補領域６０の位置に対応づけて表している。
【００６３】
図１０は、料理画像３０（対象画像）が縦長の画像である場合について示しており、図１０では、各トリミング候補領域６０の上記合計値Ｔが各トリミング候補領域６０の左上画素のＹ軸座標に対応づけられている。すなわち、図１０において、Ｙ軸座標（ｙ）に対応づけられた合計値Ｔは、左上画素が（０，ｙ）であるトリミング候補領域６０内の画素のエッジ量の合計値Ｔを示している。
【００６４】
図１０に示す例の場合、Ｙ軸座標（ｐｙ）に対応づけられた上記合計値Ｔが最大になっている。この場合、トリミング領域決定部５４は、左上画素が（０，ｐｙ）であるトリミング候補領域６０をトリミング領域として決定する。つまり、トリミング領域決定部５４は、左上画素が（０，ｐｙ）であり、かつ、一辺の長さが「ｗ」である正方形領域をトリミング領域として決定する。
【００６５】
図１１は、料理画像３０（対象画像）が横長の画像である場合について示しており、図１１では、各トリミング候補領域６０の上記合計値Ｔが各トリミング候補領域６０の左上画素のＸ軸座標に対応づけられている。すなわち、図１１において、Ｘ軸座標（ｘ）に対応づけられた合計値Ｔは、左上画素が（ｘ，０）であるトリミング候補領域６０内の画素のエッジ量の合計値Ｔを示している。
【００６６】
図１１に示す例の場合、Ｘ軸座標（ｐｘ）に対応づけられた上記合計値Ｔが最大になっている。この場合、トリミング領域決定部５４は、左上画素が（ｐｘ，０）であるトリミング候補領域６０をトリミング領域として決定する。つまり、トリミング領域決定部５４は、左上画素が（ｐｘ，０）であり、かつ、一辺の長さが「ｈ」である正方形領域をトリミング領域として決定する。
【００６７】
要するに、トリミング領域決定部５４は、左上画素が下記の式（８）及び（９）で示される画素（ｐｘ，ｐｙ）であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域をトリミング領域として決定する。
【００６８】
【数４】
2013102396.tif 000006
【００６９】
トリミング画像取得部５６はトリミング画像４０を取得する。トリミング画像４０は、対象画像（料理画像３０）のうちのトリミング領域内の画像である。つまり、トリミング画像取得部５６は、トリミング領域内の画像を料理画像３０から切り出すことによってトリミング画像４０を取得し、トリミング画像４０を料理画像３０と対応づけるようにしてデータベース２０に保存する。
【００７０】
次に、上記に説明した機能ブロックを実現するために画像処理装置１０で実行される処理について説明する。図１２及び図１３は、対象画像（料理画像３０）からトリミング画像４０を取得するために画像処理装置１０で実行される処理の一例を示すフロー図である。なお、図１２及び図１３に示す処理は、対象画像（料理画像３０）が長方形画像であると前提している。制御部１１が図１２及び図１３に示す処理をプログラムに従って実行することによって、制御部１１が、トリミング候補領域設定部５０、算出部５２、トリミング領域決定部５４、及びトリミング画像取得部５６として機能するようになる。
【００７１】
図１２に示すように、まず、制御部１１は対象画像をデータベース２０から取得する（Ｓ１０１）。そして、制御部１１は対象画像の各画素のエッジ量を上記の式（１）〜（５）に基づいて算出する（Ｓ１０２）。
【００７２】
また、制御部１１は対象画像の縦辺の長さ（ｈ）が横辺の長さ（ｗ）よりも長いか否かを判定する（Ｓ１０３）。そして、縦辺の長さ（ｈ）が横辺の長さ（ｗ）よりも長いと判定された場合、制御部１１は変数ｉ，ｐｘ，ｐｙ，Ｅｍａｘをそれぞれ零に初期化する（Ｓ１０４）。
【００７３】
ステップＳ１０４の処理が実行された後、制御部１１は、左上画素が（０，ｉ）であり、かつ、一辺の長さが「ｗ」である正方形領域（トリミング候補領域６０）の評価値Ｅを算出する（Ｓ１０５）。本実施形態の場合、制御部１１は、上記の正方形領域内の画素のエッジ量の合計値Ｔを上記の式（６）によって算出し、該合計値Ｔを上記の正方形領域の評価値Ｅとして取得する。
【００７４】
ステップＳ１０５の処理が実行された後、制御部１１は、ステップＳ１０５で算出された評価値Ｅが変数Ｅｍａｘよりも大きいか否かを判定する（Ｓ１０６）。評価値Ｅが変数Ｅｍａｘよりも大きい場合、制御部１１はステップＳ１０５で算出された評価値Ｅを変数Ｅｍａｘにセットする（Ｓ１０７）。また、制御部１１は変数ｉを変数ｐｙにセットする（Ｓ１０８）。ステップＳ１０６〜Ｓ１０８の処理によって、変数Ｅｍａｘは評価値Ｅの最大値を示し、変数ｐｙは評価値Ｅの最大値となる場合の変数ｉの値を示すことになる。
【００７５】
ステップＳ１０７，Ｓ１０８の処理が実行された場合、又はステップＳ１０６において評価値Ｅが変数Ｅｍａｘよりも大きくないと判定された場合、制御部１１は変数ｉに１を加算する（Ｓ１０９）。そして、制御部１１は、変数ｉが値（ｈ−ｗ−１）以下であるか否かを判定する（Ｓ１１０）。変数ｉが値（ｈ−ｗ−１）以下である場合、制御部１１はステップＳ１０５の処理を再実行する。一方、変数ｉが値（ｈ−ｗ−１）以下でない場合、図１３に示すように、制御部１１は、左上画素が（ｐｘ，ｐｙ）であり、かつ、一辺の長さが「ｗ」である正方形領域をトリミング領域として決定する（Ｓ１１８）。
【００７６】
なお、ステップＳ１０３において、縦辺の長さ（ｈ）が横辺の長さ（ｗ）よりも長くないと判定された場合、言い換えれば、横辺の長さ（ｗ）が縦辺の長さ（ｈ）よりも長い場合、制御部１１は変数ｉ，ｐｘ，ｐｙ，Ｅｍａｘの値をそれぞれ０に初期化する（Ｓ１１１）。
【００７７】
ステップＳ１１１の処理が実行された後、制御部１１は、左上画素が（ｉ，０）であり、かつ、一辺の画素数が「ｈ」である正方形領域（トリミング候補領域６０）の評価値Ｅを算出する（Ｓ１１２）。本実施形態の場合、制御部１１は、上記の正方形領域内の画素のエッジ量の合計値Ｔを上記の式（７）によって算出し、該合計値Ｔを上記の正方形領域の評価値Ｅとして取得する。
【００７８】
ステップＳ１１２の処理が実行された後、制御部１１は、ステップＳ１１２で算出された評価値Ｅが変数Ｅｍａｘよりも大きいか否かを判定する（Ｓ１１３）。評価値Ｅが変数Ｅｍａｘよりも大きい場合、制御部１１はステップＳ１１２で算出された評価値Ｅを変数Ｅｍａｘにセットする（Ｓ１１４）。また、制御部１１は変数ｉを変数ｐｘにセットする（Ｓ１１５）。ステップＳ１１３〜Ｓ１１５の処理によって、変数Ｅｍａｘは評価値Ｅの最大値を示し、変数ｐｘは評価値Ｅの最大値となる場合の変数ｉの値を示すことになる。
【００７９】
ステップＳ１１４，Ｓ１１５の処理が実行された場合、又はステップＳ１１３において評価値Ｅが変数Ｅｍａｘよりも大きくないと判定された場合、制御部１１は変数ｉに１を加算する（Ｓ１１６）。そして、制御部１１は、変数ｉが値（ｗ−ｈ−１）以下であるか否かを判定する（Ｓ１１７）。変数ｉが値（ｗ−ｈ−１）以下である場合、制御部１１はステップＳ１１２の処理を再実行する。一方、変数ｉが値（ｗ−ｈ−１）以下でない場合、図１３に示すように、制御部１１は、左上画素が（ｐｘ，ｐｙ）であり、かつ、一辺の画素数が「ｈ」である正方形領域をトリミング領域として決定する（Ｓ１１９）。
【００８０】
ステップＳ１１８又はＳ１１９の処理が実行された後、制御部１１はトリミング画像４０を取得する（Ｓ１２０）。すなわち、制御部１１は、ステップＳ１１８又はＳ１１９で決定されたトリミング領域内の画像を対象画像から切り出すことによってトリミング画像４０を取得し、該トリミング画像４０を対象画像と対応づけるようにしてデータベース２０に保存する。また、制御部１１は、ステップＳ１２０で取得されたトリミング画像４０を表示部１６に表示する（Ｓ１２１）。以上で図１２及び図１３の処理の説明を終了する。
【００８１】
以上説明した第１実施形態に係る画像処理装置１０によれば、対象画像内の、エッジ量が高い部分がトリミング画像４０として取得されるようになる。すなわち、対象画像内の、色相の変化の大きい部分がトリミング画像４０として取得されるようになる。例えば、テーブル等の上に置かれた食器に盛り付けられた料理を写した料理画像の場合、料理が写っている部分では、他の部分（例えばテーブルが写っている部分等）と比較して、色相の変化が大きくなる。このため、第１実施形態に係る画像処理装置１０によれば、料理が写っている部分をトリミング画像４０として取得できるようになる。
【００８２】
［第２実施形態］次に、本発明の第２実施形態について説明する。本発明の第２実施形態に係る画像処理装置１０のハードウェア構成は第１実施形態と同様である（図１参照）。第２実施形態に係る画像処理装置１０においても、データベース２０に記憶された画像（料理画像３０）のトリミング画像４０が生成される。
【００８３】
第１実施形態では、上記の式（８）及び（９）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域がトリミング領域として決定されるようになっていた。これに対し、第２実施形態では、下記の式（１０）及び（１１）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域がトリミング領域として決定されるようになっている。この点で第２実施形態に係る画像処理装置１０は第１実施形態とは異なる。
【００８４】
【数５】
2013102396.tif 000007
【００８５】
第２実施形態に係る画像処理装置１０は第１実施形態と同様の機能ブロックを含む（図７参照）。トリミング候補領域設定部５０、算出部５２、及びトリミング画像取得部５６の動作は第１実施形態と同様である。一方、トリミング領域決定部５４の動作は、複数のトリミング候補領域６０の各々の上記合計値Ｔに基づいて、該複数のトリミング候補領域６０のうちからトリミング領域を決定する点で第１実施形態と共通しているが、下記に説明する点で第１実施形態とは異なる。
【００８６】
第２実施形態の場合、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々について、該トリミング候補領域６０の少なくとも一つの境界部分の画素のエッジ量の合計値を算出する。
【００８７】
ここで、「少なくとも一つの境界部分」とは、トリミング候補領域６０の上側境界部分、下側境界部分、左側境界部分、及び右側境界部分のうちの少なくとも一つである。
【００８８】
図１４は、トリミング候補領域６０の上側境界部分及び下側境界部分について説明するための図である。なお、図１４は、料理画像３０が縦長の画像である場合について示している。
【００８９】
上側境界部分７０Ｕは、トリミング候補領域６０の上側境界線６２Ｕに対応する画素行を含む１又は複数の画素行である。
【００９０】
例えば、上側境界部分７０Ｕは、トリミング候補領域６０の上側境界線６２Ｕに対応する画素行である。すなわち、トリミング候補領域６０の左上画素が（０，ｙ）であるとすると、上側境界部分７０Ｕは、画素（０，ｙ）〜（ｗ−１，ｙ）の画素行である。なお、上側境界部分７０Ｕは、画素（０，ｙ）〜（ｗ−１，ｙ）の画素行から画素（０，ｙ＋ｎ）〜（ｗ−１，ｙ＋ｎ）の画素行までの複数の画素行であってもよい（ｎ：１以上の自然数）。
【００９１】
同様に、下側境界部分７０Ｄは、トリミング候補領域６０の下側境界線６２Ｄに対応する画素行を含む１又は複数の画素行である。
【００９２】
例えば、下側境界部分７０Ｄは、トリミング候補領域６０の下側境界線６２Ｄに対応する画素行である。すなわち、トリミング候補領域６０の左上画素が（０，ｙ）であるとすると、下側境界部分７０Ｄは、画素（０，ｙ＋ｗ−１）〜（ｗ−１，ｙ＋ｗ−１）の画素行である。なお、下側境界部分７０Ｄは、画素（０，ｙ＋ｗ−１）〜（ｗ−１，ｙ＋ｗ−１）の画素行から画素（０，ｙ＋ｗ−１−ｎ）〜（ｗ−１，ｙ＋ｗ−１−ｎ）の画素行までの複数の画素行であってもよい（ｎ：１以上の自然数）。
【００９３】
なお、以下では、トリミング候補領域６０の上側境界線６２Ｕに対応する画素行が上側境界部分７０Ｕに相当し、下側境界線６２Ｄに対応する画素行が下側境界部分７０Ｄに相当することとして説明する。
【００９４】
図１５は、トリミング候補領域６０の左側境界部分及び右側境界部分について説明するための図である。なお、図１５は、料理画像３０が横長の画像である場合について示している。
【００９５】
左側境界部分７０Ｌは、トリミング候補領域６０の左側境界線６２Ｌに対応する画素列を含む１又は複数の画素列である。
【００９６】
例えば、左側境界部分７０Ｌは、トリミング候補領域６０の左側境界線６２Ｌに対応する画素列である。すなわち、トリミング候補領域６０の左上画素が（ｘ，０）であるとすると、左側境界部分７０Ｌは、画素（ｘ，０）〜（ｘ，ｈ−１）の画素列である。なお、左側境界部分７０Ｌは、画素（ｘ，０）〜（ｘ，ｈ−１）の画素列から画素（ｘ＋ｎ，０）〜（ｘ＋ｎ，ｈ−１）の画素列までの複数の画素列であってもよい（ｎ：１以上の自然数）。
【００９７】
同様に、右側境界部分７０Ｒは、トリミング候補領域６０の右側境界線６２Ｒに対応する画素列を含む１又は複数の画素列である。
【００９８】
例えば、右側境界部分７０Ｒは、トリミング候補領域６０の右側境界線６２Ｒに対応する画素列である。すなわち、トリミング候補領域６０の左上画素が（ｘ，０）であるとすると、右側境界部分７０Ｒは、画素（ｘ＋ｈ−１，０）〜（ｘ＋ｈ−１，ｈ−１）の画素列である。なお、右側境界部分７０Ｒは、画素（ｘ＋ｈ−１，０）〜（ｘ＋ｈ−１，ｈ−１）の画素列から画素（ｘ＋ｈ−１−ｎ，０）〜（ｘ＋ｈ−１−ｎ，ｈ−１）の画素列までの複数の画素列であってもよい（ｎ：１以上の自然数）。
【００９９】
なお、以下では、トリミング候補領域６０の左側境界線６２Ｌに対応する画素列が左側境界部分７０Ｌに相当し、右側境界線６２Ｒに対応する画素列が右側境界部分７０Ｒに相当することとして説明する。
【０１００】
例えば、料理画像３０が縦長の画像である場合、トリミング領域決定部５４は、トリミング候補領域６０の上側境界部分７０Ｕ及び下側境界部分７０Ｄの画素のエッジ量の合計値Ｔａを算出する。トリミング候補領域６０の左上画素が（０，ｉ）であるとすると、上記の合計値Ｔａは下記の式（１２）によって算出される。
【０１０１】
一方、料理画像３０が横長の画像である場合、トリミング領域決定部５４は、トリミング候補領域６０の左側境界部分７０Ｌ及び右側境界部分７０Ｒの画素のエッジ量の合計値Ｔａを算出する。トリミング候補領域６０の左上画素が（ｉ，０）であるとすると、上記の合計値Ｔａは下記の式（１３）によって算出される。
【０１０２】
【数６】
2013102396.tif 000008
【０１０３】
トリミング領域決定部５４（第２算出手段）は、複数のトリミング候補領域６０の各々について、上記合計値Ｔを上記合計値Ｔａで除することによって得られる除算値（Ｔ／Ｔａ）を算出する。そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記除算値（Ｔ／Ｔａ）に基づいて、複数のトリミング候補領域６０のうちからトリミング領域を決定する。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちの、上記除算値（Ｔ／Ｔａ）が最も大きいトリミング候補領域６０をトリミング領域として決定する。
【０１０４】
なお、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々について、上記合計値Ｔａを上記合計値Ｔで除することによって得られる除算値（Ｔａ／Ｔ）を算出するようにしてもよい。そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記除算値（Ｔａ／Ｔ）に基づいて、複数のトリミング候補領域６０のうちからトリミング領域を決定するようにしてもよい。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちの、上記除算値（Ｔａ／Ｔ）が最も小さいトリミング候補領域６０をトリミング領域として決定するようにしてもよい。
【０１０５】
以上のようにして、第２実施形態に係る画像処理装置１０では、上記の式（１０）及び（１１）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域がトリミング領域として決定される。
【０１０６】
第２実施形態に係る画像処理装置１０において実行される処理について説明する。第２実施形態に係る画像処理装置１０でも第１実施形態と同様の処理が実行される（図１２及び図１３参照）。
【０１０７】
ただし、第２実施形態の場合、図１２のステップＳ１０５において、制御部１１は、上記の式（６）によって算出される合計値Ｔを上記の式（１２）によって算出される合計値Ｔａを除することによって算出される除算値（Ｔ／Ｔａ）を、評価値Ｅとして取得する。
【０１０８】
また、ステップＳ１１２において、制御部１１は、上記の式（７）によって算出される合計値Ｔを上記の式（１３）によって算出される合計値Ｔａを除することによって算出される除算値（Ｔ／Ｔａ）を、評価値Ｅとして取得する。
【０１０９】
以上に説明した第２実施形態に係る画像処理装置１０では、上記除算値（Ｔａ／Ｔ）が最も大きいトリミング候補領域６０がトリミング領域として決定される。トリミング候補領域６０全体の画素のエッジ量の合計値Ｔが大きく、かつ、トリミング候補領域６０の上側境界部分７０Ｕ及び下側境界部分７０Ｄの画素のエッジ量の合計値Ｔａが小さい場合に、上記除算値（Ｔａ／Ｔ）は大きくなる。トリミング候補領域６０全体の画素のエッジ量の合計値Ｔが大きく、かつ、トリミング候補領域６０の上側境界部分７０Ｕ及び下側境界部分７０Ｄの画素のエッジ量の合計値Ｔａが小さい場合とは、上側境界部分７０Ｕ及び下側境界部分７０Ｄ以外の部分の画素のエッジ量が大きい場合である。すなわち、上側境界部分７０Ｕ及び下側境界部分７０Ｄに比べて、中央部分の画素のエッジ量が大きい場合である。
【０１１０】
第２実施形態に係る画像処理装置１０によれば、対象画像内の、エッジ量が大きい部分が中央に位置するようなトリミング画像４０を取得できるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するようなトリミング画像４０を取得できるようになる。その結果、料理画像３０内の、料理が写っている部分が中央に位置するようなトリミング画像４０を取得できるようになる。
【０１１１】
ここで、第２実施形態の変形例について説明する。
【０１１２】
例えば、トリミング領域決定部５４は、下記の式（１４）及び（１５）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域をトリミング領域として決定するようにしてもよい。
【０１１３】
【数７】
2013102396.tif 000009
【０１１４】
この変形例では、料理画像３０が縦長の画像である場合、トリミング領域決定部５４は、トリミング候補領域６０の上側境界部分７０Ｕの画素のエッジ量の合計値Ｔｕ（第１合計値）と、トリミング候補領域６０の下側境界部分７０Ｄの画素のエッジ量の合計値Ｔｄ（第２合計値）と、を算出する。トリミング候補領域６０の左上画素が（０，ｉ）であるとすると、上記合計値Ｔｕは下記の式（１６）によって算出され、上記合計値Ｔｄは下記の式（１７）によって算出される。
【０１１５】
【数８】
2013102396.tif 000010
【０１１６】
そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々について、上記合計値Ｔを、上記合計値Ｔｕ，Ｔｄのうちの大きい方で除することによって得られる除算値（Ｔ／ｍａｘ｛Ｔｕ，Ｔｄ｝）を算出する。そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記除算値（Ｔ／ｍａｘ｛Ｔｕ，Ｔｄ｝）に基づいて、複数のトリミング候補領域６０のうちからトリミング領域を決定する。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちの、上記除算値（Ｔ／ｍａｘ｛Ｔｕ，Ｔｄ｝）が最も大きいトリミング候補領域６０をトリミング領域として決定する。
【０１１７】
なお、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々について、上記合計値Ｔｕ，Ｔｄのうちの大きい方を、上記合計値Ｔで除することによって得られる除算値（ｍａｘ｛Ｔｕ，Ｔｄ｝／Ｔ）を算出するようにしてもよい。そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記除算値（ｍａｘ｛Ｔｕ，Ｔｄ｝／Ｔ）に基づいて、複数のトリミング候補領域６０のうちからトリミング領域を決定するようにしてもよい。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちの、上記除算値（ｍａｘ｛Ｔｕ，Ｔｄ｝／Ｔ）が最も小さいトリミング候補領域６０をトリミング領域として決定するようにしてもよい。
【０１１８】
一方、料理画像３０が横長の画像である場合、トリミング領域決定部５４は、トリミング候補領域６０の左側境界部分７０Ｌの画素のエッジ量の合計値Ｔｌ（第１合計値）と、トリミング候補領域６０の右側境界部分７０Ｒの画素のエッジ量の合計値Ｔｒ（第２合計値）と、を算出する。トリミング候補領域６０の左上画素が（ｉ，０）であるとすると、上記合計値Ｔｌは下記の式（１８）によって算出され、上記合計値Ｔｒは下記の式（１９）によって算出される。
【０１１９】
【数９】
2013102396.tif 000011
【０１２０】
そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々について、上記合計値Ｔを、上記合計値Ｔｌ，Ｔｒのうちの大きい方で除することによって得られる除算値（Ｔ／ｍａｘ｛Ｔｌ，Ｔｒ｝）を算出する。そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記除算値（Ｔ／ｍａｘ｛Ｔｌ，Ｔｒ｝）に基づいて、複数のトリミング候補領域６０のうちからトリミング領域を決定する。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちの、上記除算値（Ｔ／ｍａｘ｛Ｔｌ，Ｔｒ｝）が最も大きいトリミング候補領域６０をトリミング領域として決定する。
【０１２１】
なお、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々について、上記合計値Ｔｌ，Ｔｒのうちの大きい方を上記合計値Ｔで除することによって得られる除算値（ｍａｘ｛Ｔｌ，Ｔｒ｝／Ｔ）を算出するようにしてもよい。そして、トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記除算値（ｍａｘ｛Ｔｌ，Ｔｒ｝／Ｔ）に基づいて、複数のトリミング候補領域６０のうちからトリミング領域を決定するようにしてもよい。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちの、上記除算値（ｍａｘ｛Ｔｌ，Ｔｒ｝／Ｔ）が最も小さいトリミング候補領域６０をトリミング領域として決定するようにしてもよい。
【０１２２】
この変形例の場合、図１２のステップＳ１０５及びＳ１１２において下記に説明するような処理が実行される。すなわち、ステップＳ１０５において、制御部１１は、上記の式（６）によって算出される合計値Ｔを、上記の式（１６）及び（１７）によって算出される合計値Ｔｕ，Ｔｄのうちの大きい方で除することによって算出される除算値（Ｔ／ｍａｘ｛Ｔｕ，Ｔｄ｝）を、評価値Ｅとして取得する。
【０１２３】
また、ステップＳ１１２において、制御部１１は、上記の式（７）によって算出される合計値Ｔを、上記の式（１８）及び（１９）によって算出される合計値Ｔｌ，Ｔｒのうちの大きい方で除することによって算出される除算値（Ｔ／ｍａｘ｛Ｔｌ，Ｔｒ｝）を、評価値Ｅとして取得する。
【０１２４】
以上のようにしても、対象画像内の、エッジ量が大きい部分が中央に位置するようなトリミング画像を取得できるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するようなトリミング画像を取得できるようになる。その結果、料理画像３０内の、料理が写っている部分が中央に位置するようなトリミング画像を取得できるようになる。
【０１２５】
［第３実施形態］次に、本発明の第３実施形態について説明する。本発明の第３実施形態に係る画像処理装置１０のハードウェア構成は第１実施形態と同様である（図１参照）。第３実施形態に係る画像処理装置１０においても、データベース２０に記憶された画像（料理画像３０）のトリミング画像４０が生成される。
【０１２６】
第１実施形態では、上記の式（８）及び（９）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域がトリミング領域として決定されるようになっていた。これに対し、第３実施形態では、下記の式（２０）及び（２１）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域がトリミング領域として決定されるようになっている。なお、下記の式（２０）及び（２１）において「Ｇ」は下記の式（２２）に示すガウス関数を示している。
【０１２７】
【数１０】
2013102396.tif 000012
【０１２８】
第３実施形態に係る画像処理装置１０は第１実施形態と同様の機能ブロックを含む（図７参照）。トリミング候補領域設定部５０及びトリミング画像取得部５６の動作は第１実施形態と同様である。一方、算出部５２及びトリミング領域決定部５４の動作は、下記に説明する点で第１実施形態と異なる。
【０１２９】
第３実施形態における算出部５２は、複数のトリミング候補領域６０の各々について、該トリミング候補領域６０内の画素のエッジ量の重み付き合計値を算出する。
【０１３０】
例えば、料理画像３０が縦長の画像である場合、トリミング候補領域６０の左上画素が（０，ｉ）であるとすると、上記の重み付き合計値Ｔは下記の式（２３）によって算出される。一方、料理画像３０が横長の画像である場合、トリミング候補領域６０の左上画素が（ｉ，０）であるとすると、上記の重み付き合計値Ｔは下記の式（２４）によって算出される。
【０１３１】
なお、下記の式（２３）及び（２４）ではガウス関数Ｇが各画素のエッジ量に対する重みの役割を果たしている。この場合、トリミング候補領域６０の中央部分の画素の重みが、トリミング候補領域６０の境界部分の画素の重みよりも高く設定されるようになる。このため、トリミング候補領域６０の中央部分の画素のエッジ量が大きいほど、重み付き合計値Ｔはより大きくなるようになっている。
【０１３２】
【数１１】
2013102396.tif 000013
【０１３３】
トリミング領域決定部５４は、複数のトリミング候補領域６０の各々の上記の重み付き合計値Ｔに基づいて、該複数のトリミング候補領域６０のうちからトリミング領域を決定する。例えば、トリミング領域決定部５４は、複数のトリミング候補領域６０のうちで、上記の重み付き合計値Ｔが最も大きいトリミング候補領域６０をトリミング領域として決定する。
【０１３４】
第３実施形態に係る画像処理装置１０で実行される処理について説明する。第３実施形態に係る画像処理装置１０でも第１実施形態と同様の処理が実行される（図１２及び図１３参照）。
【０１３５】
ただし、第３実施形態の場合、図１２のステップＳ１０５において、制御部１１は、上記の式（２３）によって算出される重み付き合計値Ｔを評価値Ｅとして取得する。また、ステップＳ１１２において、制御部１１は、上記の式（２４）によって算出される重み付き合計値Ｔを評価値Ｅとして取得する。
【０１３６】
以上に説明した第３実施形態に係る画像処理装置１０では、上記の重み付き合計値Ｔが最も大きいトリミング候補領域６０がトリミング領域として決定される。上記の重み付き合計値Ｔは、トリミング候補領域６０の中央部分の画素のエッジ量が大きい場合に大きくなる。このため、第３実施形態に係る画像処理装置１０によれば、中央部分の画素のエッジ量が大きいトリミング候補領域６０がトリミング領域として決定されるようになる。その結果、第３実施形態に係る画像処理装置１０によれば、対象画像内の、エッジ量が大きい部分が中央に位置するようなトリミング画像４０を取得できるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するようなトリミング画像４０を取得できるようになる。その結果、料理画像３０内の、料理が写っている部分が中央に位置するようなトリミング画像４０を取得できるようになる。
【０１３７】
なお、第３実施形態の変形例について説明する。
【０１３８】
例えば、トリミング領域決定部５４は、下記の式（２５）及び（２６）によって示される画素（ｐｘ，ｐｙ）が左上画素であり、かつ、一辺の長さがｍｉｎ｛ｗ，ｈ｝である正方形領域をトリミング領域として決定するようにしてもよい。
【０１３９】
【数１２】
2013102396.tif 000014
【０１４０】
この変形例では、料理画像３０が縦長の画像である場合、トリミング候補領域６０の左上画素が（０，ｉ）であるとすると、上記の重み付き合計値Ｔが下記の式（２７）によって算出される。
【０１４１】
なお、下記の式（２７）ではガウス関数Ｇが各画素のエッジ量に対する重みの役割を果たしている。この場合、トリミング候補領域６０の上側境界部分７０Ｕ及び下側境界部分７０Ｄの画素と比較して、トリミング候補領域６０の中央部分の画素の重みが高く設定されるようになる。このため、トリミング候補領域６０の中央部分の画素のエッジ量が大きいほど、重み付き合計値Ｔはより大きくなるようになっている。
【０１４２】
一方、料理画像３０が横長の画像である場合、トリミング候補領域６０の左上画素が（ｉ，０）であるとすると、上記の重み付き合計値Ｔが下記の式（２８）によって算出される。
【０１４３】
なお、下記の式（２８）でもガウス関数Ｇが各画素のエッジ量に対する重みの役割を果たしている。この場合、トリミング候補領域６０の左側境界部分７０Ｌ及び右側境界部分７０Ｒの画素と比較して、トリミング候補領域６０の中央部分の画素の重みが高く設定されるようになる。このため、トリミング候補領域６０の中央部分の画素のエッジ量が大きいほど、重み付き合計値Ｔはより大きくなるようになっている。
【０１４４】
【数１３】
2013102396.tif 000015
【０１４５】
この変形例の場合、図１２のステップＳ１０５及びＳ１１２において下記に説明するような処理が実行される。すなわち、ステップＳ１０５において、制御部１１は、上記の式（２７）によって算出される重み付き合計値Ｔを評価値Ｅとして取得する。また、ステップＳ１１２において、制御部１１は、上記の式（２８）によって算出される重み付き合計値Ｔを評価値Ｅとして取得する。
【０１４６】
このようにしても、中央部分の画素のエッジ量が大きいトリミング候補領域６０がトリミング領域として決定されるようになる。その結果、第３実施形態に係る画像処理装置１０によれば、対象画像内の、エッジ量が大きい部分が中央に位置するようなトリミング画像４０を取得できるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するようなトリミング画像４０を取得できるようになる。その結果、料理画像３０内の、料理が写っている部分が中央に位置するようなトリミング画像４０を取得できるようになる。
【０１４７】
［第４実施形態］次に、本発明の第４実施形態について説明する。本発明の第４実施形態に係る画像処理装置１０のハードウェア構成は第１実施形態と同様である（図１参照）。第４実施形態に係る画像処理装置１０においても、データベース２０に記憶された画像（料理画像３０）のトリミング画像４０が生成される。
【０１４８】
第１実施形態では、「エッジ」は、対象画像中で色が変化する度合いのことを意味し、「画素のエッジ量」は、画素と該画素の周辺画素との間の色相の差に関する量であることとして説明した。これに対して、第４実施形態では、「エッジ」は、対象画像中で輝度が変化する度合いのことを意味し、「画素のエッジ量」は、画素と該画素の周辺画素との間の輝度の差に関する量である点で第１実施形態と異なる。
【０１４９】
すなわち、第４実施形態に係る画像処理装置１０では、上記の式（４）によって算出される各画素のＹ値が各画素の画素値Ｉとして用いられる。すなわち、第４実施形態では、各画素のＹ値が各画素の画素値Ｉとして上記の式（１）〜（３）に代入されることによって、各画素のエッジ量Ｓが算出される。
【０１５０】
なお、この第４実施形態は第２実施形態及び第３実施形態と組み合わせることが可能である。すなわち、第２実施形態及び第３実施形態においても、「画素のエッジ量」を画素と該画素の周辺画素との間の輝度の差に関する量としてもよい。
【０１５１】
以上に説明した第４実施形態に係る画像処理装置１０によれば、対象画像内の、輝度の変化の大きい部分がトリミング画像４０として取得されるようになる。例えば、テーブル等の上に置かれた食器に盛り付けられた料理を写した料理画像の場合、料理が写っている部分では、他の部分（例えばテーブルが写っている部分等）と比較して、輝度の変化が大きくなる。このため、第４実施形態に係る画像処理装置１０によれば、料理が写っている部分をトリミング画像４０として取得できるようになる。
【０１５２】
［第５実施形態］次に、本発明の第５実施形態について説明する。本発明の第５実施形態に係る画像処理装置１０のハードウェア構成は第１実施形態と同様である（図１参照）。第５実施形態に係る画像処理装置１０においても、データベース２０に記憶された画像（料理画像３０）のトリミング画像４０が生成される。
【０１５３】
第５実施形態に係る画像処理装置１０では、トリミング領域を決定するための処理（以下「トリミング領域決定処理」と呼ぶ。）として複数種類の処理が予め用意されており、それら複数種類のトリミング領域決定処理によって複数のトリミング領域が決定される。そして、それら複数のトリミング領域にそれぞれ対応する複数のトリミング画像４０がユーザに提示され、ユーザがそれら複数のトリミング画像４０のいずれかを選択できるようになっている。
【０１５４】
図１６は複数種類のトリミング領域決定処理の一例を示す。図１６では８種類のトリミング領域決定処理（第１〜第８のトリミング領域決定処理）が示されている。第１〜第８のトリミング領域決定処理は下記の点で異なっている。
（１）各画素のエッジ量を算出する際の基礎として色相又は輝度のいずれを用いるか
（２）トリミング領域の左上画素（ｐｘ，ｐｙ）をどのように定義するか
【０１５５】
第１のトリミング領域決定処理は第１実施形態に対応する。すなわち、第１のトリミング領域決定処理は、各画素のＣＢ，ＣＲ値（色相）に基づいて各画素のエッジ量Ｓを算出し（上記の式（５）参照）、上記の式（８）及び（９）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１５６】
第２のトリミング領域決定処理は第２実施形態に対応する。すなわち、第２のトリミング領域決定処理は、各画素のＣＢ，ＣＲ値（色相）に基づいて各画素のエッジ量Ｓを算出し（上記の式（５）参照）、上記の式（１０）及び（１１）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１５７】
第３のトリミング領域決定処理は第２実施形態の変形例に対応する。すなわち、第３のトリミング領域決定処理は、各画素のＣＢ，ＣＲ値（色相）に基づいて各画素のエッジ量Ｓを算出し（上記の式（５）参照）、上記の式（１４）及び（１５）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１５８】
第４のトリミング領域決定処理は第３実施形態に対応する。すなわち、第４のトリミング領域決定処理は、各画素のＣＢ，ＣＲ値（色相）に基づいて各画素のエッジ量Ｓを算出し（上記の式（５）参照）、上記の式（２０）及び（２１）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１５９】
なお、第４のトリミング領域決定処理は第３実施形態の変形例に対応するようにしてもよい。すなわち、第４のトリミング領域決定処理は、上記の式（２５）及び（２６）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理としてもよい。
【０１６０】
第５のトリミング領域決定処理は第４実施形態に対応する。すなわち、第５のトリミング領域決定処理は、各画素のＹ値（輝度）に基づいて各画素のエッジ量Ｓを算出し、上記の式（８）及び（９）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１６１】
第６のトリミング領域決定処理は、第２実施形態及び第４実施形態の組み合わせに対応する。すなわち、第６のトリミング領域決定処理は、各画素のＹ値（輝度）に基づいて各画素のエッジ量Ｓを算出し、上記の式（１０）及び（１１）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１６２】
第７のトリミング領域決定処理は、第２実施形態の変形例と第４実施形態との組み合わせに対応する。すなわち、第７のトリミング領域決定処理は、各画素のＹ値（輝度）に基づいて各画素のエッジ量Ｓを算出し、上記の式（１４）及び（１５）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域を決定する処理である。
【０１６３】
第８のトリミング領域決定処理は、第３実施形態及び第４実施形態の組み合わせに対応する。すなわち、第８のトリミング領域決定処理は、各画素のＹ値（輝度）に基づいて各画素のエッジ量Ｓを算出し、上記の式（２０）及び（２１）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理である。
【０１６４】
なお、第８のトリミング領域決定処理は、第３実施形態の変形例と第４実施形態との組み合わせに対応するようにしてもよい。すなわち、第８のトリミング領域決定処理は、上記の式（２５）及び（２６）によって示される画素（ｐｘ，ｐｙ）を左上画素とする正方形領域をトリミング領域として決定する処理としてもよい。
【０１６５】
第５実施形態に係る画像処理装置１０では、第１〜第８のトリミング領域決定処理の各々が実行されることによって、第１〜第８のトリミング領域が決定される。そして、第１〜第８のトリミング領域に対応する第１〜第８のトリミング画像４０が取得される。また、第１〜第８のトリミング画像４０のいずれかを選択するための画面（トリミング画像選択画面）が表示部１６に表示される。
【０１６６】
図１７はトリミング画像選択画面の一例を示す。トリミング画像選択画面には、第１のトリミング画像４０ａ、第２のトリミング画像４０ｂ、第３のトリミング画像４０ｃ、第４のトリミング画像４０ｄ、第５のトリミング画像４０ｅ、第６のトリミング画像４０ｆ、第７のトリミング画像４０ｇ、及び第８のトリミング画像４０ｈが表示されている。
【０１６７】
また、トリミング画像選択画面には、第１のオプションボタン８０ａ、第２のオプションボタン８０ｂ、第３のオプションボタン８０ｃ、第４のオプションボタン８０ｄ、第５のオプションボタン８０ｅ、第６のオプションボタン８０ｆ、第７のオプションボタン８０ｇ、及び第８のオプションボタン８０ｈが表示されている。第１のオプションボタン８０ａは第１のトリミング画像４０ａに関連付けられている。同様に、第２のオプションボタン８０ｂ〜第８のオプションボタン８０ｈは、それぞれ、第２のトリミング画像４０ｂ〜第８のトリミング画像４０ｈに関連付けられている。
【０１６８】
ユーザは第１のオプションボタン８０ａ〜第８のオプションボタン８０ｈのいずれかをクリックすることによって、第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈのいずれかを選択し、決定ボタン８２をクリックする。決定ボタン８２がクリックされると、ユーザによって選択されたトリミング画像４０が元の料理画像３０に対応づけられるようにしてデータベース２０に保存される。
【０１６９】
次に、第５実施形態に係る画像処理装置１０で実行される処理について説明する。図１８は、第５実施形態に係る画像処理装置１０で実行される処理の一例を示すフロー図である。
【０１７０】
図１８に示すように、まず、制御部１１は対象画像をデータベース２０から取得する（Ｓ２０１）。その後、制御部１１は対象画像の各画素の第１のエッジ量及び第２のエッジ量を算出する（Ｓ２０２）。
【０１７１】
なお、「第１のエッジ量」は、画素のＣＢ，ＣＲ値（色相）に基づいて算出されるエッジ量であり、上記の式（５）によって示される画素値Ｉに基づき上記の式（１）〜（３）によって算出されるエッジ量Ｓである。
【０１７２】
一方、「第２のエッジ量」は、画素のＹ値（輝度）に基づいて算出されるエッジ量であり、画素のＹ値を画素値Ｉとして用いて上記の式（１）〜（３）によって算出されるエッジ量Ｓである。
【０１７３】
また、制御部１１は変数ｋを１に初期化する（Ｓ２０３）。そして、制御部１１は、第ｋのトリミング領域決定処理を実行することによって、第ｋのトリミング領域を決定する（Ｓ２０４）。このステップＳ２０４の処理は図１２及び図１３のステップＳ１０３〜Ｓ１１９の処理と同様である。
【０１７４】
また、制御部１１は、ステップＳ２０４で決定された第ｋのトリミング領域の画像を対象画像からトリミングすることによって、第ｋのトリミング画像４０を取得する（Ｓ２０５）。取得された第ｋのトリミング画像４０は記憶部１２に保存される。
【０１７５】
ステップＳ２０５の処理が実行された後、制御部１１は変数ｋに１を加算する（Ｓ２０６）。そして、制御部１１は変数ｋが８以下であるか否かを判定する（Ｓ２０７）。ここで、「８」は、トリミング領域決定処理の種類の総数を示している。
【０１７６】
変数ｋが８以下である場合、制御部１１はステップＳ２０４の処理を再実行する。一方、変数ｋが８以下でない場合、制御部１１（表示制御手段）はトリミング画像選択画面を表示部１６に表示する（Ｓ２０８）。図１７に示したように、トリミング画像選択画面には第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈが表示される。
【０１７７】
トリミング画像選択画面が表示されている場合、制御部１１（受付手段）は、ユーザによって行われる第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈのいずれかの選択を受け付ける。すなわち、制御部１１は、第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈのいずれかがユーザによって選択されたか否かを監視する（Ｓ２０９）。第１のオプションボタン８０ａ〜第８のオプションボタン８０ｈのいずれかがクリックされ、さらに、決定ボタン８２が決定された場合、制御部１１は、第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈのいずれかがユーザによって選択されたと判定する。
【０１７８】
第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈのいずれかがユーザによって選択された場合、制御部１１は、ユーザによって選択されたトリミング画像４０を、ステップＳ２０１で取得された対象画像（料理画像３０）に対応づけるようにしてデータベース２０に保存する（Ｓ２１０）。すなわち、ユーザによって選択されたトリミング画像４０が、ステップＳ２０１で取得された対象画像（料理画像３０）のサムネイル画像としてデータベース２０に保存される。以上で図１８に示す処理の説明を終了する。
【０１７９】
以上に説明した第５実施形態に係る画像処理装置１０によれば、複数のトリミング領域決定処理に基づいて取得された複数のトリミング画像４０のうちから所望のトリミング画像４０をユーザが選択できるようになる。
【０１８０】
［第６実施形態］次に、本発明の第６実施形態について説明する。第６実施形態は第５実施形態の変形例に相当する。本発明の第６実施形態に係る画像処理装置１０のハードウェア構成は第１実施形態と同様である（図１参照）。第６実施形態に係る画像処理装置１０においても、データベース２０に記憶された画像（料理画像３０）のトリミング画像４０が生成される。
【０１８１】
第５実施形態と同様、第６実施形態に係る画像処理装置１０においても、複数種類のトリミング領域決定処理が予め用意されており、それら複数種類のトリミング領域決定処理によって複数のトリミング領域が決定される。そして、それら複数のトリミング領域にそれぞれ対応する複数のトリミング画像４０がユーザに提示され、ユーザがそれら複数のトリミング画像４０のいずれかを選択できるようになっている。
【０１８２】
ただし、第６実施形態に係る画像処理装置１０では、複数種類のトリミング領域決定処理のうちから、対象画像（料理画像３０）の特徴に合ったトリミング領域決定処理が選択され、そのトリミング領域決定処理に基づいて取得されたトリミング画像４０がトリミング画像選択画面において優先表示又は区別表示されるようになっている。この点で第６実施形態に係る画像処理装置１０は第５実施形態と異なっている。
【０１８３】
第６実施形態に係る画像処理装置１０では、例えば図１９に示すようなトリミング領域決定処理データ（関連付けデータ）が記憶部１２に記憶される。図１９に示すトリミング領域決定処理データは、エッジ量の分布パターン情報と、トリミング領域決定処理と、を関連付けたデータである。図１９に示すトリミング領域決定処理データでは、第１〜第８のトリミング領域決定処理の各々に、エッジ量の分布パターン情報が関連付けられている。なお、第１〜第８のトリミング領域決定処理は図１６と同様である。
【０１８４】
エッジ量の分布パターン情報は画像のエッジ量の分布パターンに関する情報である。例えば、分布パターン情報は、図１０，１１に示したような画像の縦方向又は横方向に対する上記合計値Ｔの変化パターンを示す情報である。すなわち、分布パターン情報は、各トリミング候補領域６０の上記合計値Ｔを各トリミング候補領域６０の位置（例えば左上画素のＹ軸座標又はＸ軸座標）に対応づけて表した場合の上記合計値Ｔの変化パターンを示す情報である。言い換えれば、分布パターン情報は、各トリミング候補領域６０の位置に関する第１の軸（図１０，１１におけるＹ軸又はＸ軸）と、各トリミング候補領域６０の上記合計値Ｔに関する第２の軸（図１０，１１におけるＴ軸）と、が互いに直交するようにして設定された平面上に表される上記合計値Ｔの変化パターンを示す情報である。例えば、分布パターン情報は、第１のエッジ量（すなわち、画素のＣＢ，ＣＲ値に基づいて算出されるエッジ量）に基づいて算出される上記合計値Ｔの上記変化パターンと、第２のエッジ量（すなわち、画素のＹ値に基づいて算出されるエッジ量）に基づいて算出される上記合計値Ｔの上記変化パターンと、を示す情報である。
【０１８５】
また例えば、分布パターン情報は、画像の各画素行又は各画素列ごとのエッジ量の合計値のパターンを示す情報であってもよい。例えば、分布パターン情報は、画像の各画素行又は各画素列ごとの第１のエッジ量（すなわち、画素のＣＢ，ＣＲ値（色相）に基づいて算出されるエッジ量）の合計値のパターンと、画像の各画素行又は各画素列ごとの第２のエッジ量（すなわち、画素のＹ値（輝度）に基づいて算出されるエッジ量）の合計値のパターンと、を示す情報であってもよい。
【０１８６】
第６実施形態に係る画像処理装置１０で実行される処理について説明する。第６実施形態に係る画像処理装置１０で実行される処理は第５実施形態と類似している。すなわち、第６実施形態に係る画像処理装置１０においても、図１８に示す処理と同様の処理が実行される。ただし、第６実施形態に係る画像処理装置１０ではステップＳ２０８の処理が第５実施形態と異なっている。第６実施形態に係る画像処理装置１０では、ステップＳ２０８において、例えば図２０に示すような処理が実行される。
【０１８７】
すなわち、ステップＳ２０８において、制御部１１は、ステップＳ２０１で取得された対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する（Ｓ３０１）。例えば、制御部１１は、ステップＳ２０１で取得された対象画像の画素のエッジ量に基づいて、対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する。
【０１８８】
対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当すると判定された場合、制御部１１（表示制御手段）はトリミング画像選択画面を表示部１６に表示する（Ｓ３０２）。この場合、制御部１１は、対象画像のエッジ量の分布パターンを示す分布パターン情報に対応するトリミング画像４０をトリミング画像選択画面において優先表示する。
【０１８９】
ここで、「分布パターン情報に対応するトリミング画像４０」とは、分布パターン情報に関連付けられたトリミング領域決定処理によって決定されたトリミング領域の画像である。例えば、図１９に示すトリミング領域決定処理データでは、第４の分布パターン情報と第４のトリミング領域決定処理とが関連付けられている。このため、「第４の分布パターン情報に対応するトリミング画像４０」とは、第４のトリミング領域決定処理によって決定されたトリミング領域（第４のトリミング領域）の画像、すなわち、第４のトリミング画像４０ｄである。
【０１９０】
例えば、ステップＳ２０１で取得された対象画像のエッジ量の分布パターンが第４の分布パターン情報が示す分布パターンに相当すると判定された場合、制御部１１は第４のトリミング画像４０ｄをトリミング画像選択画面において優先表示させる。
【０１９１】
例えば、制御部１１は、第４のトリミング画像４０ｄが予め選択された状態でトリミング画像選択画面を表示させる。すなわち、制御部１１は、第４のオプションボタン８０ｄが予め選択された状態でトリミング画像選択画面を表示させる。
【０１９２】
また例えば、順序情報に従った表示順序で第１のトリミング画像４０ａ〜第８のトリミング画像４０ｈがトリミング画像選択画面に表示されるような場合であれば、制御部１１は第４のトリミング画像４０ｄの順位を第１番目に設定する。
【０１９３】
なお、ステップＳ２０１で取得された対象画像のエッジ量の分布パターンが第４の分布パターン情報が示す分布パターンに相当すると判定された場合、制御部１１は第４のトリミング画像４０ｄをトリミング画像選択画面において優先表示する代わりに、第４のトリミング画像４０ｄをトリミング画像選択画面において区別表示するようにしてもよい。すなわち、制御部１１は、第４のトリミング画像４０ｄが他のトリミング画像４０と区別されるようにしてトリミング画像選択画面を表示するようにしてもよい。
【０１９４】
例えば、制御部１１は第４のトリミング画像４０ｄの表示態様を他のトリミング画像４０と異なる表示態様で表示させる。また例えば、制御部１１は第４のトリミング画像４０ｄのみに関連付けて所定の画像（例えば、枠画像、吹き出し画像、又は星画像等）を表示させることによって、第４のトリミング画像４０ｄを他のトリミング画像４０と区別表示する。
【０１９５】
なお、対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報が示す分布パターンのいずれにも相当しないと判定された場合、制御部１１はトリミング画像選択画面を表示部１６に表示する（Ｓ３０３）。この場合、制御部１１は、いずれのトリミング画像４０もトリミング画像選択画面において優先表示（区別表示）しない。
【０１９６】
ステップＳ３０２又はＳ３０３が実行された後、制御部１１は図１８のステップＳ２０９の処理を実行する。以上で図２０に示す処理の説明を終了する。
【０１９７】
以上に説明した第６実施形態に係る画像処理装置１０によれば、対象画像（料理画像３０）の特徴（エッジ量の分布パターン）に合ったトリミング領域決定処理が選択され、そのトリミング領域決定処理に基づいて取得されたトリミング画像４０がトリミング画像選択画面において優先表示又は区別表示される。その結果、対象画像（料理画像３０）の特徴に合ったトリミング領域決定処理に基づいて取得されたトリミング画像４０をユーザが選択し易くなるように図ることが可能になる。
【０１９８】
なお、第６実施形態に係る画像処理装置１０では、トリミング画像選択画面においてユーザが行った選択結果に基づいて、トリミング領域決定処理データを更新するようにしてもよい。以下、このようなトリミング領域決定処理データを更新する構成について説明する。
【０１９９】
この変形例の場合、例えば図２１に示すような選択結果データが記憶部１２（又はデータベース２０）に記憶される。図２１に示す選択結果データでは、エッジ量の分布パターン情報と、選択結果情報と、が関連付けられている。なお、「エッジ量の分布パターン情報」は図１９と同様である。
【０２００】
「選択結果情報」は第１〜第８のトリミング画像４０の選択回数を示している。図２１に示す選択結果データにおいて、第１の分布パターン情報に対応づけられた選択結果情報は、対象画像のエッジ量の分布パターンが第１の分布パターンが示す分布パターンに相当する場合におけるトリミング画像選択画面でユーザが第１〜第８のトリミング画像４０の各々を選択した回数を示している。第２〜第８の分布パターン情報に対応づけられた選択結果情報も同様である。
【０２０１】
また、この変形例の場合、図１８のステップＳ２１０の処理が実行された後で制御部１１は図２２に示す処理を実行する。
【０２０２】
すなわち、制御部１１は、ステップＳ２０１で取得された対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する（Ｓ４０１）。このステップＳ４０１の処理は図２０のステップＳ３０１の処理と同様である。
【０２０３】
対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当すると判定された場合、制御部１１は、その分布パターン情報に対応づけられた選択結果情報を更新する（Ｓ４０２）。例えば、トリミング画像選択画面においてユーザによって選択されたトリミング画像４０が第１のトリミング画像４０ａであり、かつ、ステップＳ４０１において対象画像のエッジ量の分布パターンが第４の分布パターン情報が示す分布パターンに相当すると判定された場合、制御部１１は、第４の分布パターン情報に対応づけられた「第１のトリミング画像４０ａの選択回数」を１増加させる。
【０２０４】
ステップＳ４０２の処理が実行された後、制御部１１（更新手段）は選択結果データに基づいてトリミング領域決定処理データを更新する（Ｓ４０３）。
【０２０５】
例えば、図２１に示す例では、対象画像のエッジ量の分布パターンが第７の分布パターン情報が示す分布パターンに相当する場合における選択回数が最も多いトリミング画像４０が第８のトリミング画像４０ｈであるため、制御部１１は、第７の分布パターン情報に対応づけられたトリミング領域決定処理が、第８のトリミング画像４０ｈに対応するトリミング領域決定処理（すなわち、第８のトリミング領域決定処理）となるように、トリミング領域決定処理データを更新する。
【０２０６】
また例えば、図２１に示す例では、対象画像のエッジ量の分布パターンが第８の分布パターン情報が示す分布パターンに相当する場合における選択回数が最も多いトリミング画像４０が第７のトリミング画像４０ｇであるため、制御部１１は、第８の分布パターン情報に対応づけられたトリミング領域決定処理が、第７のトリミング画像４０ｇに対応するトリミング領域決定処理（すなわち、第７のトリミング領域決定処理）となるように、トリミング領域決定処理データを更新する。
【０２０７】
なお、ステップＳ４０１において、対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報が示す分布パターンのいずれにも相当しないと判定された場合、制御部１１はステップＳ４０２，Ｓ４０３の処理を実行することなく、本処理を終了する。以上で図２２の処理の説明を終了する。
【０２０８】
以上のようにすれば、ユーザの選択結果を考慮して、画像のエッジ量の分布パターンとトリミング領域決定処理との関連付けを見直すことが可能になる。
【０２０９】
［第７実施形態］次に、本発明の第７実施形態について説明する。第７実施形態は第５実施形態の変形例に相当する。本発明の第７実施形態に係る画像処理装置１０のハードウェア構成は第１実施形態と同様である（図１参照）。第７実施形態に係る画像処理装置１０においても、データベース２０に記憶された画像（料理画像３０）のトリミング画像４０が生成される。
【０２１０】
第５実施形態と同様、第７実施形態に係る画像処理装置１０においても、複数種類のトリミング領域決定処理が予め用意されている（図１６，１９参照）。ただし、第７実施形態に係る画像処理装置１０では、複数種類のトリミング領域決定処理のうちから、対象画像（料理画像３０）の特徴に合ったトリミング領域決定処理が選択され、そのトリミング領域決定処理に基づいて取得されたトリミング画像４０が対象画像のサムネイル画像として保存されるようになっている。この点で第７実施形態に係る画像処理装置１０は第５実施形態と異なっている。
【０２１１】
第７実施形態に係る画像処理装置１０で実行される処理について説明する。図２３は、第７実施形態に係る画像処理装置１０で実行される処理の一例を示すフロー図である。第５実施形態と同様、第７実施形態に係る画像処理装置１０においても、図１９に示すトリミング領域決定処理データが記憶されており、図２３に示す処理は図１９に示すトリミング領域決定処理データに基づいて実行される。
【０２１２】
図２３に示すように、制御部１１は対象画像をデータベース２０から取得する（Ｓ５０１）。また、制御部１１は対象画像の各画素の第１のエッジ量及び第２のエッジ量を算出する（Ｓ５０２）。このステップＳ５０２の処理は図１８のステップＳ２０２の処理と同様である。
【０２１３】
そして、制御部１１は、ステップＳ５０１において取得された対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する（Ｓ５０３）。このステップＳ５０３の処理は図２０のステップＳ３０１の処理と同様である。
【０２１４】
対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報のいずれかが示す分布パターンに相当する場合、制御部１１は、その分布パターン情報に関連付けられたトリミング領域決定処理を実行することによって、トリミング領域を決定する（Ｓ５０４）。このステップＳ５０４の処理は図１２及び図１３のステップＳ１０３〜Ｓ１１９の処理と同様である。
【０２１５】
一方、対象画像のエッジ量の分布パターンが第１〜第８の分布パターン情報が示す分布パターンのいずれにも相当しない場合、制御部１１は、第１〜第８のトリミング領域決定処理のうちの所定のトリミング領域決定処理（例えば、第１のトリミング領域決定処理）を実行することによって、トリミング領域を決定する（Ｓ５０５）。このステップＳ５０５の処理は図１２及び図１３のステップＳ１０３〜Ｓ１１９の処理と同様である。
【０２１６】
ステップＳ５０４又はＳ５０５の処理が実行された後、制御部１１はステップＳ５０４又はＳ５０５において決定されたトリミング領域の画像を対象画像からトリミングすることによってトリミング画像４０を取得し、該トリミング画像４０を対象画像と対応づけてデータベース２０に保存する（Ｓ５０６）。また、制御部１１はトリミング画像４０を表示部１６に表示する（Ｓ５０７）。以上で図２３に示す処理の説明を終了する。
【０２１７】
以上説明した第７実施形態に係る画像処理装置１０によれば、対象画像（料理画像３０）にの特徴（エッジ量の分布パターン）に合ったトリミング領域決定処理が選択され、そのトリミング領域決定処理に基づいて取得されたトリミング画像４０が対象画像のサムネイル画像として保存されるようになる。
【０２１８】
なお、第７実施形態に係る画像処理装置１０は、オプションモードとして、第５実施形態及び第６実施形態において説明した構成を備えるようにしてもよい。すなわち、第７実施形態に係る画像処理装置１０では、図２３に示す処理と図１８に示す処理とのいずれかをユーザを選択できるようにしてもよい。そして、図１８に示す処理がユーザによって選択された場合には、図２２に示す処理（すなわち、トリミング領域決定処理データの更新処理）が実行されるようにしてもよい。
【０２１９】
なお、本発明は以上に説明した第１〜第７実施形態に限定されるものではない。
【０２２０】
［１］例えば、以上では、対象画像のトリミング画像４０として、一辺の長さが対象画像の短辺の長さと等しい正方形画像を取得することとして説明した。すなわち、一辺の長さが対象画像の短辺の長さと等しい正方形領域をトリミング候補領域６０として設定することとして説明した。
【０２２１】
しかしながら、対象画像のトリミング画像４０として、一辺の長さが対象画像の短辺の長さと異なる正方形画像を取得するようにしてもよい。すなわち、一辺の長さが対象画像の短辺の長さと異なる正方形領域をトリミング候補領域６０として設定するようにしてもよい。また、対象画像のトリミング画像４０として長方形画像を取得するようにしてもよい。すなわち、長方形領域をトリミング候補領域６０として設定するようにしてもよい。
【０２２２】
ここで、縦辺の長さがｈａであり、横辺の長さがｗａである矩形画像をトリミング画像４０として対象画像から取得する場合について説明する。すなわち、図２４に示すような、縦辺の長さがｈａであり、横辺の長さがｗａである矩形領域をトリミング候補領域６０として設定する場合について説明する。図２５及び図２６は、上記のような矩形画像をトリミング画像と４０して取得する場合に画像処理装置１０で実行される処理の一例を示すフロー図である。
【０２２３】
図２５に示すように、まず、制御部１１は対象画像をデータベース２０から取得する（Ｓ６０１）。その後、制御部１１は対象画像の各画素のエッジ量を算出する（Ｓ６０２）。ステップＳ６０１，Ｓ６０２の処理は図１２のステップＳ１０１，Ｓ１０２と同様である。
【０２２４】
また、制御部１１は変数ｉ，ｊ，ｐｘ，ｐｙ，Ｅｍａｘをそれぞれ零に初期化する（Ｓ６０３）。そして、制御部１１は、左上画素が（ｉ，ｊ）であり、かつ、縦辺及び横辺の長さがそれぞれｈａ，ｗａである矩形領域（トリミング候補領域６０）の評価値Ｅを算出する（Ｓ６０４）。ステップＳ６０４の処理は図１２のステップＳ１０５，Ｓ１１２と同様である。
【０２２５】
ステップＳ６０４の処理が実行された後、制御部１１は、ステップＳ６０４で算出された評価値Ｅが変数Ｅｍａｘよりも大きいか否かを判定する（Ｓ６０５）。評価値Ｅが変数Ｅｍａｘよりも大きい場合、制御部１１はステップＳ６０４で算出された評価値Ｅを変数Ｅｍａｘにセットする（Ｓ６０６）。また、制御部１１は変数ｉ，ｊを変数ｐｘ，ｐｙにそれぞれセットする（Ｓ６０７）。ステップＳ６０５〜Ｓ６０７の処理によって、変数Ｅｍａｘは評価値Ｅの最大値を示し、変数ｐｘ，ｐｙは評価値Ｅの最大値となる場合の変数ｉ，ｊの値を示すことになる。
【０２２６】
ステップＳ６０６，Ｓ６０７の処理が実行された場合、又はステップＳ６０５において評価値Ｅが変数Ｅｍａｘよりも大きくないと判定された場合、制御部１１は変数ｊに１を加算する（Ｓ６０８）。そして、制御部１１は、変数ｊが値（ｈ−ｈａ−１）以下であるか否かを判定する（Ｓ６０９）。
【０２２７】
変数ｊが値（ｈ−ｈａ−１）以下である場合、制御部１１はステップＳ６０４の処理を再実行する。一方、変数ｊが値（ｈ−ｈａ−１）以下でない場合、制御部１１は変数ｉに１を加算する（Ｓ６１０）。そして、制御部１１は、変数ｉが値（ｗ−ｗａ−１）以下であるか否かを判定する（Ｓ６１１）。
【０２２８】
変数ｉが値（ｗ−ｗａ−１）以下である場合、制御部１１は変数ｊを零に初期化し（Ｓ６１２）、ステップＳ６０４の処理を再実行する。一方、変数ｉが値（ｗ−ｗａ−１）以下でない場合、制御部１１は、左上画素が（ｐｘ，ｐｙ）であり、かつ、縦辺及び横辺がそれぞれｈａ，ｗａである矩形領域をトリミング領域として決定する（Ｓ６１３）。
【０２２９】
そして、制御部１１はトリミング画像４０を取得する（Ｓ６１４）。すなわち、制御部１１は、ステップＳ６１３で決定されたトリミング領域内の画像を対象画像から切り出すことによって、トリミング画像４０を取得する。そして、制御部１１はトリミング画像４０を対象画像と対応づけるようにしてデータベース２０に保存する。また、制御部１１は、ステップＳ６１４で取得されたトリミング画像４０を表示部１６に表示する（Ｓ６１５）。以上で図２５及び図２６の処理の説明を終了する。
【０２３０】
［２］また例えば、トリミング画像取得部５６によって取得されたトリミング画像４０の端から、基準量以上のエッジ量を有する画素が存在しない部分が存在する場合、トリミング画像取得部５６はその部分を取り除くようにしてもよい。
【０２３１】
図２７はトリミング画像４０の一例を示す。図２７において、符号９０ａはトリミング画像４０の第１の辺を示している。また、符号９０ｂ，９０ｃは、第１の辺９０ａと直交するトリミング画像４０の第２の辺及び第３の辺を示している。また、符号９０ｄは、第１の辺９０ａと平行な直線であって、かつ、第２の辺９０ｂ及び第３の辺９０ｃと直交する直線を示している。また、トリミング画像４０内の斜線領域９２は、第１の辺９０ａと第２の辺９０ｂと第３の辺９０ｃと直線９０ｄとに囲まれた領域である。例えば、基準量以上のエッジ量を有する画素が斜線領域９２内に存在しない場合、トリミング画像取得部５６はトリミング画像４０から斜線領域９２を取り除くようにしてもよい。
【０２３２】
例えば、料理画像３０から取得されたトリミング画像４０の斜線領域９２内に基準量以上のエッジ量を有する画素が存在しない場合、斜線領域９２は、料理が写っている領域ではなく、例えばテーブル等が写っている領域である場合が多い。このため、以上のようにすれば、不要な領域を取り除くことが可能になる。
【０２３３】
［３］また例えば、以上では、投稿者によって投稿された料理画像３０がデータベース２０に記憶されていることとして説明したが、データベース２０に記憶される画像は料理画像３０に限られない。本発明は、料理画像３０以外の画像からトリミング画像（サムネイル画像）を生成する場合にも適用することが可能である。
【符号の説明】
【０２３４】
１０  画像処理装置、１１  制御部、１２  記憶部、１３  光ディスクドライブ部、１４  通信インタフェース部、１５  操作部、１６  表示部、１７  音声出力部、２０  データベース、３０  料理画像、４０  トリミング画像、４０ａ  第１のトリミング画像、４０ｂ  第２のトリミング画像、４０ｃ  第３のトリミング画像、４０ｄ  第４のトリミング画像、４０ｅ  第５のトリミング画像、４０ｆ  第６のトリミング画像、４０ｇ  第７のトリミング画像、４０ｈ  第８のトリミング画像、５０  トリミング候補領域設定部、５２  算出部、５４  トリミング領域決定部、５６  トリミング画像取得部、６０  トリミング候補領域、８０ａ  第１のオプションボタン、８０ｂ  第２のオプションボタン、８０ｃ  第３のオプションボタン、８０ｄ  第４のオプションボタン、８０ｅ  第５のオプションボタン、８０ｆ  第６のオプションボタン、８０ｇ  第７のオプションボタン、８０ｈ  第８のオプションボタン、８２  決定ボタン。
【図１】
2013102396.tif 000016
【図２】
2013102396.tif 000017
【図３】
2013102396.tif 000018
【図４】
2013102396.tif 000019
【図５】
2013102396.tif 000020
【図６】
2013102396.tif 000021
【図７】
2013102396.tif 000022
【図８】
2013102396.tif 000023
【図９】
2013102396.tif 000024
【図１０】
2013102396.tif 000025
【図１１】
2013102396.tif 000026
【図１２】
2013102396.tif 000027
【図１３】
2013102396.tif 000028
【図１４】
2013102396.tif 000029
【図１５】
2013102396.tif 000030
【図１６】
2013102396.tif 000031
【図１７】
2013102396.tif 000032
【図１８】
2013102396.tif 000033
【図１９】
2013102396.tif 000034
【図２０】
2013102396.tif 000035
【図２１】
2013102396.tif 000036
【図２２】
2013102396.tif 000037
【図２３】
2013102396.tif 000038
【図２４】
2013102396.tif 000039
【図２５】
2013102396.tif 000040
【図２６】
2013102396.tif 000041
【図２７】
2013102396.tif 000042
【手続補正書】
【提出日】平成24年4月13日(2012.4.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
【数３】
2013102396.tif 000043
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
【数４】
2013102396.tif 000044
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
【数５】
2013102396.tif 000045
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
【数６】
2013102396.tif 000046
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
【数７】
2013102396.tif 000047
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
【数８】
2013102396.tif 000048
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
【数９】
2013102396.tif 000049
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
【数１０】
2013102396.tif 000050
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
【数１１】
2013102396.tif 000051
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１３９
【補正方法】変更
【補正の内容】
【０１３９】
【数１２】
2013102396.tif 000052
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１４４
【補正方法】変更
【補正の内容】
【０１４４】
【数１３】
2013102396.tif 000053
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
以上に説明した第２実施形態に係る画像処理装置１０では、上記除算値（Ｔ／Ｔａ）が最も大きいトリミング候補領域６０がトリミング領域として決定される。トリミング候補領域６０全体の画素のエッジ量の合計値Ｔが大きく、かつ、トリミング候補領域６０の上側境界部分７０Ｕ及び下側境界部分７０Ｄの画素のエッジ量の合計値Ｔａが小さい場合に、上記除算値（Ｔ／Ｔａ）は大きくなる。トリミング候補領域６０全体の画素のエッジ量の合計値Ｔが大きく、かつ、トリミング候補領域６０の上側境界部分７０Ｕ及び下側境界部分７０Ｄの画素のエッジ量の合計値Ｔａが小さい場合とは、上側境界部分７０Ｕ及び下側境界部分７０Ｄ以外の部分の画素のエッジ量が大きい場合である。すなわち、上側境界部分７０Ｕ及び下側境界部分７０Ｄに比べて、中央部分の画素のエッジ量が大きい場合である。