【Python】問題解決:TypeError: cannot pickle 'cv2.VideoCapture' object

解決 cv2.VideoCapture 的 TypeError — 攝像機索引、參數型別、視訊擷取。

前言

此為以下問題的解決方法筆記:

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

Licensed under CC BY-NC-SA 4.0
使用 Hugo 建立
主題 StackJimmy 設計