私は現在、640x480でラズベリーパイ3にUSBカメラを記録しようとしている間に、5-10FPS前後で立ち往生しているので、tmpfsを使ってpython/openCVのパフォーマンスを改善しようとしています。悲しいことに380のMo/sのtmpfsでopenCV VideoWriterを改善する
、tmpfsの上で私のOpenCVのビデオファイルの書き込み:私のシステムで
、私はddコマンドを使用して、これらの生の書き込み転送速度を得る: SDカード:2.5Mo/sの tmpfsのフォルダ、私は何か改善が得られませんでした。ここに私のベンチマークのコードは次のとおりです。
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`)
それが与える:
SDカードを取った:8.289990901947021 tmpfsのに要した:8.240657806396484
をmountコマンドで述べたようにtmpfsのがよく、有効になっている: 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が書き込み速度を改善していない理由を知っていましたか?
おかげで、あなたは正しいトラックに戻ってきました! – technico