请问红色那行代码执行时候指向图像的第一个位置是哪里?(其他数组已知)
#define IMG_WIDTH 640
#define IMG_HEIGHT 480
#define IMG_SIZE (IMG_WIDTH*IMG_HEIGHT)
void EpipolarRectify(byte* SrcImg,byte* DestImg,int cam)
{
float uo,vo; //原图象象素坐标
float un,vn; //校正后图象象素坐标
//NOTE:象素坐标系原点位于图象中心
float divisor;
float u1,v1; //将象素坐标系原点平移到左上角后的像素坐标
int u2,v2;
byte* lpPtr[4];
byte* lpDest;
float rx,ry;
float MaxU=IMG_WIDTH;
float MaxV=IMG_HEIGHT;
for(vn=-MaxV+MOVEV;vn<MaxV+MOVEV;vn++)
for(un=-MaxU+MOVEU;un<MaxU+MOVEU;un++)
{
divisor =g[cam][2][0]*un+g[cam][2][1]*vn+g[cam][2][2];
uo=(g[cam][0][0]*un+g[cam][0][1]*vn+g[cam][0][2])/divisor;
vo=(g[cam][1][0]*un+g[cam][1][1]*vn+g[cam][1][2])/divisor;
u1=uo+MaxU/2;
v1=vo+MaxV/2;
u2=(int)(un+MaxU-MOVEU);
v2=(int)(vn+MaxV-MOVEV);
lpDest=DestImg+IMG_SIZE*4-(v2+1)*IMG_WIDTH*2+u2; if( u1 >= IMG_WIDTH-2 || u1 < 1 || v1 >= IMG_HEIGHT-3 || v1 < 0 ) //在图像外
{
*lpDest=255;
continue;
}
lpPtr[0]=SrcImg+IMG_SIZE-((int)v1+1)*IMG_WIDTH+(int)u1;
lpPtr[1]=SrcImg+IMG_SIZE-((int)v1+1)*IMG_WIDTH+(int)u1+1;
lpPtr[2]=SrcImg+IMG_SIZE-((int)v1+2)*IMG_WIDTH+(int)u1;
lpPtr[3]=SrcImg+IMG_SIZE-((int)v1+2)*IMG_WIDTH+(int)u1+1;
rx=u1-(int)u1;
ry=v1-(int)v1;
(*lpDest)=(byte)(((*lpPtr[0])*(1.0f-rx)+(*lpPtr[1])*rx)*(1.0f-ry)
+((*lpPtr[2])*(1.0f-rx)+(*lpPtr[3])*rx)*ry); //双线性插值
}
}