def threadConsumer(self):
"""
Thread that consumes the frames, estimate the pose and display
:return: None
"""
while True:
if self.stop.value:
break
try:
frm = self.queue.get(block=False)
except:
if not self.stop.value:
continue
else:
break
startp = time.time()
pose = self.estimatePose(frm['crop']) * self.config['cube'][2]/2. + frm['com3D']
print("{}ms pose".format((time.time() - startp)*1000.))
# Display the resulting frame
starts = time.time()
img = self.show(frm['frame'], pose, frm['M'])
img = self.addStatusBar(img)
cv2.imshow('frame', img)
self.lastshow = time.time()
self.processKey(cv2.waitKey(1) & 0xFF)
print("{}ms display".format((time.time() - starts)*1000.))
cv2.destroyAllWindows()
print "Exiting consumer..."
return True
评论列表
文章目录