永发信息网

使用训练好的libsvm分类器,如何对一幅新输入的图像进行识别显示?? 求代码

答案:1  悬赏:10  手机版
解决时间 2021-11-09 23:38
使用训练好的libsvm分类器,如何对一幅新输入的图像进行识别显示?? 求代码
最佳答案
其实使用libsvm进行分类很简单,只需要有属性矩阵和标签,然后就可以建立分类模型(model),然后利用得到的这个model进行分类预测了。
  一、属性矩阵和标签:
  一个班级里面有两个男生(男生1、男生2),两个女生(女生1、女生2),其中

  男生1 身高:176cm 体重:70kg;
男生2 身高:180cm 体重:80kg;
女生1 身高:161cm 体重:45kg;
女生2 身高:163cm 体重:47kg;
  如果将男生定义为1,女生定义为-1,并将上面的数据放入矩阵data中,即
  data = [176 70;

  180 80;

  161 45;

  163 47];
  复制代码
  在label中存入男女生类别标签(1、-1),即
  label = [1;1;-1;-1];
  复制代码
  这样上面的data矩阵就是一个属性矩阵,行数4代表有4个样本,列数2表示属性有两个,label就是标签(1、-1表示有两个类别:男生、女生)。
  二、有了上面的属性矩阵data,和标签label就可以利用libsvm建立分类模型了,简要代码如下:
  model = svmtrain(label,data);
  复制代码
  有了model就可以做分类预测,比如此时该班级又转来一个新学生,其
身高190cm,体重85kg
想通过上面这些信息就给出其标签(想知道其是男【1】还是女【-1】)
比如 令 testdata = [190 85]; 由于其标签不知道,假设其标签为-1(也可以假设为1)
  即
testdatalabel = -1;
然后利用libsvm来预测这个新来的学生是男生还是女生,代码如下:
  [predictlabel,accuracy] = svmpredict(testdatalabel,testdata,model)
  复制代码
  下面整体运行一下上面这段的背景数据和代码:
  data = [176 70;

  180 80;

  161 45;

  163 47];

  label = [1;1;-1;-1];
  model = svmtrain(label,data);
  testdata = [190 85];

  testdatalabel = -1;
  [predictlabel,accuracy] = svmpredict(testdatalabel,testdata,model);

  predictlabel
  复制代码
  运行结果如下:
  Accuracy = 0% (0/1) (classification)

  predictlabel =追问嗯嗯,我知道重新输入一幅图要进行训练和特征提取,然后用分类器识别,得到分类的结果,但是代码我不会,能不能按照我之前给的程序,给一份代码???
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
呻吟语的评价鉴赏
求我耳边的candy第二季第一期免费
我想再谷歌上见一个网站,请问怎么建,求教、
现在安徽装一个电信宽带多少钱?
朝阳支队喀左考场科目三地址有知道的么?有点
快递相机镜头能放心吗
家有儿孙不算穷的上联是什么
跪求家教同人 女主是27姐姐或妹妹
(x-8)+(x-7)+(x-6)+(x-1)+x+(x+1)+(x+6)+(x+7
重庆市巴南区鱼洞大江组团为什么迟迟得不到发
神泣 普通模式刺客 战士哪个好?
宾得小套18-55 能拍微距 背景虚化吗 怎么拍
用简便方法计算209×12
有没有能收听全国所有电台(广播)的软件
广东燕京啤酒有限公司三包车间验酒组员工2O16
推荐资讯
为什么猿辅导的高考冲刺课程比新东方便宜那么
46除以25的商的个位是多少?
加热器220V和110V都是2000W时间有差别吗
中国人民财产保险股份有限公司高台支公司地址
旅行团临时可加人吗
建筑八大院校有哪些?
诗歌祖国一家亲
之正画室地址好找么,我有些事要过去,
香港衣服尺寸对照表
这种电路示意图用什么软件画的
南宋山水画的共同特色是什么,有哪些代表画家
姥姥为我梳头的句子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?