c ++ opencv按列初始化3D Mat

时间:2015-08-29 04:12:36

标签: c++ opencv mat

当我偶然发现这个奇怪的问题时,我正在阅读与opencv相关的问题来研究这个问题:

Stackoverflow Post

非常有趣的是chappjc(第一个答案)如何使用单个循环填充Mat。由于我经常将opencv与matlab结合使用,我想知道是否有办法按列初始化矩阵而不使用通常的三重嵌套循环:

for (unsigned int k = 0; k < space[0]; k++)
        for (unsigned int i = 0; i < space[1]; i++)
            for (unsigned int j = 0; j < space[2]; j++)
                res_square.at<u_char>(i, j, k) = res_flat_vx[ (space[1]*space[2])*k + space[1]*j + i ];

所以我想到的结果会是这样的:

Mat:
        [ 1, 6, 11, 16, 21;
          2, 7, 12, 17, 22;
          3, 8, 13, 18, 23;
          4, 9, 14, 19, 24;
          5,10, 15, 20, 25 ]

有可能吗?

0 个答案:

没有答案