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

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

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

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

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

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

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

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

github 学习番外篇

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

衡兰芷若成绝响,人间不见周海媚(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…

CSS基础面试题

介绍一下标准css盒子模型与低版本IE的盒子模型? 标准盒子模型:宽度内容的宽度(content) border padding margin 低版本IE盒子模型:宽度内容宽度(contentborderpadding) margin box-sizing 属性…

「X」Embedding in NLP|神经网络和语言模型 Embedding 向量入门

在「X」Embedding in NLP 进阶系列中,我们介绍了自然语言处理的基础知识——自然语言中的 Token、N-gram 和词袋语言模型。今天,我们将继续和大家一起“修炼”,深入探讨神经网络语言模型,特别是循环神经网络,并简要了解…

攻防世界——BABYRE

下载好文件,IDA64打开 无脑F12 锁定到right 跟进到了这个函数 很明显关键点就是 我们跟进judge 182个字符 懵逼了,说实话 下面是问了人后 —————————— 其实这是一个函数,一个操作指令 但是我们可以发现 在这里,ju…

IDEA设置查看JDK源码

问题 我们在查看JDK源码时,可能会遇到这种情况,步入底层查看JDK源码时,出现一堆var变量,可读性非常之差,例如笔者最近想看到nio包下的SocketChannelImpl的write方法,结果看到这样一番景象: pu…

CLIP 对比学习 源码理解快速学习

最快的学习方法,理清思路,找视频讲解,看源码逻辑: CLIP 源码讲解 唐宇 输入: 图像-文本成对配对的数据 训练模型的过程(自己理解): 怎么做的?:利用数据内部…

c# 为什么修改Font导致Location 变化

搜索引擎、各种人工智能,只有这个帮我解决了问题 然后我发现了这个 我就奇怪,一行行调试代码,最终发现设置Font,Location就变了,完全想不通