отправка изображения cv2 в формате str pytohn - PullRequest
0 голосов
/ 06 мая 2020
• 1000 1027 * (на стороне клиента), я использую opencv, и я могу легко читать данные с камеры и манипулировать ими. Теперь на моей стороне сервера, когда я получаю запросы GET, я отвечаю этим кодом
def test():
    img = start(0,0)#return a cv2 image elaborated and standard cv2 image color scale
    return str(img)#send to the client the img in string format

клиент получает правильные данные, я сохранил str (img) serverSide и полученный str от клиент, и они одинаковы.

это код на стороне клиента:

txt = resp.text#get the text who's received back
txt = np.array(txt)#convert to a numpy array
#print(txt) #debug
cv2.imshow('image',txt)#show image

проблема находится в последней строке клиента, и сообщите мне эту ошибку

TypeError: Ожидается Ptr для аргумента 'mat'

, но строка txt является массивом numpy, и данные в нем точно такие же, как у клиента сторона (кстати, если я покажу img на стороне сервера, все в порядке), какие-либо предложения?

ПОЖАЛУЙСТА, ДЕЙСТВИТЕЛЬНО НУЖНА ПОМОЩЬ

(полный код: https://github.com/ThomasAndreatta/opencvServer/tree/master)

1 Ответ

0 голосов
/ 06 мая 2020

Массив numpy должен иметь тип uint8. Добавьте дополнительную строку кода перед cv2.imshow(...)

txt = txt.astype(np.uint8)

. Вы можете проверить, какого типа переменная, прежде чем отображать ее, используя whos. Кроме того, во избежание путаницы было бы разумно изменить имя переменной, чтобы отразить изменение типа.

...