Я пытаюсь подсчитать, сколько монет находится на изображении, используя последнюю версию OpenCV, но я борюсь с тенями.
Метод детектора Canny Edge используется, но, как вы можете видеть на втором изображении, он не работает должным образом из-за теней ... Есть идеи о том, как я могу решить эту проблему?
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (7, 7), 0)
median = np.median(image)
lower = int(max(0, 0.67 * median))
upper = int(min(255, (1.33) * median))
canny = cv2.Canny(blurred, lower, upper)
contours, hierachy = cv2.findContours(canny, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
coins = cv2.drawContours(image, contours, -1, (0, 255, 0), 2)
cv2.imshow("Coins", coins)