数据集制备需要利用无人机飞行并采集标注。使用录制模式,镜头垂直向下进行拍摄,得到DJI_XXXX.MP4文件,利用如下代码,可以按照如下代码得到对应的图片(注,本代码来自另一博主,非本人原创)
import cv2
import os
#要提取视频的文件名,隐藏后缀
sourceFileName='DJI_0288'
#在这里把后缀接上
video_path = os.path.join("", "", sourceFileName+'.MP4')
times=0
#提取视频的频率,每25帧提取一个
frameFrequency=100
#输出图片到当前目录vedio文件夹下
outPutDirName=''+sourceFileName+'/'
if not os.path.exists(outPutDirName):
#如果文件目录不存在则创建目录
os.makedirs(outPutDirName)
camera = cv2.VideoCapture(video_path)
while True:
times+=1
res, image = camera.read()
if not res:
print('not res , not image')
break
if times%frameFrequency==0:
count = int(times/frameFrequency)
cv2.imwrite(outPutDirName + str(count).zfill(6)+'.jpg', image)
print(outPutDirName + str(count).zfill(6)+'.jpg')
print('图片提取结束')
camera.release()
可得到如下图像文件:
假定你已经安装好了anaconda,直接在prompt中新建labelme环境:conda create -n labelme python=3.8
建好后,conda activate labelme
进入labelme环境
然后,安装labelme,pip install labelme
即可
启动labelme,输入命令labelme
即可
进入界面
具体操作流程,详见B站视频即可