2016-10-09 53 views
1

我有一個USB連接的攝像頭,並希望將捕獲的幀保存到文本文件。幀是numpy數組,我只需要獲得紅色的顏色值。所以,這裏是我的代碼:OpenCV:將幀矩陣保存到文本文件(Python)

vc = cv2.VideoCapture(1) 

if vc.isOpened(): 
    rval, frame = vc.read() 
    frame = imutils.resize(frame, width=640, height=480) 
    print(frame[...,...,2]) 
    savetxt('../test.txt', frame[...,...,2]) 

打印得到我:

[127 125 125〜114 118 101]

[123 126 125 ...... 111 112 100]

[129 124 122 ...,116 116 100]

...,

[121 120 121 ...,97 104 88]

[118 121 121 ...,96 103 90]

[116 122 120 ...,97 105 90]]

但即使我可以打印整個陣列,它也不適合終端窗口。 所以我想將它保存到文件,但savetxt func不工作,因爲我想。這裏是test.txt的開頭: 1.270000000000000000e + 02 1.250000000000000000e + 02 1.250000000000000000e + 02

等等。

我使用OpenCv 3.1和Python 2.7.12

任何幫助嗎?

回答

1

savetxt默認格式是'%.18e'它解釋了你得到的格式。

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ')[source]¶ 

更改格式說明與fmt參數打印整數,而不是花車:

savetxt('../test.txt', frame[...,...,2],fmt="%d") 
+1

它工作得很好,非常感謝! – askrav