fotomer
Пользователи-
Количество публикаций
98 -
Зарегистрирован
-
Посещение
-
Days Won
14
fotomer last won the day on May 27 2020
fotomer had the most liked content!
Репутация
16 БывалыйО fotomer
-
Звание
Эксперт
Profile Information
-
Пол
Мужской
-
Расположение
Москва
-
fotomer начал следование за Выбор камеры для системы технического зрения, Камеры Basler, Расчёт дистанции до объекта и и 2 других
-
Кто-нибудь Basler или аналогами в последнее время закупался? Если да, то можно ссылку.
-
Вообще именно фокус никогда точно не угадывается, его я на контрольном отрезке точно выставлял. Если интересно в свое время писал программку http://xn--e1anfamim.xn--p1ai/index.php/novosti/iphotomeasure здесь процесс калибровки http://xn--e1anfamim.xn--p1ai/index.php/novosti/kalibrovka-kamery Только снимки должны быть пестрые и не однообразные, шахматные доски не подходят. Даже дешевые смартфоны потом точно измеряют
-
Вы хотите по 2 снимкам с такой малой базой получить премлимую 3-d карту местности? Ничего не получится, возьмите какой-нибудь софт типа Agisoft или 3DF Zephyr Free (он бесплатен) и поэксперементируте там. Кстати 3DF Zephyr Free может делать калибровку по набору произвольных фоток (штук 30) и по опыту лучше чем с шахматной доской. Если просто нужно измерять расстояния можно использовать Aruco с 4 точками, которое выдаст координаты и направление камер. Еще Aruco нельзя в лоб снимать, точно резко падает, нужно чтоб квадрат на снимках был типа трапеции
-
Я в свое время тоже в этой математике разбирался, потом понял что проще найти готовое решение и в нем разобраться, типа такого https://www.opensfm.org/ Летал на дроне и вполне хорошие модели получались http://фотомер.рф/index.php/novosti
-
Еще можно попробовать антибликовый спрей, он реально улучшает картину.
-
А что вы собираетесь делать с полученной cv::Мат картинкой? Многие алгоритмы вообще онлайн не работают на обычном железе.
-
Собрал 4.0.1 с флагом WITH_OPENM , теперь все нормально, ошибок нет.
-
Не, с любой картинкой, и падает только с CORNER_REFINE_APRILTAG, остальные работают. Еще cvtColor без помарок работает? А то с флагом WITH_OPENM в консоль это пишется "User Error 1001: argument to num_threads clause must be positive". Как понимаю где-то внутри указывается отрицательное кол-во потоков. Компилятор Visual Studio 2015 x64. Mat mat, mat2; mat = imread("1.jpg"); cvtColor(mat, mat2, COLOR_BGR2GRAY); Upd Сейчас собрал на чистой Win7 с компилятором VS 2014, результат тот же. Upd2 Пересобрал отдельно либу opencv_core сняв для него использование openmp, остальные не трогал. И теперь все нормально работает. O как.
-
int main() { try { float kd[5] = { 0.106, 0, 0, 0, 0 }; float cm[9] = { 5765, 0.0000000000000000e+00, 2592, 0.0000000000000000e+00, 5765, 1728, 0.0000000000000000e+00, 0.0000000000000000e+00, 1.0000000000000000e+00 }; Mat cameraMatrix(3, 3, CV_32F, cm); Mat distK(1, 5, CV_32F, kd); Mat mat; mat = imread("1.jpg"); Ptr<aruco::Dictionary> dictionary{ aruco::getPredefinedDictionary(aruco::DICT_4X4_1000) }; Ptr< aruco::DetectorParameters > detectorParams{ aruco::DetectorParameters::create() }; detectorParams->cornerRefinementMethod = aruco::CORNER_REFINE_SUBPIX; //detectorParams->cornerRefinementMethod = aruco::CORNER_REFINE_APRILTAG; vector<vector<Point2f> > corners1, rejectedCorners1; vector<int> ids1; aruco::detectMarkers(mat, dictionary, corners1, ids1, detectorParams, rejectedCorners1, cameraMatrix, distK); } catch (cv::Exception ex) { cout << ex.what() << endl; } return 0; } Вот простенький код. OpenCV 4.0.0. собранный без флага WITH_OPENMP - все работает, углы aruco корректно определяются. Сборка с флагом WITH_OPENMP, флаг в коде aruco::CORNER_REFINE_SUBPIX работает, но в консольку пишется "User Error 1001: argument to num_threads clause must be positive", это внутри aruco::detectMarkers прилетает из функции _convertToGrey. А с флагом aruco::CORNER_REFINE_APRILTAG выкидывается исключение "OpenCV(4.0.0) c:\opencv\opencv_contrib-master\modules\aruco\src\zarray.hpp:109: error: (-215:Assertion failed) idx >= 0 in function 'cv::aruco::_zarray_get'" На версиях 3.х с WITH_OPENMP все работало нормально.
-
Я просто удалил сборку 4.0 с openmp, на SDD мало места. Потом тогда опять соберу и попробую ошибку воспроизвести.
-
Эта функция aruco::detectMarkers с флагом aruco::CORNER_REFINE_APRILTAG. На 3.4.1 все работало с WITH_OPENMP, собрал 4.0 с WITH_OPENMP, падает. Без все работает.
-
Не в курсе, про 4.0 написано Our parallel_for can now use the pool of std::threads as the backend. Я собрал традиционно с флагом WITH_OPENMP, как и на предыдущих 3.х. И далее с 4.0 распознавалка Aruco падает где-то внутри либы на потоках. Если собрать без этого флага, то все работает нормально. Судя по картинке Винда, как писали, там с Cmake-Gui все отлично собирается.
-
Выбор камеры для системы технического зрения
fotomer replied to DenisN03's topic in Обсуждение общих вопросов
Это же обычная дешевая вебка, широкий угол из-за искажений не есть хорошо для 3D реконструкции. -
Выбор камеры для системы технического зрения
fotomer replied to DenisN03's topic in Обсуждение общих вопросов
IP все жмут не по детски, и на максимальных настройках тоже. Попробовать дорогую вебку типа http://www.pleer.ru/product_418896_Logitech_Webcam_Brio_960_001106.html Или поискать на Али камеру с ключевым словом Global Shutter. https://www.aliexpress.com/popular/camera-global-shutter.html -
Выбор камеры для системы технического зрения
fotomer replied to DenisN03's topic in Обсуждение общих вопросов
Вебки шумят и разрешение не особое. Вот хороший вариант, правда дорогой https://www.baslerweb.com/ru/ Еще у бастлера глобальный затвор, все jpg из видео будут без смазов.