-
2021-10-20 18:58:52
一、前言
- 正常情况下,想访问字典中的某个值,都是通过中括号访问,比如:
test_dict = {"test": {"imdb stars": 6.7, "length": 104}} print(test_dict["test"]["imdb stars"]) # 104
- 而通过 Box 模块,可以扩展字典功能,使用点符号访问元素:
from box import Box movie_box = Box({ "Robin Hood: Men in Tights": { "imdb stars": 6.7, "length": 104 }}) movie_box.Robin_Hood_Men_in_Tights.imdb_stars # 6.7
- 可以看到默认情况下转换后,字典键值中的空格被转化为下划线。
- 安装依赖:
-
- Windows 环境 打开 Cmd (开始-运行-CMD);
-
- MacOS 环境 打开 Terminal (command + 空格输入Terminal);
-
- 如果使用的是 VSCode编辑器或 Pycharm,可以直接使用界面下方的 Terminal:
pip install --upgrade python-box[all]
二、Box 的基本使用
① 生成 Box 并访问
- 可以像上文中那样,传入一个字典给 Box,生成一个 Box 对象;也可以直接使用参数赋值的方式生成一个 Box 对象:
from box import Box my_box = Box(funny_movie='Hudson Hawk', best_movie='Kung Fu Panda') my_box.funny_movie # 'Hudson Hawk'
- 请记住,任何情况下,往 Box 对象里添加字典或是数组,这些字典或数组都会被转变为 Box 对象:
my_box = Box({"team": {"red": {"leader": "Sarge", "members": []}}}) print(my_box.team.red.leader) # Sarge my_box.team.blue = {"leader": "Church", "members": []} print(repr(my_box.team.blue)) # <Box: {'leader': 'Church', 'members': []}>
- 访问列表中的 Box 对象也非常轻松:
my_box.team.red.members = [ {"name": "Grif", "rank": "Minor Junior Private Negative First Class"}, {"name": "Dick Simmons", "rank": "Captain"} ] print(my_box.team.red.members[0].name) # Grif
② 局限性
- 字典中有些默认方法,如:clear, copy, fromkeys, get, items, keys, pop, popitem, setdefault, to_dict, update, merge_update, values ,当键值和这些方法名称冲突时,无法使用点符号访问它们。
- 不过冲突时,依然可以使用传统的字典取值访问它们,例如:
my_box['keys']
③ 合并
- 要合并两个 Box 对象,只需要通过 merge_update 方法:
from box import Box box_1 = Box(val={'important_key': 1}) box_2 = Box(val={'less_important_key': 2}) box_1.merge_update(box_2) print(box_1) # {'val': {'important_key': 1, 'less_important_key': 2}}
- 当然,也可以用传统的 update 方法:
from box import Box box_1 = Box(val={'important_key': 1}) box_2 = Box(val={'less_important_key': 2}) box_1.update(box_2) print(box_1) # {'val': {'less_important_key': 2}}
④ 转换为原始列表/字典
- 如果需要把一个 Box 对象的字典转化为原始字典,.to_dict() 方法就可以实现:
from box import Box box_1 = Box(val={'important_key': 1}) print(box_1) # {'val': {'less_important_key': 2}} print(type(box_1)) # <class 'box.box.Box'> print(type(box_1.to_dict())) # <class 'dict'>
- 如果需要把一个 Box 对象的列表转化为原始列表,可以使用 .to_list() 方法:
from box import BoxList my_boxlist = BoxList({'item': x} for x in range(10)) # <BoxList: [<Box: {'item': 0}>, <Box: {'item': 1}>, ... my_boxlist[5].item # 5 print(type(my_boxlist.to_list())) # <class 'list'>
三、导入导出功能
- Box 对象有一个很方便的功能,就是能够轻松地将 Box 对象导出为 Json / yaml / csv / msgpack 文件:
from box import BoxList my_boxlist = BoxList({'item': x} for x in range(10)) # <BoxList: [<Box: {'item': 0}>, <Box: {'item': 1}>, ... my_boxlist.to_json(filename="test.json") # 在当前文件夹下生成一个 test.json 文件
- 此外,还能接受 Json / yaml / csv / msgpack 文件导入:
new_box = Box.from_json(filename="films.json")
- 各种类型的文件对应的方法如下:
转换器方法 描述 to_dict 递归地将所有 Box(和 BoxList)对象转换回字典(和列表) to_json 将 Box 对象另存为 JSON 字符串或使用filename参数写入文件 to_yaml 将 Box 对象另存为 YAML 字符串或使用filename参数写入文件 to_msgpack 将 Box 对象另存为 msgpack 字节或使用filename参数写入文件 to_toml* 将 Box 对象另存为 TOML 字符串或使用filename参数写入文件 to_csv** 将 BoxList 对象另存为 CSV 字符串或使用filename参数写入文件 from_json Classmethod,从一个 JSON 文件或字符串创建一个 Box 对象(所有 Box 参数都可以传递) from_yaml 类方法,从 YAML 文件或字符串创建一个 Box 对象(所有 Box 参数都可以传递) from_msgpack Classmethod,从msgpack文件或字节创建一个Box对象(所有Box参数都可以传递) from_toml* Classmethod,从TOML文件或字符串创建一个Box对象(所有Box参数都可以传递) from_csv** Classmethod,从一个CSV文件或字符串创建一个BoxList对象(可以传递所有BoxList参数) -
- 不适用于 BoxList,仅适用于 Box ** 不适用于 Box,仅适用于 BoxList。
更多相关内容 -
Debug.exe和DOSBox合辑
2014-06-26 23:21:10主要解决win8.1 64为环境下不能使用debug的问题 -
CSS盒子的三种类型(border-box、content-box)
2021-06-01 16:38:23文章目录一、CSS盒子1.1 盒子的四个区域二、CSS盒子的类型1.content-box 内容盒子content-box盒子的宽高计算公式2.border-box 边框盒子3.特殊的盒子:替换元素 一、CSS盒子 一个盒子通常包括四个区域,让我们先写一...文章目录
一、CSS盒子
一个盒子通常包括四个区域,让我们先写一个设置好width和height属性的div。
1
示例1:<style> .box { width: 100px; height: 200px; } </style> <div class = "box"></div>
现在在浏览器运行,打开F12-Elements一栏,可以查看到这个盒子的具体状态:
最里层的宽高是我们设置的width和height,这个部分是content内容区域。
往外分别是:padding内边距、border边框和margin外边距。1.1 盒子的四个区域
可知,一个标准的盒子包括以下四个区域(以下顺序按照从内到外):
区域 说明 内容区域 代表盒子的实际内容部分,它是由 width 宽度和 height 高度来确定的 内间距区域 代表盒子与实际内容之间的空白区域,由 padding 属性设置 边框区域 代表盒子的边框,是内间距区域和外边距区域的边界,由 border属性设置 外边距区域 代表此盒子的边框与相邻的其他盒子边框之间的距离,由 margin 属性设置
二、CSS盒子的类型
CSS盒子类型使用box-sizing属性进行设置.
1.content-box 内容盒子
box-sizing属性的默认值,“一”中示例1设置的盒子就是内容盒子
这个时候我们在示例1的基础上再加上内边距、边框和外边距
示例2:
<style> .box { width: 100px; height: 200px; padding: 10px; border: 5px solid blue; margin: 20px; } </style> <div class = "box"></div>
此时再看浏览器,发现盒子的宽度和高度变成了130*230!
再看浏览器给出的盒子模型图,我们将发现宽度的130似乎是由100+(10+5)×2算出来的,也就是width+(padding+border)*2。
那我们不妨再用这个这个公式套在height上试一试能不能行得通?
200+10+5+10+5=230 === height此时我们惊讶地(嘿嘿,并不惊讶hhh)发现确实是这样计算的,盒子囊括的就是红框内部。
content-box盒子的宽高计算公式
css中width和height是设置内容区域的宽高,
盒子的宽高需要加上内间距和边框,外边距不算在内盒子宽度=内容的宽度+左右内间距+左右边框的宽度
盒子高度=内容的高度+上下内间距+上下边框的宽度2.border-box 边框盒子(怪异模型)
css中width和height设置的是盒子的最终的宽高
在示例2的基础上加上一行“box-sizing: border-box;”即可变成边框盒子,
示例3:<style> .box { box-sizing: border-box; width: 100px; height: 200px; padding: 10px; border: 5px solid blue; margin: 20px; } </style> <div class = "box"></div>
查看浏览器中div的盒子模型,可以看到红框的宽度为100,高度200,而中间的内容区域content变为了70×170(100-(10+5)*2, 200-(10+5)*2)
3.特殊的盒子:替换元素
常见的替换元素有
<img>
、<iframe>
、<video>
等
替换元素加载的是外部内容,并不会受现有的 CSS 属性的影响。但可以通过 CSS 来控制替换元素在盒子中的位置
以
<img/>
为例,加载一张图片,限制<img/>
盒子的宽高,- object-fit 属性:让图片等比例占满整个盒子,裁掉显示不下的部分。
- object-position 属性:设置图片在盒子中的位置,可以是靠下或者居中等:
示例:
用img加载一张图片,分别将object-position 属性设置为靠上、居中和靠下<style> img { width: 300px; } #img1,#img2,#img{ height: 300px; object-fit: cover; } #img1 { object-position: top; } #img2 { object-position: center; } #img3 { object-position: bottom; } </style> <img src = "1.jpg"> <img id = "img1" src="1.jpg" alt=""/> <img id = "img2" src="1.jpg" alt=""/> <img id = "img3" src="1.jpg" alt=""/>
-
汇编工具(DEBUG+MASM+EDIT+LINK+DOSBOX)
2014-07-27 04:51:06包含汇编学习需要用到的基本工具,同时还包含了在WIN7(包含64位)环境下模拟DOS运行的工具-DOSBox。以下为包含的工具:debug.exe,edit.exe,link.exe,masm.exe,dosbox.exe, -
详解 box-shadow
2021-08-17 10:46:36今天我们来探究一下“阴影”。在学习美术的时候,接触素描,去画一个杯子,或者画一个球体,这个时候往往出现,老师画的很逼真,立体感...在说 box-shadow 之前,大家先来看看几张图片,具体细致的感受一下 box-shado今天我们来探究一下“阴影”。在学习美术的时候,接触素描,去画一个杯子,或者画一个球体,这个时候往往出现,老师画的很逼真,立体感、层次感很强。经过老师的讲解,我们知道想让我们所画的物体,具有立体感,通常有:高光,暗面,灰面,投影(阴影),这几部分组成。说完了 图形中的阴影后,来想想如何在我们的页面中绘画出阴影。这就涉及到我们今天要说的内容 CSS3 中的 box-shadow。
探究 box-shadow
在说 box-shadow 之前,大家先来看看几张图片,具体细致的感受一下 box-shadow 阴影。
看起来是不是 一张很像纸的纸,有点阴影。
再来一个阴影
What? 这也是阴影?(不要拿 border 来骗我好吧。。。)
再来一个刺激一点的阴影
这个也用 box-shadow 画出来的?
上面的这些图片确实是通过 box-shadow 画出来的,可能有些小震惊(图 一很微妙,图三很炫酷,图二有点开玩笑)。接下来我们来正式探究 box-shadow 的神奇黑魔法!!!!
box-shadow 直译被称为“盒子阴影”,直译的结果与大家们的认知是相符的。CSS 中存在盒模型,针对于盒模型的阴影呗。这点大家要记住,是针对于盒子(元素) 的阴影,后面我们还会着重说明。
box-shadow 属性值由 6 部分组成。
语法形式:
box-shadow: offset-x offset-y blur spread color position;
这里的 position 可以写在最前面。也可以像上面一样写在最后面。
接下来我们来看看这几个属性都提供了什么样的功能?
1. offset-x offset-y
offset-x 用于声明阴影的水平偏移,就是阴影在 X 轴上的位置。
当值为正数, 阴影就位于元素右侧,
若值为负数,阴影位于元素的左侧。
同理
offset-y 用于声明阴影的垂直偏移,就是阴影在 Y 轴上的位置。
当值为正数, 阴影就位于元素下侧,
若值为负数,阴影位于元素的上侧。
例子:
CSS:
.demo { width: 100px; height: 100px; background: #fcc; box-shadow: 10px 10px; }
结果:
通过这个我们能看出来是具有阴影的,根据上面的讲解能看出来是(10px 10px)向下向右偏移 10 个 px,同理负值是向上向左偏移。接下来我们看 blur
2. blur
blur 表示阴影的模糊半径。效果与设计软件中使用的高斯模糊滤镜一样。
值为 0 意味着阴影完全不模糊。
blur 值越大,边角越不锋利,阴影越朦胧。
不允许负值,负值等同于 0。
在我们上面的例子中修改:
CSS:
box-shadow: 10px 10px 10px;
结果:
我们能看到阴影虚化了。
这里要注意的是:W3C 中没有规定浏览器厂商使用哪种方式实现模糊效果, 反正效果与高斯模糊效果差不多就是了。但有一点我们需要注意的,那就是 模糊效果会扩大阴影的面积。
Demo0 是 blur 半径为 0 的效果,可以看到阴影尺寸与元素尺寸一模一样。 而 demo1 是 blur 半径为 10px 的效果,可以看到阴影尺寸有所扩展了,而 demo2 则扩展得更多一些。
现在我们感性上认知到 blur 半径值大于 0 时会扩展阴影尺寸,那么到底扩展多少呢?
那我们要先明确模糊发生的起始位置了。经过肉眼观察,模糊发生的起始位置就是阴影盒子的边。事实也就是这样。至于发散距离 blur radius(虚化半径) / 2 的距离。看的 demo2 中阴影尺寸已经与元素盒子重叠了,因为阴影盒子左边框向左发散了 15px 了,超过它俩之间 10px 的 水平距离了。
3. spread
spread 表示阴影的大小。
当值为正数,阴影会向四周扩展。
若值为负数, 阴影会收缩,小于元素尺寸。
默认值 0 会保持阴影和元素尺寸一致。
在这里面我们能看到,当我们 spread 为 10px, margin 也为 10px 他俩是重合的。
说明 spread 为正值,在原来的大小上(上下左右) + spread 的值。 当 spread 为为负值,再远的大小上 – spread 的值
4. color
color 表示阴影的颜色。
可以是任何颜色单位。
这个没什么说的。
5. position
position 表示阴影的位置,可选项。
默认为外部阴影。可以通过使用 inset 关键字来制作内部阴影。外部阴影不用声明默认就是,想使用内部阴影需要声明 inset 在最前面最后都可以。
例如:
box-shadow: inset 0px 0px 0px 10px #0ff;
效果:
很明显阴影是在里面的。
接下来我们也对内阴影分析一下 spread 以及 blur radius 。
通过上面的图我们能看出来。
对于 spread 当值为正值时,可以看出内阴影从边界开始填充。至于这个边界 是从 border 开始,还是从 padding 开始呢?
CSS:
border: 10px solid #f0f; padding: 10px; box-shadow: inset 0px 0px 0px 10px #0ff;
我们可以看出来
以 Padding 区域为起点进行向内部扩展阴影。扩展半径为 spread 的值,负值没有意义,没有 padding 区域以 content 区域开始。
对于 blur radius 和 spread 类似这里就不演示了,给大家总结一下,模糊半径的值 还是 blur radius/2 开始位置同 spread,有 padding 先从 padding 开始,没有从 content 开始。
下面说一说 box-shadow 的层次(z-index) 对于外阴影(默认情况):
对于外阴影:高与 magin 低于 background。
对于内阴影:高与 padding 低于 content。
Box-shadow 不仅可以区分内外阴影还可以,应用多个阴影进行叠加。
每个阴影用‘,’隔开。
例如:
CSS:
width: 100px; height: 100px; background: #fcc; padding: 10px; border-radius: 50%; box-shadow: 120px 0px 0 -10px #f0f, 95px 10px 0 0px #d00, 30px 20px 0 -10px #cdd, 90px -10px 0 0px #add, 40px -30px 0 0px #edd;
结果:
层次也是后写的在后边。因为可以重叠所以我们可以写多边框的一个元素
这样的一个准靶。
长按二维码关注,一起努力。
助力寻人启事
微信公众号回复 加群 一起学习。
-
nuScenes数据集3Dbonding box
2022-04-17 15:31:15文章目录前言一、nuScenes数据集box标注信息二、如何在对应图像上画出3D框1.引入库2.读入数据总结 前言 最近看了好多作者对于nuScenes数据集,仅限于nuScenes官网上的nuscenes_tutorial教程如何简单的使用该数据集...文章目录
前言
- 最近看了好多作者对于nuScenes数据集,仅限于nuScenes官网上的nuscenes_tutorial教程如何简单的使用该数据集。对于细节部分的介绍不是很清楚,在学习了一段时间nuScenes后,在本篇文章分享一些学习心得。
- 本人第一次分享经验,如果有写的不好的,大家多多包涵,多多指点!!!
一、nuScenes数据集box标注信息
-
Box是标注信息的3Dbox:一个Box信息为(center,size,orientation,label,score,velocity,name,token)
center: sample_annotation中的‘translation’,x,y,z;
size:sample_annotation中的‘size’,w、l、h
orientation:sample_annotation中的’rotation‘。
label:为可选项,int类型。
score:分类的得分,可选
velocity:center的各自变化速度。
name:box的名字,类别的名字。
token: sample_annotation的唯一token。
二、如何在对应图像上画出3D框
1.如何得到图像下的3D框角坐标
1.1 得到注释的box信息,使用get_box()函数
代码如下:
from nuscenes import NuScenes nusc = NuScenes(version='v1.0-mini',dataroot=r'E:\nuScenes\nuscenes_mini',verbose=True) my_sample = nusc.sample[5] # 得到一个sample ann_list = my_sample['anns'] # 取出该sample的所有sample_annotation_token for ann in ann_list: box = nusc.get_box(ann)
1.2 标注的box信息转换到像素坐标系下
*注: 这里涉及到nuScenes数据集坐标系的转换。先看代码,
代码如下:import os.path import cv2 import numpy as np from nuscenes.utils.geometry_utils import view_points from pyquaternion import Quaternion from nuscenes import NuScenes nusc = NuScenes(version='v1.0-mini',dataroot=r'E:\nuScenes\nuscenes_mini',verbose=True) my_sample = nusc.sample[0] # 得到一个sample ann_list = my_sample['anns'] # 取出该sample的所有sample_annotation_token sample_data_token = my_sample['data']['CAM_FRONT'] sd_rec = nusc.get('sample_data', sample_data_token) filename = sd_rec['filename'] img_path = os.path.join(nusc.dataroot, filename) img = cv2.imread(img_path) assert sd_rec['sensor_modality'] == 'camera', 'Error: get_2d_boxes only works for camera sample_data!' if not sd_rec['is_key_frame']: raise ValueError('The 2D re-projections are available only for keyframes.') s_rec = nusc.get('sample', sd_rec['sample_token']) cs_rec = nusc.get('calibrated_sensor', sd_rec['calibrated_sensor_token']) pose_rec = nusc.get('ego_pose', sd_rec['ego_pose_token']) camera_intrinsic = np.array(cs_rec['camera_intrinsic']) ann_recs = [nusc.get('sample_annotation', token) for token in s_rec['anns']] track_class = {'car', 'truck', 'trailer', 'bus', 'bicycle', 'motorcycle', 'pedestrian'} for ann_rec in ann_recs: ann_rec['sample_annotation_token'] = ann_rec['token'] ann_rec['sample_data_token'] = sample_data_token # 世界坐标系下的box标注信息 box = nusc.get_box(ann_rec['token']) # 从世界坐标系->车身坐标系 box.translate(-np.array(pose_rec['translation'])) box.rotate(Quaternion(pose_rec['rotation']).inverse) # 从车身坐标系->相机坐标系 box.translate(-np.array(cs_rec['translation'])) box.rotate(Quaternion(cs_rec['rotation']).inverse) # 过滤掉不在不在图像传感器前面的点 corners_3d = box.corners() # print('+++++++++++++++++++++++++++++', corners_3d) # in_front = np.argwhere(corners_3d[2, :] > 0).flatten() # corners_3d = corners_3d[:, in_front] print('------------------------------', corners_3d) # 从相机坐标系->像素坐标系 view = np.eye(4) view[:3, :3] = np.array(camera_intrinsic) in_front = corners_3d[2, :] > 0.1 if all(in_front) is False: continue points = corners_3d points = np.concatenate((points, np.ones((1, points.shape[1]))), axis=0) points = np.dot(view, points)[:3, :] points /= points[2, :] box_img = points.astype(np.int32) color = (64, 128, 255) # print(box_img) b = list(set(ann_rec['category_name'].split('.')).intersection(track_class)) if len(b) == 0: continue else: for i in range(4): j = (i + 1) % 4 # 下底面 cv2.line(img, (box_img[0, i], box_img[1, i]), (box_img[0, j], box_img[1, j]), color, thickness=1) # 上底面 cv2.line(img, (box_img[0, i + 4], box_img[1, i + 4]), (box_img[0, j + 4], box_img[1, j + 4]), color, thickness=1) # 侧边线 cv2.line(img, (box_img[0, i], box_img[1, i]), (box_img[0, i + 4], box_img[1, i + 4]), color, thickness=1) cv2.imshow('图像的3D框', img) cv2.waitKey(0)
2.效果图展示
总结
nuScenes数据集存在四个坐标系:全局坐标系,车身坐标系,相机坐标系,雷达(Rader,Lidar)坐标系。因为标注信息是在全局坐标系下,所以需要进行坐标转换才能得到对应图像的box信息。
待更新…
下一步会更新如何从图像的3Dbox转换到2Dbox。此处先放一下2D效果图:
已更新:
3d Box转2d Box已经更新在文章nuScenes 3dBox转2dBox。
-
blackbox_exporter的使用
2021-03-21 10:07:30blackbox_exporter的使用一、需求二、blackbox_exporter的安装1、下载2、编写 blackbox.yml 配置文件3、启动 blackbox_exporter4、和 prometheus 集成5、在 grafana 中查看。6、如果需要监控告警三、参考链接 一、... -
JVM 相关 - 深入 JVM 的钥匙 WhiteBox API
2020-12-25 17:07:54什么是 WhiteBox API WhiteBox API 是 HotSpot VM 自带的白盒测试工具,将内部的很多核心机制的 API 暴露出来,用于白盒测试 JVM,压测 JVM 特性,以及辅助学习理解 JVM 并调优参数。WhiteBox API 是 Java 7 引入的... -
DOSBox 的安装及使用 详细教程
2020-07-30 20:56:30创作日志: 去年学了计组与汇编,用的是 masm 集成版,今年做汇编课设的时候,发现那个 masm 集成版不支持打开文件的操作,然后我就重拾 DOSBox,发现自己不会用 = = ,忘得干干净净,而且网上都是啥乱七八糟的呀,... -
Box2dWeb-2.1a.3
2012-12-06 22:34:55重力框架Box2d的javascript版本2.1a.3。由box2dfalash改编成javascript 参考文档可以看:http://www.box2dflash.org/docs/2.1a/reference/和box2dflash的官方教程 -
dosbox 自动运行_如何使用DOSBox运行DOS游戏和旧应用
2020-09-25 11:38:22dosbox 自动运行New versions of Windows don’t fully support classic DOS games and other old applications — this is where DOSBox comes in. It provides a full DOS environment that runs ancient DOS apps... -
HackTheBox-Unified
2022-02-23 09:12:56HackTheBox网站CTF靶场杂项(Misc)相关题目Unified,主要考察unicode的知识点。 -
从box-sizing:border-box属性入手,来了解盒模型
2018-06-20 14:02:00从最开始学习CSS的时候,就了解了盒模型的概念,今天,我们从其中的box-sizing:border-box;的属性入手,来重新认识一下盒模型在实际项目中的运用。 背景:先声明一下运用的场景,假如项目布局使用的是自适应的布局... -
什么是Bounding Box、anchor box?
2020-10-30 17:47:28由于最近在看YOLOv3算法,感觉老是不清楚bounding box和anchor box的概念,看完吴恩达的视频后准备写一篇博客记下笔记。em...所以也会用吴恩达视频中的例子来讲。 在视频中,有一张图片,假设要检测的目标类别有... -
Jetpack Compose - Box
2020-12-11 18:54:57Jetpack Compose - Box0、介绍1、属性一览2、使用示例3、版本更新4、未解决问题 Compose系列文章,请点原文阅读。原文,是时候学习Compose了! 0、介绍 针对Box布局,官方介绍如下: 可以和内容组合的布局,Box会... -
(七)可视化KITTI标注的3D BoundingBox
2020-09-03 17:13:37一、KITTI 标注3DBouding Box文件格式 在以下网址下载已经标注好的文件,里面有20个场景的标注文件。寻找与自己对应场景的文件。比如我对应的为文档里的0004.txt ... -
【APICloud系列|29】dialogBox模块(对话框)的实现
2020-12-31 16:56:36导读:dialogBox 封装了十一种款式的对话框,每一种款式都提供一个接口来调用,开发者可按照各个接口的样式来自定义对话框上的文字、图片、图文等 把 dialogBox 模块的 11 个样式分别实现个简单的效果,其中将 ... -
box-shadow详解
2021-04-23 09:24:431.box-shadow属性语法 box-shadow 属性接受值最多由五个不同的部分组成。 box-shadow: offset-x offset-y blur spread color position; 换句说: 对象选择器 {box-shadow:X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展... -
使用scipy.stats.boxcox完成BoxCox变换
2019-09-09 16:19:42为何要使用box-cox变换?原因如下: 在做线性回归的过程中,一般线性模型假定有:Y=Xβ+ϵ,ϵ∼N(0,δ2I)Y=X\beta+\epsilon,\epsilon \sim N(0,\delta^2I)Y=Xβ+ϵ,ϵ∼N(0,δ2I) 线性性:E(Y)是X中各变量的线性... -
box-sizing:border-box的理解和作用
2021-06-25 13:20:09这时div的宽高就会变为544px(content 500px + padding 40px + border 4px) 相当于一个元素的实际宽高是由: padding + border + content 组成 1、没有设置box-sizing:border-box属性,宽高会加上padding和border... -
Prometheus学习之Blackbox
2020-02-16 18:33:19简介 ... 这里就看看怎样使用 Prometheus 的 Blackbox Exporter 来实现这个功能。 Prometheus 的 Blackbox Exporter 允许通过 HTTP/HTTPS,TCP 和 ICMP 等来探测端点。 安装 首先从 https://prome... -
Android数据库ObjectBox使用说明
2020-11-24 17:13:05集成GreenDao查询官网可以看到一则通告:对于新应用程序,我们建议使用ObjectBox,这是一个新的面向对象的数据库,它比SQLite快得多并且易于使用。对于基于greenDAO的现有应用程序,我们提供了DaoCompat,可轻松切换... -
目标检测之AnchorBox详解
2020-11-04 11:36:00Anchor在计算机视觉中称为描点或者描框,在目标检测中,作为描框anchor box应用于各个目标检测的网络模型中,也成为先验框。 来历,及应用场景: Anchor最新在Faster rcnn被提出及应用,后被YOLOV2借鉴,及... -
ObjectBox的探究
2019-03-05 16:13:04ObjectBox的介绍 &nbsp;&nbsp;&nbsp;&nbsp;ObjectBox是一个专门为物联网和移动设备打造出的非常快速的面向对象的数据库,它有一下几个特点 ObjectBox是小于1MB的,所以非常适用于... -
dosbox详细安装级及使用
2021-09-21 18:34:54在网上看了好多关于dosbox的安装教程,但都不是太明白,经过我的再三请教,终于安装成功并使用了,下面是我的一些操作过程,各位看官有兴趣的话可以看看。没有各种zip的链接,因为不知道怎么发,看官们可以结合其他博... -
连接hack the box教程
2022-03-14 22:01:00毕业论文终于告一段落了,虽然不是终版,但是终于能有点时间回来接着学点东西了,今天来连接hack the box靶场。 首先打开hack the box网址,然后注册,登录进去,开启靶场的话需要连接到hack the box。看右上角。 ... -
安装blackbox_exporter
2020-10-17 19:04:47安装blackbox_exporter 上传监控软件 cd /opt/ ;scp root@62.234.150.127:/opt/blackbox_exporter-0.16.0.linux-amd64.tar.gz /opt 解压操作 [root@gtcq-gt-monitor-prometheus-01 opt]# tar -zxvf blackbox_... -
Windows7_64bit_DosBox
2014-01-28 22:36:0164位的Windows7的学习汇编的不二软件,DosBox。 首先,安装DOSBox0.74-installer.exe。 将DEBUG.EXE,LINK.EXE,MASM.EXE放在某一文件夹下 (比如,D:\dosbox,F:\assembly\dosbox...),然后在命令行输入 mount C D:\... -
关于ancher box 和bounding box的区别
2020-07-02 17:38:43那么,在这里,ancher box(以下称为abox)的种类为2,而bounding box(以下称为bbox)的种类为3。 为什么要这么设计呢? 假如现在有一个任务,需要预测男人,女人,汽车,那么根据他们的形状,你会想到两种框来... -
box-sizing: border-box;失效问题
2021-07-26 16:55:50当前标签用了position:relative;且子标签用了position:absolute; 导致盒子失效了