clear all;
close all;
%从文件夹中读取图片.a查询库,b候选行人库
img_dir1 = dir('./cam_a/*.bmp');
img_dir2 = dir('./cam_b/*.bmp');
%统计两个文件夹中的图片个数
num1=length(img_dir1);
num2=length(img_dir2);
S=rand(num1,num2);
ji=rand(1,50);
%k就是最后排序的前k个
image = imread(['./cam_a/' img_dir1(1).name]);
[x,y,z]=size(image); %x:高 y:宽 z:维度
for i = 1:length(img_dir1)
I = imread(['./cam_a/' img_dir1(i).name]);
%将I的躯干和腿部分块(躯干从0.2-0.6,腿从0.6-1,分为5块)
I1=I(0.2*x:0.28*x,0.1*y:0.9*y,1:3); %选取目标块,Q=I(x1:x2,y1:y2.z1:z2);z是维度1:3表示彩色。二值图不需要z
I2=I(0.28*x:0.36*x,0.1*y:0.9*y,1:3);
I3=I(0.36*x:0.44*x,0.1*y:0.9*y,1:3);
I4=I(0.44*x:0.52*x,0.1*y:0.9*y,1:3);
I5=I(0.52*x:0.60*x,0.1*y:0.9*y,1:3);
I6=I(0.60*x:0.68*x,0.1*y:0.9*y,1:3);
I7=I(0.68*x:0.76*x,0.1*y:0.9*y,1:3);
I8=I(0.76*x:0.84*x,0.1*y:0.9*y,1:3);
I9=I(0.84*x:0.92*x,0.1*y:0.9*y,1:3);
I10=I(0.92*x:1*x,0.1*y:0.9*y,1:3);
for j=1:length(img_dir2)
%实现了文件夹里的文件读取(好像要求读取格式一)
W= imread(['./cam_b/' img_dir2(j).name]);
% %尺度变换为175*70
% I=imresize(I,[175,70]);
% W=imresize(W,[175,70]);
%对W分块
W1=W(0.2*x:0.28*x,0.1*y:0.9*y,1:3); %选取目标块,Q=I(x1:x2,y1:y2.z1:z2);z是维度1:3表示彩色。二值图不需要z
W2=W(0.28*x:0.36*x,0.1*y:0.9*y,1:3);
W3=W(0.36*x:0.44*x,0.1*y:0.9*y,1:3);
W4=W(0.44*x:0.52*x,0.1*y:0.9*y,1:3);
W5=W(0.52*x:0.60*x,0.1*y:0.9*y,1:3);
W6=W(0.60*x:0.68*x,0.1*y:0.9*y,1:3);
W7=W(0.68*x:0.76*x,0.1*y:0.9*y,1:3);
W8=W(0.76*x:0.84*x,0.1*y:0.9*y,1:3);
W9=W(0.84*x:0.92*x,0.1*y:0.9*y,1:3);
W10=W(0.92*x:1*x,0.1*y:0.9*y,1:3);
%计算每一块的相似度
[S1] = similarity( I1,W1 );
[S2] = similarity( I2,W2 );
[S3] = similarity( I3,W3 );
[S4] = similarity( I4,W4 );
[S5] = similarity( I5,W5 );
[S6] = similarity( I6,W6 );
[S7] = similarity( I7,W7 );
[S8] = similarity( I8,W8 );
[S9] = similarity( I9,W9 );
[S10] = similarity( I10,W10 );
%计算平均相似度
S(i,j)=(S1+S2+S3+S4+S5+S6+S7+S8+S9+S10)/10;
end
end
for i=1:num1
a=S(i,:);
[b,ind]=sort(a);
for j=1:50
if ind(j)==i
ji(i)=j;
break
end
end
end
%非常牛逼的一个函数,可以统计ji中每个元素出现的个数以及所占的比例,cmc曲线问题可以直接解决。
rank=tabulate(ji);
% f=f';
% c=f(1,:); %取f中第一行元素
% d=f(3,:); %取f中第三行元素
% for j=2:k
% d(j)=d(j)+d(j-1); %求cmc曲线的纵坐标
% end
% % 画出cmc曲线
% plot(c,d);
% title('CMC曲线');
% xlabel('rank');
% ylabel('匹配率');
% %保存
% save VIPeRtest;
% for m=1:3
% W= imread(['./test/' img_dir2(ind(m)).name]);
% figure();
% imshow(W);
% end
% I=imread('S01202000.png');
% I=imresize(I,[175,70]);
% W=imread('S01203000.png');
% W=imresize(W,[175,70]);
% [x,y,z]=size(I); %x:高 y:宽 z:维度
%
% % 将I的躯干和腿部分块(躯干从0.2-0.6,腿从0.6-1,分为5块)
% I1=I(0.2*x:0.28*x,0.1*y:0.9*y,1:3); %选取目标块,Q=I(x1:x2,y1:y2.z1:z2);z是维度1:3表示彩色。二值图不需要z
% I2=I(0.28*x:0.36*x,0.1*y:0.9*y,1:3);
% I3=I(0.36*x:0.44*x,0.1*y:0.9*y,1:3);
% I4=I(0.44*x:0.52*x,0.1*y:0.9*y,1:3);
% I5=I(0.52*x:0.60*x,0.1*y:0.9*y,1:3);
% I6=I(0.60*x:0.68*x,0.1*y:0.9*y,1:3);
% I7=I(0.68*x:0.76*x,0.1*y:0.9*y,1:3);
% I8=I(0.76*x:0.84*x,0.1*y:0.9*y,1:3);
% I9=I(0.84*x:0.92*x,0.1*y:0.9*y,1:3);
% I10=I(0.92*x:1*x,0.1*y:0.9*y,1:3);
% % 对W分块
% W1=W(0.2*x:0.28*x,0.1*y:0.9*y,1:3); %选取目标块,Q=I(x1:x2,y1:y2.z1:z2);z是维度1:3表示彩色。二值图不需要z
% W2=W(0.28*x:0.36*x,0.1*y:0.9*y,1:3);
% W3=W(0.36*x:0.44*x,0.1*y:0.9*y,1:3);
% W4=W(0.44*x:0.52*x,0.1*y:0.9*y,1:3);
% W5=W(0.52*x:0.60*x,0.1*y:0.9*y,1:3);
% W6=W(0.60*x:0.68*x,0.1*y:0.9*y,1:3);
% W7=W(0.68*x:0.76*x,0.1*y:0.9*y,1:3);
% W8=W(0.76*x:0.84*x,0.1*y:0.9*y,1:3);
% W9=W(0.84*x:0.92*x,0.1*y:0.9*y,1:3);
% W10=W(0.92*x:1*x,0.1*y:0.9*y,1:3);
% % 计算每一块的相似度
% [S1] = similarity( I1,W1 );
% [S2] = similarity( I2,W2 );
% [S3] = similarity( I3,W3 );
% [S4] = similarity( I4,W4 );
% [S5] = similarity( I5,W5 );
% [S6] = similarity( I6,W6 );
% [S7] = similarity( I7,W7 );
% [S8] = similarity( I8,W8 );
% [S9] = similarity( I9,W9 );
% [S10] = similarity( I10,W10 );
% % 计算平均相似度
% S=(S1+S2+S3+S4+S5+S6+S7+S8+S9+S10)/10
行人再识别代码,基于巴氏距离用matlab实现,程序简单,容易理解,
版权申诉
63 浏览量
2024-05-19
15:31:12
上传
评论
收藏 2KB ZIP 举报
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
m0_74456535
- 粉丝: 91
- 资源: 725
最新资源
- 基于GUI+MYSQL+JAVA票务管理系统文档介绍+源码+数据库(高分大作业).zip
- 优先编码器除法电微分运算电路 全加器函数发生电路等电路经典Multisim仿真实验源文件合集(25个).zip
- 2331308JS课堂案例.zip
- STM32H750VBT6单片机最小系统开发板AD设计硬件(原理图+PCB+3D封装库)工程文件.zip
- 基于74LS161+ 74LS192芯片实现倒计时定时器Multisim仿真源文件,Multisim10以上版本可打开运行
- 科大讯飞语音引擎 jar包 demo,科大讯飞语音合成引擎3.0,支持4.0系统以上,文字转语音输出.zip
- Java架构面试笔试专题资料及经验(含答案)SpringBoot面试Linux面试专题及答案 合集.zip
- 头歌c语言实验答案tion-model-for-ne开发笔记
- docker配置使用-model-for-networK开发demo
- docker配置使用vaWeb-mas笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)