语义分割-FCN8S(案例)测试(2) 作者:马育民 • 2020-06-07 15:51 • 阅读:10272 本案例通过加载权重文件,读取图片,生成分割图 准备图片: [![](/upload/0/0/1EF5fI6l5j03.jpg)](/upload/0/0/1EF5fI6l5j03.jpg) 加载模型 ``` import tensorflow as tf import matplotlib.pyplot as plt model=tf.keras.models.load_model("/Users/mym/Desktop/ai/fcn8s/fcn32_vgg8s.h5") ``` 定义读取图片函数 ``` IMG_WIDTH=224 def read_img(path): img=tf.io.read_file(path) img=tf.image.decode_jpeg(img,channels=3) img=tf.image.resize(img,(IMG_WIDTH,IMG_WIDTH)) img=img/255 return img ``` 读取图片并预测 ``` img_data=read_img("VOCdevkit/VOC2007/JPEGImages/000122.jpg") print(img_data.shape) img_data_batch=tf.expand_dims(img_data,axis=0) print(img_data_batch.shape) prd=model.predict(img_data_batch) print(prd.shape) ``` 执行结果: ``` (224, 224, 3) (1, 224, 224, 3) (1, 224, 224, 3) ``` 将预测结果处理,并显示成图片 ``` prd_arr=tf.argmax(prd[0],axis=2) plt.imshow(prd_arr) plt.show() ``` [![](/upload/0/0/1EF5fI7F9uc6.png)](/upload/0/0/1EF5fI7F9uc6.png) 原文出处:http://malaoshi.top/show_1EF5fI8Lsvl7.html