Windows上Blender的Openpose插件:python如何检测视频文件?

Windows上Blender的Openpose插件:python如何检测视频文件?,python,opencv,blender,openpose,Python,Opencv,Blender,Openpose,最近,我安装了OpenCV和OpenPose,用于跟踪在Windows 10的Blender 2.81中创建、装配和设置动画的3d角色的头部。当我使用OpenCV时,我使用这个插件: 当我使用Open Pose时,我安装了这个插件: 有什么问题吗?问题是,为OpenCV编写的插件工作得很好,但为Openpose编写的插件却不行。我没有python方面的经验,但我查看了插件代码,试图了解原因 请检查以下OpenCV/面部运动捕捉插件中的相关python代码: # Show camera ima

最近,我安装了OpenCV和OpenPose,用于跟踪在Windows 10的Blender 2.81中创建、装配和设置动画的3d角色的头部。当我使用OpenCV时,我使用这个插件:

当我使用Open Pose时,我安装了这个插件:

有什么问题吗?问题是,为OpenCV编写的插件工作得很好,但为Openpose编写的插件却不行。我没有python方面的经验,但我查看了插件代码,试图了解原因

请检查以下OpenCV/面部运动捕捉插件中的相关python代码:

# Show camera image in a window                     
            cv2.imshow("Output", image)

 # Show camera image in a window                     
            cv2.imshow("Output", image)
            cv2.waitKey(1)

        return {'PASS_THROUGH'}

    def init_camera(self):
        if self._cap == None:
            self._cap = cv2.VideoCapture(0)
            self._cap.set(cv2.CAP_PROP_FRAME_WIDTH, self.width)
            self._cap.set(cv2.CAP_PROP_FRAME_HEIGHT, self.height)
            self._cap.set(cv2.CAP_PROP_BUFFERSIZE, 1)
            time.sleep(1.0)
class Camera:
    """
    Utility class embedding a camera, its parameters and buffers
    """
    def __init__(self,
                 path: str) -> None:
        self._path = path
        self._camera = cv2.VideoCapture()
        self._camera.open(path)
        self._shape: Tuple[int, int, int] = (0, 0, 0)
        self._bbox = [180, 120, 270, 270]
        self._bbox_new = self._bbox

class OpenPoseWrapper:
    def __init__(self) -> None:
        self._cameras: List[Camera] = []
        self._image_buffer: Optional[bpy.types.Image] = None
        self._camera_paths: List[str] = ['/dev/video0', '/dev/video1']
        self._is_stereo = False
        self._is_stereo_calibrated = False
现在检查下面OpenPose插件中的相关python代码:

# Show camera image in a window                     
            cv2.imshow("Output", image)

 # Show camera image in a window                     
            cv2.imshow("Output", image)
            cv2.waitKey(1)

        return {'PASS_THROUGH'}

    def init_camera(self):
        if self._cap == None:
            self._cap = cv2.VideoCapture(0)
            self._cap.set(cv2.CAP_PROP_FRAME_WIDTH, self.width)
            self._cap.set(cv2.CAP_PROP_FRAME_HEIGHT, self.height)
            self._cap.set(cv2.CAP_PROP_BUFFERSIZE, 1)
            time.sleep(1.0)
class Camera:
    """
    Utility class embedding a camera, its parameters and buffers
    """
    def __init__(self,
                 path: str) -> None:
        self._path = path
        self._camera = cv2.VideoCapture()
        self._camera.open(path)
        self._shape: Tuple[int, int, int] = (0, 0, 0)
        self._bbox = [180, 120, 270, 270]
        self._bbox_new = self._bbox

class OpenPoseWrapper:
    def __init__(self) -> None:
        self._cameras: List[Camera] = []
        self._image_buffer: Optional[bpy.types.Image] = None
        self._camera_paths: List[str] = ['/dev/video0', '/dev/video1']
        self._is_stereo = False
        self._is_stereo_calibrated = False
我想知道的是为什么OpenCV能够抓取我使用的视频文件,而OpenPose插件却无法做到这一点。我怀疑OpenPose插件的代码是为Linux编写的,但我使用的是Windows10。因此,我应该更改此行:

self._camera_paths: List[str] = ['/dev/video0', '/dev/video1']
事实上,在Windows10中没有任何一种设备像这样。那么,如果我希望Windows 10能够检测到为OpenCV编写的代码能够检测到的视频文件,我应该如何更改代码