CNN在影像处理、辨识都是很重要的技术,在上一篇已经稍微了解 CNN 的概念後,现在来看看这个实用的技术会被运用在哪里吧!
应用场景包括机器学习、文档分析、和图像辨识等领域。
CNN 相当於眼睛
的角色,以辨识不同物体,现在很多地方都会使用数位的手写功能,就算只拿数字来看,每个人写出来的样子也都不同,这时候辨识的功能就很重要。
首先要先汇入 keras
中引入 mnist
→ minst 是一个手写数字的图像资料集!整个 dataset 是由 60,000 张 training set 和 10,000 张 testing set,手写 0~9 平均分布并且是 28 x 28 的灰阶图片所组成。
# 导入函式库
import numpy as np
from keras.models import Sequential
from keras.datasets import mnist
from keras.utils import np_utils # 用来後续将 label 标签转为 one-hot-encoding
import cv2
再来我们要载入 MNIST 资料库的训练资料,并自动分为『训练组』及『测试组』和建立简单的线性模型去执行。
(X_train, y_train), (X_test, y_test) = mnist.load_data()
model = Sequential()
将 training 的 label 进行 one-hot encoding 和把 training 的 input 资料转为2维
One-hot encoding:例如数字 7 经过转换後是 0000001000,即第7个值为 1。
y_TrainOneHot = np_utils.to_categorical(y_train)
y_TestOneHot = np_utils.to_categorical(y_test)
X_train_2D = X_train.reshape(60000, 28*28).astype('float32')
X_test_2D = X_test.reshape(10000, 28*28).astype('float32')
数值正规化後进行预测
x_Train_norm = X_train_2D/255
x_Test_norm = X_test_2D/255
X = x_Test_norm[0:10,:]
predictions = model.predict_classes(X)
print(predictions) # get prediction result
接下来就可以读取影像罗~
img=cv2.imread('C:/Users/User/Desktop/7.png', cv2.IMREAD_GRAYSCALE)
crop_size
cv2.imshow('My Image', img) # 显示图片
cv2.waitKey(0) # 按下任意键则关闭所有视窗
cv2.destroyAllWindows()
得到最後结果!
img_2D = img.reshape(1,28*28).astype('float32')
img_norm=img_2D/255
img = img_norm
predictions = model.predict_classes(img)
# get prediction result
print(predictions)
今天写第二步「进入选课页面」、第三步「至加选页面」及第四步「查询你想要的课程」。 enter 这个函...
常会遇到这问题 , 离职人员的邮件要怎麽处理呢? 又不想花钱只为了留下资料,那要怎麽做呢? 可以选择...
Auto-Scaling设置内容较多,我们快速回顾一下昨天的架构图: 针对外面的流量,我们提供使用者...
今天要介绍,当要让使用者输入数字,将< input>元素的type属性设定为"...
环境 Windows 10 21H1 x64dbg Aug 2 2020, 13:56:14 IDA...