簡體   English   中英

從 Cpp 中的多線程 Opencv 捕獲視頻

[英]Capturing a video from multiple thread Opencv in Cpp

我是 Cpp 和 opencv 的學習者,我正在嘗試從多個線程訪問相同的視頻,並且在這樣做時我遇到了死鎖,這是可以預料的

我正在創建 n 個線程並嘗試通過將視頻分成 n 部分並同時在不同的線程中處理它來處理視頻。這是我的 void function。我找到了一些 python 解決方案,但無法理解。

void *finddensity(void *videoinfo)
{
    VideoCapture cap(video.mp4);

    //do some processing on each frame
}

然后我正在使用 pthread_create 創建線程有什么方法可以訪問視頻以避免任何死鎖,並且還有用於 videoinfo 的結構? 謝謝

因此,由於任務只是一個課程作業,我所做的是將整個視頻幀加載到內存中(這不是一個好習慣),然后使用互斥鎖從每個線程訪問幀,視頻大小很小(174MB)但我能夠在我的 memory 中以 5FPS 的速度存儲視頻,然后完成任務。 但是,如果有任何其他通用或更好的解決方案(應該有),請在此處回復,感謝 BiOS 格式化代碼:-)。

暫無
暫無

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

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