我已经下载了一个实现BoW(Bag of Words)的代码,我在这行中收到错误:
float label=atof(entryPath.filename().c_str());
Run Code Online (Sandbox Code Playgroud)
它说:类型"const boost :: filesystem :: path :: value_type*"的参数与"const char*"类型的参数不兼容
我一直在搜索,我已经看到这种字符串与char之间的转换存在问题,但我找不到与浮点转换相关的任何内容.
我也看到了string和之间的差异c_str,我认为错误是atof因为我认为只能转换string而不是转换c_str.这可能是错误吗?
另外我是升级库中的新手,我不知道如何管理这种情况.
非常感谢,对不起我的英语
我正在开发一个需要找到红色部分的代码。我正在使用该函数 minEnclosingCircle来获取图像的中心。
该函数为我提供中心的方式是矢量格式vector<Point2f>center( contours.size() );。但是我需要这些数据来确定感兴趣区域 (ROI)。有什么方法可以从该点提取数据,以便我可以在 X 和 Y 中获得两个整数坐标?
谢谢!
- 更新 -
我将发布一些代码来尝试更好地解释我想要做什么:
vector<vector<Point> > contours_poly( contours.size() );
vector<Point2f>center( contours.size() );
vector<float>radius( contours.size() );
for( int i = 0; i < contours.size(); i++ )
{
approxPolyDP( Mat(contours[i]), contours_poly[i], 3, true );
minEnclosingCircle( (Mat)contours_poly[i], center[i], radius[i] );
}
Run Code Online (Sandbox Code Playgroud)
因此,一旦我从图像中获得轮廓,我就会应用该函数minEnclosingCicrle来确定中心。我对 OpenCV 很陌生。我认为它找到的圆心保存在 Point2f 的向量中。我想要做的事情是访问这些点,以获得对象的位置,以确定对象周围的 ROI。