I have those contours which are overlapping.

Right now I can count 3 different contours, but I need to count all of the overlapping ones, so in total 9. How can I separate all contours from each other, to count the right amount? I use GaussianBlur, and Canny for the segmentation and cv2.dilate to strengthen the contours.
Here is the detectation of the contours, image is the loaded image as GRAYSCALE, segment is the segmented image mentioned above:
(sticks, hierarchy) = cv2.findContours(segment.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
cnt = len(sticks)
rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB )
cv2.drawContours(rgb, sticks, -1, (255, 0, 0), 1)
print(f'Counted bad: {cnt}')
cv2.imshow('img', rgb)

