Pull to refresh

Comments 21

Ставить opencv из пипа чревато, там кросплатформенная сборка, в которой не работает, например, cv2.VideoCapture(), причём без всяких сообщений об ошибках, что может подарить незабываемые часы отладки. Могу предположить, что это не единственный такой сюрприз. Поэтому ставить надо, по возможности, из репозитория своего дистрибутива. Собирать самому есть смысл разве что если нужна свежая версия или есть требования к производительности. Вот тут есть немного про оптимизацию под raspberry: www.pyimagesearch.com/2017/10/09/optimizing-opencv-on-the-raspberry-pi
там кросплатформенная сборка, в которой не работает, например, cv2.VideoCapture()

Тоже недавно сталкивался. А вы не в курсе, почему именно не работает? Чем эта сборка отличается?
А это так и задумано, у них на гитхабе об этом прямо написано:
MacOS and Linux packages do not support video related functionality (not compiled with FFmpeg).
UFO just landed and posted this here
Скорее всего исходное изображение больше, а те которые тут вставлены просто вырезаны.
Изображение слева обрезал, чтобы сделать одинаковый размер фотографий.

В статье ни слова о теории, об используемом алгоритме коррекции дисторсии.


А зачем contrib понадобился? Калибровка камеры входит в официальный OpenCV.


Решение написать данную статью было принято после нескольких дней поиска информации в интернете. Не смотря на то, что есть гайды на английском языке, они не объясняют как правильно установить openCV, чтобы все работало. В статье присутствует готовый код.

Всё тут:
https://docs.opencv.org/3.1.0/dc/dbb/tutorial_py_calibration.html


Устанавлиать opencv очень просто:


pip install opencv-python

или если нужен contrib


pip install opencv-contrib-python

import getopt

Серьёзо? argparse надо использовать.


И да, в статье слишком много слова "данный". Ужасное слово. :)

Сразу привожу фото итогового результата. Слева оригинальное фото, справа — обработанное:

На хабре принято выкладывать фото на web.habrastorage.org, а не во вконтакте (он у многих заблочен)
Спасибо, в следующий раз буду выкладывать фото там.

Что значит "в следующий раз"?? У вас кнопка редактирования отвалилась? Сейчас исправьте, а не оставляйте халтуру навсегда.

Перезалил на web.habrastorage.org :)
Очень интересно, теперь бы прибавить к этому какой-нибудь путный алгоритм стабилизации изображений и мой склад видео с экшенкамеры перестанет лежать мёртвым грузом. :)

Битрейт конечного видео берётся из исходного или нужно указывать отдельно?

Битрейт определяется значением:
fps = video.get(cv2.CAP_PROP_FPS)

а точно это битрейт, а не FPS ?

А есть такой же, но с перламутровыми пуговицами выравнивающий фотографию изогнутых книжных страниц?

Тогда нужен обобщённый метод для пакетной обработки произвольных, но однотипных искажений.
Там совсем другая модель искажений. Плюс, изгиб страницы на каждой фотографии разный, а дисторсии объектива всегда одинаковы для одной пары матрица+объектив.
Но было бы круто такой иметь, да.
Sign up to leave a comment.

Articles