Regionクラス †
- Detectorクラスから得られた顔検出の情報から吹き出しの配置領域を決定するクラス
- 現在検出数が2までなら領域を決定できる.
Region(img, face) †
- img:画像パス
- face:顔検出で得られた矩形情報(右上のx,y,左下のx,y)
- decision_region()
- 検出数によって領域を求めるメソッドを制御
- 検出数が1ならbasic_region(face)
- 2ならtwo_face()
basic_region(face) †
- 入力画像を4つの領域に分け、検出矩形の中心がどこにあるかで配置領域を決定する
- 吹き出しは基本的に顔の近くになるようにした
two_face() †
- 吹き出しを配置する領域の横幅を " a "、縦幅を " b "とする
- この領域の面積が最大になるようにしたい
0 < a <= A , C < a <= w
0 < a <= E , G < a <= w
0 < b <= B , H < b <= h
0 < b <= F , D < b <= h
- この条件を満たす a と b の値のうちそれぞれの最大値をとれば面積が最大になる
- このとき、領域が顔よりも下にある場合、顔に近い方の領域を吹き出し配置場所とする
seminar-personal/fukumoto2017