如何解决如何使用freenect2-python
我正在使用freenect2-python从kinectv2中读取帧。以下是我的代码:
from freenect2 import Device,FrameType
import cv2
import numpy as np
def callback(type_,frame):
print(f'{type_},{frame.format}')
if type_ is FrameType.Color: # FrameFormat.BGRX
rgb = frame.to_array().astype(np.uint8)
cv2.imshow('rgb',rgb[:,:,0:3])
device = Device()
while True:
device.start(callback)
if cv2.waitKey(1) & 0xFF == ord('q'):
device.stop()
break
色框格式为FrameFormat.BGRX
,所以我采用前3个通道来显示图像。但是它显示了一个空白的黑色窗口。
我使用了PIL
,但是它为接收到的每一帧打开了一个新窗口。是否可以在PIL
的同一窗口中显示帧?
解决方法
cv2.imshow
无法显示任何内容,因为它不断被新框架更新。我在cv2.waitkey(100)
之后添加了cv2.imshow
,它可以正常工作。
def callback(type_,frame):
print(f'{type_},{frame.format}')
if type_ is FrameType.Color: # FrameFormat.BGRX
rgb = frame.to_array().astype(np.uint8)
cv2.imshow('rgb',rgb[:,:,0:3])
# added the following line of code
cv2.imshow(100)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。