Высота входного изображения составляет всего 497 пикселей, но вы пытаетесь получить доступ к строкам до 511 в следующей строке:
ball=img[448:511, 426:486]
^
В результате numpy выбирает строки только до максимального количествастрок, то есть 497. Следовательно, вы получаете ROI размером (49,60,3)
, потому что 497 - 448 = 49
.
Убедитесь, что вы правильно обрабатываете границы.Просто для напоминания, при доступе к изображениям OpenCV с использованием индексирования с пустым фрагментом строки - это первое измерение, а столбцы - второе измерение, т. Е. Схема доступа выглядит следующим образом:
ball = img[rowStart : rowEnd, columnStart : columnEnd]