私は現在私のプロジェクトのリアルタイムフィードバック機能を実装しようとしています。 opencvを使用してカメラのリアルタイムフィードバックを表示する機能があります。 ubuntu バージョン 20.04 がインストールされている Intel NUC でローカルでコードを実行すると、モニターでビデオソースを表示できます。ただし、XRDPを使用してリモートデスクトップを介して接続すると、ビデオソースを表示できなくなり、エラーも発生しません。 Ubuntuバージョン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")