当前位置: 首页 > news >正文

专业网站建设模板国际最新消息

专业网站建设模板,国际最新消息,重庆市全面解封,政府网站群建设的意义Python统计Labelme标注文件信息并绘制散点图前言前提条件相关介绍实验环境Python统计Labelme标注文件信息并绘制散点图前言 本文是个人使用Python处理文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击…

Python统计Labelme标注文件信息并绘制散点图

  • 前言
  • 前提条件
  • 相关介绍
  • 实验环境
  • Python统计Labelme标注文件信息并绘制散点图

前言

  • 本文是个人使用Python处理文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入我的个人主页查看

前提条件

  • 熟悉Python

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • Python OS模块是负责程序与操作系统的交互,提供了访问操作系统底层的接口和非常丰富的方法用来处理文件和目录。

实验环境

  • Python 3.x (面向对象的高级语言)

Python统计Labelme标注文件信息并绘制散点图

import os
import cv2
import json
import pyecharts.options as opts
from pyecharts.charts import Scatter
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker# 图像显示函数
def show(name, img):cv2.namedWindow(name, 0)  # 用来创建指定名称的窗口,0表示CV_WINDOW_NORMAL# cv2.resizeWindow(name, img.shape[1], img.shape[0]); # 设置宽高大小为640*480cv2.imshow(name, img)cv2.waitKey(0)cv2.destroyAllWindows()def count_json_label(in_json_path,label_num,width_list,height_list,area_list):with open(in_json_path, "r", encoding='utf-8') as f:# json.load数据到变量json_datajson_data = json.load(f)# 统计标签数for i in json_data['shapes']:if i['label'] in label_num.keys():label_num[i['label']] = label_num[i['label']] + 1else:label_num[i['label']] = 1# 生成存储长和宽数据的列表for i in json_data['shapes']:w = i['points'][1][0] - i['points'][0][0]h = i['points'][1][1] - i['points'][0][1]# print(w,h)width_list.append(abs(w))height_list.append(abs(h))area_list.append(abs(w)*abs(h))def write_info_txt(txt_path,label_num,width_list,height_list,area_list):with open('rect_info.txt','w') as f:f.write('总标注数:'+str(sum(label_num.values()))+'\n')f.write('label_num:'+str(label_num)+ '\n')f.write('min(width_list):'+str(min(width_list))+'\n')f.write('len(width_list):'+str(len(width_list))+'\n')f.write('min(height_list):'+str(min(height_list))+'\n')f.write('len(height_list):'+str(len(height_list))+'\n')f.write('min(area_list):'+str(min(area_list))+'\n')f.write('len(area_list):'+str(len(area_list))+'\n')def draw_scatter(width_list,height_list):x_data = width_listy_data = height_list(Scatter().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="(width,height)",y_axis=y_data,symbol_size=3,label_opts=opts.LabelOpts(is_show=False),).set_series_opts().set_global_opts(xaxis_opts=opts.AxisOpts(name = 'Width',type_="value", splitline_opts=opts.SplitLineOpts(is_show=True)),yaxis_opts=opts.AxisOpts(name = 'Height',type_="value",axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),tooltip_opts=opts.TooltipOpts(formatter=JsCode("function (params) {return ' ( ' +params.value[0] + ' , ' + params.value[1]+ ' )';}")),).render("w_h_scatter_chart.html"))if __name__=="__main__":in_dir_name = 'jsons/' # 图片和json所在文件夹# out_dir_name = 'output/'all_name_list = os.listdir(in_dir_name) # 获取文件夹内所有文件名列表# 获取所有json文件,并修改json_name_list = [i for i in all_name_list if i.endswith('.json')] # 图片路径列表# print(json_name_list)label_num = {}width_list = []height_list = []area_list = []for json_name in json_name_list: # 遍历json文件并修改in_json_path = in_dir_name + json_name# print(in_json_path)count_json_label(in_json_path,label_num,width_list,height_list,area_list)print('总标注数:',sum(label_num.values()))print('label_num:',label_num)# print('width_list:',width_list)print('min(width_list):',min(width_list))print('len(width_list):',len(width_list))# print('height_list:',height_list)print('min(height_list):',min(height_list))print('len(height_list):',len(height_list))# print('area_list:',area_list)print('min(area_list):',min(area_list))print('len(area_list):',len(area_list))# 写入信息到txt文件中
write_info_txt('rect_info.txt',label_num,width_list,height_list,area_list)
# 生成散点图
draw_scatter(width_list,height_list)
总标注数: 3504
label_num: {'1': 2612, '2': 228, '0': 151}
min(width_list): 7.420494699646497
len(width_list): 3504
min(height_list): 9.30232558139528
len(height_list): 3504
min(area_list): 76.04040504938182
len(area_list): 3504

在这里插入图片描述

更多精彩内容,可点击进入Python日常小操作专栏或我的个人主页查看

http://www.yidumall.com/news/66518.html

相关文章:

  • 如何创建一个个人网页百度优化关键词
  • 微信网站开发教程视频自媒体平台
  • 隆昌市住房和城乡建设厅网站一句吸引人的广告语
  • 北京网站建设的价格低网站如何提交百度收录
  • 当阳网站建设电话网销是什么工作好做吗
  • php做视频网站电商数据分析
  • 桂林北站附近酒店百度查一下
  • 北京市网站维护公司线上推广策划方案范文
  • 网站建设入门教程视频seo服务深圳
  • 丽江手机网站建设个人如何做网络推广
  • 无锡网站建设公司注册网站需要多少钱
  • 廊坊模板建站代理深圳网站关键词排名优化
  • 企业网站的基本内容不受国内限制的浏览器下载
  • 做网站用什么语言制作最安全网络营销ppt怎么做
  • 上海建设局官方网站合肥网络公司
  • 网站建设任务平台南京百度seo排名
  • 怎样做网站收广告费持续优化完善防控措施
  • 网站备案期间如何最近新闻热点大事件
  • 美国虚拟地址生成器seo培训网的优点是
  • 佛山网站制作专家19
  • 模仿网站网站推广网站
  • 中企动力全网门户网站万词优化
  • 晋江网站建设价格长沙seo
  • wordpress cm惠州seo招聘
  • 网站开发后台技术爱站网关键词查询网站
  • 网站建设案例分析长沙网站优化排名推广
  • 如何学好网站开发百度图片搜索网页版
  • 网站开发团队名字5118大数据平台官网
  • 中国建设委员会官方网站长沙官网seo技术
  • 做网站选什么系统域名被墙检测