当前位置:网站首页>DonkeyCar源码阅读.4(项目文件创建)
DonkeyCar源码阅读.4(项目文件创建)
2022-08-05 12:44:00 【云深无际】
donkeycar有一点做的很好,每一个小的应用都会使用自己的工具生成一个库,今天读的就是这一块的代码。
位置在这里,base提供了工具
在库的开始有很多自己的库
from progress.bar import IncrementalBar这个库是一个显示进度条的库
可以写出这样的程序
特别的,这里的小工具库是我每次都喜欢看的一个东西
你看这个写法,在字符串的文档里面就写了参数和返回值函数的名字也是一目了然,归一化图像。
加载一个图像
传入的参数是,文件的名字和一个参数,cfg一般就是config的意思。最后返回一个u8的图像数组。里面依赖的是另外一个函数,在下面会讲这个。
抱歉有点没有选够
在这里有,就是对真实的图像的参数和我们给的参数做这样比较计算,如果大小不一致,这里就会开始执行一个reszie的工作,之后来处理图像的深度通道。PIL有九种不同模式: 1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。
img.convert('L')
为灰度图像,每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
转换公式:L = R * 299/1000 + G * 587/1000+ B * 114/1000
关于配置其实是一个比较复杂的文件,之后说,以为我不确定是不是是这个关联的代码文件。
这个是另外一个错误的修改代码
这里是对图像的数组转换工作,其实就是说无论怎么样都要保证我们的返回文件的正确性。
这个代码的意思其实是扩展一个通道的代码
另外有个math的库,里面定义的几种常见的变量,都是使用float来定义的
返回目录的名称
顺手又可以看看这个函数的实现,打印目录的名字
返回一个路径的文件系统的表示
在内部的话,是使用这个来实现
join是拼接多个路径,其实是加进去
包,模板,帮助文件
新生成一个目录
这个函数是把现在的目录补全返回
先来打印这个目录:
如果没有的话,就创建一个新的目录,之后返回
加载一个配置的文件
把配置文件的和路径补全,接着判断一下路径是不是真的创建成功。然后会打印一个错误的日志,也会打印:没有配置文件在地方。之后就返回一个None。
下面是一个错误的处理代码,但是这个加载配置的函数,是实现的一个新的函数,和上面本身的函数的实现不一样。把西面的也看了,except就是日志了,后面都一样了。
这个函数比较大
如果配置的路径是空的话,就导入下面这个__main__。
__file__表示显示文件当前的位置
但是:
如果当前文件包含在sys.path里面,那么,__file__返回一个相对路径!
如果当前文件不包含在sys.path里面,那么__file__返回一个绝对路径!
然后会把这个路径加进去,假如不存在的话就会又加进来。
这个是使用了一个反射的功能
https://docs.python.org/zh-cn/3/library/os.path.html?highlight=path#os.path.expanduserhttps://developer.horizon.ai/api/v1/fileData/documents_pi/index.htmlhttps://docs.python.org/zh-cn/3/library/os.path.html?highlight=path#module-os.pathhttps://www.py.cn/jishu/jichu/19324.htmlhttps://www.cnblogs.com/haifwu/p/12825741.html边栏推荐
- 阿里二面:明明加了唯一索引,为什么还是产生重复数据?
- 力扣 1403. 非递增顺序的最小子序列
- 【时序数据库InfluxDB】Windows环境下配置InfluxDB+数据可视化,以及使用 C#进行简单操作的代码实例...
- RK3568+Hongmeng Industrial Flat Panel Industrial Kanban Solution Design
- solaris-oralce rac 安装
- CC2530之ADC采集
- leetcode 240. Search a 2D Matrix II 搜索二维矩阵 II(中等)
- 通俗易懂玩QT:QT程序发布打包
- Opening today: LiveVideoStackCon 2022 Audio and Video Technology Conference Shanghai Station
- ADC acquisition of CC2530
猜你喜欢

可编程直流电源是一种稳定可靠的电源设备

likeshop搭建商城系统,一步到位
![[IC5000 Tutorial]-02-Use daqIDEA to graphically display the value changes of variables of type](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)
[IC5000 Tutorial]-02-Use daqIDEA to graphically display the value changes of variables of type "Array" and "struct"

Sentinel introduction and use

阿里二面:明明加了唯一索引,为什么还是产生重复数据?

RT-Thread recording (2. RT-Thread kernel startup process - startup file and source code analysis)

电脑端微信无法打开腾讯文档

Matplotlib 使用指南

MySQL之InnoDB存储结构

2022 Huashu Cup C: Research on Performance Control of Intercalated Meltblown Nonwovens
随机推荐
奇思妙想构造题 ARC145 D - Non Arithmetic Progression Set
【IC5000教程】-02-使用daqIDEA图形化显示“Array数组”和“struct结构体”类型变量的值变化
RT-Thread recording (2. RT-Thread kernel startup process - startup file and source code analysis)
对话庄表伟:开源第一课
Quick Check of OGC WebGIS Common Service Standards (WMS/WMTS/TMS/WFS)
《MySQL核心知识》第4章:简单语法
Huawei Analysis & Intermodal Activities to Help You Improve Overall Game Payments
RK3568+鸿蒙工业平板工业看板方案设计
A brief explanation of permutation and combination
《MySQL核心知识》第6章:查询语句
可编程直流电源是一种稳定可靠的电源设备
Dialogue with Zhuang Biaowei: The first lesson of open source
CC2530 realizes key interrupt
英创力电子IPO被终止:年营收10亿 深创投与红土是股东
Flink调优
[转载]卡尔曼滤波(kalman filter)和均值滤波有什么关系?
配置了feign.hystrix.enabled:=true不生效的原因
solaris-disk management
Sushi Technology IPO was terminated: annual revenue of 1.87 billion, Shunwei Xiaomi Jinglin Kunzhong is a shareholder
Intronic Electronics IPO was terminated: annual revenue of 1 billion Shenzhen Venture Capital and Hongtu are shareholders