选择 Mat 的子集并复制它们以在 C++/Opencv 中创建新的 mat

2023-12-13

在 C++/opencv 中,如何选择大 Mat 的子集并复制它们以创建新 Mat?我知道如何使用 copyto、colrange、rowrange 等,但不知道如何将它们组合在一起来开发体面且高效的代码。谢谢!


您可以使用copyTo()以此目的:

//copy a sub matrix of X to Y with starting coodinate (startX,startY)
// and dimension (cols,rows)
cv::Mat tmp = X(cv::Rect(startX,startY,cols,rows));
cv::Mat Y;
tmp.copyTo(Y);

或直接:

cv::Mat Y;
X(cv::Rect(startX,startY,cols,rows)).copyTo(Y);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择 Mat 的子集并复制它们以在 C++/Opencv 中创建新的 mat 的相关文章

随机推荐