image-processing - 有关cvPerspectiveTransform的OpenCV

我的跟随代码有问题,我正在尝试使用cvPerspectiveTransform更改图像的透 View ,但出现跟随错误:

OpenCV Error: Assertion failed (scn + 1 == m.cols && (depth == CV_32F || depth == CV_64F)) 


  CvMat* p = cvCreateMat(2, 4, CV_64FC1);
  CvMat* h = cvCreateMat(2, 4, CV_64FC1);
  CvMat* p2h = cvCreateMat(2, 4, CV_64FC1);

  cvZero(p);
  cvZero(h);
  cvZero(p2h);
  //set src points
  for (int i = 0; i < 4; i++) {
    CvPoint point = verifiedPoints[i];
    cvmSet( p, 0, i, point.x );
    cvmSet( p, 1, i, point.y );
    printf("point %d (%d , %d)\n",i,point.x,point.y);
  }
  //set dst points
  cvmSet( h, 0, 0, 0 );
  cvmSet( h, 1, 0, real_height );

  cvmSet( h, 0, 1, real_width );
  cvmSet( h, 1, 1, real_height );

  cvmSet( h, 0, 2, real_width );
  cvmSet( h, 1, 2, 0 );

  cvmSet( h, 0, 3, 0 );
  cvmSet( h, 1, 3, 0);

  //cvPerspectiveTransform or cvFindHomography?
  cvPerspectiveTransform(p,h,p2h);

  cvReleaseMat(&p);
  cvReleaseMat(&h);

我尝试将p2h更改为其他值,例如:
 CvMat* p2h = cvCreateMat(3, 3, CV_32F)

但我得到其他错误:
OpenCV Error: Assertion failed (dst.type() == src.type() && dst.channels() == m.rows-1) in cvPerspectiveTransform

有什么帮助吗?

最佳答案

根据OpenCV documentation for cvPerspectiveTransform:

src – Source two-channel or three-channel floating-point array. Each element is a 2D/3D vector to be transformed.
dst – Destination array of the same size and type as src.
mtx – 3x3 or 4x4 floating-point transformation matrix.



因此,您需要通过以下方式声明矩阵:
CvMat* p = cvCreateMat(1, 4, CV_64FC2);
CvMat* h = cvCreateMat(1, 4, CV_64FC2);
CvMat* p2h = cvCreateMat(3, 3, CV_64FC1); 

关于image-processing - 有关cvPerspectiveTransform的OpenCV帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7418471/

相关文章:

java - 如何将本地 Docker 镜像与 testcontainers 一起使用?

opencv - opencv在照片中查找并处理商店货架标签

opencv - 将CvSeq转换为CvMat

opencv - 无 8 位系统上的 CV_8U opencv 矩阵

visual-c++ - 如何使用OpenCV将Bayer转换为RGB,反之亦然

opencv - Eclipse中的OpenCV编译错误

random - 检测到随机圆

image-processing - openCV2.3中卷积方法的高斯模糊错误

iphone - 如何改善iPhone应用程序的边缘检测?

opencv - OpenCV入门,API函数使用推荐