C++ Vector操作【只能发一百分呀】

franzhong 2017-05-05 11:08:55
vector<Point2f> point[2]; //Point2f就是个Point,注意二维
//point[0].at(0).x;


1、【20分】效率计算这些坐标中,最左上角的点?Point(x.min , y.min);

2、【80分】这里有50个点,检查里面少数个明显“离群”的点,条件设定比如:离最近的点距离超25。
//有个bug比如两个点一起离群,这种情况可不优先考虑;求给思路


谢谢C++大大们捧场!
...全文
1802 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
HE_H_H 2017-10-08
  • 打赏
  • 举报
回复
怎么没人回答呢?我也想知道答案呀
franzhong 2017-05-05
  • 打赏
  • 举报
回复

用应场景:画个框将所有点圈起来,对离群的点去除
图灵狗 2017-05-05
  • 打赏
  • 举报
回复
应该是增加延迟,不过会被优化掉,加上voltile修饰会更好。
引用 4 楼 franzhong 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] 参考OpenCV的 findContours approxPolyDP boundingRect
谢谢老师提醒,几句话让我知道方向了。本意感觉c++在处理数据上有速度优势,想把非算法的内置封装一些小东西,去冗余自己优化下速度,省去了调阀值、精确度、学习度等东西,提高兼容性。 最后请教个小问题: int testInt=999; string testStr = "ABC"; for(int i=0;i<1000000;i++){ testInt=testInt; testStr = testStr; } 自己给自己赋值,这到底发生了什么?是忽略还是有耗时?//未重写‘=’[/quote]
franzhong 2017-05-05
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
参考OpenCV的 findContours approxPolyDP boundingRect
谢谢老师提醒,几句话让我知道方向了。本意感觉c++在处理数据上有速度优势,想把非算法的内置封装一些小东西,去冗余自己优化下速度,省去了调阀值、精确度、学习度等东西,提高兼容性。 最后请教个小问题: int testInt=999; string testStr = "ABC"; for(int i=0;i<1000000;i++){ testInt=testInt; testStr = testStr; } 自己给自己赋值,这到底发生了什么?是忽略还是有耗时?//未重写‘=’
franzhong 2017-05-05
  • 打赏
  • 举报
回复
【1】

#define max(a, b) (((a) > (b)) ? (a) : (b))
#define min(a, b) (((a) < (b)) ? (a) : (b))

struct Point {
long x;
long y;
};

double random(double start, double end)
{
return start + (end - start)*rand() / (RAND_MAX + 1.0);
}

int main()
{
vector<Point> point;
Point ptTest;
for (int i = 0; i < 50; i++) {//TEST INIT
ptTest.x = int(random(0,100));
ptTest.y = int(random(0, 100));
point.push_back(ptTest);
}

int minX(1000), minY(1000), maxX(-1), maxY(-1);
for (auto val : point)//时间开支: 忽略 or 大于10ms?
{
minX = min(val.x,minX);
minY = min(val.y, minY);
maxX = max(val.x, maxX);
maxY = max(val.y, maxY);
cout << val.x << ","<<val.y<<" ";
}
cout << endl << "MinX:" << minX << " MinY:" << minY << endl;
cout << "MaxX:" << maxX << " MaxY:" << maxY << endl;;
//Point(minX,minY);
//Point(maxX,maxY)
return 0;
}


//result
赵4老师 2017-05-05
  • 打赏
  • 举报
回复
参考OpenCV的 findContours approxPolyDP boundingRect

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧