我试图在openCV java中循环帧视频 这是我的代码
Mat frame = new Mat();
int numOfFrames = 0;
boolean hasNext = true;
while(hasNext){
hasNext = video.read(frame);
numOfFrames++;
}
问题是,它永远循环,没有结果或错误或内存泄漏! 任何帮助,请
答案 0 :(得分:1)
您编码的while循环需要某种类型的条件才能打破循环。由于代码现在是while循环显然永远循环。
因此,举例来说,你可以这样做,以避免无限循环。
boolean hasNext = true;
while(hasNext) {
hasNext = video.read(frame);
numOfFrames++;
if(numOfFrames == 100) {
break; // calling this will break out of the loop
}
} // end while loop
或者您只需添加break;
,但它只会迭代一次。也许for循环是一个更好的选择? :d
希望这会有所帮助。
很酷,有一个OpenCV的java包装器。我在C编程书中看过这个程序。