当我偶然发现这个奇怪的问题时,我正在阅读与opencv相关的问题来研究这个问题:
非常有趣的是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 ]
有可能吗?