我目前正在尝试建立一个系统,将图像发送到多个远程服务器,以便在图片上执行一些Open-CV和tesseract操作。你知道吗
在一台服务器上,这是可以的,因为我在发送之前将图像重命名到文件夹中(发送的第一个图像自动命名为image\u 0)
然后在接收时再次重命名它们,以相同的顺序使名称对应于相同的图像(第一次发送的图像0和第一次接收的图像0在本地和远程都被命名为图像0),以便在接收结果时更容易读取名称。你知道吗
然后在培训结束时,我在本地收到一个.txt文件,其中包含图像(MRZ区域)的结果,如“Image\u 0 results XXXXXXXX<;<;
我的问题--->
我现在想使用多个远程服务器,并使用带有rabbitMQ的WORKQUEUE来执行基本的工作流编排,并减少图像示例的处理时间。你知道吗
我如何发送一个图像的名称,使其在base64中,在我的.txt结果文件的末尾有相应的名称,因为我的当前方法不能在多个远程服务器上工作?你知道吗
谢谢你的帮助!你知道吗
以下是我当前发送图像的方式:
for file in natsorted(os.listdir()):
end_name=file[-4]+ file[-3]+ file[-2]+ file[-1]
if (end_name != ".txt"):
try:
with open(file, "rb") as image:
message = base64.b64encode(image.read())
channel.basic_publish(exchange='topic_logs',
routing_key=routing_key, body=message)
print(f"{file} || sended on topic %r \n" % (routing_key))
except IndexError:
print("No image given ! ")
sys.exit(1)
os.rename(file,"Image_"+str(ComptNames)+".png")
ComptNames=ComptNames+1
使用JSON作为消息内容类型。这个JSON对象的一个元素是文件名,另一个是Base64编码的图像。你知道吗
使用者必须解析这个JSON消息体。你知道吗
您可以使用AMQP消息头来发送包含消息数据的文件名。使用
pika.spec.BasicProperties
类发送头,如this example。当然,接收端也会提供邮件头。你知道吗注意:RabbitMQ团队监视
rabbitmq-users
mailing list,有时只回答有关StackOverflow的问题。相关问题 更多 >
编程相关推荐