C++ 每增加一个连续的for循环

C++ 每增加一个连续的for循环,c++,for-loop,C++,For Loop,目前我有: Mat avgImg(480, 640, CV_32FC3, Scalar()); // Create and zero initialize Mat capturedImg; for (framenumb = 0; framenumb < 10; ++framenumb) { // avgImg.create(480, 640, CV_32FC3); // Don't create each time! capturedImg = images[framenu

目前我有:

Mat avgImg(480, 640, CV_32FC3, Scalar()); // Create and zero initialize
Mat capturedImg;
for (framenumb = 0; framenumb < 10; ++framenumb)
{
    // avgImg.create(480, 640, CV_32FC3); // Don't create each time!
    capturedImg = images[framenumb];
    cv::accumulate(capturedImg, avgImg);
}
avgImg = avgImg / 100;
avgImg.convertTo(avgImg, CV_8UC3);
imshow("averaged", avgImg);
Mat avgImg(480640,CV_32FC3,Scalar());//创建并初始化零
Mat capturedImg;
对于(framenumb=0;framenumb<10;++framenumb)
{
//avgImg.create(480640,CV_32FC3);//不要每次都创建!
capturedImg=图像[framenumb];
cv::累计(capturedImg、avgImg);
}
平均值=平均值/100;
平均转换器(平均,CV_8UC3);
imshow(“平均”,平均);

如何使
for
循环值在每次循环结束时都增加。例如,累积并平均10张图像后,循环将自动更改为
(framenumb=10;framenumb<20;++framenumb)
以拍摄下10张图像,依此类推。

简单如下:

for(int i = 0; i < NUM; i++) {
    Mat avgImg(480, 640, CV_32FC3, Scalar()); // Create and zero initialize
    Mat capturedImg;
    for (framenumb = 10 * i; framenumb < (10 * i) + 10; ++framenumb) {
        // avgImg.create(480, 640, CV_32FC3); // Don't create each time!
        capturedImg = images[framenumb];
        cv::accumulate(capturedImg, avgImg);
    }

    avgImg = avgImg / 100;
    avgImg.convertTo(avgImg, CV_8UC3);
    imshow("averaged", avgImg);
}
for(int i=0;i

其中
NUM
是图像数除以10。

您如何知道何时停止?在另一个变量中跟踪到达循环的次数,并将循环更改为
for(framenumb=10*number of_times;framenumb
首先,非常感谢你的回答。然而,当我今天用99张图片测试它时,它只显示了99张图片,而不是9张平均的图片。代码似乎是正确的,所以我不知道为什么会出现这个问题。哦,nvm,原来我只是忘了在capturedImg中包含[framenumb]