Matlab 基于svm的图像物体分类

发布时间:2018-05-16 20:27,

浏览次数:1623

, 标签:

Matlab

svm

本周工作日志,老师布置了一个小作业,让我们使用matlab实现图像物体分类

matlab 图像分类

1分类原理

基于一个很朴素的观点,不同物体在色素三维空间里的分布不同,使用svm可以构造一个分类面。

2程序流程

* 1首先加载图片

* 2选取不同物体的代表点

* 3训练svm分类器

* 4将训练好的分类器应用到整张图片上。

3代码如下

%给初学者看得 function showline(img) [n1,n2,~]=size(img); %我尽量写的简单易懂一点儿

%首先你使用aa=imread(‘1.jpg’) 这个1.jpg 只是个例子,具体看你的图片叫什么,对了把图片放在你的工作目录里面

%或者在1.jpg前面加上D:\研一\路径前缀 %好,前期处理完成,showline(aa),这个具体是aa还是bb就看你怎么取得变量名了。

%现在说一个比较关键的东西,学习matlab最踏实的办法,是哪个不会就help 它一下,但这个比较费时间因为讲的太细了。 imshow(img);

img2=img;%显示图片 x1=floor(ginput(5));

%函数运行到这儿,会弹出鼠标可以移动的十字架,在你觉得作为第一类样本的像素上,选5个点吧,加floor是确保得到的坐标都是整数。 x2=floor

(ginput(5)); %这个同理,不过是第二类了。 x3=floor(ginput(5)); %这个也同理. x=zeros(10,3);

%每次分类的时候都有10个样本,同时每个样本都有三个属性,rgb。 for i=1:5 x(i,:)=reshape(img(x1(i,2),x1(i,1

),:),1,3); x(i+5,:)=reshape(img(x2(i,2),x2(i,1),:),1,3); end

%赋值,因为图像像素值是N*m*3的矩阵,不好直接用,reshape为1*3的。 y=[ones(5,1);-1*ones(5,1)]; %标签集

x=double(x); svmstruct=svmtrain(x,y);%svm训练 group=svmclassify(svmstruct,double(

reshape(img,n1*n2,3))); %使用svm group=reshape(group,n1,n2);

%将group调整为一个n1*n2的存放类别标签的矩阵。 for i=1:n1-1 for j= 1:n2 if group(i,j)*group(i+1,j

)<1%两者类别不一致,分界线 if i<130 %这个是我估计的值,选择 陆地与天交接线下面一点儿的坐标就行 img2(i,j,:)=0; end end

end end for i=1:5 x(i,:)=reshape(img(x2(i,2),x2(i,1),:),1,3); x(i+5,:)=reshape

(img(x3(i,2),x3(i,1),:),1,3); end x=double(x);

%赋值,因为图像像素值是N*m*3的矩阵,不好直接用,reshape为1*3的。 y=[ones(5,1);-1*ones(5,1)]; %标签集

svmstruct=svmtrain(x,y);%svm训练 group=svmclassify(svmstruct,double(reshape

(img,n1*n2,3))); %使用svm group=reshape(group,n1,n2); %将group调整为一个n1*n2的存放类别标签的矩阵。

for i=1:n1-1 for j= 1:n2 if group(i,j)*group(i+1,j)<1%两者类别不一致,分界线 if i<170

%这个是我估计的值,这次选择陆地水下面一点儿的值。 img2(i,j,1)=255; end end end end imshow(img2);

matlab图像分类器,Matlab 基于svm的图像物体分类相关推荐

  1. 基于机器学习的车牌识别系统(Python实现基于SVM支持向量机的车牌分类)

    基于机器学习的车牌识别系统(Python实现基于SVM支持向量机的车牌分类) 一.数据集说明 训练样本来自于github上的EasyPR的c++版本,包含一万三千多张数字及大写字母的图片以及三千多张中 ...

  2. 基于SVM的乳腺癌数据集分类

    目录 1.作者介绍 2.SVM算法介绍 2.1 SVM算法 2.2 SVM算法理解与分析 3.乳腺癌数据集介绍 4.基于SVM的乳腺癌数据集分类实验 4.1 导入所需要的包 4.2 导入乳腺癌数据集 ...

  3. Matlab 基于svm的图像物体分类

    matlab 图像分类 本周工作日志,老师布置了一个小作业,让我们使用matlab实现图像物体分类 目录 文章目录 matlab 图像分类 目录 1分类原理 2程序流程 补充 1分类原理 基于一个很朴 ...

  4. matlab图像压缩像素编码,基于DCT的图像压缩编码算法的MATLAB实现

    基于DCT的图像压缩编码算法的MATLAB实现 摘要 随着科学技术的发展,图像压缩技术越来越引起人们的关注.为此从众多的图像压缩编码标准中选取了基于DCT变换的JPEG图像压缩编码算法进行研究,并通过 ...

  5. 【FPGA教程案例44】图像案例4——基于FPGA的图像中值滤波verilog实现,通过MATLAB进行辅助验证

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  6. 【图像加密】基于Logistic混沌图像加密与解密Matlab代码

    1 简介 当今时代,科学技术发展迅猛,网络成为人们获取成为人们获取多媒体数字信息的主要渠道,数字图像作为日常交流的主要传输媒介,更是承担着信息传递的重任.保证信息在传播过程中的安全性和完整性便成了目前 ...

  7. 小波变换去雾matlab代码,一种基于小波变换的图像去雾方法

    一种基于小波变换的图像去雾方法 摘要:为获得雾天 关键词:小波变换;Mallat算法;单尺度Retinex;同态滤波 中图分类号:TN957.52文献标识码:A 文章编号:1009-3044(2020 ...

  8. 【图像融合】基于小波变换的图像融合

    小波变换   传统的信号理论,是建立在Fourier分析基础上的,而Fourier变换作为一种全局性的变化,其有一定的局限性,如不具备局部化分析能力.不能分析非平稳信号等.在实际应用中人们开始对Fou ...

  9. 【图像配准】基于互信息的图像配准算法:MI、EMI、ECC算法

    简介:         基于互信息的图像配准算法以其较高的配准精度和广泛的适用性而成为图像配准领域研究的热点之一,而基于互信息的医学图像配准方法被认为是最好的配准方法之一.基于此,本文将介绍简单的基于 ...

最新文章

  1. caffeine_使用Caffeine和Spring Boot的多个缓存配置
  2. 【openMV与机器视觉】四旋翼飞行控制背景下的PID控制与摄像头算法简介
  3. html 实时预览在线,用HTML+CSS做一个实时预览的markdown编辑器
  4. 【java.lang.NoClassDefFoundError: t/SpringBootConfiguration】
  5. 这个星期压力貌似比较大啊!
  6. python编程-Python3 网络编程
  7. 新建mavan项目转为web项目
  8. 拓端tecdat|Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
  9. 计算机应用基础 项目4-5 分析商品销售业绩 ppt课件,计算机应用基础课件项目四汇总.ppt...
  10. 美国大学计算机科学与物理,美国大学物理专业浅谈
  11. hadoop源码研究 编译错误记录
  12. word 的使用 —— 分页符与分节符
  13. Java 第 34 课 1365. 有多少小于当前数字的数字 1331. 数组序号转换
  14. torch.randn()用法
  15. ttkefu如何修改手机聊天窗口的背景颜色?
  16. 高维向量的相似度判定-距离产生了,美还在吗
  17. 游戏物理中的碰撞测试(一) - 如何检测碰撞
  18. tnc_pib_tc
  19. 网孔型中级维修电工实训考核装置
  20. 1999-2018年地级市城镇化率(非农口径)

热门文章

  1. 求生欲强烈!HTC官方回应并未退出中国市场
  2. 【点阵液晶编程连载三/B】点阵LCD 的驱动与显控
  3. syslog和syslog-ng详解
  4. Java入门到月入2W+ IT各种技术教学资料分享
  5. 递增的整数序列链表的插入_LeetCode基础算法题第178篇:和为零的N个唯一整数
  6. mysql多类型查询_MYSQL中的多类型查询及高级查询操作
  7. 一个C++工程CPU占用100%问题的排查
  8. u-boot移植随笔:u-boot启动流程简图
  9. cannot instantiate the type
  10. getelementsbyname谷歌浏览器兼容_常用的浏览器内核有哪些?常用浏览器及其内核介绍...