前言
此為以下問題的解決方法筆記:
TypeError: cannot pickle 'cv2.VideoCapture' object
解法
此問題會發生在 cv2 結合 multiprocessing 使用時,
cv2.VideoCapture 不可作為成員變數使用。
參考:https://github.com/MVIG-SJTU/AlphaPose/issues/164
會跳錯的範例:
- 將 cv2.VideoCapture 作為成員變數使用
self.vc = cv2.VideoCapture(self.video_path)
正確寫法:
- 將 cv2.VideoCapture 作為 local variable
vc = cv2.VideoCapture(self.video_path)
Reference
https://github.com/MVIG-SJTU/AlphaPose/issues/164