//依据opencv源码改编而来,代码中已剔除opencv源码中优化部分
voidMywarpPerspective(constMat&_src,Mat&_dst,constMat&_M0,
Sizedsize,intflags,intborderType,constScalar&borderValue)
{
Matsrc=_src,M0=_M0;
_dst.create(dsize.empty()?src.size():dsize,src.type());
Matdst=_dst;
if(dst.data==src.data)
src=src.clone();
doubleM[9];
MatmatM(3,3,CV_64F,M);
intinterpolation=flags&INTER_MAX;
if(interpolation==INTER_AREA)
interpolation=INTER_LINEAR;
M0.convertTo(matM,matM.type());
for(inti=0;i<roiPoints.size();i++)
{
doubleX0=M[0]*roiPoints[i].