您收到的数据不是垃圾邮件。这是发送数据。但它是以字节为单位发送的。因此,在接收端,您需要在处理数据之前将字节转换为字符串。阅读this以更好地理解socket编程中的数据发送和接收,阅读this以了解当前版本opencv中使用的方法。
你也不需要用简历来完成这项任务。当前版本的opencv仅通过import cv2提供了这样做的方法。
下面是一个工作代码,虽然它的通信被简化了。
客户端.py#!/usr/bin/python
import socket
import cv2
import numpy
TCP_IP = 'localhost'
TCP_PORT = 5001
sock = socket.socket()
sock.connect((TCP_IP, TCP_PORT))
capture = cv2.VideoCapture(0)
ret, frame = capture.read()
encode_param=[int(cv2.IMWRITE_JPEG_QUALITY),90]
result, imgencode = cv2.imencode('.jpg', frame, encode_param)
data = numpy.array(imgencode)
stringData = data.tostring()
sock.send( str(len(stringData)).ljust(16));
sock.send( stringData );
sock.close()
decimg=cv2.imdecode(data,1)
cv2.imsho