Skip to content

Алгоритм, который позволяет убирать или добавлять дисторсию на изображениях

Notifications You must be signed in to change notification settings

Koldim2001/Lens_distortion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LENS ANTI_DISTORTION

Аберрация - это искажение изображения, вызванное неправильной фокусировкой лучей света на оптической системе. Существует множество разных типов аберраций, одним из которых является дисторсия.
Дисторсия - это искажение изображения, которое проявляется в том, что прямые линии на изображении могут выглядеть изогнутыми или искривленными. Дисторсия может быть бочкообразной или подушкообразной, в зависимости от направления искажения.

kolesnokov__dima

Рисунок - Виды дисторсии (бочкообразность и подушкообразность)

Данный проект направлен на решение проблемы наличия оптических искажений при съёмке (особенно широкоугольным объективом). Представленный алгоритм позволяет убирать или добавлять дисторсию. Данный алгоритм может быть полезен в различных областях, таких как обработка изображений и компьютерное зрение.


Иформация о проекте:

Я реализовал процедуру избавления изображений от аберрации, запускающую интерактивное окно для подбора параметров искажений. Так же я добавил возможность самостоятельно вводить заранее известные значения параметров для реализации anti_distortion.

При запуске кода будет предложен вариант работы в интерактивном окне, которое позволяет подбирать величины искажения по оси x и y для компенсации аберрации. После их подбора можно будет запустить код заново, уже точно указав интересующие значения x_distortion, y_distortion коэффициентов.

Пример работы интерактивного режима:

bot

Пример работы скрипта с пояснениями можно посмотреть в файле jupiter notebook - show_example.ipynb
Все ключевые функции проекта находятся в файле functions.py

По поводу коэффициентов:
Данный скрипт позволяет убирать как бочкообразную, так и подушкообразную дисторсии, просто меняя знак коэффициентов.
Значения x_distortion, y_distortion со знаком минус говорят о том, что реализуется избавление исходного изображения от бочкообразности. Если исходное изображение подушкообразное, то необходимо ставить данные значения со знаком плюс. Сами значения подбираемых коэффициентов обычно в диапазоне [-1, 1]

PS: Моя функция также может быть использована в том числе и для добавления аберрации на обычную фотографию для придания особого фотографического эффекта. При положительных коэффициентах получается бочкообразная дисторсия, а при отрицательных - подушкообразная

Как запускать программу:

Данные команды требуется запускать последовательно в терминале:

  1. Склонируйте к себе этот репозиторий
git clone https://github.com/Koldim2001/Lens_distortion.git
  1. Перейдите с помощью команды cd в созданную папку Lens_distortion
cd Lens_distortion
  1. Загрузите все необходимые библиотеки:
pip install -r requirements.txt
  1. Запустите написанный python скрипт:
python script.py

About

Алгоритм, который позволяет убирать или добавлять дисторсию на изображениях

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published