Jump to content
Compvision.ru

All Activity

This stream auto-updates     

  1. Past hour
  2. Создание dll, использующей openCV (C++)

    Сейчас создал cv::Point и вернул p.x из функции - работает! А что с cv::Mat не так, не пойму.. Исходники посмотрю, спасибо.
  3. Создание dll, использующей openCV (C++)

    Ну так вся OpenCV состоит из DLL, использующих OpenCV Откройте исходники, и сравните с тем что у вас.
  4. Today
  5. Здравствуйте. Пытался ли кто-нибудь создать dll из С++-кода, использующего OpenCV, и использовать её в C++ или C#? Я столкнулся со следующим: Преодолев ошибки, связанные с созданием динамических типов данных в тестовой dll, я подумал, что проблема уже решена. Теперь я могу использовать контейнеры в коде dll, но как только я создаю что-то из OpenCV (я пробовал создать матрицу cv::Mat, заполненную нулями), то функция LoadLibrary возвращает нулевой указатель. Работаю в x64 Debug, opencv_world411.dll так же клал в папку проекта. Если потребуется код и его результаты (которые я описал, в принципе, про нулевой указатель), могу потом запостить его.
  6. Last week
  7. Ну если облако точек относительно системы координат камеры известно, и известны координаты камеры во внешнем мире, то преобразование производится переносом и поворотом точек на разницу. Чтобы сделать быстро, можно использовать шейдеры, opencl, cuda, ... короче GPU. Подружиться с GPU все равно придется.
  8. Насчет позиционирования я имел в виду, что координаты камеры и углы ее поворотов известны. Надо только их куда-то ввести в API. Куда? По API документация не особо обширная, автогенеренная по коду. Поэтому так сразу не видно, можно ли где-то в свойствах девайса задать его положение. Автоопределять положение камеры буду на поздних этапах, сейчас бы хоть как-то сделать.. ) По поводу точности вычисления глубины.. да, уже ощутил, что дрожание матрицы глубины на удалении метра 4-5 уже очень существенные. Когда покупал камеру, была мысль брать прямо с нее облако точек и по нему скелет определять. Сейчас вижу, что это вряд ли получится. Надо более хитро выкручиваться. Кроме того, обнаружилась большая зависимость дрожания от освещения. Как ни странно, при хорошей яркой сцене глубина определяется фигово, наверное потому что засветки от собственного лазерного проектора не видно. И наоборот, при темной схеме качество улучшается. Но при темной схеме будет проблема с динамичным перемещением объекта съемки - экспозиция требуется слишком большая.
  9. Обычно как бывает... Сначала не понимаешь ничего в теме, ищешь кто б объяснил. А когда сам въедешь, то уже лень другим с нуля объяснять ). Надеюсь, что так все и произошло и все стали профи.
  10. Если есть RGBD, то поставьте где-нибудь маркер в виде ортов системы координат. Распознавайте ее точки на цветном изображении, затем, используя глубину, получайте 3Д точки. Есть базис, есть координаты и ориентация камеры. Преобразование x,y,D в 3д точку должно быть в API камеры. В принципе, при известных размерах маркера, задача решается даже без компоненты глубины, гуглите opencv solvepnp. По поводу скелетов посмотрите здесь: https://github.com/topics/skeleton-tracking
  11. Сам бы хотел знать Обычно обострение начинается ближе к сессии. А вообще, раньше был хороший форум у МГУ-шников, правда сейчас не знаю как он там. Многие пересели на нейросети.
  12. Поиск стекла на фотографии

    Всем большое спасибо за ответы, буду пробовать, как только нормальное освещение будет готово.
  13. Поиск стекла на фотографии

    Я бы больше внимания уделил именно освещению, что бы отделить стекло от фона. Как вариант можно поставить сверху/снизу длинный узкий прожектор которые светит строго вертикально и цвет его должен быть отличным от фона (зеленый). Заносите стекло вертикально под прожектор и горизонтальные грани стекла должны засветится цветом прожектора. В итоге имеем границы стекла + так как прожектор узкий имеем и примерную область в которой стекло расположено, что поможет в расчете размеров.
  14. Поиск стекла на фотографии

    Если провести бинаризацию, может и не сильно, надо пробовать. У меня этот метод давал неплохой результат: https://stackoverflow.com/questions/22122309/opencv-adaptive-threshold-ocr/22127181#22127181 Еще думается если найти фазовый сдвиг, то он тоже даст границу стекла. Можно после бинаризации наложить изображения по И темные линии станут толще, затем инверсия, эрозия, и найти convex hull.
  15. Поиск стекла на фотографии

    Спасибо за ответ. Думал насчет наложения. Дело в том, что в этом цеху большие окна, соответственно, сильно меняется освещение в зависимости от времени суток. Это сильно скажется на результате?
  16. Поиск стекла на фотографии

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

    Пока что лучшее, что я нашел, выглядит так. Сначала я применил маску размером с некий прямоугольник (область, в которой точно будет стоять ящик). Затем с помощью функции threshold отсеял множество маленьких линий, оставив большие. Ну а потом с помощью HoughLinesP , играя с параметрами, нарисовал наиболее подходящие линии.
  18. Поиск стекла на фотографии

    Среда полностью управляемая, сейчас заказываются светильники, но как их расположить, пока непонятно. Стенд тестовый, в реальности стёкла подаются из ящика. Ну, стекло, действительно, прямоугольное. И даже размеры разных стёкол известны. Единственное что, они могут подаваться в разном порядке. Сначала такого размера, потом - другого. Вторая задача - определить размеры стекла по фотографии (когда оно уже найдено), но я не уверен вообще, возможно ли это. Матрица внутренних параметров камеры получена из калибровки, находить расстояния до объектов и их координаты я умею, но для этого я заранее знал размеры. Получается замкнутый круг.
  19. Поиск стекла на фотографии

    Фото выглядит так, будто искать надо прямоугольник, а не стекло.
  20. Друзья, а может кто знает русскоязычный ресурс по компьютерному зрению, на котором активность зашкаливает и жизнь бурлит? )) Куда все ушли с этого форума?
  21. Поиск стекла на фотографии

    Стенд всегда такой, освещение? Короче, среда управляемая нами?
  22. Добрый день! Я - практически новичок в OpenCV, хотя в математике разбираюсь неплохо. Столкнулся с задачей: нужно найти на фотографии стекло (фотография прилагается) и определить координаты четырех его углов. Фотография сделана при, скорее всего, неправильном освещении. Пробовал сделать это через поиск линий HoughLines, а так же через углы методом Харриса. Ни в первом, ни во втором случаях не удалось подобрать правильные параметры для поиска (пороговые значения, углы). Существуют ли типичные методы для подобных задач, или же для каждой задачи требуется свой подход? Не хотелось бы изобретать велосипед Спасибо.
  23. Попробовал применять трансформацию снаружи, т.е. после получения облака точек... тяжелая операция, проц сильно тормозит на ней. Так что применение поворотов внутри камеры было бы очень кстати.
  24. Добрый день. Расскажите в двух словах, пожалуйста. 1. Есть ли способ преобразования видео от камер, подключенных по GigE, в формат H.264/265 налету? Для записи/стриминга получившегося потока каким-либо медиа-сервером. 2. Бывает ли такое преобразование потоков для линейных камер? 3. Бывает ли оно же для гиперспектральных камер?
  25. Earlier
  26. Спасибо за подсказку. И тем не менее... Может быть знаете, как задать положение камеры? В принципе, вращать координаты можно уже после получения облака точек. А нельзя ли раньше, чтобы не тратить процессор на это? Чтобы в выходном потоке камеры сразу честные 3D координаты присутствовали.
  1. Load more activity
×