OpenCV:将帧矩阵保存到文本文件(Python)

时间:2016-10-09 19:55:40

标签: python macos opencv numpy

我有一个USB连接网络摄像头,想要将捕获的帧保存到文本文件中。帧是numpy数组,我只需要获得红色值。所以,这是我的代码:

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 个答案:

答案 0 :(得分:1)

savetxt默认格式为'%.18e',说明了您获得的格式。

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

使用fmt参数更改格式说明符以打印整数而不是浮点数:

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