gpt4 book ai didi

c++ - 将 Mat 拆分为相同大小的 subMat

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:37 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 2012 和 OpenCV 库在 2.4.6 版中使用 C++ 进行编程。

我想知道如何将一个 Mat 对象分成 n 个大小相同的 subMat。让我更好地解释一下:我有一个 12 行 24 列的垫子。假设要将其分成3行6列,从而得到18个4*4的cell。这些cell中的每一个都是初始Mat的一个subMat。我想知道是否有快速的方法来做到这一点。

提前谢谢你。

最佳答案

您可以使用colRangerowRange

这样的事情可能会有所帮助:

cv::Mat mat(12, 24, CV_8U);
cv::Mat imageBlock;
std::vector<cv::Mat> imageBlocks;
int blockSize = 4;
for(i = 0; i < 12; i += blockSize)
{
for(j = 0; j < 24; j += blockSize)
{
imageBlock = mat.rowRange(i, i + blockSize).colRange(j, j + blockSize);
imageBlocks.push_back(imageBlock);
}
}

关于c++ - 将 Mat 拆分为相同大小的 subMat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19264531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com