首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机顺序混洗OpenCV中的cv::Mat

随机顺序混洗OpenCV中的cv::Mat
EN

Stack Overflow用户
提问于 2013-06-28 00:48:10
回答 1查看 3.3K关注 0票数 3

OpenCV中是否没有函数来随机地对矩阵进行随机置乱(按行排序)?

输入:

代码语言:javascript
复制
1 2 3
4 5 6
7 8 9

输出:

代码语言:javascript
复制
4 5 6
7 8 9
1 2 3

randShuffle函数似乎只对整个数组中的元素进行随机排序我使用的是较新的C++应用编程接口

EN

回答 1

Stack Overflow用户

发布于 2014-04-18 18:43:33

对矩阵的行进行混洗的代码:

代码语言:javascript
复制
cv::Mat shuffleRows(const cv::Mat &matrix)
{
  std::vector <int> seeds;
  for (int cont = 0; cont < matrix.rows; cont++)
    seeds.push_back(cont);

  cv::randShuffle(seeds);

  cv::Mat output;
  for (int cont = 0; cont < matrix.rows; cont++)
    output.push_back(matrix.row(seeds[cont]));

  return output;
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17348854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档