python udp视频服务端客户端

import cv2

import socket

import threading

from PIL import ImageFont, ImageDraw, Image

import numpy as np

ca=cv2.VideoCapture(0)

s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)

text = "Hello!"

position = (50, 50)

font = cv2.FONT_HERSHEY_SIMPLEX

font_scale = 1

color = (0, 255, 0) # 绿色

thickness = 2

def fun():

global text

while(1):

text=input("请输入想发送的内容:")

def recv():

s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)

s.bind(("0.0.0.0",8000))

while(1):

data=s.recvfrom(65536)

#print(data[1])

if len(data)>0:

zip_data=np.frombuffer(data[0],dtype=np.uint8)

cur_data=cv2.imdecode(zip_data,cv2.IMREAD_COLOR)

cv2.imshow("1111",cur_data)

cv2.waitKey(1)

t2=threading.Thread(target=recv)

t2.start()

print("视频服务端已准备好!")

视频写入配置

#fourcc = cv2.VideoWriter_fourcc(*'XVID')

#out = cv2.VideoWriter('output_chinese.avi', fourcc, 20.0, (640, 480))

加载中文字体(Windows 示例)

font_path = "simhei.ttf" # 你可以换成系统其他中文字体

font = ImageFont.truetype(font_path, 32)

ip=input("输入对方ip地址:")

print("准备发送")

t=threading.Thread(target=fun)

t.start()

while(1):

ret, frame = ca.read()

if not ret:

break

转换为 PIL 图像对象

img_pil = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))

draw = ImageDraw.Draw(img_pil)

写入中文文本

draw.text((50, 50), text, font=font, fill=(255, 0, 0))

转回 OpenCV 格式

frame = cv2.cvtColor(np.array(img_pil), cv2.COLOR_RGB2BGR)

显示窗口

#cv2.imshow('Video with Chinese', frame)

写入视频文件

#out.write(frame)

zip_data=cv2.imencode('.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 80])[1]

buffer_data=zip_data.tobytes()

jj=s.sendto(zip_data,(ip,8000))

print(jj)

if cv2.waitKey(1) & 0xFF == 27: # ESC键退出

break

cv2.waitKey(1)

相关推荐
ruleslol4 分钟前
python30-正则表达式
python·正则表达式
vincent_hahaha23 分钟前
关于simplifyweibo_4_moods数据集的分类问题
python
GUET_一路向前1 小时前
【C语言】解释形参void *data用法
c语言·开发语言·通用指针
skywalk81631 小时前
转换一个python项目到moonbit,碰到报错输出:编译器对workflow.mbt文件中的类方法要求不一致的类型注解,导致无法正常编译
开发语言·moonbit·trae
三年呀2 小时前
**标题:发散创新之力,探索隐私计算的未来**隐私计算,作为当下数字化时代的热门话题,正受
python
R-G-B2 小时前
OpenCV Python——报错AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘,解决办法
人工智能·python·opencv·opencv python·attributeerror·module ‘cv2‘·no attribute
DavieLau2 小时前
C#项目WCF接口暴露调用及SOAP接口请求测试(Python版)
xml·服务器·开发语言·python·c#
张人玉2 小时前
C#Encoding
开发语言·c#
Hard but lovely3 小时前
C++:stl-> list的模拟实现
开发语言·c++·stl·list
白露与泡影3 小时前
Spring容器初始化源码解析
java·python·spring