看板 Python 關於我們 聯絡資訊
各位Python高手大家好, 最近在做一個AI相關的研究, 需要用到影片分析的方式萃取出參數, 我是利用OpenCV(cv2)來進行影片的萃取(影片的HSV數值) 然後cv.imwrtie() 把每一個frame 先寫成圖片 之後再利用cv.imread() 讀進來放到numpy陣列裡面 然後再進行陣列的運算 但目前遇到一個問題是, 大約一分種的影片、1700多張圖片(frame) 寫成圖片的速度還不算慢,大概1分鐘左右 但是把圖片讀進來轉成numpy陣列的速度卻是龜速....大概一秒才一張.. 光是一分鐘的影片,就要花超過20幾分鐘讀寫,還沒到運算的部分 我也有試過,不寫成圖片,直接把影片讀取到的frame存進numpy裡面, 但速度也是沒有快多少... 不知道各位高手有什麼比較好的方法可以幫幫小弟QQ 謝謝大家!! -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.204.48.147 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1526304706.A.F8C.html ※ 編輯: Toanyone (180.204.48.147), 05/14/2018 21:36:32
anotherday: multiprocessing? 05/14 22:05
st1009: GPU加速運算? 05/14 22:30
neil987: 首先先問要做什麼處理不能一張一張frame來做? 05/15 00:12
leo021566: 圖片多大,讀圖片應該沒這麼慢才是… 05/15 00:45
Toanyone: 謝謝大家的回覆!!先說明一下剛剛的進度,情況有點複雜, 05/15 00:51
Toanyone: 最後結果就是原來我研究的要求是一秒一張圖就好了…所以 05/15 00:51
Toanyone: 我學姊才能在2,3分鐘內做完分析… 05/15 00:51
Toanyone: 然後謝謝a大跟s大的回覆!我會在研究看看有甚麼方法可以 05/15 00:52
Toanyone: 比較好把迴圈利用gpu運算,加速運算的速度 05/15 00:52
Toanyone: 然後n大,因為我們要萃取出整隻影片的平均hsv值,只不過 05/15 00:54
Toanyone: 我沒有試過一張圖片一張圖片取平均,不太確定這樣會不會 05/15 00:54
Toanyone: 比較快 05/15 00:54
Toanyone: 圖片大概是480*760左右 詳細大小可能要再確認,我也不 05/15 00:55
Toanyone: 太確定為什麼速度會那麼慢…不知道跟numpy陣列我用appen 05/15 00:55
Toanyone: d一直加上去也沒有關係… 05/15 00:55
bibo9901: 你可能哪裡寫錯...你這讀寫都很慢 05/15 07:28
Mchord: 一直append的話會愈來愈慢 05/15 07:36
Sunal: 貼個code吧 05/15 12:05
fly168: 用concatenate好像會快一點 05/15 17:12