void SrTextureShadRem::removeShadows(const cv::Mat& frame, const cv::Mat& fgMask, const cv::Mat& bg, cv::Mat& srMask) { ConnCompGroup fg(fgMask); fg.mask.copyTo(srMask); cv::Mat grayFrame, grayBg; cv::cvtColor(frame, grayFrame, CV_BGR2GRAY); cv::cvtColor(bg, grayBg, CV_BGR2GRAY); extractCandidateShadowPixels(grayFrame, fg, grayBg, candidateShadows); getShadows(grayFrame, candidateShadows, grayBg, shadows); srMask.setTo(0, shadows); if (params.cleanSrMask) { ConnCompGroup ccg; ccg.update(srMask, true, true); ccg.mask.copyTo(srMask); } }
const CsColour& PptColorSchemeAtom::getSchemeColor(EshColor::SchemeIndex in_index) const { ChLOG_DEBUG_START_FN; const CsColour *pReturnColor = NULL; switch (in_index) { case SchemeColor_background: pReturnColor = &getBackground(); break; case SchemeColor_text_and_lines: pReturnColor = &getTextAndLines(); break; case SchemeColor_shadows: pReturnColor = &getShadows(); break; case SchemeColor_title_text: pReturnColor = &getTitleText(); break; case SchemeColor_fills: pReturnColor = &getFills(); break; case SchemeColor_accent1: pReturnColor = &getAccent(); break; case SchemeColor_accent2: pReturnColor = &getAccentAndHyperlink(); break; case SchemeColor_accent3: pReturnColor = &getAccentAndFollowedHyperlink(); break; default: pReturnColor = NULL; // TODO: throw exception? break; } ChASSERT(pReturnColor); return *pReturnColor; }