首页 > 其他分享 >labelme标注后的数据只剩下面积1600像素以内的小颗粒

labelme标注后的数据只剩下面积1600像素以内的小颗粒

时间:2024-12-19 10:53:22浏览次数:3  
标签:1600 filename 像素 shapes json path import labelme data

点击查看代码
import cv2
import numpy as np
import json
import os
def list_jsons(folder_path):
    for filename in os.listdir(folder_path):
        if filename.endswith(('.json',)):
            yield os.path.join(folder_path, filename)

def remove_specific_labels(json_file):
    # 读取JSON文件
    with open(json_file, 'r') as f:
        data = json.load(f)
        data_small=data
    if"shapes" in data:
        new_shapes=[]
        new_shapes_small=[]
        # 提取闭合区域的轮廓
        contours = []
        for shape in data['shapes']:
            points = np.array(shape['points'], np.int32)
            area=cv2.contourArea(points)
            if(area<1600):
                new_shapes.append(shape)
            # else:
            #     shape["label"]="small_ban"
            #     new_shapes.append(shape)
            #     print("")
            # print("闭合区域的面积为", cv2.contourArea(points))
            # contours.append(points)
        data["shapes"]=new_shapes
        # data_small["shapes"]=new_shapes_small
    with open(json_file,'w',encoding='utf-8')as f:
        json.dump(data,f,ensure_ascii=False,indent=4)


    # with open(r"D:\gzj\pic\SEE\0827\backup\small.json",'w',encoding='utf-8')as f:
    #     json.dump(data_small,f,ensure_ascii=False,indent=4)
if __name__ == '__main__':
# 使用例子
    folder_path = '/home/administrator/gzj/pic/primary_tiao/src_copy/'  # 替换为你的文件夹路径
    for json_path in list_jsons(folder_path):
         remove_specific_labels(json_path)
    #remove_specific_labels('/home/administrator/gzj/pic/primary_ban/src_copy')
    #E:\SVN\08代码交接\granule_server_cngr_2\granule_server_cngr_2

标签:1600,filename,像素,shapes,json,path,import,labelme,data
From: https://www.cnblogs.com/SunshineWeather/p/18616660

相关文章

  • PbootCMS模板上传栏目缩略图时,图片宽度自动变成1000像素,如何解决?
    在使用PbootCMS模板时,如果你发现上传的栏目缩略图在保存后自动变成了1000像素的宽度,这通常是由于系统配置中的缩略图最大宽度设置所致。你可以通过修改配置文件来解决这个问题。以下是详细的步骤和实现方法:理解问题原因:PbootCMS在上传图片时会根据配置文件中的设置自动调整图......
  • 【YOLO】-目标检测数据集格式转换:将labelme格式转为YOLO以及VOC格式
    前言一个目标检测项目需要自己找图片标注数据进行训练,训练需要YOLO格式,但数据增广需要VOC格式,该文记录如何将labelme标注的数据格式转为YOLO格式,再从YOLO格式转为VOC格式,只作为自己用的记录,如果你刚好也需要这么干,或者需要文中提到的某一种转换,也可以参考一下。文中有些代码是参考......
  • 【Unity 顶视角火焰与爆炸效果图像包】Top Down Fire and Explosion Sprites Pixel Ar
    TopDownFireandExplosionSpritesPixelArt是一款专为Unity开发者设计的像素艺术风格图像包,专注于提供顶视角(TopDown)火焰和爆炸效果的精美像素艺术图标。这个插件适用于需要火焰、爆炸和其他视觉效果的游戏场景,特别是用于RPG、射击游戏、策略游戏等类型。以下是该插......
  • html中表格的width和height的值为什么没有单位?它的的默认单位是像素吗?
    在HTML中,当你为(<td>、<th>)或其他HTML元素设置width和height属性时,确实可以不带单位。在这种情况下,浏览器默认使用像素(px)作为单位。示例<tablewidth="500"height="300"><tr><td>单元格内容</td></tr></table>在这个例子中,表格的宽度被设置为500像素,高度......
  • Python OpenCV按照像素点图片切割
    图像分割是从图像处理到图像分析的关键步骤,在目标检测、特征提取、图像识别等领域具有广泛应用。OpenCV是一个强大的计算机视觉库,提供了多种图像分割方法。本文将详细介绍如何使用Python和OpenCV进行基于像素点的图像分割,包括阈值分割、自适应阈值分割、Otsu's二值化、分水岭算法......
  • ABB机器人IRB1600齿轮箱维修故障四大原因
    一、ABB机器人IRB1600齿轮箱齿轮磨损齿轮磨损是IRB1600齿轮箱常见的故障。长时间的高速运转和负载作用会导致齿轮表面磨损,进而产生噪音和振动。维修时,需要对磨损的齿轮进行更换,同时检查相邻齿轮的磨损情况,必要时一并进行更换,以确保齿轮传动的平稳性和精确性。二、ABB机器人IRB1......
  • 你了解什么是像素追踪吗?它是用来做什么的?它的实现原理是什么?
    像素追踪(PixelTracking)在前端开发中是一种用于收集用户行为数据的方法,它通常用于网站分析、广告转化跟踪和个性化推荐等方面。它允许网站所有者了解用户如何与他们的网站互动,例如用户点击了哪些链接、浏览了哪些页面、在每个页面停留了多长时间等等。像素追踪主要用途:网站分析......
  • p标签里面嵌套img标签会出现向上高3像素是什么原因?如何处理?
    img元素默认是inline元素,与文本的基线对齐。而p元素内部的文本也与基线对齐。img元素底部会有几像素的空白,这是由于img的默认vertical-align属性值为baseline造成的。这个空白通常表现为向上偏移3px左右,但具体数值取决于字体大小、行高以及图片的底部边缘形状。解......
  • 什么是物理像素和逻辑像素?
    在前端开发中,物理像素和逻辑像素是两个重要的概念,它们共同影响着如何在屏幕上显示内容。它们的区别在于:物理像素(PhysicalPixel):指的是显示器上可以实际控制发光的最小单位。一个物理像素就是一个屏幕上的一个物理光点。物理像素的数量是由屏幕硬件决定的,是固定的,不可改变......
  • 基于 Microchip ATSAME54 + ams OSRAM EVIYOS 2.0 的 10base T1S 万级像素大灯方案
        像素大灯,也称为矩阵式大灯或像素化LED大灯,是一种先进的车辆照明技术,它将多个小的LED单元组合成一个高分辨率的光源。它具有如下优势:精确控制的光束:像素大灯可以精确控制每个LED单元的亮度和方向,从而提供高度定制化的照明模式,适应不同的驾驶环境和需求。减少眩光:在......