Ошибка типа: buf не является числовым кортежем - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь кодировать image или frame, взятые из webcam и отправлять их на сервер при декодировании. Я получаю эту ошибку

Я пытаюсь кодировать и декодировать, используя следующий код

import cv2
import cPickle
cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    frame = cv2.imencode('.jpg', frame)
    data = cPickle.dumps(frame)
    res = cPickle.loads(data)
    small_frame = cv2.imdecode(res,1)
    print(res)

Я получаю ошибку при декодировании.Я не знаю, как это исправить.Спасибо

ошибка:

TypeError: buf is not a numerical tuple

1 Ответ

0 голосов
/ 23 мая 2018

imencode также возвращает значение успеха.Вы выбираете кортеж (retval, buf).Вы на самом деле хотите только мариновать buf:

ret, frame = cv2.imencode('.jpg', frame)

(Также предложение: избавьте себя от некоторых головных болей в будущем, фактически проверив значения ret).

...