给我1-9题选择题答案
Créé le : 9 juin 2025
Créé le : 9 juin 2025
pythonfrom PIL import Image import matplotlib.pyplot as plt img = Image.open('/mnt/data/IMG_8971.jpeg') plt.imshow(img); plt.axis('off') (-0.5, 4031.5, 3023.5, -0.5)
pythonplt.figure(figsize=(6,8)) plt.imshow(img.rotate(90, expand=True)); plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonplt.figure(figsize=(6,8)) plt.imshow(img.rotate(-90, expand=True)); plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonplt.figure(figsize=(8,12)) plt.imshow(img.rotate(-90, expand=True)); plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonimg90 = img.rotate(-90, expand=True) w,h = img90.size crop1 = img90.crop((0,0,w,h*0.33)) plt.imshow(crop1); plt.axis('off') (-0.5, 3023.5, 1330.5, -0.5)
pythonplt.figure(figsize=(10,6)) plt.imshow(crop1.rotate(90, expand=True)); plt.axis('off') (-0.5, 1330.5, 3023.5, -0.5)
pythoncrop2 = img90.crop((0,h*0.33,w,h*0.66)) plt.figure(figsize=(8,12)) plt.imshow(crop2); plt.axis('off') (-0.5, 3023.5, 1329.5, -0.5)
pythonplt.figure(figsize=(10,6)) plt.imshow(crop2.rotate(90, expand=True)); plt.axis('off') (-0.5, 1329.5, 3023.5, -0.5)
pythoncrop3 = img90.crop((0,h*0.66,w,h)) plt.figure(figsize=(8,10)) plt.imshow(crop3.rotate(90, expand=True)); plt.axis('off') (-0.5, 1370.5, 3023.5, -0.5)
python# find region near Q4 # approximate location vertical ~ maybe middle. plt.figure(figsize=(6,8)) plt.imshow(img90.rotate(90, expand=True)[200:800, 0:800]); plt.axis('off')
pythonimg90r = img90.rotate(90, expand=True) # convert to array import numpy as np arr = np.array(img90r) plt.figure(figsize=(6,8)) plt.imshow(arr[200:800, 0:800]); plt.axis('off') (-0.5, 799.5, 599.5, -0.5)
1 – B
2 – C
3 – D
4 – C
5 – A
6 – C
7 – B
8 – D
9 – A
pythonfrom PIL import Image import matplotlib.pyplot as plt img = Image.open('/mnt/data/IMG_8972.jpeg') plt.imshow(img) plt.axis('off') (-0.5, 4031.5, 3023.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(img.crop((0,0,1400,1800))) plt.axis('off') (-0.5, 1399.5, 1799.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(img.crop((400,0,1800,3000))) plt.axis('off') (-0.5, 1399.5, 2999.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(img.crop((400, -100, 1800, 800))) plt.axis('off') (-0.5, 1399.5, 899.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(img.crop((400, 700, 1800, 2000))) plt.axis('off') (-0.5, 1399.5, 1299.5, -0.5)
pythonplt.imshow(img.crop((400, 2000, 1800, 3400))) plt.axis('off') (-0.5, 1399.5, 1399.5, -0.5)
pythonplt.figure(figsize=(6,8)) plt.imshow(img.crop((660, 0, 1900, 1000))) plt.axis('off') (-0.5, 1239.5, 999.5, -0.5)
pythonplt.figure(figsize=(6,8)) plt.imshow(img.crop((660, 900, 1900, 1800))) plt.axis('off') (-0.5, 1239.5, 899.5, -0.5)
pythonplt.figure(figsize=(6,8)) plt.imshow(img.crop((1600, 0, 2800, 1000))) plt.axis('off') (-0.5, 1199.5, 999.5, -0.5)
python# Let's display full width of page plt.figure(figsize=(10,10)) plt.imshow(img.crop((300, 0, 2700, 1800))) plt.axis('off') (-0.5, 2399.5, 1799.5, -0.5)
pythonplt.figure(figsize=(10,10)) plt.imshow(img.crop((300, 0, 3300, 1800))) plt.axis('off') (-0.5, 2999.5, 1799.5, -0.5)
pythonimg.size (4032, 3024)
pythonplt.figure(figsize=(10,10)) plt.imshow(img.crop((0, 0, 4032, 1800))) plt.axis('off') (-0.5, 4031.5, 1799.5, -0.5)
python# zoom into right part of lines 11-15 text for clarity plt.figure(figsize=(10,8)) plt.imshow(img.crop((650, 0, 2500, 1000))) plt.axis('off') (-0.5, 1849.5, 999.5, -0.5)
pythonplt.figure(figsize=(10,8)) plt.imshow(img.crop((2200, 0, 4032, 1000))) plt.axis('off') (-0.5, 1831.5, 999.5, -0.5)
pythonplt.figure(figsize=(10,8)) plt.imshow(img.crop((0, -200, 4032, 300))) plt.axis('off') (-0.5, 4031.5, 499.5, -0.5)
pythonimg1 = Image.open('/mnt/data/IMG_8971.jpeg') plt.figure(figsize=(10,10)) plt.imshow(img1) plt.axis('off') (-0.5, 4031.5, 3023.5, -0.5)
pythonplt.figure(figsize=(6,4)) plt.imshow(img1.crop((0,1800,4032,2600))) plt.axis('off') (-0.5, 4031.5, 799.5, -0.5)
pythonplt.figure(figsize=(6,4)) plt.imshow(img1.crop((0,2600,4032,3024))) plt.axis('off') (-0.5, 4031.5, 423.5, -0.5)
pythonplt.figure(figsize=(10,4)) plt.imshow(img2 := img) plt.axis('off') (-0.5, 4031.5, 3023.5, -0.5)
pythonplt.figure(figsize=(10,4)) plt.imshow(img.crop((0,0,4032,200))) plt.axis('off') (-0.5, 4031.5, 199.5, -0.5)
pythonplt.figure(figsize=(10,4)) plt.imshow(img.crop((0,200,4032,400))) plt.axis('off') (-0.5, 4031.5, 199.5, -0.5)
pythonplt.figure(figsize=(10,6)) # area between y=200 to y=600 maybe item 11 plt.imshow(img.crop((400, 100, 2000, 600))) plt.axis('off') (-0.5, 1599.5, 499.5, -0.5)
pythonplt.figure(figsize=(10,6)) plt.imshow(img.crop((1800, 100, 3500, 500))) plt.axis('off') (-0.5, 1699.5, 399.5, -0.5)
pythonplt.figure(figsize=(10,10)) plt.imshow(img.crop((350, 900, 3600, 2300))) plt.axis('off') (-0.5, 3249.5, 1399.5, -0.5)
pythonplt.figure(figsize=(10,10)) plt.imshow(img.crop((350, 2300, 3500, 3600))) plt.axis('off') (-0.5, 3149.5, 1299.5, -0.5)
pythonplt.figure(figsize=(10,14)) plt.imshow(img.crop((350, 1100, 2350, 2400))) plt.axis('off') (-0.5, 1999.5, 1299.5, -0.5)
pythonplt.figure(figsize=(10,10)) plt.imshow(img.crop((350, 2100, 2350, 3400))) plt.axis('off') (-0.5, 1999.5, 1299.5, -0.5)
python# zoom lines 6-8 plt.figure(figsize=(10,6)) plt.imshow(img.crop((350, 1600, 2350, 2000))) plt.axis('off') (-0.5, 1999.5, 399.5, -0.5)
pythonplt.figure(figsize=(10,6)) plt.imshow(img.crop((350, 2000, 2350, 2400))) plt.axis('off') (-0.5, 1999.5, 399.5, -0.5)
选择题
10 – C
11 – D
12 – A
13 – D
14 – D
15 – B
判断题(对 √ / 错 ×)
给我判断题的解析
pythonfrom PIL import Image import matplotlib.pyplot as plt img = Image.open('/mnt/data/IMG_8972.jpeg') plt.imshow(img) plt.axis('off') (-0.5, 4031.5, 3023.5, -0.5)
pythonplt.figure(figsize=(10,14)) plt.imshow(img.rotate(90, expand=True)) plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonplt.figure(figsize=(10,14)) plt.imshow(img.rotate(-90, expand=True)) plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonplt.figure(figsize=(10,14)) plt.imshow(img.rotate(180, expand=True)) plt.axis('off') (-0.5, 4031.5, 3023.5, -0.5)
pythonplt.figure(figsize=(10,14)) plt.imshow(img.rotate(270, expand=True)) plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
python# Crop bounding box manually approximate # I will annotate quickly by visually identifying approximate coordinates to crop judgement list. import numpy as np # Let's show interactive cropping by selecting central region maybe plt.figure(figsize=(6,10)) plt.imshow(img.rotate(-90, expand=True)[600:2000, 0:2500]) plt.axis('off')
pythonrot = img.rotate(-90, expand=True) rot_arr = np.array(rot) plt.figure(figsize=(6,10)) plt.imshow(rot_arr[:, :]) plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot_arr[700:2700, 900:2500]) plt.axis('off') (-0.5, 1599.5, 1999.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot_arr[900:2600, 900:2300]) plt.axis('off') (-0.5, 1399.5, 1699.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot_arr[900:3000, 600:2200]) plt.axis('off') (-0.5, 1599.5, 2099.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot_arr[900:3300, 400:2000]) plt.axis('off') (-0.5, 1599.5, 2399.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot_arr[1300:3500, 600:2200]) plt.axis('off') (-0.5, 1599.5, 2199.5, -0.5)
pythonplt.figure(figsize=(10,16)) plt.imshow(rot_arr) plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot_arr[:, 800:2300]) plt.axis('off') (-0.5, 1499.5, 4031.5, -0.5)
pythonplt.figure(figsize=(6,10)) plt.imshow(rot.transpose(Image.ROTATE_180)) plt.axis('off') (-0.5, 3023.5, 4031.5, -0.5)
python# crop a rectangular area where judgement lines appear plt.figure(figsize=(8,12)) plt.imshow(rot_arr[0:1400, 200:1400]) plt.axis('off') (-0.5, 1199.5, 1399.5, -0.5)
pythoncrop = rot_arr[0:1600, 200:1400] plt.figure(figsize=(8,12)) plt.imshow(np.rot90(crop, k=1)) # rotate 90 counter clockwise plt.axis('off') (-0.5, 1599.5, 1199.5, -0.5)
pythoncrop2 = rot_arr[0:1600, 300:2000] plt.figure(figsize=(8,12)) plt.imshow(np.rot90(crop2, k=1)) plt.axis('off') (-0.5, 1599.5, 1699.5, -0.5)
pythonplt.figure(figsize=(12,6)) plt.imshow(np.rot90(crop2[:, 700:1400], k=1)) plt.axis('off') (-0.5, 1599.5, 699.5, -0.5)
pythonplt.figure(figsize=(12,6)) plt.imshow(np.rot90(crop2[:, 1000:1700], k=1)) plt.axis('off') (-0.5, 1599.5, 699.5, -0.5)
pythoncrop_bottom = rot_arr[600:1900, 300:2000] plt.figure(figsize=(8,12)) plt.imshow(np.rot90(crop_bottom, k=1)) plt.axis('off') (-0.5, 1299.5, 1699.5, -0.5)
判断题解析
题号 | 判定 | 解析 |
---|---|---|
1 | × | Horizon 只是 OpenStack 的Web 控制台,大部分常见管理任务可以通过它完成,但仍有许多底层操作(如高级网络策略、复杂存储后端调优、服务配置文件修改等)只能通过 CLI 或 REST API 进行,因此说它“支持所有管理操作”并不成立。 |
2 | √ | KVM 本质上利用处理器提供的硬件虚拟化扩展来实现高性能虚拟机;Intel 称之为 VT-x,AMD 称之为 AMD-V。只要 CPU 启用了这些扩展,KVM 就能直接调用并受益,因此该说法正确。 |
3 | × | 在 Neutron 网络模型里 Local 网络(又叫“本地网络”)只在创建它的 计算节点 上可见,不会通过隧道或 VLAN 跨宿主机转发,所以不具备跨主机通信能力。 |
4 | √ | Keystone 生成的 Token 在默认配置(expiration = 24h )下有效期为 24 小时;若需更短或更长,需要在 keystone.conf 里单独调整,因此此陈述为真。 |
5 | √ | QEMU 充当 KVM 的用户态部分,负责虚拟设备模拟、磁盘/网络 I/O 以及进程生命周期管理;KVM 只提供内核态的虚拟化指令转发。两者配合时,QEMU 可以直接创建/启动/暂停/销毁 KVM 虚拟机,所以说它“可以直接管理 KVM 虚拟机”是正确的。 |
6 | √ | Cells(Cells v2) 设计理念是把大规模计算节点分层分片,每个 Cell 拥有自己的 Nova 服务集和消息队列,实现“分而治之”式水平扩展,显著提升大集群的伸缩性与容错性,因此判断为真。 |
7 | √ | Neutron 的 Router 基于 Linux 内核路由表,目前只支持 静态路由(包括缺省路由和用户自定义的静态条目),并不内置 OSPF/BGP 等动态路由协议,所以“仅支持静态路由”是正确表述。 |
8 | √ | 同第 4 题,Keystone Token 的默认有效期确实是 24 小时;若未修改配置,此说法仍为真。 |
9 | √ | Swift Ring 使用一致性哈希把对象副本均匀映射到物理磁盘,并记录在 ring 文件中;客户端或 proxy 通过 ring 查表后即可把数据分布到正确节点,实现去中心化的数据分布与负载均衡,因此判断正确。 |
10 | √ | Libvirt 是 KVM/Xen/QEMU 等虚拟化驱动的通用管理 API/守护进程。大多数发行版安装 KVM 时都会默认带上 libvirt,而常用工具(virsh、virt-manager、OpenStack Nova 等)也直接调用 libvirt 管理 KVM,故此陈述正确。 |
如果还想了解更多细节(例如相关配置文件位置、命令示例或 RFC/官方文档链接),随时告诉我!