Я пытаюсь оценить ограничивающую рамку для простых изображений на основе массива
ret,thresh = cv.threshold(img1[:,:,244],10,255,0)
Вывод выглядит так:
Далее я делаю это
im2,contours,hierarchy = cv.findContours(thresh, 1, 2)
Я получаю ошибку
FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 images only in function cvStartFindContours_Impl
Итак, я преобразую в
im2,contours,hierarchy = cv.findContours(thresh.astype(np.int8), 1, 2)
Теперь я получаю ошибку
error: (-210) in function threshold
Как я могу устранить ошибку?Являются ли их альтернативы, как мне получить наклонную ограничивающую рамку для примера?
Массив до преобразования в np.uint8:
array([[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.]])
Массив после преобразования:
array([[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]], dtype=int8)