[問題]如何快速得到影片的參數?

作者: Toanyone (陽光的松鼠)   2018-05-14 21:31:43
各位Python高手大家好,
最近在做一個AI相關的研究,
需要用到影片分析的方式萃取出參數,
我是利用OpenCV(cv2)來進行影片的萃取(影片的HSV數值)
然後cv.imwrtie() 把每一個frame 先寫成圖片
之後再利用cv.imread()
讀進來放到numpy陣列裡面
然後再進行陣列的運算
但目前遇到一個問題是,
大約一分種的影片、1700多張圖片(frame)
寫成圖片的速度還不算慢,大概1分鐘左右
但是把圖片讀進來轉成numpy陣列的速度卻是龜速....大概一秒才一張..
光是一分鐘的影片,就要花超過20幾分鐘讀寫,還沒到運算的部分
我也有試過,不寫成圖片,直接把影片讀取到的frame存進numpy裡面,
但速度也是沒有快多少...
不知道各位高手有什麼比較好的方法可以幫幫小弟QQ
謝謝大家!!
作者: anotherday   2018-05-14 22:05:00
multiprocessing?
作者: st1009 (前端攻城師)   2018-05-14 22:30:00
GPU加速運算?
作者: neil987 (R5大小姐-EX人品崩壞)   2018-05-15 00:12:00
首先先問要做什麼處理不能一張一張frame來做?
作者: leo021566 (大禹)   2018-05-15 00:45:00
圖片多大,讀圖片應該沒這麼慢才是…
作者: Toanyone (陽光的松鼠)   2018-05-15 00:51:00
謝謝大家的回覆!!先說明一下剛剛的進度,情況有點複雜,最後結果就是原來我研究的要求是一秒一張圖就好了…所以我學姊才能在2,3分鐘內做完分析…然後謝謝a大跟s大的回覆!我會在研究看看有甚麼方法可以比較好把迴圈利用gpu運算,加速運算的速度然後n大,因為我們要萃取出整隻影片的平均hsv值,只不過我沒有試過一張圖片一張圖片取平均,不太確定這樣會不會比較快圖片大概是480*760左右 詳細大小可能要再確認,我也不太確定為什麼速度會那麼慢…不知道跟numpy陣列我用append一直加上去也沒有關係…
作者: bibo9901 (function(){})()   2018-05-15 07:28:00
你可能哪裡寫錯...你這讀寫都很慢
作者: Mchord (Mchord)   2018-05-15 07:36:00
一直append的話會愈來愈慢
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-05-15 12:05:00
貼個code吧
作者: fly168 (依依)   2018-05-15 17:12:00
用concatenate好像會快一點

Links booklink

Contact Us: admin [ a t ] ucptt.com