Перейти к содержимому
Compvision.ru

Igisid

Пользователи
  • Количество публикаций

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О Igisid

  • Звание
    Новичок
  1. Везде примеры на 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)); Пробовал другими методами, но наложенное изображение либо с белым фоном или черное. Буду благодарен за помощь
×