double a[] = { 1.0, 0, 0,
0,0.5, 0,
0, 0, 1.0 };

CvMat* K = cvCreateMat( 3,3,CV_32FC1);
cvSetData(K,a,K->step);
cvWarpPerspective( img, imgOut, K, CV_INTER_LINEAR | CV_WARP_FILL_OUTLIERS, cvScalarAll( 0 ));可是在这步就出了问题,变换后的图像我打了cvShowImage查看,是全白的图,很明显这个变换出错了。
请问这是什么问题啊?

解决方案 »

  1.   

    没有装OpenCV,
    楼主透视变换矩阵为什么要自己设置? 难道透视是固定的?
    可以使用cvGetPerspectiveTransform(srcpoints,dstpoints,&mat );取得透视变换矩阵

    就算你是固定的,也可以先用上面这个函数取一下,对比一下和你自己填充的矩阵有什么区别,矩阵如果添错了,对透视变换来说可就是天马行空了啊。
    cvWarpPerspective(src,dst,&mat,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,cvScalarAll(0)); //我的代码里面是+号,不知道有没有影响。
      

  2.   

    快被一个程序搞崩溃了,哪位大神留个邮箱,我把程序发过去。调试错误是user breakpoint called from code at,一直找不出来哪里错了