2017-08-26 16 views
2

我使用nodejs調用python腳本,該腳本爲從硬盤讀取的某些jpg圖像運行對象檢測。這些圖像在調用腳本之前由nodejs寫入磁盤。如何將多個圖像作爲輸入傳遞給python腳本

爲了使它動態更快,現在我想將多個圖像作爲從nodejs到python腳本的多維數組發送。這節省了我從磁盤寫入和讀取圖像。這是做這件事的最好方法嗎?如果是這樣,我如何將圖像作爲多維數組傳遞給python腳本?還是有更好的解決方案?

+0

我認爲傳遞圖像的路徑比傳遞多維數組要好。 – stamaimer

+0

但是寫入硬盤(nodejs)和從(python)硬盤讀取應該比從ram讀取要慢得多?或者還有其他好處嗎? @stamaimer – Tahlil

回答

1

您的問題留下了很多細節,但如果您的字面意思是「將輸入傳遞給python腳本」,則有兩個選項:命令行參數或標準輸入。

儘管從標準輸入中讀取一系列圖像在技術上是可行的,但它確實更復雜,沒有任何好處使其值得。

命令行參數只能是字符串,從sys.argv中讀取因此,儘管您可以嘗試使用多個命令行參數,但將字符串數組轉換爲多維數組會更麻煩。

因此,tl; dr創建了一種數據文件格式,可讓您將一組圖像表示爲多維文件路徑(或URL,如果需要)。目前最簡單的方法就是使用CSV文件並使用Python模塊csv進行讀取。

import csv 
image_path_array = list(csv.reader(open('filename.csv','r'))) 
相關問題