Как поймать ошибку findtransformecc (-7: итерации не сходится)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как поймать ошибку findtransformecc (-7: итерации не сходится)

Сообщение Anonymous »

Я использую ECC для компенсации движения камеры, но он не удается со следующей ошибкой: < /p>

Код: Выделить всё

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
Я также попытался перенаправить ошибку с помощью обратного вызова, поймав cv2.error , но ничего. И GPT дает мне ответы BS.


Подробнее здесь: https://stackoverflow.com/questions/795 ... t-converge
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»