Отправить изображение на RabbitMQ - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно отправлять / получать изображения OpenCV через RabbitMQ, по-видимому, у меня проблемы с сериализацией. Я получаю ошибку:

ValueError: Значение истинности массива с более чем одним элементом является неоднозначным. Используйте a.any () или a.all ()

Разрешает ли RabbitMQ отправку изображений в этой форме?

на стороне клиента у меня есть:

from imutils.video import VideoStream
import argparse
import socket
import time
import pika
import numpy as npfrom imutils.video import VideoStream
import argparse
import socket
import time
import pika
import numpy as np
import sys

connection = pika.BlockingConnection(
            pika.ConnectionParameters(host='localhost'))
channel = connection.channel()

channel.exchange_declare(exchange='logs', exchange_type='fanout')


vs = VideoStream(src=0).start()
time.sleep(2.0)


while True:
        frame = vs.ref
        channel.basic_publish(exchange='vids', routing_key='', body=frame)

и на приемной стороне у меня есть:

from imutils import build_montages
from datetime import datetime
import numpy as np
import argparse
import imutils
import cv2
import pika

connection = pika.BlockingConnection(
            pika.ConnectionParameters(host='localhost'))
channel = connection.channel()

channel.exchange_declare(exchange='vids', exchange_type='fanout')

result = channel.queue_declare(queue='', exclusive=True)
queue_name = result.method.queue

channel.queue_bind(exchange='vids', queue=queue_name)

def callback(ch, method, properties, body):

    thresh = 127
    body = cv2.threshold(body, thresh, 255, cv2.THRESH_BINARY)[1]
    cv2.imshow("Home pet location monitor ({})".format(1),body)

channel.basic_consume(
    queue=queue_name, on_message_callback=callback, auto_ack=True)

channel.start_consuming()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...