Canny -> threshold -> findContours. Full of comments of things that were tried and failed, sorry.