【视频监控】通过TCP协议搭建客户端和服务端使用OpenCV实现Linux开发板摄像头图像实时回传本地

一. 前言

本文主要实现了远程开发板摄像头画面实时传输回本地电脑进而达到视频监控功能。主要分为开发板客户端和电脑服务端的两部分代码讲解。

本文使用的是米尔的Remi Pi开发板,摄像头是米尔配套的MY-CAM003M,开发板Python环境为3.8,电脑Python3.9

效果展示如下:

电脑端画面显示

OpenCV远程监控

按下k键图片保存在本地

二. 代码展示

1. 开发板客户端代码

import socket
import struct
import time
import traceback
import cv2
import numpy as np


class Client(object):
    """客户端"""

    def __init__(self, addr_port=('192.168.43.242', 11000)):
        # 连接的服务器的地址
        self.addr_port = addr_port
        # 创建套接字
        self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 地址端口可以复用
        self.client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

        # 分辨率
        self.resolution = (320, 240)

    def connect(self):
        """链接服务器"""
        try:
            self.client.connect(self.addr_port)
            print('连接服务器成功')
            return True
        except Exception as e:
            traceback.print_exc()  # 打印原始的异常信息
            print('连接失败')
            return False

    def send2server(self, fps=60):
        """读摄像头数据 发送给服务器"""
        camera = cv2.VideoCapture('/dev/video0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值