MATLAB入门系列——读取图片及神经网络AlexNet分类

MATLAB入门系列——读取图片及简单处理

刚开始先来一个最简单的图像读取:
环境:MATLAB(最近几年哪一个版本就ok啦)
读取和显示图像
读取图像语句:
img1=imread(“index.jpg”);
(注意这一句加上分号)
显示图像语句
imshow(img1)
(这一句不要加分号,一定不要加,不加代表显示加上代表执行但不显示)
效果呈现:
在这里插入图片描述
然后我们对图像做一个分类,按道理分类算法是复杂的,小白绝对不可能自己写出来,但是matlab的开源性使得我们可以调用大量其他工程师的成果,这就是所谓的站在巨人的肩膀上。这里先简单调用一下著名的神经网络AlexNet(这个神经网络想要进一步了解的自行百科哈 )

加载著名的神经网络AlexNet
deepnet(变量名)=alexnet
但是输入这一行代码,马上就会报错:
在这里插入图片描述
好像是没有包唉!怎么办呢?别急,这不后面有提示吗,点击后面的附加功能访问器安装一下这个包就好。日后不用的时候手动删除就好(不过我觉得小白也不会删的)
安装完成后再次执行代码,完成神经网络的加载;
使用分类器函数做一个预测(具体怎么分类也请自行百科喔,关于这方面的研究还是很多的)
pred1=classify(deepnet,img1)
这个时候我们可能又看到错误了:
在这里插入图片描述
这个是意思是输入图片的大小不对,必须是227227像素3通道的,这个时候我们可以使用ps或者其他图像处理工具改一下大小。
完成以后,再次执行
我们发现可能还会出现尺寸不对的情况,WHY???我们可以看一下工作区,正确的应该是这个样子的
在这里插入图片描述
如果发现你的img1尺寸不是227
227,这是因为即使改了图片大小,但是在已经加载到的变量中并没有进行更改,你需要做的是删除工作区的变量,重新加载图像,最后执行 pred语句
可以得到图像处理结果
在这里插入图片描述
这样就成功了,可以看到给出的分类结果是papillon
在这里插入图片描述
点击其中的categorical,可以看到这个神经网络categorical的含义。

发布了37 篇原创文章 · 获赞 1511 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_43943977/article/details/101942257