Я ищу концептуальный совет относительно управления большим количеством данных в моем проекте видения компьютера. У меня возникают проблемы: а) концептуализация и б) реализация концепции координации этого большого потока данных, поступающих как в качестве входных данных в программу из камер, так и генерируемых кодом.Управление многопоточными данными C++
Так данные я должен получить ручку на отделимо в пять отдельных «потоков», как я буду называть их:
Сырых кадров (Прямой вводом с камеры) целевых изображений (субкадры, взятыми от предыдущего потока изображения) отметки времени (для исходных кадров) данных автомобиля пространственного положения (GPS, углы тела и т.д. от беспроводного подключения последовательного порта к транспортному средству) Отношение данных Timestamps
общий поток, если мы должны были делать это полностью последовательно:
Frame = grabInputFrame();
TargetsVector = searchForTargets(Frame);
VehicleData = getDataFromVehicle();
for each Target in TargetVector (
targetData = processData(Target, VehicleData);
updateTargetLog(targetData);
}
Итак, вот сделка: Я пытаюсь сделать это с помощью потоков, поскольку алгоритмы очень интенсивно обрабатываются и не связаны последовательно (я имею в виду, что мне не нужны данные о цвете, чтобы получить GPS-координаты цели). НО, мне нужно координировать образы с целями и отметками времени с этими изображениями, поэтому я могу использовать правильные данные о транспортном средстве для правильного изображения и т. Д.
Мой друг предложил реляционный подход БД, но я использую C++. Интересно, есть ли способ имитировать реляционные БД в C++ (связать ли ключи с данными, например меткой времени или идентификатором цели, ассоциировать с данными или целевым изображением)? Будет ли подключение к SQL DB упростить управление? Существует ли существенное снижение производительности, связанное с этим? Самый важный момент здесь заключается в том, что, что бы я ни делал, я должен иметь возможность блокировать общие данные, чтобы я мог многократно использовать его.
Я надеюсь, что кто-то с некоторым опытом в таких иерархических структурах данных может пролить свет на мою ситуацию. Я заранее благодарю вас за ваши идеи и критику.