Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cv2.imshow不工作,即使我的相机打开,我';我要把相框打印出来?_Python_Opencv_Sockets - Fatal编程技术网

Python cv2.imshow不工作,即使我的相机打开,我';我要把相框打印出来?

Python cv2.imshow不工作,即使我的相机打开,我';我要把相框打印出来?,python,opencv,sockets,Python,Opencv,Sockets,我正在尝试将实时视频从客户端发送到服务器,一切正常,但我无法看到cv2窗口 我可以看到我的相机上的灯指示它是开着的,我也可以看到阵列,但cv2窗口没有出现。 我正在使用macOS 不过cv2在其他方面也能正常工作 Server.py import socket import sys import cv2 import pickle import numpy as np import struct HOST='host' PORT=8089 s=socket.socket(socket.AF

我正在尝试将实时视频从客户端发送到服务器,一切正常,但我无法看到cv2窗口 我可以看到我的相机上的灯指示它是开着的,我也可以看到阵列,但cv2窗口没有出现。 我正在使用macOS 不过cv2在其他方面也能正常工作

Server.py

import socket
import sys
import cv2
import pickle
import numpy as np
import struct 

HOST='host'
PORT=8089

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print ('Socket created')

s.bind((HOST,PORT))
print ('Socket bind complete')
s.listen(10)
print ('Socket now listening')

conn,addr=s.accept()


data = b''
payload_size = struct.calcsize("L") 
while True:
    while len(data) < payload_size:
        data += conn.recv(4096)
    packed_msg_size = data[:payload_size]
    data = data[payload_size:]
    msg_size = struct.unpack("L", packed_msg_size)[0]
    while len(data) < msg_size:
        data += conn.recv(4096)
    frame_data = data[:msg_size]
    data = data[msg_size:]
    ###

    frame=pickle.loads(frame_data)
    cv2.imshow('frame',frame)# here this is not bringing up the cv2 window
    print(frame)
缺少cv2.waitkey()。
import cv2
import numpy as np
import socket
import sys
import pickle
import struct 

cap=cv2.VideoCapture(0)
clientsocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientsocket.connect(('host',8089))

while True:
    ret,frame=cap.read()
    data = pickle.dumps(frame)
    clientsocket.sendall(struct.pack("L", len(data))+data)