实验数据说明
coil-100数据集是灰色图片集合,包含对100个物体从不同角度的拍摄,每隔 5 度拍摄一副图像,每个物体 72 张图像。每个子文件夹代表一个物体的全部图像。共100个子文件夹,每个文件夹有72张图像。

链接:https://pan.baidu.com/s/1MoI66gjWL8vjbNaD30oGNg 提取码:1xta

实验内容

for time=1:5 //对数据集进行五次划分,相当于进行五次实验,即五次循环
for i=1:100  //以一次循环访问物体图片为例,循环前指定为空,防止发生覆盖,i为子文件夹的个数,即第i个物体

1、以一个文件夹为例,随机打乱序号,生成索引向量,取前 2/3 作为训练样本,后 1/3 作为测试样本。在训练样本中,读取长度为训练样本大小的索引向量,读出图片,先调整为灰度图,后调整图像大小,将处理完的图像的属性按列存放在训练样本集中,测试样本以此类推,将测试图像的属性按列存放在测试样本中。
2、取完100个文件夹所有样本后,将得到的样本数据集利用save 函数存储在data.mat。

实验结果预览效果


实验代码

clc,clear all
datapath='F:/coil/object_1/';
im=dir([datapath,'/*.png']);%读出图像
ind=randperm(72);%随机打乱顺序
ims=imread([datapath,im(ind(1,1)).name]);%读出图像
figure(1);imshow(ims);
ims=rgb2gray(ims); %将图片转成灰度图
figure(2);imshow(ims);
ims=imresize(ims,[32,32]);%将图像调整为统一大小
figure(3);imshow(ims);

该代码用于展示效果图1,即展示原图,灰度图,变小后的图

clc;clear;
%读取图像:完成训练集与测试集的划分(比例为2:1)
datapath='F:/coil/object_%s/';%指定路径
traindata=[];%指定训练集为空
testdata=[];%指定测试集为空
trainlabel=[];testlabel=[];%标签矩阵
for time=1:5traindata_now=[];trainlabel_now=[]; %当前第time次的训练集及标签testdata_now=[];testlabel_now=[]; %当前第time次的测试集及标签for i=1:100ind=[];trainind=[];testind=[];xtrain=[];xtest=[];%循环前指定为空,防止发生覆盖path=sprintf(datapath,num2str(i));%%拼接字符串im=dir([path,'/*.png']);%读出图像mysize=size(im);if numel(mysize)>2 %判断图像是否为灰度图im=rgb2gray(im);%将图片转换成灰度图elseendt=length(im);%统计个数ind=randperm(t);%随机打乱顺序trainind=ind(1:2*floor(t/3));%取前2/3作为训练样本的索引testind=ind(1+2*floor(t/3):end);%剩下的1/3作为测试样本的索引%取出训练样本for j=1:size(trainind,2)index=trainind(j);%取出训练样本索引中的一个imr=imread([path,im(index).name]);%读出图像imr=imresize(imr,[32 32]);%规定为统一大小imf=imr(:);%拉成列向量xtrain(:,j)=imf;%训练样本的第j个放在矩阵第j列endtraindata_now=[traindata_now xtrain];%训练样本取完trainlabel_now=[trainlabel_now i*ones(1,size(trainind,2))];%给训练样本赋标签traindata{1,time}=traindata_now;%traindata的第一个元素是第一次划分的训练集矩阵,以此类推trainlabel{1,time}=trainlabel_now;%trainlabel的第一个元素是第一次划分的训练集标签,以此类推%取出测试样本for jj=1:size(testind,2)index=testind(jj);%取出测试样本索引中的一个imr=imread([path,im(index).name]);%读出图像imr=imresize(imr,[32 32]);%规定为统一大小imf=imr(:);%图像拉成向量xtest(:,jj)=imf;%测试样本的第jj个放在矩阵第jj列endtestdata_now=[testdata_now xtest]; %测试样本取完testlabel_now=[testlabel_now i*ones(1,size(testind,2))];%给测试样本赋标签testdata{1,time}=testdata_now; %testdata的第一个元素是第一次划分的测试集矩阵,以此类推testlabel{1,time}=testlabel_now; %testlabel的第一个元素是第一次划分的测试集标签,以此类推end
end
save('data.mat','traindata','testdata','trainlabel','testlabel');

该代码是将样本进行划分并将五次划分数据后图片的属性按列存储。

基于matlab的图像识别分类实验(一)相关推荐

  1. 用matlab仿真杨氏干涉代码,基于MATLAB杨氏干涉仿真实验

    基于MATLAB杨氏干涉仿真实验 张防震 朱亚琼 (河南财政税务高等专科学校 河南 郑州 450002) 摘 要: 利用MATLAB高性能的数值计算和可视化软件特点,对光学中的杨氏干涉实验进行仿真.单 ...

  2. 杨氏双缝干涉 matlab仿真,基于MATLAB的杨氏双缝干涉实验仿真.pdf

    基于MATLAB的杨氏双缝干涉实验仿真.pdf ( ) 第 27卷 湖北师范学院学报 自然科学版 Vol27 第 1期 Jou rnal of Hubei Norm al U n iversity ( ...

  3. 用matlab电磁波双缝干涉实验报告,基于MATLAB的杨氏双缝干涉实验的研究

    1杨氏双缝干涉 如图1所示,设单缝光阑S 到狭缝S 1和S 2距离相等,狭缝S 1和S 2的宽度均为b ,双缝之间遮光部分的宽为a ,双缝间的距离为d (d =a +b ),光屏离双缝的距离为D . ...

  4. 杨氏双缝干涉 matlab仿真,基于MATLAB的杨氏双缝干涉实验仿真

    第 27卷 湖北师范学院学报 (自然科学版 ) Vol27 第 1期 Journal of HubeiNormalUniversity (Natural Science) No11, 2007 基于 ...

  5. 如何使用matlab仿真物理实验,基于Matlab的大学物理实验模拟.pdf

    维普资讯 浙江科技学院学报,第 2O卷第 2期,2008年 6月 JournalofZhejiangUniversityofScienceandTechnology Vo1.20No.2,June20 ...

  6. matlab高中必修三数学模拟,基于MATLAB的模拟调制实验报告

    <基于MATLAB的模拟调制实验报告>由会员分享,可在线阅读,更多相关<基于MATLAB的模拟调制实验报告(19页珍藏版)>请在金锄头文库上搜索. 1.基于 MATLAB 的模 ...

  7. matlab计算叶子的面积,基于MATLAB进行树叶面积测量实验报告

    <基于MATLAB进行树叶面积测量实验报告>由会员分享,可在线阅读,更多相关<基于MATLAB进行树叶面积测量实验报告(3页珍藏版)>请在人人文库网上搜索. 1.科学计算与数据 ...

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

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

  9. matlab电位图仿真实验,基于MATLAB的静电场描绘实验仿真

    百家论点 基于MATLAB的静电场描绘实验仿真* 陈晓旭 唐翠明 (四川理工学院物电学院,四川 自贡 643000) 摘 要:静电场强度和电势空间分布检测较困难,常采用稳恒电流产生的稳恒电场来模拟静电 ...

  10. matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计

    基于MATLAB 的自动控制原理实验仿真系统的设计 基于MATLAB 的自动控制原理实验仿真系统的设计 田晴,张茁 (河北联合大学电气工程学院,河北唐山063000) 摘要:MATLAB的图形用户界面 ...

最新文章

  1. C++ 通讯录学习总结
  2. 机器学习与数据挖掘——第二章 数据与数据预处理
  3. java floyd_百度百科里面的floyd算法java的代码,总是无法运行。请问是代码有问题吗,如何编译啊?...
  4. Java工作笔记-JPA中Repository新增自定义更新操作
  5. 《梦断代码》随笔第2篇
  6. 恒拓开源携开源中国有望于 10 月底挂牌新三板
  7. NSGA2算法MATLAB
  8. Java知多少(31)static关键字以及Java静态变量和静态方法
  9. php过滤除了文字数据英文,正则:过滤除英文和汉字的其它特殊符号
  10. c语言小游戏代码大全300行,C语言贪吃蛇经典小游戏
  11. 《商用密码应用与安全性评估》第一章 密码基础知识-小结
  12. java钝化_黑马day14 监听器之javaBean对象的活化和钝化
  13. matlab无人机路径规划,一种新的优化算法,天牛群算法,比蚁群算法效果好,收敛快
  14. python查找联系人_python ---简易联系人
  15. ubuntu mysql快捷键_ubuntu快捷键设置大全
  16. 为什么计算机屏幕出现黄色,电脑为什么会出现显示器屏幕发黄
  17. 高德地图api调用demo_一 (1)高德SDK的使用
  18. 计算机科学与技术毕业论文选题【精选】
  19. 2020山东计算机大赛裴鹏飞,裴鹏飞个人事迹加工作照(7页)-原创力文档
  20. Plant Simulation使用技巧

热门文章

  1. xps13 9360黑苹果
  2. qqxml代码-班级作业xml卡片代码班级作业
  3. 基础知识 | 贴片电阻快速扫盲
  4. 高通Camera驱动配置参考:dtsi、代码
  5. 随机森林算法原理解析
  6. linux打印信息命令行,从 Linux 命令行进行打印
  7. 干货分享!12款响应式的移动网站模板免费下载
  8. 【老生谈算法】matlab实现一维曲线分形维数算法源码——一维曲线分形维数
  9. 10张图看懂人口普查数据
  10. Xilinx Petalinux安装和使用