大家好,
最近在尝试用简单的方式做图片的比对,
状况是这样的,
目前应用webcam,
将受测者身上想标记的地方贴上色布作为标记点,
并以每秒20~30张的速度将连续动作拍成图片(I)存下来,
大约1~2000张,
举例来说就是重复做举手的动作并拍下来,
可能I1~I133是第一次举手,I134~I255是第二次举手的动作,
接着撷取出标记点(图片T)的RGB值取平均,
然后将图片(I)的RGB值分别减掉图片(T)的RGB平均值以后相加,
最后是找出加总后最小值的x,y并标记出来,
可是我发现图片I跟T必须是同一张,否则会判断失败,
例如图片T使用第一组照片的起始动作,
而图片I使用第二组照片的起始动作,
比对就会出错,想请问大家该怎么改进这个算法Q_Q?
程式码如下,
clc;
clear1;
f=imread('xx.jpg');
T=double(imcrop(f,[359,84,0,0]));
for i=1:1200
ii=int2str(i);
I=double(imread(xxx.jpg));
Tr=T(:,:,1);
Tg=T(:,:,2);
Tb=T(:,:,3);
TRM=mean(mean(Tr));
TGM=mean(mean(Tg));
TBM=mean(mean(Tb));
Ir=abs(I(:,:,1)-TRM);
Ig=abs(I(:,:,2)-TGM);
Ib=abs(I(:,:,3)-TBM);
IrgbT=Ir+Ig+Ib;
[x,y]=find(IrgbT==min(min(IrgbT)));
(然后把找到的最小值标出来)
end
希望大家能提点提点Q_Q