我有以下代码(尝试移植this)
VideoCapture sequence = new VideoCapture(fp + "%02d" + ".jpg");
if (!sequence.isOpened())
dbg("Failed to open images!");
}
Mat outImg = null;
Mat curImg = null;
while (sequence.read(curImg)) {
Imgproc.accumulateWeighted(curImg, outImg, 0.01);
}
imwrite(fp + "median" + "-" + curTime + ".jpg", outImg);
当它到达这一点时,所有图像都在 fp/01.jpg、02.jpg 等中。当它到达 sequence.read(curImg) 行时它会崩溃,所以我不确定出了什么问题,因为它已经检查到确保序列已正确打开。
编辑:更具体地说,我从 Android 调试器得到的错误是
CvException [org.opencv.core.CvException: cv::Exception: /builds/master_pack-android/opencv/modules/imgproc/src/accum.cpp:1108: error: (-215) _src.sameSize(_dst) && dcn == scn in function void cv::accumulateWeighted(cv::InputArray, cv::InputOutputArray, double, cv::InputArray)]
在累积加权方法调用上。