뭔가가 발생하기까지 기다리는 방법이 있습니다 (루프 동안) 또는 동그라미 감지를하기 전에 10 초 동안 기다렸지 만 비디오를 계속 표시하십시오. while 루프와 함께 시도했지만 조건이 충족되지 않으면 코드가 cvShow \ iamge()를 얻지 못하여 프레임이 표시되지 않습니다.비디오가있는 opencv 동그라미 감지
답변
예, 이 가능하지만 스레드를 사용해야합니다. 전역 변수 bool exec_circle_detection = false;
을 선언하고 두 번째 스레드를 시작하십시오. 이 스레드에서 sleep(10)
으로 전화를 걸어 10 초 동안 기다린 다음 exec_circle_detection
을 으로 변경하십시오.
루프를 잡는 루프의 주 스레드에서 부울 변수가 true로 설정되어 있는지 확인하고, 그렇지 않은 경우 프레임을 처리하지 않습니다. 한 번 10 초마다, 당신은 사용자 정의 처리를 실행 한 후 false로 exec_circle_detection
을 변경해야합니다 원 감지를 할 계획이라면
char key = 0;
while (key != 27) // ESC
{
frame = cvQueryFrame(capture);
if (!frame)
{
fprintf(stderr, "!!! cvQueryFrame failed!\n");
break;
}
if (exec_circle_detection)
{
// execute custom processing
}
// Display processed frame
cvShowImage("result", frame);
// Exit when user press ESC
key = cvWaitKey(10);
}
:이 부분은 (C)에 다음과 같이 보일 것입니다. 보조 스레드에서 while
루프가 exec_circle_detection
이 10 초마다 true로 변경되도록 코드를 조정하십시오.
X
프레임마다 간단히 감지를 실행할 수 있습니다. 코드에 프레임 카운터를 추가하고 감지가 실행될 때 0으로 다시 시작한 다음 캡처 된 각 새 프레임에서 1 씩 증가시키고 카운터가 300
일 때 감지를 수행하면 비디오가 30 fps
으로 표시됩니다. 각 감지 사이에 10 초 지연이 있습니다.
응용 프로그램이 다른 유형의 카메라에서만 작동하도록되어 있다면 어떻게 될까요? 더 신뢰할 수있는 솔루션은 나의 대답에서 설명한 타이밍 메커니즘을 사용하는 것입니다. – karlphillip
- 1. opencv 얼굴 감지
- 2. OpenCV 특정 물체 감지
- 3. 모션 감지 opencv
- 4. 일반적으로 OpenCV 라인 감지
- 5. OpenCV 홈 붙이기 감지
- 6. 얼룩 감지 OpenCV
- 7. 안드로이드 opencv 눈 감지
- 8. OpenCV : 타일에서 움직임 감지
- 9. OpenCV Python 바인딩의 기능 감지
- 10. 추적 기능이있는 Opencv 모션 감지
- 11. OpenCV 개체 감지 - 센터 지점
- 12. OpenCV : cvHoughCircle을 사용한 원 감지
- 13. 동그라미 그리기
- 14. 석영 동그라미 그리기의 터치 이벤트?
- 15. 매트 이미지에 저장된 객체 감지 opencv
- 16. 고해상도 이미지에 대한 Opencv 코너 감지
- 17. 안드로이드에서 OpenCv : 파일에서 이미지의 키포인트 감지
- 18. C++에서 OpenCV Canny Edge 감지
- 19. 밸리 감지 용 매끄러운 1D 히스토그램 (OpenCV)
- 20. iPhone 카메라에서 opencv 얼굴 감지 (실시간)
- 21. 주차장 선 및 ROI 감지 openCV
- 22. 비디오가있는 함수에서 캔버스와 Drawimage 사용하기
- 23. Qt의 양쪽에 비디오가있는 3D 큐브
- 24. HTML5 캔버스의 도형 그리기 ... 비디오가있는
- 25. 무작위 동그라미 그리기
- 26. 지도 작성기 동그라미 그리기
- 27. 도움말 아이폰에서 동그라미 그리기
- 28. 곡선 버튼과 동그라미
- 29. MFC 무승부 동그라미
- 30. 동그라미 회전 문제
고맙습니다. 나는 원 감지를 할 계획이고, 다음 10 초 동안 비디오를 보여 주기만하면 프로그램이 아무 것도하지 않기를 바란다. 다음 코드 줄로 돌아갑니다. –
굉장하고, 내 대답을 upvote하거나 근처에있는 확인란을 클릭하여 귀하의 질문에 공식 답변으로 그것을 선택하십시오. 아니면 둘 다 : – karlphillip
아마도 복잡한 질문. 내 코드에서 원을 감지하는 부분이 있습니다. 나는 10 초를 세고 서클을 탐지하고 코드의 다음 라인을 실행하지 않고 비디오를 표시하기를 원한다. ??? –