2009-11-03 3 views
0

카메라에서 사람의 얼굴을 인식하는 프로젝트를 진행하고 있습니다.패턴/아키텍처 조언?

  1. 획득 카메라로부터의 화상의 프레임
  2. 프레임에서 움직임이 있는지 움직임이 현재 프레임에서 검출 된 경우, 검출 상기 프로세스 큐 움직임 프레임 입력 : 여기서 플로이다.

    1. 워크 플로우를 쉽게 확장 할, 내가 추가 싶어 수 있습니다 말할 수 있습니다 :
    2. 검색 내가 원하는 얼굴

    을 저장,

  3. 얼굴이있는 경우 2 단계
  4. 에서 출력 프레임에 직면 새 기능을 추가하기위한 워크 플로우의 새로운 단계.
  5. 단계는 쉽게 온/오프없이 영향을 다음과 같이

내가 생각할 수있는 것은 서비스 버스 같은 아키텍처에 설정할 수 있습니다. 예 : . 2 단계. 모션 프레임이 검출되었음을 나타내는 메시지를 발행 할 수 있다면, 가입자는 캡쳐 된 모션 프레임으로 프로세스를 진행할 수있다.

그래서 어떻게 생각하십니까?

답변

2

응용 프로그램이 파이프 라인과 비슷한 것처럼 보입니다. 나는 chain-of-responsibility pattern에 갈 것이다.

+0

예. 그것은 마치 파이프 라인과 같지만 그 단계들은 서로를 알아야 할 필요가 있습니다. 말하자면, 3 단계는 2 단계의 상태를 알아야 할 수도 있습니다. 어떻게이 문제를 해결할 수 있습니까? – Benny

+0

2 단계에서 프레임의 움직임을 감지하지 못하면 3 단계가 전혀 호출되지 않을 수 있습니다. 2 단계는 요청을 삭제합니다. 반면에 프레임을 따라 파이프 라인을 따라 상태 객체를 전달할 수 있습니다. – spa

0

처리 할 각 프레임에 대해 콜백의 링크 된 목록과 플러그인 아키텍처를 사용합니다.

이 방법은 C에서 최소한 포인터 일뿐입니다. 사용자는 예를 들어, 다른 목적을 위해 다른 콜백 연결된 목록 체인을 만들 수

Chain 1: sobel()->generic_features()->eigenfaces()->metric_analysis()->save() 

그래서 체인이

입력으로 이전 단계의 프레임, 또는 그 결과를 받아 콜백으로 적용된다.

가난한 설명이 도움이되기를 바랍니다.