Python课后习题训练记录Day195

1.练习项目 :

练习使用Python语言

2.开始练习

(1)源码 :

import tensorflow as tf

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from pathlib import Path

BASE_PATH = Path("data/banana-detection/bananas_train/")

IMAGE_PATH = BASE_PATH / "images"

LABEL_PATH = BASE_PATH / "label.csv"

print(IMAGE_PATH, LABEL_PATH)

读取标签文件

df = pd.read_csv(LABEL_PATH)

filenames = df'img_name'.tolist()

print(filenames)

通过该函数读取的图片都是归一化处理后的图片

def load_image(path):

image = tf.io.read_file(path)

decoded_image = tf.image.decode_jpeg(image, channels=3)

img = tf.image.convert_image_dtype(decoded_image, tf.float32)

return img

def display_images(images, title=None):

"""显示图片列表"""

if title is None:

title = "Banana Detection Samples"

rows = len(images)

cols = 1 # 每行一张

fig, axes = plt.subplots(rows, cols, figsize=(6, rows * 3))

确保 axes 是二维数组

axes = np.atleast_2d(axes)

for i, img in enumerate(images):

将 Tensor 转为 numpy 数组,并显示

img_np = img.numpy()

axesi, 0.imshow(img_np)

axesi, 0.axis("off")

axesi, 0.set_title(filenamesi)

plt.suptitle(title)

plt.tight_layout()

plt.show()

def main():

images = \[\]

bbox_list = \[\]

读取前 5 张图片

for i in range(5):

image_path = IMAGE_PATH / filenamesi

img = load_image(str(image_path))

images.append(img)

如果需要边界框,可以从 df 中读取,这里暂时留空

bbox = df.locdf\['img_name' == filenamesi, 'xmin', 'ymin', 'xmax', 'ymax'].values0

bbox_list.append(bbox)

显示图片

display_images(images)

if name == "main":

main()

(2)检验结果

对此代码进行检验,检验后无报错,运行此代码,运行结果正确。

(3)练习心得:

注意每段代码末尾的分号是否存在 ,如不存在则需即使补充;输入法 是否切换为英语模式;语法是否错误。

相关推荐
HAPPY酷3 小时前
C++ 自定义内存池优化点云处理:从裸指针到 RAII 自动回收
开发语言·c++
梦帮科技3 小时前
量子纠缠网络与量子隐形传态攻防:量子中继器信道串扰、纠缠态保真度降解与量子路由劫持
开发语言·网络·人工智能·算法·自动化·php
Python自动化直播4 小时前
智能脚本批量管理拆开看:导入、导出、重写、试听
前端·python·ai·秒播
老王IT4 小时前
C语言语法基础语法介绍
c语言·开发语言·算法
code2cat4 小时前
Java高级篇之JDBC:连接数据库,完成查询、更新与事务
java·开发语言·数据库
hzxxxz5 小时前
PHP引擎两个高危漏洞复盘:计数顺序与旧地址缺陷的机理与处置清单
开发语言·php
马立杰5 小时前
PHP 未授权 RCE 应急响应:CVE-2026-109618 CVE-2026-109619 排查与加固实战
android·开发语言·php
布莱克6055 小时前
C++ 内存泄漏全解析:常见场景、成因与规避实践
开发语言·c++·内存泄露
jimy15 小时前
lvalue、xvalue、prvalue(一):三者的分类
开发语言·c++
老王IT5 小时前
C#语言基础语法介绍
开发语言·c#