簡體   English   中英

在openCV Java中遍歷視頻幀

[英]iterate over frames of video in openCV java

我正在嘗試在openCV java中循環播放幀視頻,這是我的代碼

    Mat frame = new Mat();
    int numOfFrames = 0;
    boolean hasNext = true;
    while(hasNext){
        hasNext = video.read(frame);
        numOfFrames++;
    }

問題是,它永遠循環,沒有結果,錯誤或內存泄漏! 任何幫助請

您編碼的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編程書中已經看到了該程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM