人工智能Keras图像分类器(CNN卷积神经网络的图片识别篇)

上期文章我们分享了人工智能Keras图像分类器(CNN卷积神经网络的图片识别的训练模型),本期我们使用预训练模型对图片进行识别:Keras CNN卷积神经网络模型训练

导入第三方库

from keras.preprocessing.image import img_to_array
from keras.models import load_model
import numpy as np
import imutils
import cv2

加载图片

image = cv2.imread("examples/00000002.jpg") # 加载一个图片
orig = image.copy() # 复制图片
image = cv2.resize(image, (28, 28))# 图片resize
image = image.astype("float") / 255.0 #图片转换为0 1数据
image = img_to_array(image) # array
image = np.expand_dims(image, axis=0)# 增加一个轴

加载预训练模型

model = load_model("lenet.model")

图片识别

(notsnowman, snowman) = model.predict(image)[0]# 图片预测
# 显示标签与预测数据
label = "snowman" if snowman > notsnowman else "notsnowman"
proba = snowman if snowman > notsnowman else notsnowman
label = "{}: {:.2f}%".format(label, proba * 100)

显示图片

output = imutils.resize(orig, width=400)
cv2.putText(output, label, (10, 25), cv2.FONT_HERSHEY_SIMPLEX,
            0.7, (0, 255, 0), 2)
cv2.imshow("Output", output)
cv2.waitKey(0)