【问题标题】:OpenCV: Save frame matrix to text fileOpenCV:将帧矩阵保存到文本文件
【发布时间】:2017-02-18 06:18:33
【问题描述】:

我有一个 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])

print 告诉我这个:

[[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() 函数无法正常工作。

这是 test.txt 的开头:

1.270000000000000000e+02 1.250000000000000000e+02 1.250000000000000000e+02

等等。

我正在使用OpenCV 3.1Python 2.7.12

有什么帮助吗?

【问题讨论】:

    标签: python numpy opencv


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多