enumerate(),plt绘图,保存json,cv2.resize,baseline

news2024/11/29 10:35:30

1.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
enumerate(sequence, [start=0])

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
>>> tuple(enumerate(seasons, start=1))
((1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter'))

2.绘图

import matplotlib.pyplot as plt
import numpy as np

 x = np.linspace(-2, 6, 50)
    y1 = x + 3  # 曲线 y1
    y2 = 3 - x  # 曲线 y2
    plt.figure()  # 定义一个图像窗口
    plt.plot(x, y1)  # 绘制曲线 y1
    plt.plot(x, y2)  # 绘制曲线 y2
    plt.title("test")
    plt.show()

在这里插入图片描述

	plt.imshow(img)
    plt.title("test")
    plt.show()

在这里插入图片描述
3.json.dumps的功能是将字典类型转换为json格式的字符串类型
参数: (1)sort_keys是告诉编码器按照字典key排序(a到z)输出。
(2)indent参数根据数据格式缩进显示,读起来更加清晰, indent的值,代表缩进空格
(3) 要正确输出中文可以指定ensure_ascii=False:

#将label写进json
def write_json(cla_dict,json_path):#要写入的label,json路径
    json_str = json.dumps(cla_dict, indent=4)  # 编码成json格式
    with open(json_path, 'w') as json_file:  # 写进去
        json_file.write(json_str)
#从json读出label
def read_json(json_path): #json路径
    assert os.path.exists(json_path), "file: '{}' dose not exist.".format(json_path)
    with open(json_path, "r") as f:
        class_indict = json.load(f)
    return class_indict

实例:

		flower_list = train_dataset.class_to_idx  # ----大概是已经通过数据集已经分类好的文件名确定的图片类别
        cla_dict = dict((val, key) for key, val in flower_list.items())  # 将key,value值反过来,已达到通过索引找到分类的目的
        # label信息写入json
        json_path = './class_indices.json'
        write_json(cla_dict,json_path)

class_indices.json

{
    "0": "daisy",
    "1": "dandelion",
    "2": "roses",
    "3": "sunflowers",
    "4": "tulips"
}

4.cv2.resize函数
resize是opencv库中的一个函数,主要起到对图片进行缩放的作用。
example: 以下代码就可以将原图片转化为宽和长分别为300,300的图片。width和height可以自己任意指定,不论大小。
interpolation(插值):这个是指定插值的方式,图像缩放之后,肯定像素要进行重新计算的,就靠这个参数来指定重新计算像素的方式,有以下几种:
INTER_NEAREST - 最邻近插值
INTER_LINEAR - 双线性插值,如果最后一个参数你不指定,默认使用这种方法
INTER_CUBIC - 4x4像素邻域内的双立方插值
INTER_LANCZOS4 - 8x8像素邻域内的Lanczos插值

放大缩小都使用的以上插值方法。具体插值方法见图像处理: 五种 插值法
实例:

import cv2 as cv

width = 300
height = 300
img = cv.imread('E:\\both.png')# 原图224*224
img = cv.resize(img, (width, height))# 默认使用双线性插值法

cv.imshow("img", img)
cv.waitKey(0)
cv.destroyAllWindows()

这么说resize岂不是和上采样和下采样功能方法几乎一致????
5.baseline
baseline 就只是「参照物」的意思,至于 baseline 系统是怎么来的、性能如何,并没有一定的标准。

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

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

相关文章

为什么解决文档管理问题的数字化战略能够推动盈利增长

为什么解决文档管理问题的数字化战略能够推动盈利增长 每一天,世界都变得更加数字化,在我们的个人生活中,这种变化是持续的。 企业如何跟上发展的步伐?答案是:进行改变完成工作的方式、时间和地点,并在整个…

【学习笔记71】数据代理、回调函数和回调地域

一、数据代理 new Proxy(参数一: 代理那个对象)const obj {name: QF001,age: 18}const res new Proxy(obj, {get (target, p) {/*** target 当前代理的那个对象, 在当前案例中就是obj* p proxy会自动遍历对象, 拿到对象每一个key*/return target[p];},set (target, p,…

新课程发布 | 如何用 7 分钟击破 Serverless 落地难点?

当前,Serverless 覆盖的技术场景正在不断变广。Serverless 已在微服务、在线应用、事件驱动、任务处理等众多场景被验证且广泛应用 。当你想要部署一个网站时,需要自己购买服务器并花费时间去维护,造成资源浪费不说,还要耗费精力。…

2.2 Redis中SDS(简单动态字符串) 与C字符串的区别

引言: 根据传统,C语言使用长度N1的字符数组来表示长度为N的字符串,并且字符数组的最后一个元素总是空字符’\0’。 例如,图2-3 就展示了一个值为"Redis"的C字符串。 C语言使用这种简单的字符串表示方式,并不能满足Redis对字符串在…

计算机组成原理习题课第四章-3(唐朔飞)

计算机组成原理习题课第四章-3(唐朔飞) ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csdn首发! 😘系列专栏:java学习 💻首发时间:&…

Android面试题——高级开发面试题一

一 面试题概述 请简单的分析一下Android系统启动流程的原理?App启动状态有哪几种,各自的启动流程是怎么样的?当项目中遇到黑白屏问题,你有什么好的解决方案?如何查看方法内的耗时时间与方法分析?介绍一下A…

英国公派访问学者带家属签证经验分享

英国公派访问学者带家属签证经验分享,下面就随知识人网老师一起来看一看。 一、学历学位证书 英国签证中心要求提供,但留服网上似乎没有提及。 要是带家属,家属属于Academic Dependants签证。首先介绍一个总的说法,也是据网友提…

游戏测试是一个怎样的行业?

游戏测试真的是玩游戏吗? 游戏测试和软件测试又有什么区别呢? 游戏测试是不是没有前景?能从事吗? 很多人都关注这个问题,所以接下来我详细给大家来介绍下游戏测试。 为了让大家更有获得感,所以本文的行…

【关于我接触了Uview的Upload】——单图上传,多图上传,遇到的问题总结、直传阿里云Oss

Uview的Upload组件 前言 有很长一段时间没有更新了,由于工作的繁忙导致没有时间写博客,今天在做到公司特殊场景需要用到上传组件并直传阿里云Oss,这里简单讲讲我在完成前端项目中使用到Uview的Upload遇到的问题以及我是如何解决&#xff0c…

百万企业用户选择的华为云云服务器,你不来了解一下吗?

今天,企业对“云”的需求像水、电、天然气一样普遍,华为云服务器作为新产品迅速占领现有主机市场。但市面上云服务器的种类多不胜数,怎样才能选到适合自己的云服务器呢?在这里,我推荐华为云云服务器,因为它…

力扣hot100——第2天:4寻找两个正序数组的中位数、5最长回文子串、10正则表达式匹配

文章目录1.4寻找两个正序数组的中位数1.1.题目1.2.解答1.2.1.直接法:合并数组再求结果1.2.2.分治:无需合并数组1.2.3.log(n)的解法2.5最长回文子串3.10正则表达式匹配3.1.题目3.2.解答1.4寻找两个正序数组的中位数 参考:力扣题目链接&#x…

压力串级控制装置用于气动马达的高精度调节

摘要:气动马达作为一种将压缩空气的压力能转换为旋转机械能的装置,其运行的关键是要进行驱动气体压力的控制。本文介绍了目前气动马达压力控制装置的技术现状,特别指出了现有技术中使用电空变换器存在的不足,介绍了电空变换器的更…

深入理解java虚拟机:类加载及执行子系统的案例

文章目录1. 概述2. Tomcat:正统的类加载器结构3. OSGi:灵活的类加载器架构4. 字节码生成技术与动态代理的实现5. Retrotranslator:跨越JDK版本1. 概述 在Class文件格式与执行引擎这部分里,用户的程序能直接影响的内容并不太多&am…

Tableau数据分析数据可视化分析平台

Tableau数据分析&数据可视化分析平台​ 本文章内涉及的资源包以及素材均来自于互联网,仅供大家用来交流学习与研究使用,努力提升自己的一篇文章。各类安装包以及素材版权归属原版权方所有,版权争议与本人无关,用户本人下载后不…

Linux用户操作

用户操作 1、切换用户 root登录 切换到普通用户 howard 命令:su howard 再切换到root用户 一个是执行exit命令,二个是执行su root 查看环境变量 命令:env 切换到Howard用户查看 2、查看用户 查看所有用户 命令:cat …

深入理解Linux网络技术内幕(十)——帧的接收

文章目录前言与其他功能交互设备的开启和关闭队列通知内核帧已接收:NAPI和netif_rxNAPI简介NAPI所用之net_device字段net_rx_action和NAPI新旧驱动程序接口操作poll_list设备驱动程序与内核间的旧接口:netif_rx的第一部分netif_rx的初始任务管理队列以及…

2022最新鸽哒IM即时通讯系统源码 带安卓、苹果、PC端(全开源)+部署教程

提示:即时通讯,纯原生开发,各种功能应有尽有 内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 提示:即时通讯,纯原生开发,各种功能应有尽有 鸽哒是一款类似于v的即时…

供应生物素PEG衍生物试剂Biotin-PEG-NHS,NHS-PEG-Biotin,生物素PEG活性酯

1、名称 英文:Biotin-PEG-NHS,NHS-PEG-Biotin 中文:生物素-聚乙二醇-活性酯 2、CAS编号:N/A 3、所属分类:Biotin PEG NHS ester PEG 4、分子量:可定制,活性酯-聚乙二醇2-生物素&#xff0c…

Java RMI 远程代码执行漏洞

0x01 漏洞描述 - Java RMI 远程代码执行漏洞 - Java RMI服务是远程方法调用,是J2SE的一部分,能够让程序员开发出基于JAVA的分布式应用。一个RMI对象是一个远程Java对象,可以从另一个Java虚拟机上(甚至跨过网络)调用它…

SpringBoot项目打印接口请求日志,CommonsRequestLoggingFilter实现方式

文章目录需求背景效果图实现思路其他方案对比优缺点分析具体实现需求背景 线上项目出现bug时,可以通过接口的请求参数来排查定位问题。和业务方battle时,能够回怼他是自己操作的问题。 效果图 实现思路 Spring提供了CommonsRequestLoggingFilter过滤器…