我正在尝试重新创建this project。我有一台服务器(我的电脑)和一台客户机(我的树莓皮)。我所做的与最初的项目不同的是,我尝试使用一个简单的网络摄像头而不是一个覆盆子pi相机将图像从我的rpi传输到服务器。我知道我必须:从相机获取opencv图像帧。在

将帧(numpy数组)转换为字节。在

将字节从客户端传输到服务器。在

将字节转换回帧和视图。在

请举例说明。在

自我_驱动程序.pyimport SocketServer

import threading

import numpy as np

import cv2

import sys

ultrasonic_data = None

#BaseRequestHandler is used to process incoming requests

class UltrasonicHandler(SocketServer.BaseRequestHandler):

data = " "

def handle(self):

while self.data:

self.data = self.request.recv(1024)

ultrasonic_data = float(self.data.split('.')[0])

print(ultrasonic_data)

#VideoStreamHandler uses streams which are file-like objects for communication

class VideoStreamHandler(SocketServer.StreamRequestHandler):

def handle(self):

stream_bytes = b''

try:

stream_bytes += self.rfile.read(1024)

image = np.frombuffer(stream_bytes, dtype="B")

print(image.shape)

cv2.imshow('F', image)

cv2.waitKey(0)

finally:

cv2.destroyAllWindows()

sys.exit()

class Self_Driver_Server:

def __init__(self, host, portUS, portCam):

self.host = host

self.portUS = portUS

self.portCam = portCam

def startUltrasonicServer(self):

# Create the Ultrasonic server, binding to localhost on port 50001

server = SocketServer.TCPServer((self.host, self.portUS), UltrasonicHandler)

server.serve_forever()

def startVideoServer(self):

# Create the video server, binding to localhost on port 50002

server = SocketServer.TCPServer((self.host, self.portCam), VideoStreamHandler)

server.serve_forever()

def start(self):

ultrasonic_thread = threading.Thread(target=self.startUltrasonicServer)

ultrasonic_thread.daemon = True

ultrasonic_thread.start()

self.startVideoServer()

if __name__ == "__main__":

#From SocketServer documentation

HOST, PORTUS, PORTCAM = '192.168.0.18', 50001, 50002

sdc = Self_Driver_Server(HOST, PORTUS, PORTCAM)

sdc.start()

视频_客户端.py

^{pr2}$

python写一个app接收摄像头传输的视频_如何使用Python中的tcp套接字发送和接收网络摄像头流?...相关推荐

  1. 服务器java 客户端c_Java客户端和C ++服务器通过TCP套接字发送和接收

    我有一个C ++服务器和两个客户端(红宝石和Java).一切都在64位linux机器(java 1.7.0_17)上运行.ruby客户端可以正常工作,但是java版本会出现问题. 在Java中,我尝试 ...

  2. python socket清空接收缓冲区_Python网络编程——修改套接字发送和接收的缓冲区大小...

    很多情况下,默认的套接字缓冲区大小可能不够用.此时,可以将默认的套接字缓冲区大小改成一个更合适的值. 1. 代码 # ! /usr/bin/env python # -*- coding: utf-8 ...

  3. python写一个app接收摄像头传输的视频_使用Python的Flask框架实现视频的流媒体传输...

    Flask 是一个 Python 实现的 Web 开发微框架.这篇文章是一个讲述如何用它实现传送视频数据流的详细教程. 我敢肯定,现在你已经知道我在O'Reilly Media上发布了有关Flask的 ...

  4. python抽奖教程_利用Python写一个抽奖程序,解密游戏内抽奖的秘密|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 分析需求 我们先整理下思路,目标是什么?目标是要写一个抽奖程序,那么抽奖程序的核心是什么?当然是如何判断一 ...

  5. 使用python写一个怎么猜都猜不对的数字小游戏-python趣用之法1

    猜数字小游戏 直接上源码了 lst = [] # 使用range函数生成一个含有数字1-10的列表 correct = list(range(1,11)) i = 0 while i < 9:d ...

  6. java发送和接收文件_Java通过套接字发送和接收文件(byte [])

    这是服务器 打开文件流并将其发送到网络 import java.io.BufferedInputStream; import java.io.File; import java.io.FileInpu ...

  7. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  8. 如何用Python写一个安卓APP

    前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般 ...

  9. python能开发安卓app吗_如何Python写一个安卓APP

    前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般 ...

最新文章

  1. IDEA创建Web项目及部署Tomcat
  2. 基于Ruby的watir-webdriver自动化测试方案与实施(四)
  3. Hibernate模糊查询
  4. Server Hard drive mode
  5. 容器技术标准化大统一,首个开放容器标准 OCI 1.0 正式发布
  6. windows上搭建NFS服务器
  7. css-bootstrap的安装与使用
  8. 丰胸神器?网友曝椰树椰汁新广告低俗 疑似虚假宣传被调查...
  9. VuePress 1.0.0 发布,Vue 轻量级静态网站生成器
  10. 云服务器软件运行出错,云服务器程序运行中出现木马
  11. python中分支语句elif与else的区别_浅谈对python中if、elif、else的误解
  12. $(#).html(ftl) js 动态引入宏定义,FTL惯用标签及语法
  13. 用户增删改查 django生命周期 数据库操作
  14. VS挤房间探索(含源码)
  15. 燃料电池电池超级电容复合能量管理策略simulink仿真模型
  16. 一款优秀的开源SQL检查审核神器!再也不用担心写SQL出问题了
  17. 节点是什么意思?什么是节点?
  18. 一个html文档必须有,创建一个完整的HTML文档总结
  19. Rinne Loves Study
  20. 次世代关卡制作流程:使用Unreal Engine 4

热门文章

  1. 一名亚马逊软件工程师的辛酸苦楚
  2. 手把手教你做一套 UTM 广告投放!| 原力计划
  3. JavaScript 流行度最高,Java 屈居第三! | 2020 最新软件开发状况报告
  4. 为什么你学了 N 遍 Spring Boot,至今还是学生项目?你的问题在这里 | 原力计划...
  5. Excel弱爆了!这个工具30分钟完成了我一天的工作量,零基础也能学!
  6. 让 AI 训练 AI:揭秘阿里、浙大的 AI 训练师助手
  7. 被扎克伯格销毁的笔记本,暗藏 Facebook 所有成败
  8. Julia 语言可重用性高竟源于缺陷和不完美?
  9. 听说Java老古董了?快被淘汰了?高级开发:我还就真看上它了!
  10. 一文看懂全排列算法!