树莓派的摄像头信息实时发送到PC端显示

简介: 树莓派的摄像头信息实时发送到PC端显示

要实现将树莓派的摄像头信息实时发送到PC端显示,可以使用Python的socket库。以下是一个简单的示例:
服务器端(树莓派):

  1. 安装必要的库:

pip install opencv-python
CopyCopy

  1. 创建一个名为 server.py 的文件,并添加以下代码:

import cv2
import socket

初始化摄像头

cap = cv2.VideoCapture(0)

创建socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('', 8080))
server_socket.listen(5)
print("服务器已启动,等待客户端连接...")
while True:

# 接收客户端连接
client_socket, client_address = server_socket.accept()
print(f"客户端 {client_address} 已连接")
while True:
    # 读取摄像头画面
    ret, frame = cap.read()
    # 将画面转换为字节流
    data = cv2.imencode('.jpg', frame)[1].tobytes()
    # 发送画面给客户端
    client_socket.sendall(data)
    # 接收客户端确认信息
    acknowledgment = client_socket.recv(1024)
    if not acknowledgment:
        break
# 关闭连接
client_socket.close()
print(f"客户端 {client_address} 已断开")

释放摄像头资源

cap.release()
server_socket.close()
CopyCopy

  1. 运行服务器端代码:

python server.py
CopyCopy

客户端(PC端):

  1. 安装必要的库:

pip install opencv-python
CopyCopy

  1. 创建一个名为 client.py 的文件,并添加以下代码:

import cv2
import socket

创建socket

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('192.168.1.100', 8080))
print("已连接到服务器")
while True:

# 接收服务器发送的画面
data = client_socket.recv(1024)
if not data:
    break
# 解码画面
frame = cv2.imdecode(data, cv2.IMREAD_COLOR)
# 显示画面
cv2.imshow('frame', frame)
# 按键控制是否继续接收画面
if cv2.waitKey(1) == ord('q'):
    break

关闭所有窗口

cv2.destroyAllWindows()

关闭socket连接

client_socket.close()
CopyCopy

  1. 运行客户端代码:

python client.py
CopyCopy

注意:请将server.py中的server_socket.bind(('', 8080))中的IP地址更改为树莓派实际的IP地址。如果不知道树莓派的IP地址,可以使用ifconfig命令查看。
这样,树莓派的摄像头信息就可以实时发送到PC端显示了。

目录
相关文章
|
开发工具 Android开发
Android平台GB28181设备接入端语音广播支持PS格式
对接Android平台GB28181设备接入端语音广播的时候,我们有遇到过INVITE SDP需要PCMA格式的audio,对方同时回了PS和PCMA两种,然后,发数据的时候,直接发了PS的。
183 0
|
2月前
|
编解码 前端开发 JavaScript
web端 本地调用摄像头、前端摄像头
web端 本地调用摄像头、前端摄像头
|
3月前
|
编解码 网络协议 前端开发
如何实现Android平台GB28181设备接入模块按需打开摄像头并回传数据
后台采集摄像头,如果想再进一步扩展,可以把android平台gb28181的camera2 demo,都移植过来,实现功能更强大的国标设备侧,这里主要是展示,收到国标平台侧的回传请求后,才打开摄像头,才开始编码打包,最大限度的减少资源的占用
|
4月前
|
存储 监控 数据管理
如何设置绿联云与PC电脑同步?
【7月更文挑战第1天】如何设置绿联云与PC电脑同步?
801 2
|
6月前
[海康相机] 连接相机失败:未安装USB3驱动或驱动无效
[海康相机] 连接相机失败:未安装USB3驱动或驱动无效
297 0
|
数据采集 Android开发 开发者
Android平台GB28181设备接入模块摄像头采集方向不对怎么办?
我们在做Android平台GB28181设备接入模块的时候,有开发者提到这样的诉求:他们的智能头盔、执法记录仪等设备,采集到的图像,是旋转了90、180甚至270°的,设备本身无法针对图像做翻转或者旋转操作,问我们这种情况下需要如何处理?
|
小程序 物联网 API
微信小程序使用蓝牙通信协议连接硬件整理总结(初始化蓝牙、搜索设备、展示设备)
微信小程序使用蓝牙通信协议连接硬件整理总结(初始化蓝牙、搜索设备、展示设备)
1431 0
微信小程序使用蓝牙通信协议连接硬件整理总结(初始化蓝牙、搜索设备、展示设备)
|
移动开发 监控 算法
5_1_3_HaaS 首页信息屏_网络状态_网络对时|学习笔记
快速学习5_1_3_HaaS 首页信息屏_网络状态_网络对时。
162 0
5_1_3_HaaS 首页信息屏_网络状态_网络对时|学习笔记
【C#】【FFmpeg】获取电脑可用音视频设备并输出到下拉列表框
【C#】【FFmpeg】获取电脑可用音视频设备并输出到下拉列表框
298 0
【C#】【FFmpeg】获取电脑可用音视频设备并输出到下拉列表框
|
物联网 API
设备端和服务端检测设备是否在线的方法
使用物联网时,有时设备端和服务端都需要检测设备是否在线。
1332 0