簡體   English   中英

使用picamera和python腳本進行運動跟蹤

[英]Motion tracking using picamera and python script

我正在使用和修改 Python腳本以進行簡單的運動跟蹤。 不幸的是,我遇到了捕獲原始圖像以使運動基本停止的功能的問題。

def captureTestImage():
count[0] = count[0] + 1
command = "raspistill -w %s -h %s -e bmp -o %s%s" % (100, 75, filepath, filenamePrefix)   
imageData = StringIO.StringIO()
imageData.write(subprocess.check_output(command, shell=True))
imageData.seek(0)
im = Image.open(imageData)
buffer = im.load()
imageData.close()
return im, buffer

上面的函數到達行時變得有問題

im = Image.open(imageData)

從理論上講,這行代碼將字節寫入imageData並將其轉換回可用的圖像文件。 但是,在imageData上調用Image.open時,我收到一條錯誤消息,指出無法將字節數組強制轉換為圖像。 我的理解是subprocess.check_output返回返回值的字節表示形式(假設有一個)。 顯然不是這種情況,但是我不知道如何將字節文件(imageData)轉換回實際的圖像文件。 到目前為止,我已經使用了io.ByteIO,但這給了我與StringIO相同的問題。

我已經稍微修改了此函數,由於傳遞了一個參數(-t 0),命令(raspistill)無限運行。 刪除此腳本后,腳本將繼續前進,直到Image.open。

任何輸入將不勝感激。 謝謝!

您不會使用raspistill寫入STDOUT,因此不會將任何圖像數據獲取到STDOUT。

嘗試

command = "raspistill -w %s -h %s -e bmp -o -" % (100, 75) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM