[GDMEC-无人机遥感研究小组]无人机遥感小组-000-数据集制备

基于labelme的无人机语义分割数据集制备

文章目录

  • 基于labelme的无人机语义分割数据集制备
    • 1. 数据获取
    • 2. 安装labelme
    • 3.利用labelme进行标注

1. 数据获取

数据集制备需要利用无人机飞行并采集标注。使用录制模式,镜头垂直向下进行拍摄,得到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()

可得到如下图像文件:
在这里插入图片描述

2. 安装labelme

假定你已经安装好了anaconda,直接在prompt中新建labelme环境:conda create -n labelme python=3.8
在这里插入图片描述

建好后,conda activate labelme进入labelme环境
在这里插入图片描述
然后,安装labelme,pip install labelme即可

3.利用labelme进行标注

启动labelme,输入命令labelme即可
在这里插入图片描述
进入界面
在这里插入图片描述
具体操作流程,详见B站视频即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/346686.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux基础指令【中篇】

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 补充上篇的细节1.sta…

2023龙信杯wp

打了好像70多分,没拿奖,因为一些众所周知的原因,复盘间隔时间太长了没什么印象了已经 案情简介 2023年9月,某公安机关指挥中心接受害人报案:通过即时通讯工具添加认识一位叫“周微”的女人,两人谈论甚欢,确…

配网行波型故障预警定位装置:电力系统的安全守护神

随着科技的不断发展,电力系统的运行和管理已经越来越依赖于先进的技术手段。在这个领域中,配网行波型故障预警定位装置(也被称为智能电网监测设备)已经成为了一种重要的技术装备。它能够实时监测电力系统的运行状态,及时发现并预警故障&#…

VI / VIM的使用

vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,而且 还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x win…

Leetcode25-上升下降字符串(1370)

1、题目 给你一个字符串 s ,请你根据下面的算法重新构造字符串: 从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。 从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。…

from sklearn.preprocessing import LabelEncoder的详细用法

sklearn.preprocessing 0. 基本解释1. 用法说明2. python例子说明 0. 基本解释 LabelEncoder 是 sklearn.preprocessing 模块中的一个工具,用于将分类特征的标签转换为整数。这在许多机器学习算法中是必要的,因为它们通常不能处理类别数据。 1. 用法说…

进程通信与socket编程实践之猜数字小游戏

socket是实现进程通信的一种重要方式,本文将通过socket编程实现服务器进程与客户端进程之间的通信,并在通信之外实现猜数字的小游戏。 1. 设计思路 本文设计的C/S结构的猜数字游戏功能如下:服务器端自动生成一个1-100之间的随机数字&#x…

未来已来:概念车展漫游可视化的震撼之旅

随着科技的飞速发展,汽车行业正经历着前所未有的变革。而在这场变革中,概念车展无疑是一个引领潮流、展望未来的重要舞台。 想象一下,你站在一个巨大的展厅中,四周陈列着各式各样的概念车。它们有的造型独特,有的功能先…

Protein carbonyl ELISA kit羰基化蛋白ELISA试剂盒

蛋白质羰基化是蛋白质氧化损伤的一种,是氧化应激中一种不可逆的化学修饰。蛋白质羰基化会引起蛋白质结构的改变,使其失去原有的生物学功能,最终导致细胞和组织功能紊乱。蛋白质羰基化不仅是氧化损伤的一项重要指标,也参与多种疾病…

客户大批量保密文件销毁,数据销毁新方案及实践 文件销毁 硬盘销毁 数据销毁 物料销毁

2023年春节前夕,青岛客户经理接到一个电话,韩国驻华机构想请我们做文件销毁,要求在2天内销毁800多箱纸文件。800多箱需要在短短两天内完成销毁,这一数字创下了淼一文件数据销毁自2009年以来的历史记录。单从业绩和营销角度看&…

AIGC是什么?GPT-4.0、DALL·E以及Midjourney等多种智能服务

AIGC(人工智能生成内容,Artificial Intelligence Generated Content)是指利用人工智能技术自动生成的文本、图像、音频和视频等内容。随着技术的进步,AIGC已经成为创意产业和内容创作领域的一股新兴力量。MidTool作为一款集成了多…

Spring Security 之 基本认证

基本认证 这部分提供了关于Spring Security如何为基于Servlet的应用程序提供基本HTTP认证支持的详细信息。 这部分描述了Spring Security中HTTP基本认证的工作原理。首先,我们看到WWW-Authenticate标头被发送回未经身份验证的客户端: 首先,用户对未经授权的资源 /private …

2024.1.22力扣每日一题——最大交换

2024.1.22 题目来源我的题解方法一 暴力法方法一 哈希表贪心方法三 贪心 题目来源 力扣每日一题;题序:670 我的题解 方法一 暴力法 直接暴力对数字中的每两个位置进行交换,然后记录交换后生成数字的最大值 时间复杂度:O( log ⁡…

用游戏盾会掉线吗,游戏出现掉线或者卡顿的可能有哪些原因

目前游戏类用户使用抗D盾进行防护DDOS攻击的情况非常普遍,有些第一次了解接触到盾的用户,会有担心接入盾使用后,玩家那边会不会掉线或者出现卡的问题。 其实关于这方面是完全不用担心,游戏盾都是由高防节点智能多线节点分布&…

TCP的连接和关闭的那些事

一、基础概念 1、啥是TCP? 它是面向连接的一种协议,任何数据发送之前都需要建立连接。 2、TCP/IP协议的四层中那一层? TCP位于运输层,详见下图 3、TCP协议的状态机有哪些? 在链接建立和断开不同阶段都有不同的状态&#xf…

企业邮箱遭入侵!印度制药巨头损失超4500万元

近日,印度制药巨头阿尔肯实验室子公司部分员工的企业邮箱遭入侵,导致其子公司被欺诈5.2亿卢比(约合人民币4500万元)。而根据截至2023年9月的季度财务报告数据,该公司营业收入为263.46亿卢比,净利润为64.65亿…

网页首页案例(使用框架:继上一篇博客结尾)

文章目录 新认识的快捷键1.先写好组件并导入App.vue2.往组件中一个一个填内容3.整体静态完成后,发现某些小部分相同,其实可以分装成小组件4.最后通过js动态渲染 新认识的快捷键 1.Ctrl滚轮按住往下拖可以部分选中 .用同样的方法选中下面的111&#xff0…

机器学习:多元线性回归闭式解(Python)

import numpy as np import matplotlib.pyplot as pltclass LRClosedFormSol:def __init__(self, fit_interceptTrue, normalizeTrue):""":param fit_intercept: 是否训练bias:param normalize: 是否标准化数据"""self.theta None # 训练权重系…

Vue3 Teleport 将组件传送到外层DOM位置

✨ 专栏介绍 在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使…

力扣hot100 合并区间 排序 贪心

Problem: 56. 合并区间 复杂度 时间复杂度: O ( n log ⁡ n ) O(n\log{n}) O(nlogn) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public int[][] merge(int[][] intervals){Arrays.sort(intervals, (int[] a, int[] b) -> {return a[0] - b[0];});// 按照数…
最新文章