Код: Выделить всё
OpenCV(4.11.0) /Users/xperience/GHA-Actions-OpenCV/_work/opencv-python/opencv-python/opencv/modules/video/src/ecc.cpp:589: error: (-7:Iterations do not converge) The algorithm stopped before its convergence. The correlation is going to be minimized. Images may be uncorrelated or non-overlapped in function 'findTransformECC'
Я предполагаю, что у меня есть два изображения, которые слишком разнородны, и, следовательно, алгоритм не сходится, но в контексте отслеживания для низких FPS и движения камеры это не слишком редко. Это должно быть провалилось уже в слое C ++, не бросая улавливаемое исключение: < /p>
Код: Выделить всё
warp_matrix = np.eye(2, 3, dtype=np.float32)
try:
(ret_val, warp_matrix) = cv2.findTransformECC(
prev_img,
curr_img,
warp_matrix,
cv2.MOTION_EUCLIDEAN,
(cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 100, 1e-5),
None,
1
)
except Exception as e:
LOGGER.warning(f'Affine matrix could not be generated: {e}. Returning identity')
return warp_matrix
Подробнее здесь: https://stackoverflow.com/questions/795 ... t-converge