tensorflow猫狗大战笔记

发布时间 2023-08-07 23:04:16作者: blackstrom

第一步:数据集的加工

import cv2
import os #使用os.walk()函数遍历指定文件夹train及其所有子文件夹。

dir='train' #读取图片路径的设定 需要在程序文件里建立train文件夹 将需要更改尺寸的图片放入

for root,dirs,files in os.walk(dir): #for root, dirs, files in os.walk(dir): 这行代码用于遍历指定文件夹 dir 及其所有子文件夹。在每次迭代中,root 变量将保存当前遍历的文件夹路径,dirs 变量将保存 root 下所有子文件夹的列表,files 变量将保存 root 下所有文件的列表。
for file in files: #for file in files: 这行代码用于遍历当前文件夹下的所有文件。在每次迭代中,file 变量将保存当前遍历到的文件名。
filepath=os.path.join(root,file) #filepath = os.path.join(root, file) 这行代码用于将当前遍历到的文件名 file 和文件夹路径 root 连接起来,生成完整的文件路径 filepath
try: #try 是 Python 中的异常处理机制,用于捕获可能发生异常的代码块。通过使用 try 和 except,可以在发生异常时进行适当的处理,避免程序崩溃并提供错误处理的机制。
image=cv2.imread(filepath)
dim=(227,227)
resized=cv2.resize(image,dim)
path='dogs_vs_cats/'+file # path = 'dogs_vs_cats/' + file 是将文件名 file 与 'dogs_vs_cats/' 这个文件夹路径拼接起来,形成完整的文件路径 path。 需要先在程序文件夹下新建一个dogs_vs_cats的文件夹 用于保存尺寸处理后的图片
            cv2.imwrite(path,resized)        #这行代码将经过调整大小的图像 resized 保存到指定路径 path 对应的文件中。
except: #except: 这行代码表示如果在 try 代码块中发生了异常,那么接下来的代码块将会被执行。
print(filepath) #print(filepath) 会在出现异常时打印出文件路径的值,方便调试和定位错误。
os.remove(filepath) #将会删除指定路径 filepath 所对应的文件。
cv2.waitKey(0)