查阅资料了解到腮红位于苹果肌处,同样使用关键点确定目标区域,然后对该区域进行渲染达到美妆效果。考虑到如果使用简单的RGB是很难做到特效,本篇采用模板方式进行区域融合。
一、skills 前瞻
1、png图像读取
cv::imread(imgPath, cv::IMREAD_UNCHANGED)
IMREAD_UNCHANGED:读取alpha通道
2、图像数据类型转换
srcImage.convertTo(resImg, CV_32FC3);
resImg:CV_8UC3
3、结构体
struct FaceRegion {
int w;
int h;
cv::Point2f center;
};
二、目标区域定位
1、关键点选择
左侧:1,3,40
右侧:13,15,47
2、计算roi的w,h,center
FaceRegion left_blu, right_blu;
left_blu.w= abs(landmarks.at(40).x - landmarks.at(1).x);
left_blu.h= abs(landmarks