【问题标题】:Problem with matrix operation in openCVopenCV中的矩阵运算问题
【发布时间】:2010-12-17 17:38:22
【问题描述】:

当我尝试进行矩阵运算时,我在 openCV 中的程序出现问题。 例如,如果我有 2 个矩阵并且我想使用函数 cvMatMul(&Ma, &Mb, &Mc);假设我想在编译时将矩阵 Ma 乘以另一个矩阵 Mb 我没有收到错误,但是当我开始运行程序时出现此错误:

OpenCV 错误:cvarrToMat 中的错误参数(未知数组类型),文件 /home/mario/OpenCV-2.2.0/modules/core/src/matrix.cpp,第 641 行 在抛出 'cv::Exception' 的实例后调用终止

what(): /home/mario/OpenCV-2.2.0/modules/core/src/matrix.cpp:641: error: (-5) 函数 cvarrToMat 中的未知数组类型

您能提出任何解决方案吗?

谢谢。

【问题讨论】:

  • 谢谢各位,不用回答了,问题我已经解决了。如果有人想知道它是如何解决的,那么只需写一个评论,我会这样做。谢谢
  • 你能告诉我你是怎么解决的吗???谢谢
  • 我已经回答你了,希望我的回答能得到满意,如果你没有得到,给我发短信

标签: opencv


【解决方案1】:

@里卡多:

我的问题在于创建矩阵,所以你应该像这样创建矩阵

CvMat* name_of_matrix = cvCreateMat(M,N,CV_32FC1);

然后你不需要在乘法时将指针指向矩阵。 所以例如像这样

cvMatMul(first_mat, second_mat, output_mat);

【讨论】:

  • 伙计,我实际上遇到了这个错误:M0.type() == CV_32F || M0.type() == CV_64F) && M0.rows == 3 && M0.cols == 3 在函数 CvWarpPerspective() 中。但是将矩阵的值更改为 Cv_32FC1 而不是 CV_8UC1 解决了它!谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多