显示树莓派上的摄像头内容【2月更文挑战第2天】

简介: 使用Python编程的示例程序,用于在电脑上显示树莓派上的摄像头内容:首先,确保您的电脑和树莓派已连接到同一个WiFi网络。【2月更文挑战第2天】

使用Python编程的示例程序,用于在电脑上显示树莓派上的摄像头内容:
首先,确保您的电脑和树莓派已连接到同一个WiFi网络。
接下来,在您的电脑上安装Python 3.6或更高版本,并安装pip(Python包管理器)。然后,通过pip安装以下库:
image.png
AI模组参数
● Broadcom BCM2711 4核Cortex A72 1.5GHz (ARM v8) 64-bit CPU
● 支持H.265 (HEVC) (最高支持4Kp60解码), H.264 (最高支持1080p60解码, 1080p30编码)
● OpenGL ES 3.0 graphics
● 4个可编程按键
● Micro Hdmi视频输出接口
● Type-C USB接口
● PH2.0 4PIN串口通信及电源接口
电源系统参数
● 充电器输入电压:100-240V AC 50/60Hz;
● 充电器输出电压:8.4V;
● 充电器输出电流:1A,具有过流保护特性,防止过充爆炸。
● 电池:18650标准2500毫安3C放电
XGO-lite2 包装清单
● XGO2 专用保护箱
● XGO-lite2机器狗整机
● 8.4V1A专用锂电池充电器
● XGO-lite 2中文用户手册
● Type-C USB Hub
● Micro Hdmi转Hdmi线
● 小球和方块若干

pip install numpy
pip install opencv-python
pip install opencv-python-headless

在电脑上创建一个名为“stream_camera.py”的Python文件,并将以下代码粘贴到文件中:

import cv2
import socket
import sys
import time

Set the IP address of your Raspberry Pi

rpi_ip = "192.168.1.100"

Set the port number for the stream

port = 8080

Create a socket to connect to the Raspberry Pi

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((rpi_ip, port))

Start a server to receive connections

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('0.0.0.0', 8081))
server_socket.listen(1)

print("Server started, waiting for connections...")

while True:

# Accept a connection from a client
client_socket, client_address = server_socket.accept()
print("Connection from:", client_address)

while True:
    # Receive data from the client
    data = client_socket.recv(1024)
    if not data:
        break
    # Decode the data as an image (assuming jpg)
    image = cv2.imdecode(data, cv2.IMREAD_COLOR)

    # Display the image
    cv2.imshow('Image', image)
    # Wait for a key press
    if cv2.waitKey(1) == ord('q'):
        break

# Close the connection with the client
client_socket.close()

Close the server socket

server_socket.close()

Exit the program

cv2.destroyAllWindows()

image.png

image.png

目录
相关文章
|
存储 NoSQL Java
使用Redisson RLock锁防止定时任务短周期重复执行
在开发定时任务时,如果任务执行周期较短,可能会导致任务在前一次执行尚未完成时就再次触发,从而产生重复执行的问题。为了解决这个问题,我们可以借助Redisson的RLock锁机制,确保任务只有在前一次执行完成后才能再次执行。本文将介绍如何使用Redisson RLock锁来避免定时任务的重复执行。
985 0
使用Redisson RLock锁防止定时任务短周期重复执行
|
前端开发 应用服务中间件 API
VUE+websocket编写实现PC web端控制摄像头
WebSocket是一种全双工通信的数据通信协议。WebSocket的主要功能用处是允许服务器主动地向客户端推送数据信息,使得客户端和服务端之间的数据交换变得更加的简单。
VUE+websocket编写实现PC web端控制摄像头
|
9月前
|
机器学习/深度学习 编解码 算法
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
705 4
|
9月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
396 0
|
9月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
599 0
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
988 6
|
机器学习/深度学习 传感器 算法
深度学习之基于视觉的机器人导航
基于深度学习的视觉机器人导航是一种通过深度学习算法结合视觉感知系统(如摄像头、LiDAR等)实现机器人在复杂环境中的自主导航的技术。
1038 5
|
安全 物联网 API
API的科普
在当今这个数字化时代,信息如同血液般在无数个系统、应用和设备之间流淌,而这一切高效、无缝的交互背后,离不开一个至关重要的技术组件——API(Application Programming Interface,应用程序编程接口)。API作为数字世界的桥梁,不仅连接了不同的软件系统,还推动了数据共享、业务自动化以及创新服务的不断涌现。本文将深入探讨API的定义、作用、发展历程、关键技术、应用场景以及未来趋势,旨在揭示API在数字化转型中的核心价值和无限潜力。
2675 1
|
机器人 Python
ROS2教程 03 节点Node
本文是关于ROS2(机器人操作系统2)的教程,介绍了ROS2的节点概念、与ROS1的区别、节点的编写和基本流程、ros2的node相关命令,以及如何对节点名进行重映射,旨在帮助读者理解ROS2中节点的创建和操作。
1050 0
ROS2教程 03 节点Node

热门文章

最新文章