두 스레드가 곧 3 개가되어 두 스레드에서 동시에 웹 캠에서 이미지를 가져 오려고하는 프로그램을 만들었습니다. 이 작업을 수행 할 수있는 방법이 있습니까? 아니면이 작업을 수행하는 더 좋은 방법이 있습니까? (openCV 1.1 사용)OpenCV 다중 스레드 호출
답변
두 스레드가 모두 이미지 작업을 할 수있게하려면 현재 이미지를 제공하는 메서드를 작성해야합니다. 메서드가 처음 호출 될 때 캠에서 이미지를 가져올 수 있고 이미지가로드 될 때까지 호출을 차단할 수 있습니다. 그런 다음 버퍼링 된 이미지를 가져올 때까지 다음 이미지를 가져올 수 있습니다. 이 방법을 사용하면 두 스레드가 모두 동일한 경로를 사용하여 OpenCV가 카메라 연결을 시도 할 필요가 없으며 이미지가로드되지 않은 상태에서만 블로킹하는 경우 여러 스레드가 이미지 데이터를 저장 한 후 가져올 수 있습니다 동시.
스레드 중 하나 (기본 호출이라고 함)가 카메라와 대화하고 이미지를 가져 와서 모든 설정을 가져 오는 것이 좋습니다. 일단 설정되고 메모리의 한 위치에 놓이면 그 위치가있는 두 번째 쓰레드에 알릴 수 있습니다 (이 작업에서 뮤텍스를 사용하십시오). 두 쓰레드가 모두 빠져 나와 처리 할 수 있습니다. 두 스레드가 해당 이미지로 완료되면 (여기에도 뮤텍스를 사용하십시오.) 기본 스레드가 다른 이미지를 가져 와서 프로세스를 시작할 수 있습니다.
카메라가 많은 양의 이미지를 생성하고 두 스레드가 모두 완료되기 전에 작업을 시작하려는 경우 세 개의 스레드로 이동하는 것이 좋습니다. 하나는 이미지를 얻는 것이고 다른 하나는 이미지를 가져 오는 것입니다. 두 가지 유형의 처리를 수행하는 것입니다. 여러 개의 버퍼가 있어야하므로 훨씬 더 복잡해집니다. 또한 아마도 여러 뮤텍스와 아마도 두 개의 큐가 필요할 것입니다. 모든 것이 가능합니다 :-)
- 1. WCF 다중 스레드 호출
- 2. 다중 스레드 WMI 호출 -이를 어떻게 처리해야합니까?
- 3. 다중 스레드 WebRequest 호출 및 경합
- 4. 다중 포트를위한 다중 스레드?
- 5. 다중 스레드 #
- 6. 제한된 다중 스레드 작업
- 7. 다중 스레드 다중 클라이언트 프로그래밍
- 8. WPF 배경 스레드 호출
- 9. .NET 다중 스레드 싱크ronronization
- 10. 다중 스레드 JDBC
- 11. JDBC 연결의 다중 스레드
- 12. 다중 스레드 NSDocument 종료
- 13. Eclipse에서 다중 스레드 디버그
- 14. VB에서 다중 스레드 ObservableCollection
- 15. Java에서 다중 스레드 구현
- 16. 다중 스레드 및 GDB
- 17. 다중 스레드 오류
- 18. 다중 스레드 데이터베이스 쿼리
- 19. 다중 스레드 및 메모리
- 20. 다중 스레드 힙 관리
- 21. 다중 스레드 처리 문제
- 22. 다중 스레드 문제가있는 FMDB
- 23. 간단한 다중 스레드 질문
- 24. 다중 스레드 정보
- 25. ScheduledExecutorService 병렬 다중 스레드
- 26. 루비 다중 배경 스레드
- 27. 자바에서 다중 스레드 처리
- 28. Log4j의 다중 스레드
- 29. 다중 스레드 프로그램에서 분기
- 30. 다중 스레드 딥 복사
흠, 정말로 당신의 질문에 대해 자세히 설명해야합니다. 왜 동시에 두 개의 스레드에서 동일한 이미지를 얻으려고합니까? 현재 실행중인 코드에 특정 문제가 있습니까? – DeusAduro