• 树莓派|采集视频并实时显示画面


    1、使用SSH远程连接到树莓派

    2、新建存放代码的目录

    mkdir /home/pi/my_code_directory

    3、进入存放代码的目录

    cd /home/pi/my_code_directory

    4、新建py文件

    nano cv2test.py

    5、输入代码

    1. import cv2
    2. # 打开摄像头
    3. cap = cv2.VideoCapture(0)
    4. while True:
    5. # 读取视频帧
    6. ret, frame = cap.read()
    7. # 显示视频帧
    8. cv2.imshow('Video', frame)
    9. # 按下'q'键退出循环
    10. if cv2.waitKey(1) & 0xFF == ord('q'):
    11. break
    12. # 释放摄像头和关闭窗口
    13. cap.release()
    14. cv2.destroyAllWindows()

    先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面。

    6、执行代码

    python3 cv2test.py

    由于是SSH连接,出现如下错误:

    Unable to init server: 无法连接:拒绝连接 

    (Video:25768): Gtk-WARNING **: cannot open display:

    从错误消息看,这可能是因为正在尝试在没有图形环境的服务器上运行带有GUI界面的程序。OpenCV(cv2)通常需要显示图像,而在缺少图形环境的情况下,它无法正常工作。

    如果在远程服务器或没有图形界面的系统上运行代码,可以考虑以下解决方案:

    确保代码不需要图形界面。如果您只使用OpenCV进行图像处理、计算或保存图像等操作,并不需要实时显示图像,可以通过在代码中禁用图形界面相关的功能来解决此问题。

    如果确实需要实时显示图像,在本地机器上开启一个图形界面会话,并通过SSH将图像显示到本地。您可以使用X11 tunnelling来实现这一点。在进行SSH连接时,确保使用-X或-Y选项来启用X11转发。

    解决方法:使用VNC远程连接到树莓派,重新进入目录执行代码,弹出图像界面,程序正常运行

    图片

  • 相关阅读:
    proxysql-安装部署
    ubuntu16.4 anaconda安装TensorRT
    7、2pc、3pc协议
    应对铜价飙升,慧能泰推出超高性价比240W五芯线专用eMarker芯片
    微信小程序Day4笔记
    Node.js开发实战- day1-简介
    基于JavaSwing开发中国跳棋游戏带论文 课程设计 大作业 毕业设计
    自然语言处理(NLP)
    基于NodeJs+Express+MySQL 实现的个人博客完整项目
    Java多关键词分级搜索实现
  • 原文地址:https://blog.csdn.net/weixin_74923758/article/details/138801173