Hi, I'm considering a binary image from which I extract its edges using cv::Canny. Consequently, I perform cv::findContours, storing all the contours points coordinates in a
vector < vector < Point > >
.
I noticed that the number of pixels (Points) in this structure is greater than the number of pixels I get by computing
vector<point> white_pixels;
findNonZero(silhouette, white_pixels);
on the same image.
Therefore I'm wondering if this happens because findContours includes duplicate points in its result or because findNonZero is less precise.
E.g. on a 200x200 sample image with the first method I get 1552 points while with the second I get 877.
In case the first hypothesis is correct, is there a way to either ignore the duplicates or remove them?