【发布时间】:2014-10-20 09:49:22
【问题描述】:
我在 openCV 中有这个矩阵:
cv::Matx44d m;
我想从这个矩阵中取出左上角的 3x3 矩阵。最简单、最快捷的方法是什么?
我可以通过以下方式做到这一点:
cv::Matx44d m;
cv::Matx33d o;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
o(i,j)=m(i,j);
}
}
但如果存在的话,我正在寻找一种更简单、更快捷的方法!
【问题讨论】:
-
尽可能不要使用 OpenCV。例如 Eigen 将允许您对矩阵 (even of the OpenCV matrix) 进行 map a rectangular part 并将为您进行数组边界检查。抱歉,这不是您问题的真正答案,但我想它可以为您节省一些痛苦。
-
o=m(cv::Rect(0,0,3,3)) 这行得通吗?