여러 스레드에서 CascadeClassifier 개체를 사용하여 OpenCV C++ 인터페이스를 실행하고 싶습니다.OpenCV CascadeClassifier 다중 스레드에서의 C++ 인터페이스
내 프로그램의 작동 방식은 내 메인 스레드가 "some_file.xml"을 CascadeClassifier 개체로로드하는 것입니다. 세 개 이상의 스레드가 생성되고 캐스케이드 개체가 전달됩니다. 프로그램은 곧 그 후 충돌합니다. 몇 가지 테스트를 수행했으며 "detectmultiscale"함수를 수행 할 때 CascadeClassifier 객체가 스레드로부터 안전하지 않다고 결론지었습니다.
새 스레드가 생성 될 때마다 동일한 파일을 하드 드라이브에서 읽지 않아도됩니다. 어떻게 피할 수 있습니까?
xml 파일이 "새로운"형식인지 여부를 어떻게 알 수 있습니까? 최신 버전에서 모두 최신 형식으로 변환 되었습니까? – rossb83
OpenCV와 함께 제공되는 모든 하얼 폭포는 이전 형식으로 저장됩니다. 그리고 아마 그들은 새로운 형식으로 변환되지 않을 것입니다 (그러나 당신이 원한다면 변환기를 작성하고 기여할 수 있습니다). 새로운 형식을 식별하는 가장 간단한 기준 - 캐스케이드 파일에서 ' BOOST '태그를 검색하십시오 - 새로운 형식에서는 필수 항목입니다. –
변환기를 작성하는 두 가지 형식에 대한 정보는 어디에서 찾을 수 있습니까? – rossb83