gpt4 book ai didi

c++ - C++ 中的函数类似于 numpy flatten

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

C++ 或 opencv 中是否有任何函数可以执行与 numpy flatten() 函数相同的操作??

我认为我的问题含糊不清。我正在尝试在 C++ opencv 环境中使用 K-means 分割,这里有一个在 python 中给出的示例 http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_ml/py_kmeans/py_kmeans_opencv/py_kmeans_opencv.html

center = np.uint8(center)
res = center[label.flatten()]

在 C++ 中扁平化之前,我已经能够完成大部分操作标签的尺寸是 921600 X 1,我也在 C++ 中得到。中心维度是 4X3 矩阵。我想这里的技巧是获取特定于中心值的所有标签值。所以最后“res”变成 921600 X 3 。

所以我的问题是如何在 C++ 中使用 opencv 执行此操作?

谢谢

最佳答案

所以我已经想通了,没有直接或单线的解决方案(如果有请告诉我哈哈)

res = center[label.flatten()] 

可以在 C++ opencv 中执行以下操作

for(int i = 0; i<labels.rows ; i++)
{
if(labels.at<int>(i) == 0) {
res.push_back(centers.row(0));
} else if(labels.at<int>(i) == 1) {
res.push_back(centers.row(1));
} else if(labels.at<int>(i) == 2) {
res.push_back(centers.row(2));
} else{
res.push_back(centers.row(3));
}
}

谢谢。

关于c++ - C++ 中的函数类似于 numpy flatten,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726639/

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