文档介绍:Revised as of 23 November 2020
移动侦测算法
思路:
YUV数据输入,YUV4:2:2,Y为逐点采样的亮点,提取每点的Y得到一帧图像的灰阶图。
根据灰阶图,可以得到一个直方图统计ngurl2;
cout<<"cinbmpfilename"<<endl;
cin>>url1>>url2;
ReadBMP(url1,pImgData1,iSum1);
ReadBMP(url2,pImgData2,iSum2);
map<int,int>Map1,Map2;
for(i=0;i<iSum1;i++)
{
if(pImgData1[i])!=())
Map1[(uvar8)pImgData1[i]]++;
else
Map1[(uvar8)pImgData1[i]]=0;
}
for(i=0;i<iSum2;i++)
{
if(pImgData2[i])!=())
Map2[(uvar8)pImgData2[i]]++;
else
Map2[(uvar8)pImgData2[i]]=0;
}
intiSum=0;
for(map<int,int>::iteratorit=();it!=();it++)
{
iSum+=Map1[(uvar8)it->first]<Map2[(uvar8)it->first]Map1[(uvar8)it->first]
:Map2[(uvar8)it->first];
}
doubledResult=(double)iSum/iSum1>(double)iSum/iSum2(double)iSum/iSum1:(double)iSum/iSum2;
//-----------------
cout<<endl;
cout<<"specialdotsthesumofpic1thesumofpic2"<<endl;
for(map<int,int>::iteratorit1=();it1!=();it1++)
{
cout<<it1->first<<""<<it1->second<<""<<Map2[it1->first]<<endl;
}
cout<<"******************************************"<<endl;
cout<<"conculsion:"<<endl;
cout<<"ThesumofdotsinPic1:"<<iSum1<<endl;
cout<<"ThesumofdotsinPic2:"<<iSum2<<endl;
cout<<"Thesimilardotsbetwwenpic1andpic2:"<<iSum<<endl;
cout<<"Therateofsimliarbetwwentheabovetwopictures:"<<dResult<<endl<<endl;
delete[]pImgData1;
delete[]pImgData2;
}
getchar();
return0;
}
//////////////////////////////////////////////////////////////////////////
//函数名称:histeq()
//传入参数:
//