以下是我的部分代码 因为前面的编译运行都可以 加了这部分就不行了
CvMat* M_1A=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_1A,1,1,Array.GetAt(0).x);
  cvmSet(M_1A,2,1,Array.GetAt(0).y);
  cvmSet(M_1A,3,1,1);  /* CvMat* M_1B=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_1B,1,1,Array.GetAt(1).x);
  cvmSet(M_1B,2,1,Array.GetAt(1).y);
  cvmSet(M_1B,3,1,1);
    
   CvMat* M_1C=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_1C,1,1,Array.GetAt(2).x);
  cvmSet(M_1C,2,1,Array.GetAt(2).y);
  cvmSet(M_1C,3,1,1);   CvMat* M_1D=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_1D,1,1,Array.GetAt(3).x);
  cvmSet(M_1D,2,1,Array.GetAt(3).y);
  cvmSet(M_1D,3,1,1);   CvMat* M_2A=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_2A,1,1,Array.GetAt(4).x);
  cvmSet(M_2A,2,1,Array.GetAt(4).y);
  cvmSet(M_2A,3,1,1);   CvMat* M_2B=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_2B,1,1,Array.GetAt(5).x);
  cvmSet(M_2B,2,1,Array.GetAt(5).y);
  cvmSet(M_2B,3,1,1);   CvMat* M_2C=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_2C,1,1,Array.GetAt(6).x);
  cvmSet(M_2C,2,1,Array.GetAt(6).y);
  cvmSet(M_2C,3,1,1);   CvMat* M_2D=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_2D,1,1,Array.GetAt(7).x);
  cvmSet(M_2D,2,1,Array.GetAt(7).y);
  cvmSet(M_2D,3,1,1);   CvMat* M_3A=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_3A,1,1,Array.GetAt(8).x);
  cvmSet(M_3A,2,1,Array.GetAt(8).y);
  cvmSet(M_3A,3,1,1);   CvMat* M_3B=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_3B,1,1,Array.GetAt(9).x);
  cvmSet(M_3B,2,1,Array.GetAt(9).y);
  cvmSet(M_3B,3,1,1);   CvMat* M_3C=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_3C,1,1,Array.GetAt(10).x);
  cvmSet(M_3C,2,1,Array.GetAt(10).y);
  cvmSet(M_3C,3,1,1);   CvMat* M_3D=cvCreateMat(3,1,CV_32FC1);
  cvmSet(M_3D,1,1,Array.GetAt(11).x);
  cvmSet(M_3D,2,1,Array.GetAt(11).y);
  cvmSet(M_3D,3,1,1);*/   /*   //D=[M_1D,M_2D,M_3D]
   CvMat* D=cvCreateMat(3,3,CV_32FC1);
  cvmSet(D,1,1,Array.GetAt(3).x);
  cvmSet(D,2,1,Array.GetAt(3).y);
  cvmSet(D,3,1,1);
  cvmSet(D,1,2,Array.GetAt(7).x);
  cvmSet(D,2,2,Array.GetAt(7).y);
  cvmSet(D,3,2,1);
  cvmSet(D,1,3,Array.GetAt(11).x);
  cvmSet(D,2,3,Array.GetAt(11).y);
  cvmSet(D,3,3,1);
  */   /////////////////////定义三幅图的伽马(GARM)值////////////////////////*   //////////////////// GAMMA_1=inv([M_1A M_1B M_1C])*M_1D;   //////////////////   CvMat* GARM_P1=cvCreateMat(3,3,CV_32FC1);    //GARM_P1=[M_1A M_1B M_1C]
  cvmSet(GARM_P1,1,1,Array.GetAt(0).x);
  cvmSet(GARM_P1,2,1,Array.GetAt(0).y);
  cvmSet(GARM_P1,3,1,1);
  cvmSet(GARM_P1,1,2,Array.GetAt(1).x);
  cvmSet(GARM_P1,2,2,Array.GetAt(1).y);
  cvmSet(GARM_P1,3,2,1);
  cvmSet(GARM_P1,1,3,Array.GetAt(2).x);
  cvmSet(GARM_P1,2,3,Array.GetAt(2).y);
  cvmSet(GARM_P1,3,3,1);
   CvMat* GARM_T1=cvCreateMat(3,3,CV_32FC1);   //GARM_T1=inv(GARM_P1)=inv([M_1A M_1B M_1C])
   cvInvert(GARM_P1,GARM_T1,CV_LU);
   CvMat* GARM_1=cvCreateMat(3,3,CV_32FC1);
   cvMatMul(GARM_T1,M_1D,GARM_1);
 ///////////////garm_ij  i=1、2、3  j=1、2、3、4为各GARM_1 GARM_2 GARM_3的元素
   float garm_11=cvmGet(GARM_1,1,1);
   float garm_12=cvmGet(GARM_1,2,1);
   float garm_13=cvmGet(GARM_1,3,1);
   float garm_14=1.0;
   CvMat* GARM_P2=cvCreateMat(3,3,CV_32FC1);    
  cvmSet(GARM_P2,1,1,Array.GetAt(4).x);
  cvmSet(GARM_P2,2,1,Array.GetAt(4).y);
  cvmSet(GARM_P2,3,1,1);
  cvmSet(GARM_P2,1,2,Array.GetAt(5).x);
  cvmSet(GARM_P2,2,2,Array.GetAt(5).y);
  cvmSet(GARM_P2,3,2,1);
  cvmSet(GARM_P2,1,3,Array.GetAt(6).x);
  cvmSet(GARM_P2,2,3,Array.GetAt(6).y);
  cvmSet(GARM_P2,3,3,1);
   CvMat* GARM_T2=cvCreateMat(3,3,CV_32FC1);   
   cvInvert(GARM_P2,GARM_T2,CV_LU);
   CvMat* GARM_2=cvCreateMat(3,3,CV_32FC1);
   cvMatMul(GARM_T2,M_1D,GARM_2);
   float garm_21=cvmGet(GARM_2,1,1);
   float garm_22=cvmGet(GARM_2,2,1);
   float garm_23=cvmGet(GARM_2,3,1);
   float garm_24=1.0;   CvMat* GARM_P3=cvCreateMat(3,3,CV_32FC1);    
  cvmSet(GARM_P3,1,1,Array.GetAt(8).x);
  cvmSet(GARM_P3,2,1,Array.GetAt(8).y);
  cvmSet(GARM_P3,3,1,1);
  cvmSet(GARM_P3,1,2,Array.GetAt(9).x);
  cvmSet(GARM_P3,2,2,Array.GetAt(9).y);
  cvmSet(GARM_P3,3,2,1);
  cvmSet(GARM_P3,1,3,Array.GetAt(10).x);
  cvmSet(GARM_P3,2,3,Array.GetAt(10).y);
  cvmSet(GARM_P3,3,3,1);
   CvMat* GARM_T3=cvCreateMat(3,3,CV_32FC1);   
   cvInvert(GARM_P3,GARM_T3,CV_LU);
   CvMat* GARM_3=cvCreateMat(3,3,CV_32FC1);
   cvMatMul(GARM_T3,M_1D,GARM_3);
   float garm_31=cvmGet(GARM_3,1,1);
   float garm_32=cvmGet(GARM_3,2,1);
   float garm_33=cvmGet(GARM_3,3,1);
   float garm_34=1.0;我是从一个数组中取值赋给 定义的矩阵 
因为第一次用OPENCV
所以不知道出什么问题了运行到这个地方就报错  assertion failed然后就只能 “终止”了请大家帮忙!谢谢