Основываясь на том, что я читал об аффинном преобразовании, параллелизм сохраняется после преобразования. Не означает ли это, что непараллельные прямые остаются непараллельными, а параллельные остаются параллельными? Поскольку форма преобразуемого объекта представляет собой трапецию, не означает ли это, что невозможно использовать аффинное преобразование для преобразования объекта в прямоугольник?
Просто чтобы уточнить, выходные данные не обязательно должны быть идеальным прямоугольником, достаточно лишь визуально приблизиться к ним. Также требуется аффинное преобразование.
Перспектива, которую необходимо изменить
Вывод
Я попробовал выполнить аффинное преобразование как обычно (судя по тому, что я найдено в Интернете) с использованием 3 точек отправления и 3 точек назначения. Я обнаружил, что всегда есть одна сторона объекта, которая не находится примерно под углом 90 градусов к двум другим сторонам (т. е. мне не удалось заставить преобразование работать).
Я это знаю. можно использовать cv2.warpPerspective, но для этого требуется 4 точки источника и назначения. AFAIK, аффинное преобразование выполняется всего с 3 точками.
Пожалуйста, дайте мне знать, если я в чем-то ошибаюсь, и если да, то как бы я использовал аффинное преобразование для достижения цели.
Изменить:
Меня попросили опубликовать точную формулировку моего задания:
Цель : Исправление изображения — это процесс исправления изображения, искаженного
путем аффинного преобразования в точку обзора, который часто наблюдается при сканировании документов и цифровой фотографии. Целью этого домашнего задания является
реализация алгоритма исправления изображения для преобразования входного изображения в
другое так, чтобы доминирующие границы объекта были горизонтальными
или вертикальными.
Ожидается следующая основная процедура.
Код: Выделить всё
def imrect(im1)
Параметры: im1: numpy.ndarray (массив, представляющий изображение дляисправление)
Возврат: out: numpy.ndarray (исправленное изображение)
Шаги:
- Использование преобразования Хафа для обнаружения линий
- Определение четырехугольника, отражающего эти линии
- Оценка аффинного преобразования, которое отображает четырехугольник в прямоугольник
- Искажение изображения с использованием предполагаемого аффинного преобразования с использованием обратной проекции.
Подробнее здесь: https://stackoverflow.com/questions/790 ... f-an-image