在这里插入代码片
@TOC
使用content = binfile.read(32)读取二进制数据
#二进制binfile使用
二进制数据对应图像里程信息
import os
#from bitstring import ConstBitStream, BitStream
import os
import binascii
import cv2
import shutil
name = '2-0-1-50-2023-06-07-07-34-38_LM'
binfile = open('./'+name+'.dex', 'rb')
content = binfile.read(32)
tu_list = []
lc_list = []
while(content != b''):
zp = content[0]*1+content[1]*256+content[2]*4096+content[3]*65536 #print(round(zp,3),round(lc,3))
lc = content[4]*1+content[5]*256+(content[6]+content[7]*256)*0.001
zp=round(zp,3)
lc=round(lc,3)
tu_list.append(zp)
lc_list.append(lc)
content = binfile.read(32)
#vid_path = os.path.join(dir_path,name)
#############################################
wd = os.getcwd()
print(wd)
data_dir = os.path.join(wd, name)
print(data_dir)
if not os.path.isdir(data_dir):
os.mkdir(data_dir)
else:
shutil.rmtree(data_dir)
os.mkdir(data_dir)
############################################
cap = cv2.VideoCapture('./'+name+'.rssf')
i=0
while(cap.isOpened()):
ret, frame = cap.read()
#cv2.namedWindow('img_mask')
# cv2.imshow('img_mask',frame)
# cv2.waitKey(1000)
# cv2.destroyAllWindows()
if (ret):
filename = data_dir + './'+ str(i)+'_' + str(lc_list[i]) + '.jpg'
cv2.imwrite(filename, frame)
else:
print('1:',cap.get(1),'2:',cap.get(2),'3:',cap.get(3),'4:',cap.get(4),
'5:',cap.get(5),'6:',cap.get(6),'7:',cap.get(7),'8:',cap.get(8),
'9:',cap.get(9),'10:',cap.get(10))
print(i)
i+=1