在每个向量<向量中查找最小/最大 x,y<Point>>

Find min/max x,y in each vector<vector<Point>>

本文关键字:向量 lt gt 最大 Point 查找      更新时间:2023-10-16

我在图像中找到了轮廓,并将它们的坐标存储在矢量<矢量><点>>中,如下所示: 矢量的矢量(点(

我想在每个向量中找到 xmax、xmin、ymax 和 ymin。 最小/最大坐标 我必须在某处写下它,这样我就可以在脚本的后续部分使用这些值。

vector<vector<Point> > contours1; 
vector<Vec4i> hierarchy1; 
findContours(testowy, contours1, hierarchy1, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE);
int xmax = 0;
int xymax = 0;
int ymax = 0;
int yxmax = 0;

for( int i = 0; i < contours1.size(); i++ ){
for(int j=0; j < contours1[i].size();j++){
if(contours1[i][j].x > xmax){
xmax = contours1[i][j].x;
xymax = contours1[i][j].y;   
}                 
if(contours1[i][j].y > ymax){
ymax = contours1[i][j].y;
yxmax = contours1[i][j].x;
}  
}
} 

不幸的是,我的代码只能找到所有向量中最大的坐标。

struct myclass {
bool operator() (cv::Point pt1, cv::Point pt2) { return (pt1.y < pt2.y); }
} myobject;
sort(pnt.begin(), pnt.end(), myobject);

使用这个简单的代码并将 PNT 替换为您的矢量名称,您可以在矢量中找到最大/最小值 Vecotr[0] 具有混合值,矢量 [last] 具有最大值