Перейти к содержимому
Compvision.ru

Nuzhny

Пользователи
  • Количество публикаций

    1 321
  • Зарегистрирован

  • Посещение

  • Days Won

    166

Nuzhny last won the day on August 15 2018

Nuzhny had the most liked content!

Репутация

218 Эксперт

2 подписчика

О Nuzhny

  • Звание
    Эксперт

Profile Information

  • Пол
    Мужской
  • Расположение
    Санкт-Петербург

Посетители профиля

3 645 просмотров профиля
  1. Ммм, он и правда быстрый, просто у тебя задача по-другому формулируется. Мне, например, интересно, что значит "первое нахождение заданного шаблона". Там же куча метрик, совпадение пиксель-в-пиксель в реальных приложениях явно не возможно. В смысле, чтобы значение каждого пикселя совпало и метрика стала нулевой. Также понятно, что минимум врядли будет находиться в одной точке. Скорее всего, будет что-то похожее на параболоид - если визуализировать результат работы сравнения в 3D. И тут вопрос, насколько он пологий. Если сильно пологий, то не исключено, что результат ложный. То есть мало получить значение метрики ниже какого-то порога, надо ещё и проанализировать окрестность, чтобы убедиться в том, что минимум настоящий. У меня был опыт в нахождении таких штук: надо было определиться куда сместились блоки по 16х16 пикселей. Такие блоки на границах объектов, на чистом небе, на регулярных структурах (окна дома вдалеке) давали совершенно неожиданные результаты. Приходилось выдумывать сложные метрики и анализ.
  2. Понятно. Тогда MatchTemplate просто делает не то, что требуется: ищет не первое вхождение (видимо, по какому-то порогу), а карту всех вхождений. Отсюда и низкая скорость. Честно говоря, я не уверен, что подходящая функция в OpenCV есть. Но и реализация не должна быть сложно, разве нет?
  3. Мне кажется, что надо начать с элементарного, MatchTemplate. Там никакого распознавания не происходит, работает быстро. Пусть это будет точка, от которой можно отталкиваться по скорости работы.
  4. Курсы помогут в самом начале, чтобы можно было ориентироваться в том, что есть. Ну и не дадут упустить важную тему. Кажется, что при достаточном опыте, они уже не нужны.
  5. Ошибка при сборке

    Только что скачал свежую версию, скомпилировал с WITH_OPENMP и твой пример отработал без ошибок. Возможно, оно проявляется только у тебя или нужна именно твоя картинка.
  6. Ошибка при сборке

    Хорошо, спасибо.
  7. Ошибка при сборке

    Хм. Это не так просто повторить. можешь подсказать с каким-нибудь стандартным примером из поставки? Какие параметра подавать в тот же example_aruco_detect_markers, например. Я как раз засылал им один PR по поводу openmp для 4.0. Если баг в parallel_for, то хотелось бы его убрать, чтобы в других местах не проявилось. Всё таки я использую OpenCV в критических приложениях.
  8. Ошибка при сборке

    А пример можешь выслать? Я тоже использую openmp, но она в Windows не развивается (поддерживает стандарт 2.0 при существующем 5.0). Поэтому разработчики OpenCV традиционно делают упор на TBB.
  9. Ошибка при сборке

    Попробуй запустить cmake-gui, там это найти наглядней.
  10. Ошибка при сборке

    OPENCV_EXTRA_MODULES_PATH правильно указан?
  11. В CMake OPENCV_EXTRA_MODULES_PATH=что-то-там/opencv_contrib/modules
  12. Если с OpenCV, то все байты уже у вас, уложены по строкам в IplImage в поле imageData: https://docs.opencv.org/3.4/d6/d5b/structIplImage.html
  13. Откуда взялся String?!! Изображение где лежит, в каком виде ты его получаешь, по сети, с диска, rgb, jpeg - где начало цепочки? Изображение - это явно не строка. В этом форуме чаще всего используют библиотеку OpenCV, которая как раз и переводит изображение из какого-то своего формата (например, jpeg на диске) в удобный для обработки порядок байт.
  14. Изображение - это и есть байты. Мне кажется, что вопрос надо конкретизировать.
  15. В Линуксе nvidia-smi. Наверное в Windows тоже что-то подобное должно быть. И nvtop тоже: https://github.com/Syllo/nvtop
×