目标检测图片截取目标分类图片

如果要训练一个分类模型却没有特定的分类数据集怎么办呢?可以换一种思路,将带有该目标的图片对所有想要的目标进行画标注框然后进行截图,就能得到特定的分类数据了。这么做的目的是:带有该目标的图片可能不会少,但是带有该目标且一张图内只有唯一一个目标的图片肯定少。

拿如下这张图片举例:
在这里插入图片描述
假设我们要训练一个车辆分类的模型,分类小车或者摩托车,首先我们先进行标注(因为只是举个例子所以就标注一部分):
在这里插入图片描述
然后编写截图代码:

import cv2
import json
import osimg_path = "/home/alpha/桌面/11/img"
json_path = "/home/alpha/桌面/11/json"
save_path = "/home/alpha/桌面/11/clsf"files = os.listdir(json_path)
for file in files:if os.path.splitext(file)[-1] != ".json":continueimg_file = os.path.join(img_path, os.path.splitext(file)[0] + ".jpg")json_file = os.path.join(json_path, file)json_data = json.load(open(json_file))i, j = 0, 0for shape in json_data["shapes"]:p = shape["points"]x1 = int(min(p[0][0], p[1][0]))y1 = int(min(p[0][1], p[1][1]))x2 = int(max(p[0][0], p[1][0]))y2 = int(max(p[0][1], p[1][1]))img = cv2.imread(img_file)img = img[y1:y2, x1:x2, :]img_save = ""# 根据自己的类别if shape["label"] == "car":img_save = save_path + "/car/" + os.path.splitext(file)[0] + "-" + str(i) + ".jpg"i += 1elif shape["label"] == "moto":img_save = save_path + "/moto/" + os.path.splitext(file)[0] + "-" + str(j) + ".jpg"j += 1else:continueprint(shape["label"])cv2.imwrite(img_save, img)print(img_save)

查看结果:
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL作为服务端的配置过程与实际案例

MySQL是一款流行的关系型数据库管理系统,广泛应用于各种业务场景中。作为服务端,MySQL的配置过程对于数据库的性能、安全性和稳定性至关重要。本文将详细介绍MySQL作为服务端的配置过程,并通过一个实际案例进行举例说明。 一、MySQL服务端配…

VSCode如何编辑Markdown文件

VSCode如何编辑Markdown文件 一、安装插件二、常用命令 一、安装插件 需要在VSCode安装一个插件Markdown Theme Kit 二、常用命令 1、CtrlShiftV 预览模式

Spring Boot中实现邮件推送

当发送邮件时,可能会遇到各种异常情况。为了帮助您处理这些异常并提供一个完整的解决方案,下面是一篇关于在Spring Boot中实现邮件推送并处理异常的博客,以Markdown格式呈现: 在Spring Boot中实现邮件推送并处理异常 在许多应用…

网络安全试题——附答案

选择题示例: 在网络安全中,什么是“DDoS”攻击的全称? a) Distributed Denial of Service b) Data Destruction of Service c) Direct Denial of Security d) Digital Defense of Servers 使用什么类型的加密可以确保在互联网上传输的数据是…

云贝教育 |【技术文章】PG的流复制搭建

一 主备机器规划主机名 主:192.168.2.103 db1 备:192.168.2.104 db2 二 创建流复制 2.1 修改主机配置(两台主机都修改) $ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localho…

spring-cloud-stream-kafka生产速度慢

包版本spring-cloud-starter-stream-kafka:3.1.0 修改yaml配置 添加poller配置

Python多态原理及实现

对于弱类型的语言来说,变量并没有声明类型,因此同一个变量完全可以在不同的时间引用不同的对象。当同一个变量在调用同一个方法时,完全可能呈现出多种行为(具体呈现出哪种行为由该变量所引用的对象来决定),…

人工智能与低代码:前端技术的双重变革

随着科技的飞速发展,人工智能(AI)和低代码开发平台已经成为当下热门的话题。在前端技术领域,这两大技术的崛起正在悄然改变开发模式,提高开发效率,降低技术门槛。本文将从以下几个方面,详细探讨…

Netty介绍

1. Netty介绍 是一个异步的、基于事件驱动的网络应用框架,用以开发高性能,高可靠性的网络io程序。Netty主要针对在TCP协议下,面向clients端的高并发应用,或者peer-to-peer场景下大量数据持续传输的应用。Netty本质上是一个NIO框架…

12.15每日一题(备战蓝桥杯摘花生)

12.15每日一题(备战蓝桥杯摘花生) 题目 摘花生 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上…

都有哪些大厂开始适配鸿蒙原生应用呢

12月8日,随着支付宝宣布启动鸿蒙原生应用开发以来,国内宣布接入鸿蒙原生应用开发的公司越来越多。事实上,自9月华为宣布鸿蒙原生应用全面启动以来,已有金融、旅行、社交等多个领域的企业和开发者陆续宣布加入鸿蒙生态,…

配电房智能运维工具-电易云

配电房智能运维是将云计算、物联网、大数据与“互联网”服务理念相结合,采用“线上线下”的服务模式,为电力终端用户提供托管式配电智能运维服务。电易云智慧电力物联网是以提高电力运行安全,降低运维成本为目标,采用物联网、云计…

Linux-CentOS7(无图形界面版)部署stable-diffusion-webui 全过程

Linux-CentOS7(无图形界面版)部署Stable Diffusion webui 全过程 前置要求 git的版本不能是CentOS默认的版本(1.8),版本太老,在后面安装过程会失败。去github上下载最新的git源码包 安装成功显示版本号 …

ElasticSearch与HBase的分布式存储设计

本文内容覆盖如今两大非结构化数据库之间的区别 详情介绍 从各个角度详细对比 1. 官方定位 HBase 是 Hadoop 数据库,是一个分布式、可扩展的大数据存储。 当您需要对大数据进行随机、实时的读/写访问时,请使用 Apache HBase™。 这个项目的目标是在商用硬件集群上托管非常大…

github 学习番外篇

我们可以按照仓库开始的提示提交仓库 不知道为什么 出现了 我用 git branch 查看了一下,竟然没发现分支 后来发现是只有commit以后才会显示这个分支 后来显示 这是因为本地和远程仓库不同步的原因 这时候我们就需要git pull 一下 发现两个仓库由于不关联不能git…

电商项目高并发缓存实践

大部分面向公众的互联网系统,其并发请求数量与在线用户数量都是正相关的,而 MySQL 能够承担的并发读写量是有一定上限的,当系统的访问量超过一定程度的时候,纯 MySQL 就很难应付了。绝大多数互联网系统都是采用 MySQLRedis 这对经…

衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)

一代人有一代人的经典回忆,1994年由周海媚、马景涛、叶童主演的《神雕侠侣》曾经风靡一时,周海媚所诠释的周芷若凝聚了汉水之钟灵,峨嵋之毓秀,遇雪尤清,经霜更艳,俘获万千观众,成为了一代人的共…

Gartner发布2024年网络安全预测 :IAM 和数据安全相结合,解决长期存在的挑战

安全和风险管理领导者需要采用可组合的数据安全视图。这项研究预测,将数据安全创新应用于痛点和高级用例将有助于组织将其数据用于几乎任何用例。 主要发现 在所有云服务模型中,数据安全以及身份和访问管理 (IAM) 的责任均由最终客户承担。 由于这两个学…

Python等比例缩放图片并修改对应的Labelme标注文件(v2.0)

Python等比例缩放图片并修改对应的Labelme标注文件(v2.0) 前言前提条件相关介绍实验环境Python等比例缩放图片并修改对应的Labelme标注文件Json文件代码实现输出结果 前言 此版代码,相较于Python等比例缩放图片并修改对应的Labelme标注文件&a…

seleniumwire获取页面接口数据

selenium并不支持获取响应的数据,我们可以使用selenium-wire库,selenium-wire扩展了 Selenium 的 Python 绑定,可以访问浏览器发出的底层请求。 编写的代码与 Selenium 的方式相同。 1. 先安装seleniumwire的插件 pip install selenium-wir…