【发布时间】:2017-03-16 14:23:42
【问题描述】:
我目前正在尝试使用 tmpfs 提高 python/openCV 的性能,因为我在尝试以 640x480 在树莓派 3 上录制 USB 摄像头时卡在 5-10 FPS 左右。
在我的系统上,我使用 dd 命令获得了这些原始写入传输率: SD卡:2.5Mo/s tmpfs : 380 月/秒
遗憾的是,在 tmpfs 文件夹中写入我的 opencv 视频文件时,我没有得到任何改进。这是我的基准代码:
import cv2
import numpy as np
import time
x = np.random.randint(255, size=(480, 640,3)).astype('uint8')
writer1 = cv2.VideoWriter('/home/pi/testDX1.avi',cv2.cv.CV_FOURCC('D','X','5','0'), 10, (640, 480), True)
ctime=time.time()
for i in range(250):
writer1.write(x)
writer1.release()
print("SDCard took : "+`time.time()-ctime`)
writer2 = cv2.VideoWriter('/var/tmp/testDX2.avi',cv2.cv.CV_FOURCC('D','X','5','0'), 10, (640, 480), True)
ctime=time.time()
for i in range(250):
writer2.write(x)
writer2.release()
print("tmpfs took : "+`time.time()-ctime`)
它给出了:
SDCard 占用:8.289990901947021 tmpfs 占用:8.240657806396484
tmpfs 已启用,如 mount 命令所述:
mount | grep "/var/tmp" 给tmpfs on /var/tmp type tmpfs (rw,nosuid,nodev,relatime)
mount | grep "/ " 给/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)
有人知道为什么 tmfs 没有提高写入速度吗?
【问题讨论】:
标签: python linux opencv raspberry-pi3 tmpfs