我有这个代码平均100张图片并将它们保存为10个JPEG文件
int main(int argc, char** argv)
{
VideoCapture cap("C:/Pics/test_%d.jpeg");
while (cap.isOpened())
{
Mat img;
cap.read(img);
// process(img);
if (img.empty()) break;
for (int i = 0; i < 10; i++)
{
Mat avgImg(480, 640, CV_32FC3, Scalar());
for (int avgnumb = 10 * i; avgnumb < (10 * i) +10; ++avgnumb)
{
cv::accumulate(img, avgImg);
}
avgImg = avgImg / 10;
avgImg.convertTo(avgImg, CV_8UC3);
char filename[100];
sprintf(filename, "C:/AvgPics/test_%d.jpeg", i);
imwrite(filename, avgImg);
}
}
return 0;
}
但是,即使在完成第9个文件的保存后,它也不会中断并继续反复覆盖保存的文件。任何人都可以帮助我吗?非常感谢。
答案 0 :(得分:0)
while
即可