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