#python #sockets #cv2
Вопрос:
Поэтому я пытаюсь создать программу, которая будет отображать вид с фронтальной камеры клиента (для этого я использую сокет) на экране сервера, однако она выдает мне следующую ошибку: Ожидаемая ошибка Ptr<cv::UMat> для аргумента «mat» это код сервера
import socket
from tkinter import *
import threading
import os
import cv2,numpy as np,pyautogui
s=socket.socket()
host="127.0.0.1"
port=8080
s.bind((host,port))
s.listen(1)
print("Waiting for connection")
conn, addr =s.accept()
print(addr,"Has connected")
while True:
msg = conn.recv(2048)
cv2.imshow("show",msg)
и это код клиента:
import cv2,numpy as np,pyautogui
import sounddevice,os,socket
vc = cv2.VideoCapture(0)
screen_size=(1920,1080)
s=socket.socket()
host="127.0.0.1"
port=8080
s.connect((host,port))
def send(msg):
message = msg#.encode(F"utf-8")
#msg_length = len(message)
#send_length = str(msg_length).encode("utf-8")
#send_length = b' ' * (64 - len(send_length))
#s.send(send_length)
s.send(message)
if vc.isOpened():
rval, frame = vc.read()
else:
rval = False
while rval:
#cv2.imshow("preview1", frame)
rval, frame = vc.read()
key = cv2.waitKey(20)
if key == 27:
break
img=pyautogui.screenshot()
#img=np.uint8(img)
frame1=np.array(img)
frame1=cv2.cvtColor(frame1,cv2.COLOR_BGR2RGB)
#cv2.imshow("show",frame1)
send(frame1)
cv2.destroyAllWindows()
вся помощь очень ценится (извините за плохое произношение английского языка, который не является моим родным языком, и извините за сообщение scuft, это мой первый раз здесь).