使用Matconvnet对图片进行分类

1.准备工作

%进入到下载的MatConvNet资源包目录
cd C:\Users\Administrator\Desktop\matconvnet-1.0-beta17

%安装及编译MatConvNet
run matlab/vl_compilenn
run  matlab/vl_setupnn

% 载入预训练的网络模型
net = load('D:\model\imagenet-vgg-verydeep-19.mat') ;
net = vl_simplenn_tidy(net) ;

% 载入及预处理图片
im = imread('peppers.png') ;
im_ = single(im) ; % 转换为单精度类型
im_ = imresize(im_, net.meta.normalization.imageSize(1:2)) ;%修改图像尺寸
im_1 = bsxfun(@minus, im_, net.meta.normalization.averageImage) ;

% 运行模型对图片进行处理
res = vl_simplenn(net, im_1) ;

%展示分类结果
scores = squeeze(gather(res(end).x)) ;
[bestScore, best] = max(scores) ;
figure(1) ;
clf ;
imagesc(im) ;
title(sprintf('%s (%d), score %.3f',...
net.meta.classes.description{best}, best, bestScore));

运行结果如下:
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐