[OpenCV] Pythonで画像の中の物体の個数を数える

画像を用意します

import cv2

image = cv2.imread("img/sweets.jpg")

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

edges = cv2.Canny(gray, 50, 200)

contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

count_objects_image = len(contours)

print(count_objects_image)

$ python3 main.py
232

illustratorなどで作った画像なら正確に抽出できるが、
リアルの写真だと上手く検出できないな…