我有这种方法:
void Session::onNewImage(cv::Mat& img, double elapsedTime){
static int count = 0;
add(img, dnnOutput[count++], curLati, curLongi, curAlti, curHeading, curRoll);
}
它被称为1400次。每次“计数”的值增加。但是,当它到达1401时,我希望“ count”变为0,然后再次从那里递增形式。我不希望“ count”成为全局变量。我该如何实现?
P.S。我不能将其硬编码为1400。每次都可以不同。还有另一种方法可以决定调用此方法的次数,具体取决于作为该方法输入的图像数量。
答案 0 :(得分:2)
这应该做到:
void Session::onNewImage(cv::Mat& img, double elapsedTime){
static int count = 0;
if (count >= getYourCountLimitFromSomewhere())
count = 0;
add(img, dnnOutput[count++], curLati, curLongi, curAlti, curHeading, curRoll);
}
请注意,正如@Aconcagua在评论中指出的,将count
与阈值进行比较是通过>
还是通过>=
取决于{{1} }返回值。