python识别花草_吴裕雄 python神经网络 花朵图片识别(9)

这段代码展示了如何使用Python进行花朵图像识别的准备工作,包括数据集划分、图像预处理(缩放、旋转)、数据保存以及神经网络模型的构建。通过卷积神经网络(CNN)实现分类,利用TensorFlow库进行训练和测试,评估模型的准确率。
摘要由CSDN通过智能技术生成

import os

import numpy as np

import matplotlib.pyplot as plt

from PIL import Image, ImageChops

from skimage import color,data,transform,io

#获取所有数据文件夹名称

fileList = os.listdir("F:\\data\\flowers")

trainDataList = []

trianLabel = []

testDataList = []

testLabel = []

for j in range(len(fileList)):

data = os.listdir("F:\\data\\flowers\\"+fileList[j])

testNum = int(len(data)*0.25)

while(testNum>0):

np.random.shuffle(data)

testNum -= 1

trainData = np.array(data[:-(int(len(data)*0.25))])

testData = np.array(data[-(int(len(data)*0.25)):])

for i in range(len(trainData)):

if(trainData[i][-3:]=="jpg"):

image = io.imread("F:\\data\\flowers\\"+fileList[j]+"\\"+trainData[i])

image=transform.resize(image,(64,64))

trainDataList.append(image)

trianLabel.append(int(j))

angle = np.random.randint(-90,90)

image =transform.rotate(image, angle)

image=transform.resize(image,(64,64))

trainDataList.append(image)

trianLabel.append(int(j))

for i in range(len(testData)):

if(testData[i][-3:]=="jpg"):

image = io.imread("F:\\data\\flowers\\"+fileList[j]+"\\"+testData[i])

image=transform.resize(image,(64,64))

testDataList.append(image)

testLabel.append(int(j))

print("图片数据读取完了...")

89f8c605e55ea3b3faac6b1e81b79cd7.png

print(np.shape(trainDataList))

print(np.shape(trianLabel))

print(np.shape(testDataList))

print(np.shape(testLabel))

a5ccbf3291f5e6c001b9eeb9f329b6f7.png

print("正在写磁盘...")

np.save("G:\\trainDataList",trainDataList)

np.save("G:\\trianLabel",trianLabel)

np.save("G:\\testDataList",testDataList)

np.save("G:\\testLabel",testLabel)

print("数据处理完了...")

55be435cf474537f06896b67fb74fcae.png

import numpy as np

from keras.utils import to_categorical

trainLabel = np.load("G:\\trianLabel.npy")

testLabel = np.load("G:\\testLabel.npy")

trainLabel_encoded = to_categorical(trainLabel)

testLabel_encoded = to_categorical(testLabel)

np.save("G:\\trianLabel",trainLabel_encoded)

np.save("G:\\testLabel",testLabel_encoded)

print("转码类别写盘完了...")

8c6151ace83fa5716a4f88d2c36c16e4.png

import random

import numpy as np

trainDataList = np.load("G:\\trainDataList.npy")

trianLabel = np.load("G:\\trianLabel.npy")

print("数据加载完了...")

trainIndex = [i for i in range(len(trianLabel))]

random.shuffl

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值