У меня есть некоторый контент, который будет обнаружен с помощью OpenCV. Прежде чем применять обнаружение к самому содержимому, мне нужно определить угол искажения перспективы и исправить его. Вероятно, я могу использовать идею о том, как QR-код это делает - добавьте несколько привязок к изображению. Там не будет квадратной формы содержания, так что источник изображения может выглядеть следующим образом:Обнаружение угла перспективы и выполнение преобразования перспективы с использованием OpenCV
В 3 квадрата будут наши якоря.
При использовании OpenCV, насколько я понимаю, я должен делать эти операции:
- Применить полутоновую схему изображения с помощью функции
cvtColor
. - Нанесите размытие, используя
blur
илиGaussianBlur
. - Применить
threshold
иCanny
. - Используйте
findContours
и проанализируйте результаты поиска, найдите 3 квадрата, проверив количество вершин или аналогичное. - Применение функций
perspectiveTransform
иwarpPerspective
для анализа позиций квадратов и применения соответствующего преобразования к исходному изображению.
Проблема в том, что я действительно не понимаю, какие параметры следует использовать, и каков порядок вызовов методов на шаге 5. Я новичок в кодировании и математике, поэтому я был бы признателен за любую помощь, спасибо!