%笔的识别
global im;%使用全局变量
imgdata=[];%训练图像矩阵
for i=1:2
for j=1:4
a=imread(strcat('ORL\pen',num2str(i),'_',num2str(j),'.bmp'));
b=a(1:176*132); % b是列矢量 1*M,其中M=23232
b=double(b);
imgdata=[imgdata; b]; % imgdata 是一个M * N 矩阵,imgdata中每一行数据一张图片,M=400
end;
end;
imgdata=imgdata'; %每一列为一张图片
imgmean=mean(imgdata,2); % 平均图片,N维列向量
for i=1:8
minus(:,i) = imgdata(:,i)-imgmean; % minus是一个N*M矩阵,是训练图和平均图之间的差值
end;
covx=minus'* minus; % M * M 阶协方差矩阵
[COEFF, latent,explained] = pcacov(covx'); %PCA,用协方差矩阵的转置来计算以减小计算量
% 选择构成95%的能量的特征值
i=1;
proportion=0;
while(proportion < 95)
proportion=proportion+explained(i);
i=i+1;
end;
p=i-1;
% 训练得到特征笔坐标系
i=1;
while (i<=p && latent(i)>0)
base(:,i) = latent(i)^(-1/2)*minus * COEFF(:,i); % base是N×p阶矩阵,用来进行投影,除以latent(i)^(1/2)是对笔图像的标准化
i = i + 1;
end
% 将训练样本对坐标系上进行投影,得到一个 p*M 阶矩阵为参考
reference = base'*minus;
% 测试过程——在测试图片文件夹中选择图片,进行查找测试
im=imread('待测笔\待测笔.bmp');
a=im;
%b=a(1:38400);
b=double(b);
b=b';
object = base'*(b-imgmean);
% 绘出待测图片
subplot(2,3,1);
imshow(a);
title(['待测笔']);
distance=100000;
%最小距离法,寻找和待识别图片最为接近的训练图片
for k=1:8
temp= norm(object - reference(:,k));
if (distance > temp)
which = k;
distance = temp;
end;
end;
%找出距离最近的图片所在的位置
num1 = ceil(which/5);%第num1个文件夹
num2 = mod(which,5);%第num2个图片文件
if (num2 == 0)
num2 = 5;
end;
fprintf('此图为第%d个的图片\n',num1);
for i=1:4 %输出矩阵
P=imread(strcat('ORL\pen',num2str(num1),'_',num2str(i),'.bmp'));
subplot(2,3,i+1);
imshow(P);
title(['图库',num2str(i)]);
end
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
CSDN海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 图像处理、美颜、打靶、虹膜定位、图像去雨、LSD直线检测、角点检测、RGB检测、笔检测
资源推荐
资源详情
资源评论
收起资源包目录
【笔检测】基于matlab模板匹配+PCA笔检测【含Matlab源码 1093期】.zip (20个子文件)
【笔检测】基于matlab模板匹配+PCA笔检测【含Matlab源码 1093期】
待测笔
待测笔.bmp 68KB
运行结果.JPG 75KB
Untitled3.m 2KB
transform.m 422B
ORL
pen1_1.bmp 68KB
pen2_7.bmp 68KB
pen2_4.bmp 68KB
pen1_7.bmp 68KB
pen2_6.bmp 68KB
pen1_6.bmp 68KB
pen1_8.bmp 68KB
pen1_2.bmp 68KB
pen1_3.bmp 68KB
pen1_5.bmp 68KB
pen2_8.bmp 68KB
pen2_3.bmp 68KB
pen2_2.bmp 68KB
pen2_5.bmp 68KB
pen2_1.bmp 68KB
pen1_4.bmp 68KB
共 20 条
- 1
资源评论
海神之光
- 粉丝: 3w+
- 资源: 2093
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功