我们采用的是101_ObjectCategories这个数据集(这里是其主页,你也可以在这里获得数据集以及我的代码),这个数据集是加州理工的一个数据集,里面有101个文件夹,每个文件夹的名字是一个物体,文件夹内有几十张上百张这个物体的图像,每个图像的大小不尽相同,总共才100多MB,比较好训练,有一个同类的数据集,它还有有200多个物体的一个数据集,但是有几个G,所以不太适合了。相对于MNIST数据集来说,用matlab的话,MNIST数据集显得更难读取了,因此也不选用MNIST数据集。

需要注意的是,这个101_ObjectCategories数据集好像有102个文件夹,我删去了一个文件夹BACKGROUND_Google,顾名思义是Google的背景,但是里面的图片非常杂乱,根本看不出有什么联系,所以这个文件夹应该被删除。

首先要能读取这个图像,采用下面语句:

img = imread('101_ObjectCategories/accordion/image_0001.jpg');
image(img);

就可以显示图像了:

紧接着,我们希望能读取到所有图像,首先我们能获取到每个图像的名字,就是它们文件夹的名字,我们先获取这个名字。

matlab里有dir函数,这么用:

namelist = dir('101_ObjectCategories');

首先你得确保这个文件夹跟这个脚本放在一起,不放在一起也没关系,写成绝对路径就成。

读取后namelist 的格式为

  • name – filename
  • date – modification date
  • bytes – number of bytes allocated to the file
  • isdir – 1 if name is a directory and 0 if not

然后我们获取这些物体名:

for i = 1:length(namelist)namelist(i).name
end

所以你看,我们得到了这些名字,然后我们就可以读取里面的图像了。

但是有一个 小问题是,隐藏文件夹’.‘和’…'都会被读取到,因此我们需要判断一下输出:

for i = 1:length(namelist)if namelist(i).name ~= '.' || namelist(i).name ~= '..' namelist(i).nameend
end

这样就可以得到正确的输出。接下来处理图片。

Matlab实现图像识别(一)相关推荐

  1. matlab识别图像,基于MATLAB神经网络图像识别的高识别率代码

    MATLAB神经网络图像识别高识别率代码 I0=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\0 (1).png')) ...

  2. 计算识别率的matlab代码,基于MATLAB神经网络图像识别的高识别率代码

    更新时间: 2019年3月14日10:50:04作者: 钱190 今天,我将与您分享一个基于MATLAB神经网络图像识别的高识别代码. 我认为内容非常好. 现在我与大家分享. 具有很好的参考价值. 需 ...

  3. matlab 车牌图识别,基于MATLAB车牌图像识别的设计与实现(附答辩记录)

    基于MATLAB车牌图像识别的设计与实现(附答辩记录)(包含选题审批表,任务书,开题报告,中期报告,毕业论文15000字,代码) 摘  要:车牌照识别是图像识别领域的重要研究课题.运用MATLAB对车 ...

  4. matlab:图像识别

    matlab:图像识别 一.Matlab图像识别的基本原理 二.Matlab图像识别的实现步骤 三.常用的Matlab图像识别算法 四.Matlab图像识别的应用领域 五.总结 Matlab是一款非常 ...

  5. 基于MATLAB车牌图像识别的设计与实现

    课题介绍 车牌图像识别系统是现代智能交通管理的重要组成部分之一.车牌识别系统使车辆管理更智能化,数字化,有效提升了交通管理的方便性和有效性. 车牌识别系统主要包括了图像采集.图像预处理.车牌定位.字符 ...

  6. matlab在图像识别(深度学习神经网络)中的使用(转)

    前言: 1)图像识别用途甚广,解决的算法之一,是深度学习神经网络.matlab近几个版本,对这块的语法修改较多,总体而言,用户用起来更方便了: 2)这里以2018a版本为例,做一些粗略的说明. 1.概 ...

  7. 用MATLAB作图像识别所需要注意的细节!

    ⑴自己构建的图像矩阵一定要从double类型转换为uint8类型!示例代码如下: I1=[50 200 220 100 200]; I1=uint8(I1); ⑵MATLAB因为数组编号从1开始,所以 ...

  8. Matlab实现图像识别(五)

    先实现单个更新,得出结果之后,再实现批量更新. 后向传播算法为: w = w - a*de/dw; 其中,w就是那个参数,e代表误差,a是一个步长,乘以这个导数就变成了实际的一小段,减去它就是了.这个 ...

  9. Matlab实现图像识别(二)

    这节要处理图像到统一标准. 首先我们已经读取出来图像了,我们如何对它进行处理呢?首先,我们先对它进行灰度转化,然后放缩到固定尺寸即可,现在先实现简单的BP神经网络,至于卷积池化什么的先留到以后再说. ...

  10. Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。

    一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...

最新文章

  1. QuerySyntax(查询语法)
  2. scrapy.Spider的属性和方法
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的奖学金评定管理系统
  4. NDK编译php,Android NDK编译常见错误及解决方案
  5. 前端之路:平凡中的小事,有点鸡汤的感觉哟!
  6. BZOJ 4034 [HAOI2015]T2 树链剖分
  7. 腾讯广告X中科院计算所WWW2021论文:在线广告中的探索与优化
  8. 分享微信朋友或朋友圈
  9. 卫星通信常用专业词汇
  10. 【软件工程】中国大学软件工程MOOC学习记录
  11. 【第四章】NB-IoT模组BC95 利用串口调试助手接入华为(电信)平台
  12. USB接口芯片的选型参考(转贴)
  13. 【计算几何各种小模板总结贴】[不定期更新]
  14. Java加密知识体系
  15. React 环境 webpack less 配置 及 javascriptEnabled 解决方法
  16. java mediatype属性_SpringMVC 及常用MediaType
  17. C语言实现拟合直线方程
  18. 小黑跟老黑们夜骑车拍完了毕业照面试了两场的leetcode之旅:793. 阶乘函数后 K 个零
  19. samba 服务器配置
  20. 虚拟机与MySQL的安装及配置

热门文章

  1. 微商怎么引流被加精准粉?微商有效引流被加方法
  2. Win11本地安全策略怎么设置?
  3. mac os 虚拟机parallels desktop 安装 win10 和 激活
  4. Hadoop原理讲解(面试题)
  5. java计算机毕业设计高校多媒体设备报修管理系统源码+mysql数据库+系统+lw文档+部署
  6. 从T7模型中取训练参数
  7. 微信小程序后端系统CMS开发笔记--04
  8. 英伟达显卡最新驱动安装过程
  9. 并联串联混合的电压和电流_并联电阻的计算公式(附各种并联电阻网络图解)...
  10. 安全加密 - DEP, ASLR