Я хочу перенести отдельные кадры изображения, снятого веб-камерой в моей камере Raspberry Pi, на мою систему IDLE (ПК).Я знаю, что существует несколько способов отправки изображения с использованием PIL или Pygame, но я сосредоточен на обработке изображения после получения IDLE на ПК.Я начал с отправки небольшого массива и упомянул эту проблему .Вот код для того же самого: также я использовал его, используя python3, поэтому предложения с тем же самым высоко ценится.Программа CLient:
import socket, pickle
HOST = 'localhost'
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
arr = ([1,2,3,4,5,6],[1,2,3,4,5,6])
data_string = pickle.dumps(arr)
s.send(data_string)
data = s.recv(4096)
data_arr = pickle.loads(data)
s.close()
print('Received', repr(data_arr))
Сервер:
import socket
HOST = 'localhost'
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
data = conn.recv(4096)
if not data: break
conn.send(data)
conn.close()
До сих пор все было идеально.Теперь, когда я попытался изменить общий массив с массивом numpy следующим образом:
arr=cv2.imread('1.jpg')
я получаю ошибку:
data_arr = pickle.loads(data)
_pickle.UnpicklingError: данные pickle были усечены
Пожалуйста, помогите мне с этим, так как я очень много борюсь за отправку значений.Заранее спасибо.