如何将多个图像作为输入传递给python脚本
Posted
技术标签:
【中文标题】如何将多个图像作为输入传递给python脚本【英文标题】:How to pass multiple images as input to python script 【发布时间】:2018-02-04 10:46:24 【问题描述】:我使用 nodejs 调用一个 python 脚本,该脚本对从硬盘读取的一些 jpg 图像运行对象检测。这些图像在调用脚本之前由 nodejs 写入磁盘。
为了使其动态和更快,现在我想将多个图像作为多维数组从 nodejs 发送到 python 脚本。这节省了我从磁盘写入和读取图像的时间。这是最好的方法吗?如果是这样,我如何将图像作为多维数组传递给 python 脚本?或者有没有更好的解决方案?
【问题讨论】:
我认为传递图像的路径比传递多维数组更好。 但是写入硬盘(nodejs)和读取(python)硬盘应该比从内存读取慢得多吧?或者还有什么其他好处吗? @stamaimer 【参考方案1】:您的问题遗漏了很多细节,但如果您的字面意思是“将输入传递给 python 脚本”,那么您有两个选择:命令行参数或标准输入。
虽然从标准输入读取一系列图像在技术上是可行的,但它肯定更复杂,没有任何好处值得这样做。
命令行参数只能是字符串,从sys.argv
读取所以,虽然你可以尝试使用多个命令行参数,但将字符串数组转换为多维数组会更麻烦。
所以,tl;dr 创建一种数据文件格式,让您可以将一组图像表示为文件路径(或 URL,如果需要)的多维数组。到目前为止,最简单的方法就是使用 CSV 文件并使用csv
Python 模块将其读入。
import csv
image_path_array = list(csv.reader(open('filename.csv','r')))
【讨论】:
以上是关于如何将多个图像作为输入传递给python脚本的主要内容,如果未能解决你的问题,请参考以下文章
使用 argparse 将多个 bash 数组传递给 Python