Jump to content
Compvision.ru

Nuzhny

Пользователи
  • Content count

    1,411
  • Joined

  • Last visited

  • Days Won

    173

Everything posted by Nuzhny

  1. Предлагаю начать либо с голого tesseract-ocr, либо с примеров из opencv_text. А потом по результатам.
  2. На Питоне вряд ли, зачем на нём делать? Но это всё просто, сам можешь сделать
  3. Тогда и правда лучше проверь версии поновей, они с ffmpeg хорошо дружат. Ну и сам ffmpeg из командной строки можешь проверить - умеет ли он h.264
  4. Кажется, что на сшитом уже ничего особо не сделаешь - раньше надо было делать то, что используется в stitching методах. А тут разве что классический deblocking может зайти, чтобы не попортить информацию. Debloking - это просто фильтр вдоль границ склейки по сути.
  5. Кажется, что на представленном рисунке не CLAHE, а простой equalizeHist. Только лучше с этим поэкспериментировать. Минимум это: RGB изображение -> split по каналам -> equalizeHist для каждого канала -> merge. Но возможно, что лучше сработает перевод картинки в другое цветовое пространство, например HSV, а там делать эквализацию не для всех каналов, а только для насыщенности. Или для насыщенности и яркости. Короче, надо экспериментировать. Но и CLAHE может зайти, потому что эквализация - это довольно жёсткое преобразование и может сильно исказить (зато без потери информации).
  6. В OpenCV в модуле opencv_stitching для этого есть класс ExposureCompensator. Лучше изучи, как работает пример stitching_detailed. Там весь пайплайн сшивки панорамы и все необходимые кусочки есть.
  7. Кажется, что лучшее решение - это всё таки 3D реконструкция, например smf. Скормите ему все свои картинки и получите координаты камеры в 3D для каждого снимка.
  8. Я бы делал сегментацию пола грузовика. Калибровка камеры не нужна, если известен размер кузова. То есть знаем площадь, знаем объём свободного места от сегментации - профит.
  9. Согласен, надо ставить breakpoint до падения, чтобы убедиться, что хотя бы каскад загружен и вообще почему падает. Не исключено, что в той версии OpenCV были ошибки или UB, а тут новый компилятор и они стрельнули.
  10. Кажется, что прямо на OpenCV этого из коробки нет, но в dlib есть.
  11. Я пока попробовал 2 репозитория (пока лень самому писать): 1. https://jugit.fz-juelich.de/mlz/lmfit 2. https://github.com/yinzixuan126/polynomial_fitting/blob/master/src/polyfit_node.cpp Первый (Левенберга-Марквардта) работает точнее, второй быстрее. Нашёл ещё, но не пробовал ( https://github.com/gpufit/Gpufit, https://github.com/wojdyr/fityk). Потестирую, если будет медренно, то надо будет реализовывать самому и оптимизировать.
  12. Приветствую! А в OpenCV есть что-нибудь для аппроксимации набора точек полиномом произвольной степени? Есть fitLine для прямой, а что-то большее?
  13. Всегда можно взять и double, если придётся (но вряд ли точности не хватит). Сплайны и Безье - это не то, что мне надо. Я бы хотел из траектории движения объекта за несколько секунд (скажем, 100 кадров) получить уравнение движения. Логично получить кубическое, чтобы ускорение тоже было не константным. Теоретически, в OpenCV это можно сдлать через Levenberg-Marquardt solver (cv::LMSolver), можно взять ceres solver, но там везде надо дописывать свои целевые функции. Или что-то с Гитхаба специализированное. Не сильно хочется самому тянуть дополнительные зависимости для, казалось бы, вполне типичной задачи. За ссылки спасибо, посмотрю, потестирую, как оно работает.
  14. Точки могут дрожать, например, из-за того, что маленькое разрешение, а угол попадает между пикселями. Можно попробовать вызывать cv::findCornersSubpix. Я когда-то для лицевых точек прмкручивал оптический поток и Калмана.
  15. Я про свертку не писал - редукция же. Каждый второй поток складывает полезные результаты в свой кусочек памяти и запоминает сколько и где, потом каждый четвёртый за двумя предыдущими и т.д. Теоретически, это должно сработать быстро.
  16. Техника называется reduction, когда сначала все потоки пишут свои значения в результат, потом половина из них пишет валидные значения, затем ещё половина и т.д. Пока не останется один поток, определяющий финальный размер результата.
  17. Не проверял на jetson, надо попробовать.
  18. Да, обучать OpenCV не умеет, только использовать - inference. Информации, кстати, много. Я по стандартным примера уже года 2 точно пользуюсь, также совместно с OpenVINO для ускорения на CPU. Просто при сборке OpenCV надо выставить BUILD_EXAMPLES, стандартные примеры небольшие ю и информативные.
  19. В OpenCV уже давно есть модуль для нейросетей opencv_dnn, есть специализированный для детекции на dnn, а сейчас есть и dnn на CUDA. Так что он актуальности своей терять не собирается, не хороните
  20. На джетсоне, если ты имеешь в виду Nano, всё должно быть иначе, потому что на нём нет выделенной видеопамяти, она общая системная. Ну и его использовать можно иначе: подключать не ip камеру, а веб или промышленную, получать с неё сразу несжатое видео.
  21. У меня их несколько и все из этого списка
×