저는 OpenCV로 작성된 객체 추적기를 병렬 처리하여 여러 객체를 추적하는 프로젝트에 참여하고 있습니다. 휴대용 멀티 스레딩을위한 매우 깨끗한 인터페이스를 가진 BOOST 라이브러리를 사용하여 멀티 스레딩 부분을 수행하고 있습니다.BOOST :: thread worker syncronization, C++ & OpenCV
추적 기능이 여러 스레드에서 실행되며 초기 장면에서 감지 된 개체의 수에 따라 생성됩니다. 모든 스레드는 자신의 작업 루프를 가지고 있습니다. 프레임마다 프레임을 추적하여 개체를 추적합니다. 내 질문은 : 어떻게 내가 그들을 저장할 수 있도록 각 루프 반복에서 결과를 수집합니까? 스레드 간에는 통신이 없지만 각 루프가 끝날 때 프레임 처리가 완료되면 각 스레드의 출력을 합산하여 모든 객체에 대한 결과와 함께 전체 장면을 볼 수 있습니다. 추적.
나는 좋은 시작이다. 그러나 루프의 끝에서 모든 쓰레드를 멈추게되면 어떻게하면 결과를 얻을 수 있을지 전혀 모른다. 추가 "수집가"스레드가 필요합니까? 나는 몇 년 전만해도 병렬 컴퓨팅에 대한 나의 유일한 길을 마쳤으므로 병렬 작업에서 약간 녹슬 었습니다. 어떤 도움을 주셔서 감사합니다!
고마워, 그게 내가 찾고 있었던 것이다. 일반 뷰를 작성하는 방법을 알아 내는데 어려움을 겪고 있기 때문에 구현하는 데 다소 시간이 걸릴 것입니다. 그러나 뮤텍스는이를 수행하는 방법입니다! – powder