Ich brauche das Bild mit RabbitMQ und dem einzigen Weg zu schicken ich gefunden ist:Wie kann ich ein einfaches Bild von der Festplatte in eine OpenCV-Matten-Datei konvertieren?
f = open("asd.jpg","rb")
img = f.read()
f.close()
als ich die img
senden kann.
Ich möchte das gesendete Bild verarbeiten, wo ich es erhalten habe, also wie kann ich es in eine OpenCV-Matten-Datei konvertieren?
Hier ist, wie ich die Datei erhalten:
def callback(ch, method, properties, body):
print "Recieved"
cv2.imshow('Message', body)
cv2.waitKey(0)
Send.py:
import pika
import cv2
img = cv2.imread('asd.jpg')
#Establish connection
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.exchange_declare(exchange='image_exch', type='fanout')
channel.basic_publish(exchange='image_exch', routing_key='', body=img)
print "[*] Sent"
connection.close()
Receive.py:
import pika
import cv2
#Establish connection
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.exchange_declare(exchange='image_exch', type='fanout')
result = channel.queue_declare(exclusive=True)
queue_name = result.method.queue
channel.queue_bind(exchange='image_exch', queue=queue_name)
def callback(ch, method, properties, body):
print "Recieved"
cv2.imshow('Message', body)
cv2.waitKey(0)
channel.basic_consume(callback, queue=queue_name, no_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
Warum lesen Sie nicht einfach das Bild mit opencv? Es wird als ein numpliges Array gelesen. –
Also zuerst muss ich es speichern und dann nochmal mit openCV lesen? Oder ich verstehe es nicht. – Gabe
Überprüfen Sie meine Antwort. –