This forum is disabled, please visit https://forum.opencv.org

1 | initial version |

Hi @konstunn!

Contours are aligned in opencv as a hierarchy of parent & child contours based on the type of Contour approximation method you choose for detailed explanation refer this wiki.

If you are having a Vector of Points & you want to sort these points you can refer this code:

```
bool SortbyXaxis(const Point & a, const Point &b)
{
return a.x < b.x;
}
bool SortbyYaxis(const Point & a, const Point &b)
{
return a.Y < b.Y;
}
vector<Point> Points;
sort( Points.begin(), Points.end(), SortbyYaxis );
sort( Points.begin(), Points.end(), SortbyXaxis );
```

2 | Formated for Punctuation correction. |

Hi @konstunn!

Contours are aligned in opencv as a hierarchy of parent & child contours based on the type of Contour approximation method you ~~choose for ~~choose. For detailed explanation refer this wiki.

If you are having a Vector of Points & you want to sort these points you can refer this code:

```
bool SortbyXaxis(const Point & a, const Point &b)
{
return a.x < b.x;
}
bool SortbyYaxis(const Point & a, const Point &b)
{
return a.Y < b.Y;
}
vector<Point> Points;
sort( Points.begin(), Points.end(), SortbyYaxis );
sort( Points.begin(), Points.end(), SortbyXaxis );
```

3 | No.3 Revision |

Hi @konstunn!

Contours are aligned in opencv as a hierarchy of parent & child contours based on the type of Contour approximation method you choose. For detailed explanation refer this wiki.

If you are having a Vector of Points & you want to sort these points you can refer this code:

```
bool SortbyXaxis(const Point & a, const Point &b)
{
return a.x < b.x;
}
bool SortbyYaxis(const Point & a, const Point &b)
{
return a.Y < b.Y;
}
vector<Point> Points;
sort( Points.begin(), Points.end(), SortbyYaxis );
sort( Points.begin(), Points.end(), SortbyXaxis );
```

additionally see also this answer.

Copyright OpenCV foundation, 2012-2018. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.