У меня есть функция, которая преобразует некоторые 3d-точки в систему координат камеры, а затем проецирует эти точки на изображение с камеры. Я изо всех сил пытаюсь найти способ сделать это тестируемым. Эта функция использует другие более простые функции, которые выполняют одну задачу (например, преобразование координат и т. Д.) И уже имеют тесты.
Теперь мне приходит в голову взять эту функцию, используемую для выполнения проецирования, а затем самостоятельно проверить, имеет ли смысл результат, посмотрев, где точки были спроецированы на изображении rgb и соответствуют ли они объекту, который они представляют. (Например, 3D точки, представляющие шар, будут покрывать пиксели, представляющие шар на изображении после проецирования). Затем я мог бы использовать эти несколько примеров реальных данных в модульном тесте. Но это будет означать, что мне нужно загрузить в репозиторий git вместе с тестами.
Я также мог бы генерировать виртуальные данные, но это не так легко проверить, была ли проекция правильной, потому что мне сначала понадобится та же функция, чтобы сгенерировать изображение rgb, которое соответствует 3d точкам. Мне кажется, что это своего рода проблема курицы с яйцом.
Я использую Python и Numpy.
Есть предложения?