Мне нужно обработать некоторую информацию, полученную со сканера. Проблема в том, что изображение иногда поворачивается. Я решил добавить несколько специальных объектов на фото, чтобы иметь возможность использовать его с техническими функциями Feature2D + Homography, чтобы найти этот объект. Я думаю, что после нахождения специальных объектов я мог повернуть изображение обратно в исходное положение (с помощью warpPerspective?). Вот пример:
Повернутое изображение, я знаю, что под черным ящиком есть текст, мне нужна эта область для функции OCR:
Я застрял после нахождения черного ящика. Думаю, я буду использовать перспективу warp, чтобы повернуть его, но как найти матрицу преобразования 3×3?
Благодарю.
Используйте метод FindHomography.
Накормите его 4 исходными точками.
Для точек назначения вам нужно будет выполнить некоторые математические операции, например, в том месте, где 4 точки должны располагаться на изображении назначения. Простая, простая операция, с которой можно начать:
(from top-left going clockwise)
A' = (A.x, A.y)
B' = (A.x + length, A.y)
C' = (A.x + length, A.y + width)
D' = (A.x, A.y + width)
Сопоставьте (A, B, C, D) с (A ‘, B’, C ‘, D’), используя FindHomography ().
Где ширина и длина — те из идентифицированного прямоугольника.
Других решений пока нет …