繁体   English   中英

OpenCV:src.depth()== dst.depth()&& src.size == dst.size异常

[英]OpenCV: src.depth() == dst.depth() && src.size == dst.size exception

我有一个计算旋转和平移矩阵的代码,如下所示:

matrix Matrix<double> rt = new Matrix<double>(3, 4);  
if (positiveCount[0] > positiveCount[1])  
{  
    rt = R[0].ConcateHorizontal(T[0].GetCol(2));  
}  
else  
{  
    rt = R[1].ConcateVertical(T[1].GetCol(2));  
}  

我得到的错误如图所示的图像 在此处输入图片说明

我检查了所有矩阵和元素,所有大小都匹配。

有人遇到过同样的错误吗?

问题涉及矩阵尺寸的适应性问题。

在其他部分:

rt = R[1].ConcateVertical(T[1].GetCol(2));  

是错误的,rt是3 * 4矩阵,R [1]是3 * 3,T [1]的第二列是3 * 1

因此,如果我们想水平地将T [1] .GetCol(2)添加到R [1],我们将其粘贴到矩阵R上以获得3 * 4矩阵。 当我们将行/列追加到另一个矩阵时,应该有一个大小匹配。

因此应将其替换为:

 rt = R[1].ConcateHorizontal(T[1].GetCol(2));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM