获取数据集
26字母手势识别数据集.csv格式
提取码:jzyc
加载数据
import csv
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import cv2
# 获取数据
def get_data(file_name):
with open(file_name) as f:
csv_reader = csv.reader(f, delimiter=',')
first_line = True # csv文件中第一行维标题行,不能载入数据
temp_images = []
temp_labels = []
for row in csv_reader:
if first_line:
first_line = False
continue
else:
temp_labels.append(row[0])# csv文件中第一列为图片的label
image_data = row[1 : 785]# 后面784列为图像每一个像素点对应的亮度值,读出来的是一个列表,需要将其划分为28*28的图像
image_array = np.array_split(image_data, 28)
temp_images.append(image_array)
images = np.array(temp_images).astype('float')
labels = np.array(temp_labels).astype('float')
return images, labels
training_images, training_labels = get_data('E:/datasets/tmp/sign-language-mnist/sign_mnist_train.csv')
testing_images, testing_labels = get_data('E:/datasets/tmp/sign-language-mnist/sign_mnist_test.csv')
print(training_images.shape)
print(training_labels.shape)
print(testing_images.shape)
print(testing_labels.shape)
图像预处理
图像生成器,图像形态学操作
training_images = np.expand_dims(training_images, axis=3)
testing_images = np.expand_dims(testing_images, axis=3)
#
train_datagen = ImageDataGenerator(
rescale=1.