以下、本発明の実施形態の例について図面に基づき詳細に説明する。
[第1実施形態]まず、本発明の第1実施形態について説明する。本発明の第1実施形態に係る画像処理装置は、例えばデスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、又はサーバコンピュータ等によって実現される。図1は、第1実施形態に係る画像処理装置10のハードウェア構成の一例を示す。
図1に示すように、画像処理装置10は制御部11、記憶部12、光ディスクドライブ部13、通信インタフェース部14、操作部15、表示部16、及び音声出力部17を含む。
制御部11は例えば1又は複数のマイクロプロセッサを含み、記憶部12に記憶されたオペレーティングシステム又はプログラムに従って情報処理を実行する。記憶部12は例えばRAM、ハードディスク、又はソリッドステートドライブを含む。光ディスクドライブ部13は、光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。
プログラムやデータは光ディスクを介して記憶部12に供給される。すなわち、プログラムやデータが記憶された光ディスクが光ディスクドライブ部13に装着され、プログラムやデータが光ディスクドライブ部13によって光ディスクから読み出され、記憶部12に記憶される。なお、光ディスクドライブ部13は必須の構成要素ではない。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラム又はデータを読み取るための構成要素が光ディスクドライブ部13の代わりに含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが記憶部12に供給されるようにしてもよい。
通信インタフェース部14は画像処理装置10を通信ネットワークに接続するためのインタフェースである。画像処理装置10は通信ネットワークを介して他の装置(例えばサーバ等)とデータを授受できるようになっている。なお、プログラム及びデータは通信ネットワークを介して記憶部12に供給されるようにしてもよい。
操作部15はユーザが操作を行うためのものである。例えば、キーボード、タッチパッド、マウス、タッチパネル、又はスティック(レバー)等が操作部15に相当する。表示部16は例えば液晶表示ディスプレイ等であり、音声出力部17は例えばスピーカ又はヘッドホン端子等である。
画像処理装置10はデータベース20にアクセスできるようになっている。データベース20は、画像処理装置10以外の装置(例えばサーバ)において実現されていてもよいし、画像処理装置10において実現されていてもよい。
データベース20には画像が記憶される。例えば、図示しないWebサーバによって提供されるサービスによって公開される画像がデータベース20に記憶される。例えば、投稿者によって投稿された画像を公開するサービスが提供される場合には、投稿者によって投稿された画像がデータベース20に記憶される。
なお、以下では、投稿者によって投稿された料理画像がデータベース20に記憶されることとして説明する。図2はデータベース20に記憶される料理画像の一例を示す。図2に示す料理画像30は、高さ(縦辺の画素数)が幅(横辺の画素数)よりも長い縦長の画像になっている。なお、データベース20には、幅が高さよりも長い横長の画像も記憶されている。
データベース20に記憶される料理画像30には、投稿者によって入力された注釈情報が関連付けられている。図3は注釈情報の一例を示す。注釈情報は、例えば下記に示すような情報を含んでいる。
・注釈を示すテキスト情報
・注釈の表示色を示す情報
・注釈の表示サイズを示す情報
・注釈の書字方向(横書き又は縦書きのいずれか)を示す情報
図4は表示部16に表示される料理画像30の一例を示す。図4に示すように、注釈情報32は料理画像30内に表示される。例えば、注釈情報32の表示位置は、料理画像30の特徴部分を避けるようにして設定される。以下、注釈情報32の表示位置を好適に決定するための技術について説明する。
なお、以下では、図5に示すように、料理画像30の左上画素を原点とし、右方向をX軸正方向とし、下方向をY軸正方向とした座標系によって、料理画像30の各画素を(x,y)のように表す。例えば、料理画像30の左上画素を(0,0)と記載し、右上画素を(W−1,0)と記載する。また例えば、料理画像30の左下画素を(0,H−1)と記載し、右下画素を(W−1,H−1)と記載する。なお、「H」は料理画像30の高さを示し、「W」は料理画像30の幅を示す。
図6は、第1実施形態に係る画像処理装置10において実現される機能ブロックのうち、本発明に関連する機能ブロックを示す機能ブロック図である。図6に示すように、画像処理装置10は領域設定部40、算出部42、特徴領域検出部44、注釈情報表示領域決定部46、及びデータ出力部48を含む。
領域設定部40は対象画像内に複数の領域を設定する。算出部42は、領域設定部40によって設定された複数の領域の各々について、該領域内の画素のエッジ量の合計値を算出する。ここで、「対象画像」とは、処理の対象となる画像であり、本実施形態の場合、投稿者によって投稿された料理画像30が「対象画像」に相当する。なお、「エッジ量」については後述する。
領域設定部40は第1領域設定部40Aを含み、算出部42は第1算出部42Aを含む。
第1領域設定部40A及び第1算出部42Aは特徴領域検出部44のための機能ブロックである。特徴領域検出部44は対象画像の特徴領域を検出する。「特徴領域」とは、画像を見る者が最も注目する領域であり、被写体が写っている領域である。例えば、料理画像30の場合、料理が写っている領域が「特徴領域」に相当する。
ここで、第1領域設定部40A、第1算出部42A、及び特徴領域検出部44の動作について説明する。
第1領域設定部40Aは、対象画像の特徴領域を検出するための複数の第1領域を対象画像内に設定する。なお、以下では、説明の簡便のため、第1領域設定部40Aによって設定される第1領域のことを「特徴領域候補」と呼ぶ。
図7は特徴領域候補について説明するための図である。例えば、特徴領域候補50は長方形領域又は正方形領域である。例えば、特徴領域候補50の大きさは予め定められた大きさに設定される。すなわち、特徴領域候補50の高さ(ha)及び幅(wa)は予め定められた長さに設定される。
または、特徴領域候補50の大きさは対象画像の大きさに基づいて設定される。例えば、特徴領域候補50の高さ(ha)は対象画像の高さ(H)に基づいて設定される。具体的には、0より大きく、かつ、1より小さい所定の係数を対象画像の高さ(H)に乗じることによって得られる値が特徴領域候補50の高さ(ha)として設定される。同様に、特徴領域候補50の幅(wa)は対象画像の幅(W)に基づいて設定される。具体的には、0より大きく、かつ、1より小さい所定の係数を対象画像の幅(W)に乗じることによって得られる値が特徴領域候補50の幅(wa)として設定される。
なお、対象画像の高さ(H)及び幅(W)の短い方と等しい長さが特徴領域候補50の高さ(ha)及び幅(wa)として設定されるようにしてもよい。すなわち、対象画像が縦長の画像である場合には、特徴領域候補50の高さ(ha)及び幅(wa)がともに対象画像の幅(W)と等しい長さに設定されるようにしてもよい。一方、対象画像が横長の画像である場合には、特徴領域候補50の高さ(ha)及び幅(wa)がともに対象画像の高さ(H)と等しい長さに設定されるようにしてもよい。なお、この場合、特徴領域候補50は正方形領域となる。
第1領域設定部40Aは、対象画像(料理画像30)内の一部領域を特徴領域候補50として設定し、特徴領域候補50を対象画像内で縦又は/及び横に移動させることによって、複数の特徴領域候補50を設定する。
例えば図7(A)に示すように、第1領域設定部40Aは、特徴領域候補50の左上画素が料理画像30の左上画素(0,0)と一致するようにして、特徴領域候補50の初期位置を設定する。言い換えれば、第1領域設定部40Aは、特徴領域候補50の上側境界線52Uが料理画像30の上辺32Uと一致し、特徴領域候補50の左側境界線52Lが料理画像30の左辺32Lと一致するようにして、特徴領域候補50の初期位置を設定する。そして、第1領域設定部40Aは、特徴領域候補50の右側境界線52Rが料理画像30の右辺32Rと一致するまで、特徴領域候補50を料理画像30内で右方向に1画素ずつ移動させる。
特徴領域候補50の右側境界線52Rが料理画像30の右辺32Rと一致したら、図7(B)に示すように、第1領域設定部40Aは、特徴領域候補50を料理画像30内で下方向に1画素移動させ、かつ、特徴領域候補50の左側境界線52Lが料理画像30の左辺32Lと一致するように特徴領域候補50を設定する。この場合、特徴領域候補50の左上画素が料理画像30の画素(0,1)と一致するような位置に特徴領域候補50が設定されることになる。そして、第1領域設定部40Aは、特徴領域候補50の右側境界線52Rが料理画像30の右辺32Rと一致するまで、特徴領域候補50を料理画像30内で右方向に1画素ずつ移動させる。
第1領域設定部40Aは以上のような処理を繰り返す。最終的に、第1領域設定部40Aは、図7(C)に示すように、特徴領域候補50の左側境界線52Lが料理画像30の左辺32Lと一致し、かつ、特徴領域候補50の下側境界線52Dが料理画像30の下辺32Dと一致するような位置に特徴領域候補50を設定する。すなわち、特徴領域候補50の左上画素が料理画像30の左上画素(0,H−ha−1)と一致するような位置に特徴領域候補50は設定される。そして、この場合にも、第1領域設定部40Aは、特徴領域候補50の右側境界線52Rが料理画像30の右辺32Rと一致するまで、特徴領域候補50を料理画像30内で右方向に1画素ずつ移動させる。
なお、特徴領域候補50の設定方法は上記に説明した例に限られない。例えば、第1領域設定部40Aは、特徴領域候補50の左下画素が料理画像30の左下画素(0,H−1)と一致するようにして、特徴領域候補50の初期位置を設定するようにしてもよい。また例えば、第1領域設定部40Aは、特徴領域候補50の右上画素が料理画像30の右上画素(W−1,0)と一致するようにして、特徴領域候補50の初期位置を設定するようにしてもよい。
第1算出部42Aは、第1領域設定部40Aによって設定される複数の特徴領域候補50の各々について、該特徴領域候補50内の画素のエッジ量の合計値を算出する。ここで、「エッジ」とは、対象画像中で色が変化する度合いのことを意味しており、「画素のエッジ量」とは、画素と該画素の周辺画素との間の色相の差に関する量である。
画素のエッジ量を算出するための手法としては公知の手法を用いることができる。例えば、Sobelフィルタを用いることができる。画素(x,y)における画素値をIx,yとした場合、画素(x,y)のエッジ量Sx,yは下記式(1)〜(3)によって算出される。
なお、各画素の画素値Iは、各画素のRGB値をYCBCR値に変換することによって取得される。RGB値からYCBCR値への変換は下記式(4)によって行われる。ここでは、画素と該画素の周辺画素との間の色相の差に関する量を「画素のエッジ量」として用いるため、各画素のCB,CR値に基づいて各画素の画素値Iが算出される。例えば下記式(5)によって各画素の画素値Iが算出される。
以上のようにして算出された対象画像の各画素のエッジ量Sに基づいて、第1算出部42Aは、特徴領域候補50内の画素のエッジ量Sの合計値Tを算出する。下記式(6)は上記合計値Tを算出するための式である。下記式(6)は、左上画素が(i,j)であり、かつ、高さ及び幅がh,wである長方形領域又は正方形領域の上記合計値Tを算出するための式である。左上画素が(i,j)である特徴領域候補50内の画素のエッジ量Sの合計値Tを算出する場合、第1算出部42Aは、特徴領域候補50の高さ(ha)及び幅(wa)を下記式(6)の「h」及び「w」に代入することによって合計値Tを算出する。
特徴領域検出部44は、複数の特徴領域候補50の各々の上記合計値Tに基づいて、対象画像の特徴領域を検出する。例えば、特徴領域検出部44は、複数の特徴領域候補50の各々の上記合計値Tに基づいて、該複数の特徴領域候補50のうちのいずれかを特徴領域として検出する。
図8は特徴領域検出部44について説明するための図である。例えば、特徴領域検出部44は、複数の特徴領域候補50のうちで、上記合計値Tが最大である特徴領域候補50を特徴領域60として検出する。なお、上記合計値Tが最大である長方形領域又は正方形領域の左上画素(px,py)は下記式(7)及び(8)によって示される。
以上で、第1領域設定部40A、第1算出部42A、及び特徴領域検出部44の動作についての説明を終了する。
図6に示すように、領域設定部40は第2領域設定部40Bを含み、算出部42は第2算出部42Bを含む。第2領域設定部40B及び第2算出部42Bは注釈情報表示領域決定部46のための機能ブロックである。注釈情報表示領域決定部46は、注釈情報を表示するための領域を決定する。
第2領域設定部40B、第2算出部42B、及び注釈情報表示領域決定部46の動作について説明する。
第2領域設定部40Bは、注釈情報の表示領域を決定するための複数の第2領域を対象画像内に設定する。なお、以下では、説明の簡便のため、第2領域設定部40Bによって設定される第2領域のことを「表示領域候補」と呼ぶ。
図9は表示領域候補について説明するための図である。表示領域候補70は、特徴領域候補50とは異なる大きさを有する。一般的に、注釈情報を表示するために必要な領域の大きさは対象画像の特徴領域の大きさに比べて小さいため、表示領域候補70は特徴領域候補50よりも小さく設定される。例えば、表示領域候補70は長方形領域又は正方形領域である。表示領域候補70の大きさは注釈情報に基づいて設定される。すなわち、表示領域候補70の高さ(hb)及び幅(wb)は、注釈の長さ、表示サイズや、書字方向に基づいて設定される。なお、表示領域候補70の大きさは予め定められた大きさに設定されるようにしてもよい。
表示領域候補70は特徴領域候補50と同様にして設定される。すなわち、第2領域設定部40Bは、対象画像(料理画像30)内の一部領域を表示領域候補70として設定し、表示領域候補70を対象画像内で縦又は/及び横に移動させることによって、複数の表示領域候補70を設定する。
例えば図9(A)に示すように、第2領域設定部40Bは、表示領域候補70の左上画素が料理画像30の左上画素(0,0)と一致するようにして、表示領域候補70の初期位置を設定する。そして、第2領域設定部40Bは、表示領域候補70の右側境界線72Rが料理画像30の右辺32Rと一致するまで、表示領域候補70を料理画像30内で右方向に1画素ずつ移動させる。
表示領域候補70の右側境界線72Rが料理画像30の右辺32Rと一致したら、図9(B)に示すように、第2領域設定部40Bは、表示領域候補70を料理画像30内で下方向に1画素移動させ、かつ、表示領域候補70の左側境界線72Lが料理画像30の左辺32Lと一致するように表示領域候補70を設定する。この場合、表示領域候補70の左上画素が料理画像30の左上画素(0,1)と一致するような位置に表示領域候補70は設定されることになる。そして、第2領域設定部40Bは、表示領域候補70の右側境界線72Rが料理画像30の右辺32Rと一致するまで、表示領域候補70を料理画像30内で右方向に1画素ずつ移動させる。
第2領域設定部40Bは以上のような処理を繰り返す。最終的に、第2領域設定部40Bは、図9(C)に示すように、表示領域候補70の左側境界線72Lが料理画像30の左辺32Lと一致し、かつ、表示領域候補70の下側境界線72Dが料理画像30の下辺32Dと一致するような位置に表示領域候補70を設定する。すなわち、表示領域候補70の左上画素が料理画像30の左上画素(0,H−hb−1)と一致するような位置に表示領域候補70は設定される。そして、この場合にも、第2領域設定部40Bは、表示領域候補70の右側境界線72Rが料理画像30の右辺32Rと一致するまで、表示領域候補70を料理画像30内で右方向に1画素ずつ移動させる。
なお、表示領域候補70の設定方法は上記に説明した例に限られない。例えば、第2領域設定部40Bは、表示領域候補70の左下画素が料理画像30の左下画素(0,H−1)と一致するようにして、表示領域候補70の初期位置を設定するようにしてもよい。また例えば、第2領域設定部40Bは、表示領域候補70の右上画素が料理画像30の右上画素(W−1,0)と一致するようにして、表示領域候補70の初期位置を設定するようにしてもよい。
第2算出部42Bは、第2領域設定部40Bによって設定される複数の表示領域候補70の各々について、該表示領域候補70内の画素のエッジ量の合計値を算出する。上記式(1)〜(5)に基づいて算出された対象画像(料理画像30)の各画素のエッジ量Sに基づいて、第2算出部42Bは、表示領域候補70内の画素のエッジ量Sの合計値Tを算出する。表示領域候補70の上記合計値Tは、特徴領域候補50の上記合計値Tを算出する場合と同様にして算出される。すなわち、表示領域候補70の上記合計値Tは上記式(6)によって算出される。
注釈情報表示領域決定部46は、複数の特徴領域候補50の各々の上記合計値Tと、複数の表示領域候補70の各々の上記合計値Tと、に基づいて、注釈情報の表示領域を決定する。例えば、注釈情報表示領域決定部46は、特徴領域検出部44によって検出された特徴領域と、複数の表示領域候補70の各々の上記合計値Tと、に基づいて、注釈情報の表示領域を決定する。
例えば、注釈情報表示領域決定部46は、特徴領域外にある表示領域候補70(すなわち、特徴領域に含まれていない表示領域候補70)のうちで、上記合計値Tが最も小さい表示領域候補70を、注釈情報の表示領域として決定する。例えば図10に示す表示領域候補70が、特徴領域60外にある表示領域候補70のうちで、上記合計値Tが最も小さい表示領域候補70である場合、図10に示す表示領域候補70が注釈情報の表示領域80として決定される。
なお、注釈情報表示領域決定部46の動作は上記に説明した例に限られない。すなわち、注釈情報の表示領域の決定方法は上記に説明した例に限られない。注釈情報表示領域決定部46の動作の詳細については後述する(図13のステップS310参照)。
データ出力部48は、注釈情報表示領域決定部46によって決定された表示領域に注釈情報が表示された対象画像のデータを出力する。
例えば、データ出力部48は、注釈情報表示領域決定部46によって決定された表示領域に注釈情報が表示された対象画像のデータ(図3参照)を表示部16に表示させる。あるいは、データ出力部48は、注釈情報表示領域決定部46によって決定された表示領域に注釈情報が表示された対象画像のデータ(図3参照)を生成し、該データを記憶部12又はデータベースに出力(保存)する。
上記に説明した機能ブロックを実現するために画像処理装置10で実行される処理について説明する。図11は、注釈情報が対象画像内に表示された対象画像のデータを出力するために画像処理装置10で実行される処理の一例を示すフロー図である。制御部11が図11に示す処理をプログラムに従って実行することによって、制御部11が領域設定部40、算出部42、特徴領域検出部44、注釈情報表示領域決定部46、及びデータ出力部48として機能するようになる。
図11に示すように、まず、制御部11は対象画像及び注釈情報をデータベース20から取得する(S101)。また、制御部11は対象画像の各画素のエッジ量を上記式(1)〜(5)に基づいて算出する(S102)。
そして、制御部11は対象画像の特徴領域を検出する処理を実行する(S103)。図12は、対象画像の特徴領域を検出する処理の一例を示すフロー図である。
図12に示すように、まず、制御部11は変数i,px,py,Emaxをそれぞれ零に初期化する(S201)。そして、制御部11は、左上画素が(i,j)であり、かつ、高さ及び幅がha,waである特徴領域候補50の評価値Eを算出する(S202)。制御部11は、特徴領域候補50内の画素のエッジ量の合計値Tを上記式(6)によって算出し、該合計値Tを評価値Eとして取得する。この場合、上記式(6)の「h」,「w」には特徴領域候補50の高さ(ha)及び幅(wa)が代入される。
ステップS202の処理が実行された後、制御部11は、ステップS202で算出された評価値Eが変数Emaxよりも大きいか否かを判定する(S203)。評価値Eが変数Emaxよりも大きい場合、制御部11はステップS202で算出された評価値Eを変数Emaxにセットする(S204)。また、制御部11は変数i,jを変数px,pyにそれぞれセットする(S205)。ステップS203〜S205の処理によって、変数Emaxは評価値Eの最大値を示し、変数px,pyは評価値Eが最大値となる場合の変数i,jの値を示すことになる。
ステップS204,S205の処理が実行された場合、又はステップS203において評価値Eが変数Emaxよりも大きくないと判定された場合、制御部11は変数iに1を加算する(S206)。そして、制御部11は、変数iが値(W−wa−1)以下であるか否かを判定する(S207)。
変数iが値(W−wa−1)以下である場合、制御部11はステップS202の処理を再実行する。一方、変数iが値(W−wa−1)以下でない場合、制御部11は変数jに1を加算する(S208)。そして、制御部11は、変数jが値(H−ha−1)以下であるか否かを判定する(S209)。
変数jが値(H−ha−1)以下である場合、制御部11は変数iを零に初期化し(S210)、ステップS202の処理を再実行する。一方、変数jが値(H−ha−1)以下でない場合、制御部11は、左上画素が(px,py)であり、かつ、高さ及び幅がha,waである特徴領域候補50を対象画像の特徴領域として決定する(S211)。以上で図12に示す処理は完了する。
図11のステップS103の処理(すなわち、図12に示す処理)が実行された後、制御部11は注釈情報の表示領域を決定する処理を実行する(S104)。図13は、注釈情報の表示領域を検出する処理の一例を示すフロー図である。
図13に示すように、まず、制御部11は変数i,jをそれぞれ零に初期化する(S301)。さらに、制御部11は、注釈情報の表示領域候補70の高さ(hb)及び幅(wb)を決定する(S302)。
その後、制御部11は、左上画素が(i,j)であり、かつ、幅及び高さがwb及びhbである表示領域候補70の評価値Eを算出する(S303)。制御部11は、表示領域候補70内の画素のエッジ量の合計値Tを上記式(6)によって算出し、該合計値Tを評価値Eとして取得する。この場合、上記式(6)の「h」,「w」には表示領域候補70の高さ(hb)及び幅(wb)が代入される。
そして、制御部11は、ステップS303における算出結果を保存する(S304)。具体的には、制御部11は、表示領域候補70を示す情報と、評価値Eと、の組み合わせを記憶部12に保存する。このステップS304の処理が実行されることによって、例えば図14に示すような表示領域候補データが記憶部12に生成される。図14に示す表示領域候補データは、表示領域候補70の左上画素と、評価値Eと、の組み合わせを示すデータになっている。
ステップS304の処理が実行された後、制御部11は変数iに1を加算する(S305)。そして、制御部11は、変数iが値(W−wb−1)以下であるか否かを判定する(S306)。
変数iが値(W−wb−1)以下である場合、制御部11はステップS303の処理を再実行する。一方、変数iが値(W−wb−1)以下でない場合、制御部11は変数jに1を加算する(S307)。そして、制御部11は、変数jが値(H−hb−1)以下であるか否かを判定する(S308)。
変数jが値(H−hb−1)以下である場合、制御部11は変数iを零に初期化し(S309)、ステップS303の処理を再実行する。一方、変数jが値(H−hb−1)以下でない場合、制御部11は注釈情報の表示領域を決定する(S310)。例えば、制御部11は、表示領域候補データに基づいて、いずれかの表示領域候補70を注釈情報の表示領域として決定する。
ここで、ステップS310で実行される処理の例について説明する。以下では五つの例について説明する。
[例1]例えば、制御部11は、下記条件(A)を満足する表示領域候補70のうちで、評価値Eが最小である表示領域候補70を注釈情報の表示領域として決定する。
(A)表示領域候補70が対象画像の特徴領域に含まれていない。
この場合、対象画像の特徴領域を避けるようにして、注釈情報の表示領域が決定されるようになる。また、注釈情報の表示領域が、対象画像内の、エッジ量が低い部分に設定されるようになる。すなわち、注釈情報の表示領域が、対象画像内の、色相の変化の小さい部分に設定されるようになる。
[例2]例えば、制御部11は、下記条件(A)及び(B)の両方を満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(A)表示領域候補70が対象画像の特徴領域に含まれていない。
(B)表示領域候補70の評価値Eが基準値よりも小さい。
例えば、制御部11は、上記条件(A)及び(B)の両方を満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。または、制御部11は、上記条件(A)及び(B)の両方を満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
この場合にも、対象画像の特徴領域を避けるようにして、注釈情報の表示領域が決定されるようになる。また、注釈情報の表示領域が、対象画像内の、エッジ量が低い部分に設定されるようになる。すなわち、注釈情報の表示領域が、対象画像内の、色相の変化の小さい部分に設定されるようになる。
あるいは、制御部11は、上記条件(A)及び(B)の両方を満足する表示領域候補70のうちで、特徴領域からの距離が最も小さい表示領域候補70を注釈情報の表示領域として決定する。この場合、特徴領域に近い位置に注釈情報の表示領域が決定されるようになる。
なお、「特徴領域からの距離」とは、例えば、特徴領域の代表点(例えば重心)から表示領域候補70の代表点(重心)までの距離である。または、「特徴領域からの距離」とは、例えば、特徴領域の境界線から表示領域候補70の境界線までの距離(最短距離)である。あるいは、「特徴領域からの距離」とは、例えば、特徴領域の境界線から表示領域候補70の代表点までの距離であってもよいし、特徴領域の代表点から表示領域候補70の境界線までの距離であってもよい。
[例3]例えば、制御部11は、下記条件(A)〜(C)のすべてを満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(A)表示領域候補70が対象画像の特徴領域に含まれていない。
(B)表示領域候補70の評価値Eが基準値よりも小さい。
(C)対象画像の特徴領域から表示領域候補70までの距離が基準距離よりも小さい。
例えば、制御部11は、上記条件(A)〜(C)のすべてを満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記条件(A)〜(C)のすべてを満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
[例4]例えば、制御部11は、下記条件(A),(B),及び(D)のすべてを満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(A)表示領域候補70が対象画像の特徴領域に含まれていない。
(B)表示領域候補70の評価値Eが基準値よりも小さい。
(D)表示領域候補70に関する色情報と注釈情報の表示色情報との相性が良い。
ここで、「表示領域候補70に関する色情報」とは、例えば、表示領域候補70内の画素の色値の平均である。あるいは、「表示領域候補70に関する色情報」とは、例えば、表示領域候補70内の画素の色のうちで最も多い色である。一方、「注釈情報の表示色情報」とは注釈の表示色である。
記憶部12又はデータベース20には、色の模範組み合わせ(すなわち、相性が良い色の組み合わせ)に関する情報が記憶されている。制御部11はこの情報を参照し、表示領域候補70に関する色情報と、注釈情報の表示色情報と、の相性が良いか否かを判定する。すなわち、制御部11は、表示領域候補70に関する色情報と、注釈情報の表示色情報と、の組み合わせが上記の情報が示す組み合わせのいずれかに合致しているか否かを判定する。
例えば、制御部11は、上記条件(A),(B),及び(D)のすべてを満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記条件(A),(B),及び(D)のすべてを満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
あるいは、制御部11は、上記条件(A),(B),及び(D)のすべてを満足する表示領域候補70のうちで、特徴領域からの距離が最も小さい表示領域候補70を注釈情報の表示領域として決定する。
以上に説明した例4の場合、表示領域候補70の色と、注釈の表示色と、を考慮して、見易い位置に注釈情報が表示されるようになる。
[例5]例えば、制御部11は、下記条件(A)〜(D)のすべてを満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(A)表示領域候補70が対象画像の特徴領域に含まれていない。
(B)表示領域候補70の評価値Eが基準値よりも小さい。
(C)対象画像の特徴領域から表示領域候補70までの距離が基準距離よりも小さい。
(D)表示領域候補70に関する色情報と注釈情報の表示色情報との相性が良い。
例えば、制御部11は、上記条件(A)〜(D)のすべてを満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記条件(A)〜(D)のすべてを満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
図11のステップS104の処理(すなわち、図13に示す処理)が実行された後、制御部11は、ステップS104で決定された表示領域に注釈情報が表示されてなる対象画像のデータを出力する(S105)。例えば、制御部11は上記のデータを表示部16に表示する。また例えば、制御部11は上記のデータを記憶部12又はデータベース20に出力(保存)する。
以上説明した第1実施形態に係る画像処理装置10によれば、対象画像の特徴領域を人間に指定させることなく、対象画像の特徴領域が検出される。すなわち、第1実施形態に係る画像処理装置10によれば、対象画像内の、エッジ量が高い部分が特徴領域として検出される。つまり、対象画像内の、色相の変化の大きい部分が特徴領域として検出される。例えば、テーブル等の上に置かれた食器に盛り付けられた料理を写した料理画像30の場合、料理が写っている部分では、他の部分(例えばテーブルが写っている部分等)と比較して、色相の変化が大きくなる。このため、第1実施形態に係る画像処理装置10によれば、料理が写っている部分が特徴領域として検出される。
さらに、第1実施形態に係る画像処理装置10によれば、特徴領域を考慮して、注釈情報の表示領域が設定される。例えば、注釈情報の表示領域を人間に指定させることなく、注釈情報の表示領域を、対象画像の特徴領域を避けるようにして設定することが可能になる。
ところで、以上では、一つの注釈情報が一つの対象画像に関連づけられている場合について説明した。しかしながら、複数の注釈情報が一つの対象画像に関連づけられていてもよい。図15は、複数の注釈情報が一つの対象画像に関連づけられている場合について説明するための図である。図15に示す例は、第1の注釈情報と、第2の注釈情報と、第3の注釈情報とが一つの対象画像に関連づけられている場合を想定している。
複数の注釈情報が一つの対象画像に関連づけられている場合には、図11のステップS104の処理(すなわち、図13に示す処理)が注釈情報ごとに実行される。その結果、注釈情報ごとに表示領域が決定される。図15に示す例では、第1の注釈情報の表示領域80Aと、第2の注釈情報の表示領域80Bと、第3の注釈情報の表示領域80Cとが特徴領域60外に決定されている。なお以下では、表示領域80A,80B,80Cを総称して「表示領域80」と記載する場合がある。
この場合、表示領域80A,80B,80Cはお互いに重なることがないようにして決定される。より好ましくは、表示領域80A,80B,80Cはお互いに基準距離以上離れるようにして決定される。
例えば、第1の注釈情報の表示領域80Aが最初に決定された後に第2の注釈情報の表示領域80Bが決定される場合には、第1の注釈情報の表示領域80Aからの距離が基準距離よりも大きい表示領域候補70が第2の注釈情報の表示領域80Bとして決定される。
さらに、第2の注釈情報の表示領域80Bが決定された後に第3の注釈情報の表示領域80Cが決定される場合には、第1の注釈情報の表示領域80Aからの距離が基準距離よりも大きく、かつ、第2の注釈情報の表示領域80Bからの距離も基準距離よりも大きい表示領域候補70が第3の注釈情報の表示領域80Cとして決定される。
なお、以上では、複数の注釈情報が一つの対象画像に関連づけられている場合にすべての注釈情報を表示することとして説明したが、一部の注釈情報のみを表示するようにしてもよい。例えば、互いに類似する内容を有する注釈情報が一つの対象画像に関連づけられている場合もある。このような場合には、一部の注釈情報のみを表示するようにしてもよい。
この場合、対象画像に表示する注釈情報(すなわち、表示対象の注釈情報)を、複数の注釈情報のうちから、各注釈情報の表示領域に基づいて選択するようにしてもよい。
ここで、第1の注釈情報と、第2の注釈情報と、第3の注釈情報とが一つの対象画像に関連づけられており、これらの表示領域80として図15に示すような表示領域80A,80B,80Cが決定された場合を想定する。また、第1の注釈情報と、第2の注釈情報と、第3の注釈情報とのうちのいずれか一つを表示対象として選択する場合を想定する。
このような場合における表示対象の選択方法の例について説明する。ここでは二つの例について説明する。
[例1]例えば、制御部11は、表示対象として、第1の注釈情報と、第2の注釈情報と、第3の注釈情報とのうちのいずれか一つを、各注釈情報の表示領域と特徴領域との間の距離に基づいて選択する。より具体的には、制御部11は、表示領域80A,80B,80Cのうちで、特徴領域60からの距離が最も小さい表示領域80に対応する注釈情報を表示対象として選択する。
ここで、「特徴領域60からの距離」とは、特徴領域60の代表点(例えば重心)と表示領域80の代表点(例えば重心)との間の距離である。または、「特徴領域60からの距離」とは、特徴領域60の境界線と表示領域80の境界線との間の距離である。あるいは、「特徴領域60からの距離」とは、特徴領域60の代表点と表示領域80の境界線との間の距離であってもよいし、特徴領域60の境界線と表示領域80の代表点との間の距離であってもよい。
図15に示す例の場合、表示領域80Aが特徴領域60に最も近いため、表示領域80Aに対応する第1の注釈情報が表示対象として選択される。この場合、第1の注釈情報のみが表示されることになり、第2の注釈情報及び第3の注釈情報は表示されないことになる。
[例2]例えば、制御部11は、表示対象として、第1の注釈情報と、第2の注釈情報と、第3の注釈情報とのうちのいずれか一つを、注釈情報の表示領域に関する色情報と、注釈情報の表示色情報と、の組み合わせに基づいて選択する。言い換えれば、制御部11は、表示対象として、第1の注釈情報と、第2の注釈情報と、第3の注釈情報とのうちのいずれか一つを、注釈情報の表示領域に関する色情報と、注釈情報の表示色情報と、の相性の良さに基づいて選択する。
ここで、「注釈情報の表示領域に関する色情報」とは、例えば、注釈情報の表示領域として決定された対象画像内の領域内の画素の色値の平均である。あるいは、「注釈情報の表示領域に関する色情報」とは、例えば、注釈情報の表示領域として決定された対象画像内の領域内の画素の色のうちで最も多い色である。一方、「注釈情報の表示色情報」とは注釈の表示色である。
記憶部12又はデータベース20には、色の模範組み合わせ(すなわち、相性が良い色の組み合わせ)に関する情報が記憶されている。制御部11はこの情報を参照し、注釈情報の表示領域に関する色情報と、注釈情報の表示色情報と、の相性が良いか否かを判定する。すなわち、制御部11は、注釈情報の表示領域に関する色情報と、注釈情報の表示色情報と、の組み合わせが上記の情報が示す組み合わせのいずれかに合致しているか否かを判定する。
ここで、例えば、下記のような場合を想定する。
・第1の注釈情報の表示領域80Aに関する色情報と、第1の注釈情報の表示色情報と、の相性が良い。
・第2の注釈情報の表示領域80Bに関する色情報と、第2の注釈情報の表示色情報と、の相性が良くない。
・第3の注釈情報の表示領域80Cに関する色情報と、第3の注釈情報の表示色情報と、の相性も良くない。
上記のような場合には第1の注釈情報が表示対象として選択される。この場合、第1の注釈情報のみが表示されることになり、第2の注釈情報と第3の注釈情報とは表示されないことになる。
また例えば、下記のような場合を想定する。
・第1の注釈情報の表示領域80Aに関する色情報と、第1の注釈情報の表示色情報と、の相性が良い。
・第2の注釈情報の表示領域80Bに関する色情報と、第2の注釈情報の表示色情報と、の相性も良い。
・第3の注釈情報の表示領域80Cに関する色情報と、第3の注釈情報の表示色情報と、の相性が良くない。
上記のような場合には、第1の注釈情報と第2の注釈情報とのいずれか一方が表示対象として選択される。例えば、第1の注釈情報と第2の注釈情報とのいずれか一方が表示対象としてランダムに選択される。または、第1の注釈情報と第2の注釈情報とのうちで、表示領域80が特徴領域60により近い方が表示対象として選択される。あるいは、第1の注釈情報と第2の注釈情報との両方が表示対象として選択されるようにしてもよい。
[第2実施形態]本発明の第2実施形態について説明する。本発明の第2実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第2実施形態に係る画像処理装置10では、対象画像の特徴領域をトリミングすることによって、対象画像の特徴部分を示すトリミング画像(例えばサムネイル画像)が生成される。さらに、第2実施形態に係る画像処理装置10では、注釈情報がトリミング画像内に表示される。この点で第2実施形態に係る画像処理装置10は第1実施形態と異なる。
図16は、第2実施形態に係る画像処理装置10で生成されるトリミング画像の一例を示す。第2実施形態に係る画像処理装置10では、対象画像の特徴領域をトリミングすることによって生成されるトリミング画像90内に注釈情報32が表示される。
第2実施形態に係る画像処理装置10では、図13のステップS310において下記に説明するような処理が実行される。以下では、ステップS310において実行される処理の例として五つの例について説明する。
[例1]例えば、制御部11は、下記条件(a)を満足する表示領域候補70のうちで、評価値Eが最小である表示領域候補70を注釈情報の表示領域として決定する。
(a)表示領域候補70が対象画像の特徴領域に含まれている。
[例2]例えば、制御部11は、下記条件(a)及び(b)の両方を満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(a)表示領域候補70が対象画像の特徴領域に含まれている。
(b)表示領域候補70の評価値Eが基準値よりも小さい。
例えば、制御部11は、上記条件(a)及び(b)の両方を満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。または、制御部11は、上記条件(a)及び(b)の両方を満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
あるいは、制御部11は、上記条件(a)及び(b)の両方を満足する表示領域候補70のうちで、特徴領域の境界線からの距離が最も小さい表示領域候補70を注釈情報の表示領域として決定する。ここで、「特徴領域の境界線からの距離」とは、例えば、特徴領域の境界線から表示領域候補70の境界線までの距離であってもよいし、特徴領域の境界線から表示領域候補70の代表点(例えば重心)までの距離であってもよい。
[例3]例えば、制御部11は、下記条件(a)〜(c)のすべてを満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(a)表示領域候補70が対象画像の特徴領域に含まれている。
(b)表示領域候補70の評価値Eが基準値よりも小さい。
(c)対象画像の特徴領域の境界線から表示領域候補70までの距離が基準距離よりも小さい。
例えば、制御部11は、上記条件(a)〜(c)のすべてを満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記条件(a)〜(c)のすべてを満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
[例4]例えば、制御部11は、下記条件(a),(b),及び(d)のすべてを満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(a)表示領域候補70が対象画像の特徴領域に含まれている。
(b)表示領域候補70の評価値Eが基準値よりも小さい。
(d)表示領域候補70に関する色情報と注釈情報の表示色情報との相性が良い。
例えば、制御部11は、上記条件(a),(b),及び(d)のすべてを満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記条件(a),(b),及び(d)のすべてを満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
あるいは、制御部11は、上記条件(a),(b),及び(d)のすべてを満足する表示領域候補70のうちで、特徴領域の境界線からの距離が最も小さい表示領域候補70を注釈情報の表示領域として決定する。
[例5]例えば、制御部11は、下記条件(a)〜(d)のすべてを満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
(a)表示領域候補70が対象画像の特徴領域に含まれている。
(b)表示領域候補70の評価値Eが基準値よりも小さい。
(c)対象画像の特徴領域の境界線から表示領域候補70までの距離が基準距離よりも小さい。
(d)表示領域候補70に関する色情報と注釈情報の表示色情報との相性が良い。
例えば、制御部11は、上記条件(a)〜(d)のすべてを満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記条件(a)〜(d)のすべてを満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
なお、第1実施形態と同様、第2実施形態に係る画像処理装置10においても、複数の注釈情報が一つの対象画像に関連づけられていてもよい。複数の注釈情報が一つの対象画像に関連づけられている場合には、図11のステップS104の処理(すなわち、図13に示す処理)が注釈情報ごとに実行されることになる。
また、第1実施形態と同様、一つの対象画像に関連づけられた複数の注釈情報のうちの一部の注釈情報のみが表示されるようにしてもよい。
[第3実施形態]本発明の第3実施形態について説明する。本発明の第3実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第3実施形態に係る画像処理装置10では、対象画像の特徴領域を検出することなく、注釈情報の表示領域が決定されるようになっている。この点で第3実施形態に係る画像処理装置10は第1実施形態とは異なる。
第3実施形態に係る画像処理装置10で実現される機能ブロックについて、図6を参照しながら説明する。第3実施形態に係る画像処理装置10では、第1領域設定部40A、第1算出部42A、及び特徴領域検出部44が省略される。すなわち、第3実施形態に係る画像処理装置10には、第1領域設定部40A、第1算出部42A、及び特徴領域検出部44が含まれず、第2領域設定部40B、第2算出部42B、及び注釈情報表示領域決定部46が含まれる。第2領域設定部40B及び第2算出部42Bの動作は第1実施形態と同様であるため、ここでは説明を省略する。
第3実施形態の場合、注釈情報表示領域決定部46は、第2領域設定部40Bによって設定される複数の表示領域候補70の各々の上記合計値Tに基づいて、注釈情報の表示領域を決定する。
例えば、注釈情報表示領域決定部46は、上記合計値Tが最も小さい表示領域候補70を注釈情報の表示領域として決定する。
また例えば、注釈情報表示領域決定部46は、上記合計値Tが基準値よりも小さい表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
第3実施形態に係る画像処理装置10で実行される処理について、図11,13を参照しながら説明する。第3実施形態に係る画像処理装置10では、図11のステップS103の処理が省略される。すなわち、特徴領域を検出するための処理が省略される。
また、第3実施形態に係る画像処理装置10では、図13のステップS310において下記に説明するような処理が実行される。以下では、ステップS310で実行される処理の例として三つの例について説明する。
[例1]例えば、制御部11は、複数の表示領域候補70のうちで、評価値Eが最小である表示領域候補70を注釈情報の表示領域として決定する。
[例2]例えば、制御部11は、評価値Eが基準値よりも小さい表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
例えば、制御部11は、評価値Eが基準値よりも小さい表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。または、制御部11は、評価値Eが基準値よりも小さい表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
[例3]例えば、制御部11は、下記の二つの条件の両方を満足する表示領域候補70のうちのいずれかを注釈情報の表示領域として決定する。
・表示領域候補70の評価値Eが基準値よりも小さい。
・表示領域候補70に関する色情報と注釈情報の表示色情報との相性が良い。
ここで、「表示領域候補70に関する色情報」とは、例えば、表示領域候補70内の画素の色値の平均である。あるいは、「表示領域候補70に関する色情報」とは、例えば、表示領域候補70内の画素の色のうちで最も多い色である。一方、「注釈情報の表示色情報」とは注釈の表示色である。
記憶部12又はデータベース20には、色の模範組み合わせ(すなわち、相性が良い色の組み合わせ)に関する情報が記憶されている。制御部11はこの情報を参照し、表示領域候補70に関する色情報と、注釈情報の表示色情報と、の相性が良いか否かを判定する。すなわち、制御部11は、表示領域候補70に関する色情報と、注釈情報の表示色情報と、の組み合わせが上記の情報が示す組み合わせのいずれかに合致しているか否かを判定する。
例えば、制御部11は、上記の二つの条件の両方を満足する表示領域候補70のうちのいずれかをランダムに選択し、該表示領域候補70を注釈情報の表示領域として決定する。あるいは、制御部11は、上記の二つの条件の両方を満足する表示領域候補70のうちの、最初に見つかった表示領域候補70を注釈情報の表示領域として決定する。
以上説明した第3実施形態に係る画像処理装置10によれば、注釈情報の表示領域が対象画像内の、エッジ量が低い部分に設定される。すなわち、注釈情報の表示領域が対象画像内の、色相の変化の小さい部分に設定される。例えば、テーブル等の上に置かれた食器に盛り付けられた料理を写した料理画像30の場合、料理が写っている部分では、他の部分(例えばテーブルが写っている部分等)と比較して、色相の変化が大きくなる。このため、第2実施形態に係る画像処理装置10によれば、料理が写っている部分を避けるようにして、注釈情報の表示領域が設定されるようになる。
なお、第1実施形態と同様、第3実施形態に係る画像処理装置10においても、複数の注釈情報が一つの対象画像に関連づけられていてもよい。複数の注釈情報が一つの対象画像に関連づけられている場合には、図11のステップS104の処理(すなわち、図13に示す処理)が注釈情報ごとに実行されることになる。
また、第1実施形態と同様、一つの対象画像に関連づけられた複数の注釈情報のうちの一部の注釈情報のみが表示されるようにしてもよい。
[第4実施形態]本発明の第4実施形態について説明する。第4実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第4実施形態に係る画像処理装置10では、複数の表示領域候補70が設定されることなく、注釈情報の表示領域が決定されるようになっている。この点で第4実施形態に係る画像処理装置10は第1実施形態とは異なる。
第4実施形態に係る画像処理装置10で実現される機能ブロックについて、図6を参照しながら説明する。第4実施形態に係る画像処理装置10では、第2領域設定部40B及び第2算出部42Bが省略される。すなわち、第4実施形態に係る画像処理装置10には、第2領域設定部40B及び第2算出部42Bが含まれず、第1領域設定部40A、第1算出部42A、特徴領域検出部44、及び注釈情報表示領域決定部46が含まれる。なお、第1領域設定部40A、第1算出部42A、及び特徴領域検出部44の動作は第1実施形態と同様であるため、ここでは説明を省略する。
第4実施形態の場合、注釈情報表示領域決定部46は、第1領域設定部40Aによって設定される複数の特徴領域候補50の各々の上記合計値Tに基づいて、注釈情報の表示領域を決定する。
例えば、注釈情報表示領域決定部46は、特徴領域検出部44によって検出された特徴領域に基づいて、注釈情報の表示領域を決定する。例えば、注釈情報表示領域決定部46は、特徴領域検出部44によって検出された特徴領域以外の領域に、注釈情報の表示領域を設定する。
第4実施形態に係る画像処理装置10で実行される処理について、図11を参照しながら説明する。第4実施形態に係る画像処理装置10では、図11のステップS104において、図13に示す処理の代わりに、下記に説明するような処理が実行される。すなわち、ステップS104において、制御部11は、ステップS103で検出された特徴領域以外の領域に注釈情報の表示領域を設定する。
以上説明した第4実施形態に係る画像処理装置10によっても、注釈情報の表示領域を人間に指定させることなく、注釈情報の表示領域を、対象画像の特徴領域を避けるようにして設定することが可能になる。
なお、以上では、対象画像の特徴部分を避けるようにして注釈情報を表示する場合について主に説明したが、対象画像の特徴部分に重ねて注釈情報を表示することも可能である。
また、第1実施形態と同様、第4実施形態に係る画像処理装置10においても、複数の注釈情報が一つの対象画像に関連づけられていてもよい。複数の注釈情報が一つの対象画像に関連づけられている場合には、これらの複数の注釈情報の各々の表示領域が特徴領域以外の領域に設定されることになる。
また、第1実施形態と同様、一つの対象画像に関連づけられた複数の注釈情報のうちの一部の注釈情報のみが表示されるようにしてもよい。
[第5実施形態]本発明の第5実施形態について説明する。第5実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第1実施形態、第2実施形態、及び第4実施形態では、図12のステップS202において、特徴領域候補50内の画素のエッジ量Sの合計値Tが上記式(6)によって算出され、該合計値Tが評価値Eとして取得されるようになっていた。また、上記式(7)及び(8)によって示される画素(px,py)が左上画素である特徴領域候補50が対象画像の特徴領域として決定されるようになっていた。
これに対し、第5実施形態に係る画像処理装置10では、図12のステップS202において、下記式(9)によって評価値Eが算出されるようになっている。なお、下記式(9)は、左上画素が(i,j)であり、かつ、高さ及び幅がh,wである長方形領域又は正方形領域の評価値Eを算出するための式である。下記式(9)において、「T」は上記式(6)によって算出されるものであり、「Tu」、「Td」、「Tl」、及び「Tr」は下記式(10)〜(13)によって算出されるものである。
第5実施形態に係る画像処理装置10では、図12のステップS202において、下記に説明するような処理が実行される。
まず、制御部11は、左上画素が(i,j)である特徴領域候補50の画素のエッジ量の合計値Tを算出する。この合計値Tは上記式(6)によって算出される。この場合、上記式(6)の「h」及び「w」には特徴領域候補50の高さ(ha)及び幅(wa)が代入される。
また、制御部11は、上記の特徴領域候補50の少なくとも一つの境界部分の画素のエッジ量の合計値を算出する。ここで、「少なくとも一つの境界部分」とは、特徴領域候補50の上側境界部分、下側境界部分、左側境界部分、及び右側境界部分のうちの少なくとも一つである。図17は、特徴領域候補50の上側境界部分、下側境界部分、左側境界部分、及び右側境界部分について説明するための図である。
上側境界部分54Uは、特徴領域候補50の上側境界線52Uに対応する画素行を含む1又は複数の画素行である。例えば、上側境界部分54Uは、特徴領域候補50の上側境界線52Uに対応する画素行である。すなわち、上側境界部分54Uは、画素(i,j)〜(i+wa−1,j)の画素行である。なお、上側境界部分54Uは、画素(i,j)〜(i+wa−1,j)の画素行から画素(i,j+n)〜(i+wa−1,j+n)の画素行までの複数の画素行であってもよい(n:1以上の自然数)。
同様に、下側境界部分54Dは、特徴領域候補50の下側境界線52Dに対応する画素行を含む1又は複数の画素行である。例えば、下側境界部分54Dは、特徴領域候補50の下側境界線52Dに対応する画素行である。すなわち、下側境界部分54Dは、画素(i,j+ha−1)〜(i+wa−1,j+ha−1)の画素行である。なお、下側境界部分54Dは、画素(i,j+ha−1)〜(i+wa−1,j+ha−1)の画素行から画素(i,j+ha−1−n)〜(i+wa−1,j+ha−1−n)の画素行までの複数の画素行であってもよい(n:1以上の自然数)。
また、左側境界部分54Lは、特徴領域候補50の左側境界線52Lに対応する画素列を含む1又は複数の画素列である。例えば、左側境界部分54Lは、特徴領域候補50の左側境界線52Lに対応する画素列である。すなわち、左側境界部分54Lは、画素(i,j)〜(i,j+ha−1)の画素列である。なお、左側境界部分54Lは、画素(i,j)〜(i,j+ha−1)の画素列から画素(i+n,j)〜(i+n,j+ha−1)の画素列までの複数の画素列であってもよい(n:1以上の自然数)。
同様に、右側境界部分54Rは、特徴領域候補50の右側境界線52Rに対応する画素列を含む1又は複数の画素列である。例えば、右側境界部分54Rは、特徴領域候補50の右側境界線52Rに対応する画素列である。すなわち、右側境界部分54Rは、画素(i+wa−1,j)〜(i+wa−1,j+ha−1)の画素列である。なお、右側境界部分54Rは、画素(i+wa−1,j)〜(i+wa−1,j+ha−1)の画素列から画素(i+wa−1−n,j)〜(i+wa−1−n,j+ha−1)の画素列までの複数の画素列であってもよい(n:1以上の自然数)。
なお、以下では、特徴領域候補50の上側境界線52Uに対応する画素行が上側境界部分54Uに相当し、下側境界線52Dに対応する画素行が下側境界部分54Dに相当することとして説明する。また、特徴領域候補50の左側境界線52Lに対応する画素列が左側境界部分54Lに相当し、右側境界線52Rに対応する画素列が右側境界部分54Rに相当することとして説明する。
図12のステップS202において、制御部11は、左上画素が(i,j)である特徴領域候補50の上側境界部分54Uの画素のエッジ量の合計値Tuを算出する。また、制御部11は、左上画素が(i,j)である特徴領域候補50の下側境界部分54Dの画素のエッジ量の合計値Tdを算出する。上記合計値Tuは上記式(10)によって算出され、上記合計値Tdは上記式(11)によって算出される。この場合、上記式(10)及び(11)のh及びwには特徴領域候補50の高さ(ha)及び幅(wa)が代入される。
さらに、制御部11は、左上画素が(i,j)である特徴領域候補50の左側境界部分54Lの画素のエッジ量の合計値Tlを算出する。また、制御部11は、左上画素が(i,j)である特徴領域候補50の右側境界部分54Rの画素のエッジ量の合計値Trを算出する。上記合計値Tlは上記式(12)によって算出され、上記合計値Trは上記式(13)によって算出される。この場合、上記式(12)及び(13)のh及びwには特徴領域候補50の高さ(ha)及び幅(wa)が代入される。
そして、制御部11は、左上画素が(i,j)である特徴領域候補50の評価値Eを上記式(9)によって算出する。すなわち、制御部11は、上記合計値Tを、上記合計値Tu,Td,Tl,Trの和で除することによって得られる除算値(T/(Tu+Td+Tl+Tr))を算出し、該除算値を評価値Eとして取得する。この場合、上記除算値が最も大きい特徴領域候補50が対象画像の特徴領域として検出されるようになる。
なお、制御部11は、上記除算値の逆数((Tu+Td+Tl+Tr)/T)を算出し、該逆数を評価値Eとして取得するようにしてもよい。この場合、上記逆数が最も小さい特徴領域候補50が対象画像の特徴領域として検出されるようにすればよい。
上記のような処理が実行される結果として、第5実施形態では、下記の式(14)及び(15)によって示される画素(px,py)が左上画素であり、かつ、高さ及び幅がh及びwである長方形又は正方形領域が特徴領域として検出されることになる。
以上説明した第5実施形態に係る画像処理装置10では、上記除算値(T/(Tu+Td+Tl+Tr))が最も大きい特徴領域候補50が特徴領域として検出される。上記除算値は、特徴領域候補50全体の画素のエッジ量の合計値Tが大きく、かつ、特徴領域候補50の上側境界部分54U、下側境界部分54D、左側境界部分54L、及び右側境界部分54Rの画素のエッジ量の合計値(Tu+Td+Tl+Tr)が小さい場合により大きくなる。特徴領域候補50全体の画素のエッジ量の合計値Tが大きく、かつ、特徴領域候補50の上側境界部分54U、下側境界部分54D、左側境界部分54L、及び右側境界部分54Rの画素のエッジ量の合計値(Tu+Td+Tl+Tr)が小さい場合とは、上側境界部分54U、下側境界部分54D、左側境界部分54L、及び右側境界部分54Rに比べて、中央部分の画素のエッジ量が大きい場合である。
第5実施形態に係る画像処理装置10によれば、対象画像内の、エッジ量が大きい部分が中央に位置するような領域が特徴領域として検出されるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するような領域が特徴領域として検出されるようになる。その結果、料理画像30内の、料理が写っている部分が中央に位置するような領域が特徴領域として検出されるようになる。
[第5実施形態の変形例1]図12のステップS202では、下記式(16)及び(17)によって評価値Eが算出されるようにしてもよい。下記式(16)は、対象画像が縦長の画像である場合に用いられる式であり、下記式(17)は、対象画像が横長の画像である場合に用いられる式である。また、下記式(16)及び(17)において、「T」は上記式(6)によって算出されるものであり、「Tu」、「Td」、「Tl」、及び「Tr」は上記式(10)〜(13)によって算出されるものである。
この変形例1の場合、図12のステップS202において、制御部11は対象画像が縦長の画像であるか否かを判定する。そして、対象画像が縦長の画像である場合、制御部11は上記式(16)によって評価値Eを算出する。すなわち、制御部11は、上記合計値Tを上記合計値Tu,Tdの和で除することによって得られる除算値(T/(Tu+Td))を算出し、該除算値を評価値Eとして取得する。この場合、上記除算値が最も大きい特徴領域候補50が対象画像の特徴領域として検出されるようになる。
なお、制御部11は、上記除算値の逆数((Tu+Td)/T)を算出し、該逆数を評価値Eとして取得するようにしてもよい。この場合、上記逆数が最も小さい特徴領域候補50を対象画像の特徴領域として検出するようにすればよい。
一方、対象画像が横長の画像である場合、制御部11は上記式(17)によって評価値Eを算出する。すなわち、制御部11は、上記合計値Tを上記合計値Tl,Trの和で除することによって得られる除算値(T/(Tl+Tr))を算出し、該除算値を評価値Eとして取得する。この場合、上記除算値が最も大きい特徴領域候補50が対象画像の特徴領域として検出されるようになる。
なお、制御部11は、上記除算値の逆数((Tl+Tr)/T)を算出し、該逆数を評価値Eとして取得するようにしてもよい。この場合、上記逆数が最も小さい特徴領域候補50を対象画像の特徴領域として検出するようにすればよい。
[第5実施形態の変形例2]図12のステップS202では、下記式(18)及び(19)によって評価値Eが算出されるようにしてもよい。下記式(18)は、対象画像が縦長の画像である場合に用いられる式であり、下記式(19)は、対象画像が横長の画像である場合に用いられる式である。また、下記式(18)及び(19)において、「T」は上記式(6)によって算出されるものであり、「Tu」、「Td」、「Tl」、及び「Tr」は上記式(10)〜(13)によって算出されるものである。
この変形例2の場合、図12のステップS202において、制御部11は対象画像が縦長の画像であるか否かを判定する。そして、対象画像が縦長の画像である場合、制御部11は上記式(18)によって評価値Eを算出する。すなわち、制御部11は、上記合計値Tを、上記合計値Tu,Tdのうちの大きい方で除することによって得られる除算値(T/max{Tu,Td})を算出し、該除算値を評価値Eとして取得する。この場合、上記除算値が最も大きい特徴領域候補50が対象画像の特徴領域として検出されるようになる。
なお、制御部11は、上記除算値の逆数(max{Tu,Td}/T)を算出し、該逆数を評価値Eとして取得するようにしてもよい。この場合、上記逆数が最も小さい特徴領域候補50を対象画像の特徴領域として検出するようにすればよい。
一方、対象画像が横長の画像である場合、制御部11は上記式(19)によって評価値Eを算出する。すなわち、制御部11は、上記合計値Tを、上記合計値Tl,Trのうちの大きい方で除することによって得られる除算値(T/max{Tl,Tr})を算出し、該除算値を評価値Eとして取得する。この場合、上記除算値が最も大きい特徴領域候補50が対象画像の特徴領域として検出されるようになる。
なお、制御部11は、上記除算値の逆数(max{Tl,Tr}/T)を算出し、該逆数を評価値Eとして取得するようにしてもよい。この場合、上記逆数が最も小さい特徴領域候補50を対象画像の特徴領域として検出するようにすればよい。
以上説明した変形例1,2によっても、対象画像内の、エッジ量が大きい部分が中央に位置するような領域が特徴領域として検出されるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するような領域が特徴領域として検出されるようになる。その結果、例えば、料理画像30内の、料理が写っている部分が中央に位置するような領域が特徴領域として検出されるようになる。
なお、以上では、特徴領域候補50の評価値Eを算出する場合について主に説明したが、表示領域候補70の評価値Eを算出する場合にも上記式(9),(16),(17),(18),又は(19)を用いるようにしてもよい。また、第2実施形態、第3実施形態、及び第4実施形態においても、上記式(9),(16),(17),(18),又は(19)が用いるようにしてもよい。
[第6実施形態]本発明の第6実施形態について説明する。第6実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第6実施形態に係る画像処理装置10では、図12のステップS202において、下記式(20)によって算出される重み付き合計値Tが、上記式(6)によって算出される合計値Tの代わりに算出される。なお、下記式(20)は、左上画素が(i,j)であり、かつ、高さ及び幅がh,wである長方形領域又は正方形領域の重み付き評価値Eを算出するための式である。また、下記式(20)において「G」は下記式(21)に示すガウス関数を示している。
上記式(20)ではガウス関数Gが各画素のエッジ量に対する重みの役割を果たしている。この場合、長方形領域(又は正方形領域)の中央部分の画素の重みが、長方形領域(又は正方形領域)の境界部分の画素の重みよりも高く設定されるようになる。このため、長方形領域(又は正方形領域)の中央部分の画素のエッジ量が大きいほど、重み付き合計値Tはより大きくなるようになっている。
第6実施形態に係る画像処理装置10では、図12のステップS202において、下記に説明するような処理が実行される。
すなわち、制御部11は、左上画素が(i,j)である特徴領域候補50の画素のエッジ量を重み付き合計値を算出する。この重み付き合計値Tは上記式(20)によって算出される。この場合、上記式(20)の「h」,「w」には特徴領域候補50の高さ(ha)及び幅(wa)が代入される。
制御部11は上記の重み付き合計値Tを評価値Eとして取得する。この場合、上記の重み付き合計値Tが最も大きい特徴領域候補50が対象画像の特徴領域として検出されるようになる。
このような処理が実行される結果として、第6実施形態に係る画像処理装置10では、下記式(22)及び(23)によって示される画素(px,py)が左上画素であり、かつ、高さ及び幅がh及びwである長方形領域又は正方形領域が特徴領域として検出されることになる。
以上説明した第6実施形態に係る画像処理装置10では、上記の重み付き合計値Tが最も大きい特徴領域候補50が特徴領域として決定される。上記の重み付き合計値Tは、特徴領域候補50の中央部分の画素のエッジ量が大きい場合に大きくなる。このため、第6実施形態に係る画像処理装置10によれば、中央部分の画素のエッジ量が大きい特徴領域候補50が特徴領域として決定されるようになる。その結果、第6実施形態に係る画像処理装置10によれば、対象画像内の、エッジ量が大きい部分が中央に位置するような領域が特徴領域として検出されるようになる。すなわち、対象画像内の、色相の変化が大きい部分が中央に位置するような領域が特徴領域として検出されるようになる。その結果、料理画像30内の、料理が写っている部分が中央に位置するような領域が特徴領域として検出されるようになる。
[第6実施形態の変形例]図12のステップS202では、下記式(24)及び(25)によって重み付き合計値Tが算出されるようにしてもよい。下記式(24)は、対象画像が縦長の画像である場合に用いられる式であり、下記式(25)は、対象画像が横長の画像である場合に用いられる式である。下記式(25)においても、「G」は上記の式(21)に示すガウス関数を示している。
なお、上記式(24)では、特徴領域候補50の上側境界部分54U及び下側境界部分54Dの画素と比較して、特徴領域候補50の中央部分の画素の重みが高く設定されるようになる。このため、特徴領域候補50の中央部分の画素のエッジ量が大きいほど、重み付き合計値Tはより大きくなるようになっている。
また、上記式(25)では、特徴領域候補50の左側境界部分54L及び右側境界部分54Rの画素と比較して、特徴領域候補50の中央部分の画素の重みが高く設定されるようになる。このため、特徴領域候補50の中央部分の画素のエッジ量が大きいほど、重み付き合計値Tはより大きくなるようになっている。
この変形例では、図12のステップS202において、下記に説明するような処理が実行される。
まず、制御部11は対象画像が縦長の画像であるか否かを判定する。そして、対象画像が縦長の画像である場合、制御部11は上記式(24)によって重み付き合計値Tを算出し、該重み付き合計値Tを評価値Eとして取得する。
一方、対象画像が横長の画像である場合、制御部11は上記式(25)によって重み付き合計値Tを算出し、該重み付き合計値Tを評価値Eとして取得する。
この変形例では、上記のようにして評価値Eが算出されるため、対象画像が縦長の画像である場合には、上記式(24)によって算出される重み付き合計値Tが最大である特徴領域候補50が対象画像の特徴領域として検出される。また、対象画像が横長の画像である場合には、上記式(25)によって算出される重み付き合計値Tが最大である特徴領域候補50が対象画像の特徴領域として検出される。
この変形例によっても、中央部分の画素のエッジ量が大きい特徴領域候補50が特徴領域として検出されるようになる。すなわち、対象画像内の、エッジ量が大きい部分が中央に位置するような特徴領域候補50が特徴領域として検出されるようになる。つまり、対象画像内の、色相の変化が大きい部分が中央に位置するような特徴領域候補50が特徴領域として検出されるようになる。その結果、料理画像30内の、料理が写っている部分が中央に位置するような領域が特徴領域として検出されるようになる。
なお、以上では、特徴領域候補50の評価値Eを算出する場合について主に説明したが、表示領域候補70の評価値Eを算出する場合にも上記式(20),(24)又は(25)を用いるようにしてもよい。また、第2実施形態、第3実施形態、及び第4実施形態においても、合計値Tの代わりとして、上記式(20),(24),及び(25)によって算出される重み付き合計値Tを用いるようにしてもよい。
[第7実施形態]本発明の第7実施形態について説明する。第7実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第1実施形態では、「エッジ」は、対象画像中で色が変化する度合いのことを意味し、「画素のエッジ量」は、画素と該画素の周辺画素との間の色相の差に関する量であることとして説明した。これに対して、第7実施形態では、「エッジ」は、対象画像中で輝度が変化する度合いのことを意味し、「画素のエッジ量」は、画素と該画素の周辺画素との間の輝度の差に関する量である。この点で第7実施形態に係る画像処理装置10は第1実施形態と異なる。
すなわち、第7実施形態に係る画像処理装置10では、上記の式(4)によって算出される各画素のY値が各画素の画素値Iとして用いられる。すなわち、各画素のY値が各画素の画素値Iとして上記の式(1)〜(3)に代入されることによって、各画素のエッジ量Sが算出される。
以上に説明した第7実施形態に係る画像処理装置10によれば、対象画像内の、輝度の変化の大きい部分が特徴領域として検出されるようになる。例えば、テーブル等の上に置かれた食器に盛り付けられた料理を写した画像の場合、料理が写っている部分では、他の部分(例えばテーブルが写っている部分等)と比較して、輝度の変化が大きくなる。このため、上記のようにすれば、料理が写っている部分を特徴領域として検出できるようになる。
なお、この第7実施形態は第2実施形態〜第6実施形態と組み合わせることが可能である。すなわち、第2実施形態〜第6実施形態においても、「画素のエッジ量」を画素と該画素の周辺画素との間の輝度の差に関する量としてもよい。
[第8実施形態]本発明の第8実施形態について説明する。本発明の第8実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第8実施形態に係る画像処理装置10では、注釈情報の表示領域を決定するための処理(以下「表示領域決定処理」と呼ぶ。)として複数種類の処理が予め用意される。また、第8実施形態に係る画像処理装置10では、複数種類の表示領域決定処理のうちから、対象画像(料理画像30)の特徴に合った表示領域決定処理が選択され、該表示領域決定処理が実行されるようになっている。この点で第8実施形態に係る画像処理装置10は第1実施形態と異なっている。
図18は複数種類の表示領域決定処理の一例を示す。図18では8種類の表示領域決定処理(第1〜第8の表示領域決定処理)が示されている。なお、ここで、「表示領域決定処理」とは、注釈情報の表示領域を決定するための一連の処理のことを意味しており、例えば図11のステップS103及びS104の処理が「表示領域決定処理」に相当する。
第1〜第8の表示領域決定処理は下記の点で異なっている。
(1)各画素のエッジ量を算出する際の基礎として色相又は輝度のいずれを用いるか
(2)特徴領域候補50又は表示領域候補70の評価値Eの算出方法
第1の表示領域決定処理は第1実施形態に対応する。すなわち、第1の表示領域決定処理では、各画素のCB,CR値(色相)に基づいて算出されるエッジ量Sが用いられる。また第1の表示領域決定処理では、上記式(6)によって算出される合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられる。
第2の表示領域決定処理は第5実施形態に対応する。すなわち、第2の表示領域決定処理では、各画素のCB,CR値(色相)に基づいて算出されるエッジ量Sが用いられる。また第2の表示領域決定処理では、特徴領域候補50又は表示領域候補70の評価値Eが上記式(9)によって算出される。
第3の表示領域決定処理は第5実施形態の変形例1に対応する。すなわち、第3の表示領域決定処理では、各画素のCB,CR値(色相)に基づいて算出されるエッジ量Sが用いられる。また第3の表示領域決定処理では、特徴領域候補50又は表示領域候補70の評価値Eが上記式(16)及び(17)によって算出される。
なお、第3の表示領域決定処理は第5実施形態の変形例2に対応するようにしてもよい。すなわち、第3の表示領域決定処理では、特徴領域候補50又は表示領域候補70の評価値Eが上記式(18)及び(19)によって算出されるようにしてもよい。
第4の表示領域決定処理は第6実施形態に対応する。すなわち、第4の表示領域決定処理では、各画素のCB,CR値(色相)に基づいて算出されるエッジ量Sが用いられる。また第4の表示領域決定処理では、上記式(20)によって算出される重み付き合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられる。
なお、第4の表示領域決定処理は第6実施形態の変形例に対応するようにしてもよい。すなわち、第4の表示領域決定処理では、上記式(24)及び(25)によって算出される重み付き合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられるようにしてもよい。
第5の表示領域決定処理は第7実施形態に対応する。すなわち、第5の表示領域決定処理では、各画素のY値(輝度)に基づいて算出されるエッジ量Sが用いられる。また第5の表示領域決定処理では、上記式(6)によって算出される合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられる。
第6の表示領域決定処理は第7実施形態及び第5実施形態の組み合わせに対応する。すなわち、第6の表示領域決定処理では、各画素のY値(輝度)に基づいて算出されるエッジ量Sが用いられる。また第6の表示領域決定処理では、特徴領域候補50又は表示領域候補70の評価値Eが上記式(9)によって算出される。
第7の表示領域決定処理は第7実施形態と第5実施形態の変形例1との組み合わせに対応する。すなわち、第7の表示領域決定処理では、各画素のY値(輝度)に基づいて算出されるエッジ量Sが用いられる。また第7の表示領域決定処理では、特徴領域候補50又は表示領域候補70の評価値Eが上記式(16)及び(17)によって算出される。
なお、第7の表示領域決定処理は第7実施形態と第5実施形態の変形例2との組み合わせに対応するようにしてもよい。すなわち、第7の表示領域決定処理では、特徴領域候補50又は表示領域候補70の評価値Eが上記式(18)及び(19)によって算出されるようにしてもよい。
第8の表示領域決定処理は第7実施形態及び第6実施形態の組み合わせに対応する。すなわち、第8の表示領域決定処理では、各画素のY値(輝度)に基づいて算出されるエッジ量Sが用いられる。また第8の表示領域決定処理では、上記式(20)によって算出される重み付き合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられる。
なお、第8の表示領域決定処理は第7実施形態と第6実施形態の変形例との組み合わせに対応するようにしてもよい。すなわち、第8の表示領域決定処理では、上記式(24)及び(25)によって算出される重み付き合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられるようにしてもよい。
第8実施形態に係る画像処理装置10では、例えば図19に示すような表示領域決定処理データ(関連付けデータ)が記憶部12に記憶される。図19に示す表示領域決定処理データは、エッジ量の分布パターン情報と、表示領域決定処理と、を関連付けたデータである。図19に示す表示領域決定処理データでは、第1〜第8の表示領域決定処理の各々に、エッジ量の分布パターン情報が関連付けられている。なお、第1〜第8の表示領域決定処理は図18と同様である。
エッジ量の分布パターン情報は画像のエッジ量の分布パターンに関する情報である。例えば、分布パターン情報は、画像の縦方向又は/及び横方向に対する上記合計値Tの変化パターンを示す情報である。例えば、分布パターン情報は、各特徴領域候補50の上記合計値Tを各特徴領域候補50の位置(例えば左上画素の位置)に対応づけて表した場合の上記合計値Tの変化パターンを示す情報である。また例えば、分布パターン情報は、第1のエッジ量(すなわち、画素のCB,CR値に基づいて算出されるエッジ量)に基づいて算出される上記合計値Tの上記変化パターンと、第2のエッジ量(すなわち、画素のY値に基づいて算出されるエッジ量)に基づいて算出される上記合計値Tの上記変化パターンと、を示す情報である。
また例えば、分布パターン情報は、画像の各画素行又は各画素列ごとのエッジ量の合計値のパターンを示す情報であってもよい。例えば、分布パターン情報は、画像の各画素行又は各画素列ごとの第1のエッジ量(すなわち、画素のCB,CR値(色相)に基づいて算出されるエッジ量)の合計値のパターンと、画像の各画素行又は各画素列ごとの第2のエッジ量(すなわち、画素のY値(輝度)に基づいて算出されるエッジ量)の合計値のパターンと、を示す情報であってもよい。
第8実施形態に係る画像処理装置10で実行される処理について説明する。第8実施形態に係る画像処理装置10では、図11に示す処理の代わりに、図20に示す処理が実行される。
図20に示すように、まず、制御部11は対象画像及び注釈情報をデータベース20から取得する(S401)。また、制御部11は対象画像の各画素の第1のエッジ量及び第2のエッジ量を算出する(S402)。
ここで、「第1のエッジ量」は、画素のCB,CR値(色相)に基づいて算出されるエッジ量であり、上記式(5)によって示される画素値Iに基づき上記式(1)〜(3)によって算出されるエッジ量Sである。一方、「第2のエッジ量」は、画素のY値(輝度)に基づいて算出されるエッジ量であり、画素のY値を画素値Iとして用いて上記式(1)〜(3)によって算出されるエッジ量Sである。
その後、制御部11は、対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する(S403)。例えば、制御部11は、ステップS401で取得された対象画像の画素のエッジ量に基づいて、対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する。
対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報のいずれかが示す分布パターンに相当する場合、制御部11は、その分布パターン情報に関連付けられた表示領域決定処理を実行する(S404)。
このステップS404の処理の内容は基本的に図11に示すステップS103,S104と同様である。ただし、この場合、エッジ量として、対象画像のエッジ量の分布パターンに対応するエッジ量が用いられることになる。また、評価値の算出方法として、対象画像のエッジ量の分布パターンに対応する算出方法が用いられることになる。
例えば、対象画像のエッジ量の分布パターンが第4の分布パターン情報が示す分布パターンに相当している場合には、色相に基づく第1のエッジ量が用いられることになる(図18参照)。また、特徴領域候補50又は表示領域候補70の評価値Eは上記式(20)によって算出されることになる(図18参照)。
一方、対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報が示す分布パターンのいずれにも相当しない場合、制御部11は、第1〜第8の表示領域決定処理のうちの所定の表示領域決定処理(例えば、第1の表示領域決定処理)を実行することによって、特徴領域を検出する(S405)。このステップS405の処理は基本的に図11に示すステップS103,S104と同様である。
ステップS404又はS405が実行された後、制御部11は、ステップS404又はS405で決定された表示領域に注釈情報が表示されてなる対象画像のデータを出力する(S406)。例えば、制御部11は上記のデータを表示部16に表示する。また例えば、制御部11は上記のデータを記憶部12又はデータベース20に出力(保存)する。以上で図20に示す処理の説明を終了する。
以上説明した第8実施形態に係る画像処理装置10によれば、対象画像(料理画像30)の特徴(エッジ量の分布パターン)に合った表示領域決定処理によって、注釈情報の表示領域が決定されるようになる。
[第9実施形態]本発明の第9実施形態について説明する。本発明の第9実施形態に係る画像処理装置10のハードウェア構成は第1実施形態と同様である(図1参照)。
第8実施形態と同様、第9実施形態に係る画像処理装置10においても、複数種類の表示領域決定処理が予め用意されている。
しかしながら、第9実施形態に係る画像処理装置10では、一つの注釈情報に関して、それら複数種類の表示領域決定処理の各々が実行されることによって、一つの注釈情報に関して、複数の表示領域が取得される。取得された複数の表示領域はユーザに提示され、それら複数の表示領域のうちのいずれかがユーザによって選択される。この場合、ユーザによって選択された表示領域が注釈情報の表示領域として確定され、ユーザによって選択された表示領域に注釈情報が表示されることになる。
第9実施形態に係る画像処理装置10で実行される処理について説明する。第9実施形態に係る画像処理装置10では、図11に示す処理の代わりに、図21に示す処理が実行される。
図21に示すように、まず、制御部11は対象画像及び注釈情報をデータベース20から取得する(S501)。また、制御部11は対象画像の各画素の第1のエッジ量及び第2のエッジ量を算出する(S502)。ステップS502の処理は図20のステップS402と同様である。
その後、制御部11は変数kを1に初期化する(S503)。そして、制御部11は、第kの表示領域決定処理を実行することによって、第kの表示領域を取得する(S504)。このステップS504の処理の内容は基本的に図11に示すステップS103,S104と同様である。ただし、この場合、エッジ量として、第kの表示領域決定処理に対応するエッジ量が用いられる。また、評価値の算出方法として、第kの表示領域決定処理に対応する算出方法が用いられることになる。
例えば、変数kの値が「1」である場合には、第1の表示領域決定処理が実行されることになるため、色相に基づく第1のエッジ量が用いられることになる(図18参照)。また、上記式(6)によって算出される上記合計値Tが特徴領域候補50又は表示領域候補70の評価値Eとして用いられることになる(図18参照)。
ステップS504の処理が実行された後、制御部11は変数kに1を加算する(S505)。そして、制御部11は変数kが8以下であるか否かを判定する(S506)。ここで、「8」は、表示領域決定処理の種類の総数を示している。
変数kが8以下である場合、制御部11はステップS504の処理を再実行する。一方、変数kが8以下でない場合、制御部11は選択画面を表示部16に表示する(S507)。この選択画面では、第1〜第8の表示領域決定処理によって取得された第1〜第8の表示領域がユーザに提示される。
選択画面が表示されている場合、制御部11は、ユーザによる選択を受け付ける。すなわち、制御部11は、第1〜第8の表示領域のうちのいずれかがユーザによって選択されたか否かを監視する(S508)。
第1〜第8の表示領域のうちのいずれかがユーザによって選択された場合、制御部11は、ユーザによって選択された表示領域に注釈情報が表示された対象画像のデータを出力する(S509)。例えば、制御部11は上記のデータを表示部16に表示する。また例えば、制御部11は上記のデータを記憶部12又はデータベース20に出力(保存)する。以上で図21に示す処理の説明を終了する。
以上に説明した第9実施形態に係る画像処理装置10によれば、複数の表示領域決定処理に基づいて取得された複数の表示領域のうちから所望の表示領域をユーザが選択できるようになる。
なお、第9実施形態に係る画像処理装置10では、ステップS507で表示される選択画面において、第1〜第8の表示領域のうちの、対象画像の特徴(エッジ量の分布パターン)に合った表示領域決定処理によって取得された表示領域を優先表示又は区別表示するようにしてもよい。
ここで、「対象画像の特徴に合った表示領域決定処理」とは、対象画像のエッジ量の分布パターンを示す分布パターン情報に関連付けられた表示決定処理である。例えば、対象画像のエッジ量の分布パターンが第3の分布パターン情報が示す分布パターンに相当している場合、第3の表示領域決定処理が「対象画像の特徴に合った表示領域決定処理」に相当する。
表示領域を優先表示する方法としては種々の方法を採用することができる。例えば、第3の表示領域決定処理によって取得された第3の表示領域を選択画面で優先表示する場合には、第3の表示領域が予め選択された状態で選択画面を表示するようにしてもよい。あるいは、順序情報に従った表示順序で第1〜第8の表示領域を選択画面に表示するような場合であれば、第3の表示領域の順位を第1番目に設定するようにしてもよい。
また、表示領域を区別表示する方法としては種々の方法を採用することができる。例えば、第3の表示領域決定処理によって取得された第3の表示領域を選択画面で区別表示する場合には、第3の表示領域の表示態様を他の表示領域とは異なる表示態様で選択画面に表示するようにしてもよい。あるいは、第3の表示領域のみに関連付けて所定の画像(例えば、枠画像、吹き出し画像、又は星画像等)を表示させることによって、第3の表示領域を他の表示領域と区別表示するようにしてもよい。
このようにすれば、対象画像の特徴(エッジ量の分布パターン)に合った表示領域決定処理に基づいて取得された表示領域が選択画面において優先表示又は区別表示される。その結果、対象画像の特徴(エッジ量の分布パターン)に合った表示領域決定処理に基づいて取得された表示領域をユーザが選択し易くなるように図ることが可能になる。
また、第9実施形態に係る画像処理装置10では、選択画面においてユーザが行った選択結果に基づいて、表示領域決定処理データを更新するようにしてもよい。以下、このような表示領域決定処理データを更新する構成について説明する。
この変形例では、例えば図22に示すような選択結果データが記憶部12(又はデータベース20)に記憶される。図22に示す選択結果データでは、エッジ量の分布パターン情報と、選択結果情報と、が関連付けられている。なお、「エッジ量の分布パターン情報」は図19と同様である。
「選択結果情報」は第1〜第8の表示領域の選択回数を示している。図22に示す選択結果データにおいて、第1の分布パターン情報に対応づけられた選択結果情報は、対象画像のエッジ量の分布パターンが第1の分布パターンが示す分布パターンに相当する場合の選択画面でユーザが第1〜第8の表示領域の各々を選択した回数を示している。第2〜第8の分布パターン情報に対応づけられた選択結果情報も同様である。
また、この変形例では、図21のステップS508においていずれかの表示領域が選択されたと判定された場合に、制御部11は図23に示す処理を実行する。
すなわち、制御部11は、対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報のいずれかが示す分布パターンに相当するか否かを判定する(S601)。このステップS601の処理は図20のステップS403の処理と同様である。
対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報のいずれかが示す分布パターンに相当すると判定された場合、制御部11は、その分布パターン情報に対応づけられた選択結果情報を更新する(S602)。例えば、選択画面においてユーザが選択した表示領域が第1の表示領域であり、かつ、ステップS601において対象画像のエッジ量の分布パターンが第4の分布パターン情報が示す分布パターンに相当すると判定された場合、制御部11は、第4の分布パターン情報に対応づけられた「第1の表示領域の選択回数」を1増加させる。
ステップS602の処理が実行された後、制御部11は選択結果データに基づいて表示領域決定処理データを更新する(S603)。
例えば、図22に示す例では、対象画像のエッジ量の分布パターンが第7の分布パターン情報が示す分布パターンに相当する場合における選択回数が最も多い表示領域が第8の表示領域であるため、制御部11は、第7の分布パターン情報に対応づけられた表示領域決定処理が、第8の表示領域に対応する表示領域決定処理(すなわち、第8の表示領域決定処理)となるように、表示領域決定処理データを更新する。
また例えば、図22に示す例では、対象画像のエッジ量の分布パターンが第8の分布パターン情報が示す分布パターンに相当する場合における選択回数が最も多い表示領域が第7の表示領域であるため、制御部11は、第8の分布パターン情報に対応づけられた表示領域決定処理が、第7の表示領域に対応する表示領域決定処理(すなわち、第7の表示領域決定処理)となるように、表示領域決定処理データを更新する。
なお、ステップS601において、対象画像のエッジ量の分布パターンが第1〜第8の分布パターン情報が示す分布パターンのいずれにも相当しないと判定された場合、制御部11はステップS602,S603の処理を実行することなく、本処理を終了する。以上で図23の処理の説明を終了する。
以上のようにすれば、ユーザの選択結果を考慮して、画像のエッジ量の分布パターンと表示領域決定処理との関連付けを見直すことが可能になる。
なお、本発明は以上に説明した第1〜第9実施形態に限定されるものではない。
例えば、以上では、投稿者によって投稿された料理画像30がデータベース20に記憶されていることとして説明したが、データベース20に記憶される画像は料理画像30に限られない。本発明は、料理画像30以外の画像に注釈情報を表示する場合にも適用することが可能である。