首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将cv::Vec3f转换为浮点类型?

如何将cv::Vec3f转换为浮点类型?
EN

Stack Overflow用户
提问于 2017-02-22 11:36:50
回答 2查看 3.4K关注 0票数 1

背景

我目前正在尝试建立一个自主无人机使用ROS在我的Rapsberry Pi,这是运行一个Ubuntu伙伴16.04 LTS。解决目前识别红圈的计算机视觉问题。

代码

我现在想转换一下:

代码语言:javascript
复制
cv::vector<cv::Vec3f> circles

变成一个向量的数组。然而,我很清楚,一个简单的演员是不够的。那我该怎么处理呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-22 11:42:27

简单的循环怎么样?

代码语言:javascript
复制
std::vector<cv::Vec3f> circles;

// 'circles' filled somehow...

// Get 'circles' as a vector of vector of floats 'v'
std::vector<std::vector<float>> v(circles.size(), std::vector<float>(3));

for(size_t i=0; i<circles.size(); ++i) 
{
    const cv::Vec3f& c = circles[i];             
    v[i][0] = c[0];
    v[i][1] = c[1];
    v[i][2] = c[2];
}

不要使用cv::vector。使用std::vector代替。有关更多详细信息,请参阅here

票数 3
EN

Stack Overflow用户

发布于 2017-11-20 06:28:41

数据结构

在将cv::vector<cv::Vec3f>类型转换为float类型之前

您必须了解cv::vector<cv::Vec3f>是什么样的数据结构。

就像一个二维向量std::vector<cv::Vec3f>

因此,不能只将浮点变量赋值给2d向量。

您必须使用另一个具有浮点类型的2d向量来存储数据内容。

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

https://stackoverflow.com/questions/42390253

复制
相关文章

相似问题

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