현재 내 프로젝트에 대한 실시간 피드백 기능을 구현하려고 합니다. opencv를 사용하여 카메라의 실시간 피드백을 표시하는 기능이 있습니다. ubuntu 버전 20.04가 설치된 Intel NUC에서 로컬로 코드를 실행하면 모니터에서 비디오 소스를 볼 수 있습니다. 하지만 XRDP를 사용하여 원격 데스크톱을 통해 연결하면 더 이상 비디오 소스를 볼 수 없으며 오류도 발생하지 않습니다. 우분투 버전 20.04가 설치된 라즈베리 파이에서 원격 데스크톱을 사용하고 코드를 실행해 보았는데 작동했습니다.
각 장치의 권한을 확인한 결과 Raspberry Pi 사용자는 비디오 그룹에 포함되어 있고 NUC 사용자는 포함되어 있지 않은 것으로 나타났습니다. 이것이 NUC에서 비디오 소스를 볼 수 없는 이유입니까?
사용되는 기능입니다
def live_feed():
global ui_exit_flag
global image_capture_flag
while not ui_exit_flag:
# Check if image capture is in progress, and if so, pause the camera feed
while image_capture_flag:
pass
#print("UI Thread: Exit flag is " + str(ui_exit_flag))
success, img = camera.read()
if success:
for barcode in pyzbar.decode(img):
myData=barcode.data.decode('utf-8')
pts=barcode.polygon
if len(pts)>=4:
pts=np.array(pts,np.int32)
cv2.polylines(img,[pts],True,(255,0,255),6)
pts2=barcode.rect
cv2.putText(img,text=myData,org=(pts2[0],pts2[1]),fontFace=cv2.FONT_HERSHEY_SIMPLEX,fontScale=0.5,color=(0,244,0),thickness=2)
cv2.imshow('Press (Q) to close', img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
#else:
#print("Not showing live")
#print("Showing Live")
camera.release()
print("UI Thread: No longer showing live")