Аффинное преобразование для «изменения перспективы» изображения [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Аффинное преобразование для «изменения перспективы» изображения [закрыто]

Сообщение Anonymous »

Мне нужно написать скрипт Python, который меняет «перспективу» изображения с правой стороны на прямую, используя аффинное преобразование. (См. прикрепленные изображения. Это не настоящие изображения, над которыми я работаю)
Основываясь на том, что я читал об аффинном преобразовании, параллелизм сохраняется после преобразования. Не означает ли это, что непараллельные прямые остаются непараллельными, а параллельные остаются параллельными? Поскольку форма преобразуемого объекта представляет собой трапецию, не означает ли это, что невозможно использовать аффинное преобразование для преобразования объекта в прямоугольник?
Просто чтобы уточнить, выходные данные не обязательно должны быть идеальным прямоугольником, достаточно лишь визуально приблизиться к ним. Также требуется аффинное преобразование.
Перспектива, которую необходимо изменить
Вывод
Я попробовал выполнить аффинное преобразование как обычно (судя по тому, что я найдено в Интернете) с использованием 3 точек отправления и 3 точек назначения. Я обнаружил, что всегда есть одна сторона объекта, которая не находится примерно под углом 90 градусов к двум другим сторонам (т. е. мне не удалось заставить преобразование работать).
Я это знаю. можно использовать cv2.warpPerspective, но для этого требуется 4 точки источника и назначения. AFAIK, аффинное преобразование выполняется всего с 3 точками.
Пожалуйста, дайте мне знать, если я в чем-то ошибаюсь, и если да, то как бы я использовал аффинное преобразование для достижения цели.
Изменить:
Меня попросили опубликовать точную формулировку моего задания:

Цель : Исправление изображения — это процесс исправления изображения, искаженного
путем аффинного преобразования в точку обзора, который часто наблюдается при сканировании документов и цифровой фотографии. Целью этого домашнего задания является
реализация алгоритма исправления изображения для преобразования входного изображения в
другое так, чтобы доминирующие границы объекта были горизонтальными
или вертикальными.
Ожидается следующая основная процедура.

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

def imrect(im1)
Искажение входных данных im1, искаженных аффинным преобразованием
Параметры: im1: numpy.ndarray (массив, представляющий изображение дляисправление)
Возврат: out: numpy.ndarray (исправленное изображение)
Шаги:
  • Использование преобразования Хафа для обнаружения линий
  • Определение четырехугольника, отражающего эти линии
  • Оценка аффинного преобразования, которое отображает четырехугольник в прямоугольник
  • Искажение изображения с использованием предполагаемого аффинного преобразования с использованием обратной проекции.


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

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

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

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

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

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

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