模式识别课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模式识别
课程设计
关于黄绿树叶的分类问题
成员:李家伟2015020907010
黄哲2015020907006
老师:程建
学生签字:
一、小组分工
黄哲:数据采集以及特征提取。
李家伟:算法编写设计,完成测试编写报告。
二、特征提取
选取黄、绿树叶各15片,用老师给出的识别算法进行特征提取
%Extract the feature of the leaf
clear, close all
I = imread('/Users/DrLee/Desktop/kmeans/1.jpg');
I = im2double(I);
figure, imshow(I)
n = input('Please input the number of the sample regions n:');
h = input('Please input the width of the sample region h:');
[Pos] = ginput(n);
SamNum = size(Pos,1);
Region = [];
RegionFeatureCum = zeros((2*h+1)*(2*h+1)*3,1);
RegionFeature = zeros((2*h+1)*(2*h+1)*3,1);
for i = 1:SamNum
P = round(Pos(i,:));
rectangle('Position', [P(1) P(2) 2*h+1 2*h+1]);
hold on
Region{i} = I(P(2)-h:P(2)+h,P(1)-h:P(1)+h,:);
RegionFeatureCum = RegionFeatureCum +
reshape(Region{i},[(2*h+1)*(2*h+1)*3,1]);
end
hold off
RegionFeature = RegionFeatureCum / SamNum
1~15为绿色树叶特征,16~30为黄色树叶特征,取n=3;h=1,表示每片叶子取三个区域,每个区域的特征为3*3*3维的向量,然后变为27*1的列向量,表格如下。
三、在matlab中用K均值算法聚类分析利用matlab中的K均值函数形式
其中x为这30个样本的特征向量。
将数据列表导入matlab空间,用列表读取函数
X=xlsread( ‘总和.numbers,'A2:AD28');
[Idx,C,sumD,D]=kmeans(X’,2,’dist’,'sqEuclidean','rep',4);而后是分类情况的函数
close all;clear all;clc;
load(‘D.mat')
for i = 1:15
plot(D(i,1),D(i,2),’*b');
hold on;
plot(D(i+15,1),D(i+15,2),’*r');
end
x1 = [sum(D(1:15,1)) sum(D(1:15,2))];
x2 = [sum(D(16:30,1)) sum(D(16:30,2))];
x1 = x1./15; x2 = x2./15;
plot(x1(1,1),x1(1,2),'or');hold on;
plot(x2(1,1),x2(1,2),'ob');hold on;
xlabel(‘x1');ylabel('x2');
text(x1(1,1)+0.1,x1(1,2)+0.2 ,’第一类');
text(x2(1,1)+0.1,x2(1,2)+0.1 ,'第二类');
之后利用算法查看分类情况:
可以得知成功分成了2类。