最終更新:2019-02-22 (金) 06:34:27 (1852d)
cv::accumulateWeighted
Top / cv::accumulateWeighted
void cv::accumulateWeighted( InputArray _src, InputOutputArray _dst, double alpha, InputArray _mask ) { Mat src = _src.getMat(), dst = _dst.getMat(), mask = _mask.getMat(); int sdepth = src.depth(), ddepth = dst.depth(), cn = src.channels(); CV_Assert( dst.size == src.size && dst.channels() == cn ); CV_Assert( mask.empty() || (mask.size == src.size && mask.type() == CV_8U) ); int fidx = getAccTabIdx(sdepth, ddepth); AccWFunc func = fidx >= 0 ? accWTab[fidx] : 0; CV_Assert( func != 0 ); const Mat* arrays[] = {&src, &dst, &mask, 0}; uchar* ptrs[3]; NAryMatIterator it(arrays, ptrs); int len = (int)it.size; for( size_t i = 0; i < it.nplanes; i++, ++it ) func(ptrs[0], ptrs[1], ptrs[2], len, cn, alpha); }