-
Количество публикаций
2 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Igisid
-
-
Везде примеры на python. Мне нужно реализовать на С++. Сейчас делаю так:
cv::Rect r(center, cv::Size(size.width, size.height)); std::vector<cv::Mat> matChannels; cv::split(texture, matChannels); auto overlay_mask = matChannels[3]; cv::Mat overlay_img; cv::cvtColor(texture, overlay_img, CV_BGRA2BGR); cv::Mat background_mask = 255 - overlay_mask; cv::cvtColor(overlay_mask, overlay_mask, CV_GRAY2BGR); cv::cvtColor(background_mask, background_mask, CV_GRAY2BGR); background_mask.convertTo(background_mask, CV_32FC3, 1.0/255); overlay_img.convertTo(overlay_img, CV_32FC3, 1.0/255); overlay_mask.convertTo(overlay_mask, CV_32FC3, 1.0/255); cv::multiply(overlay_img, overlay_mask, overlay_img); cv::multiply(background_mask, captured_image(r), captured_image(r)); cv::addWeighted(captured_image(r), 1, overlay_img, 0, 0, captured_image(r));
Пробовал другими методами, но наложенное изображение либо с белым фоном или черное. Буду благодарен за помощь
Нахождение точек на лице
в OpenCV
Опубликовано · Report reply
Использовал stasm для нахождения точек на лице. Он находит достаточное количество точек, но работает не стабильно(точки при каждом кадре дрожат). Другие, найденные мной алгоритмы, находят меньшее количество точек, что мне недостаточно. Возможно есть какой-нибудь другой алгоритм для нахождения частей лица?