【问题标题】:How to pass multiple images as input to python script如何将多个图像作为输入传递给python脚本
【发布时间】:2018-02-04 10:46:24
【问题描述】:

我使用 nodejs 调用一个 python 脚本,该脚本对从硬盘读取的一些 jpg 图像运行对象检测。这些图像在调用脚本之前由 nodejs 写入磁盘。

为了使其动态和更快,现在我想将多个图像作为多维数组从 nodejs 发送到 python 脚本。这节省了我从磁盘写入和读取图像的时间。这是最好的方法吗?如果是这样,我如何将图像作为多维数组传递给 python 脚本?或者有没有更好的解决方案?

【问题讨论】:

  • 我认为传递图像的路径比传递多维数组更好。
  • 但是写入硬盘(nodejs)和读取(python)硬盘应该比从内存读取慢得多吧?或者还有什么其他好处吗? @stamaimer

标签: python arrays node.js performance multidimensional-array


【解决方案1】:

您的问题遗漏了很多细节,但如果您的字面意思是“将输入传递给 python 脚本”,那么您有两个选择:命令行参数或标准输入。

虽然从标准输入读取一系列图像在技术上是可行的,但它肯定更复杂,没有任何好处值得这样做。

命令行参数只能是字符串,从sys.argv读取所以,虽然你可以尝试使用多个命令行参数,但将字符串数组转换为多维数组会更麻烦。

所以,tl;dr 创建一种数据文件格式,让您可以将一组图像表示为文件路径(或 URL,如果需要)的多维数组。到目前为止,最简单的方法就是使用 CSV 文件并使用csv Python 模块将其读入。

import csv
image_path_array = list(csv.reader(open('filename.csv','r')))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-29
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多