将数据集中图像可视化

从数据集随即选取图片于图片框中展示

import numpy as np
import utils
import cv2
from keras import backend as K
from vgg import VGG16
import matplotlib.pyplot as plt

K.set_image_data_format('channels_last')
class_classification = ["cat", "dog"]

if __name__ == "__main__":
    model = VGG16(2)
    # VGG输出两个类
    model.load_weights("./logs/last1.h5")
    #读取权重
    # img = cv2.imread("./data/train/cat.1.jpg")
    # img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
    # img = img/255
    # img = np.expand_dims(img,axis = 0)
    # img = utils.resize_image(img,(224,224))
    # utils.print_answer(np.argmax(model.predict(img)))
    # print(utils.print_answer(np.argmax(model.predict(img))))
    # print(class_classification[np.argmax(model.predict(img))])
    # show
    #打开标签和数据集的文本,文本内的格式如下
    with open("./data/train.txt", "r") as f:
        lines = f.readlines()
        np.random.shuffle(lines)
        #随机打乱
    plt.figure(figsize=(10, 10))
    #给plt设置长宽
    for i in range(9):
        plt.subplot(3, 3, i+1)
        num = int(np.random.random() * len(lines))
        name = lines[num].split(';')[0]
        img = cv2.imread("./data/train" + '/' + name)
        img_input = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        img_input = img_input / 255
        img_input = np.expand_dims(img_input, axis=0)
        img_input = utils.resize_image(img_input, (224, 224))
        predit = class_classification[np.argmax(model.predict(img_input))]
        plt.title("label=%s predit=%s"%(name.split(".")[0], predit))
        plt.imshow(img)
        #plt.imshow(cv2.resize(img,(224,224)))
        plt.axis('off')
    plt.show()

题解
1.这里首先输入数据格式是通道在最后的

K.set_image_data_format('channels_last')

2 "./data/train.txt"内文本样式,也是根据数据集做出来的;之前为文件名,之后为标签1为dog0为猫
在这里插入图片描述
3utils.resize_image(img_input, (224, 224))
这里是把图形shape改为(1,224,224,3)具体的代码在utils里
在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值