Jump to content
Compvision.ru

Search the Community

Showing results for tags 'calib3d'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Пакет OpenCV
    • OpenCV
    • Новости
    • Вопросы взаимодействия OpenCV + GDI, GDI+
  • Дополненная реальность (ARToolkit и др.)
    • ARToolkit
  • Нейросети
    • Вопросы по нейросетям и ИИ
  • Общие вопросы
    • Обсуждение общих вопросов
  • Другое

Jabber


Skype


Расположение


Интересы

Found 1 result

  1. Пытаюсь калибровать камеру на предмет дисторсии по вот этому мануалу https://docs.opencv.org/4.3.0/d4/d94/tutorial_camera_calibration.html Когда использовал шахматный эталон - всё было ок, пока он был целиком в кадре, но висло намертво, когда часть эталона оказывалась вне кадра, пытаюсь сделать с кругами, пишут вроде что алгоритм более устойчивый, но он просто не находит цель, если не уменьшать размер изображения (примерно до 1024*768). Шаблон генерил с помощью скриптов OpenCV, пытался и симметричный и асимметричный использовать. Можно ли что-то сделать, чтобы нормально находить эталон на большом кадре? Или надо сильно уменьшать изображение, находить цель, потом брать базовое изображение, умножать все найденные координаты на коэффициент, с которым уменьшали изображение и запускать findCornersSubPix? Асимметричный эталон использовал вот этот Код вот такой: cv::Size boardSize( 4, 11 ); cv::Mat image = cv::imdecode( cv::Mat( 1, data->size(), CV_8UC1, data->data() ), cv::IMREAD_COLOR ); std::vector< cv::Point2f > pointBuf; bool found; // int chessBoardFlags = cv::CALIB_CB_ADAPTIVE_THRESH | cv::CALIB_CB_NORMALIZE_IMAGE | cv::CALIB_CB_FAST_CHECK; qDebug()«"Looking for corners"; // found = findChessboardCorners( image, boardSize, pointBuf, chessBoardFlags); //found = findCirclesGrid( image, boardSize, pointBuf ); found = findCirclesGrid( image, boardSize, pointBuf, cv::CALIB_CB_ASYMMETRIC_GRID);
×