주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

비디오 입력 객체 시작 및 중지

비디오 입력 객체를 생성할 때 MATLAB®와 이미지 수집 장치 간의 연결이 설정됩니다. 하지만 장치에서 데이터를 수집하기 전에 먼저 start 함수를 사용하여 객체를 시작해야 합니다.

start(vid);

기기를 시작하면 해당 기기를 사용자 전용으로 예약하고 구성을 잠급니다. 따라서 실행 중에는 특정 속성이 읽기 전용이 됩니다.

이미지 수집 객체는 다음 조건 중 하나라도 충족되면 실행을 중지합니다.

  • 요청한 수의 프레임이 수집되었습니다. 이는 다음과 같은 경우에 발생합니다.

    FramesAcquired = FramesPerTrigger * (TriggerRepeat + 1)

    여기서 FramesAcquired, FramesPerTrigger, 및 TriggerRepeat는 비디오 입력 객체의 속성입니다. 이러한 속성에 대한 자세한 내용은 이미지 데이터 수집를 참조하십시오.

  • 런타임 오류가 발생합니다.

  • 객체의 Timeout 값에 도달했습니다.

  • stop 함수를 실행합니다.

객체가 시작될 때 툴박스는 객체의 Running 속성을 'on'로 설정합니다. 객체가 실행 중이 아닐 때 툴박스는 객체의 Running 속성을 'off'로 설정합니다. 이 상태를 정지(stopped)라고 합니다.

다음 그림은 물체가 달리는 상태에서 정지한 상태로 이동하는 과정을 보여줍니다.

달리는 상태에서 정지 상태로의 전환

다음 예는 객체를 시작하고 중지하는 방법을 보여줍니다.

  1. 이미지 수집 객체 생성 — 이 예제는 웹캠 이미지 수집 장치용 비디오 입력 객체를 생성합니다. 이 예제를 시스템에서 실행하려면 imaqhwinfo 함수를 사용하여 이미지 수집 장치에 대한 객체 생성자를 가져오고 해당 구문을 다음 코드로 바꾸세요.

    vid = videoinput('winvideo',1);
  2. 이미지가 정지 상태인지 확인합니다.isrunning 함수를 사용하여 비디오 입력 객체의 현재 상태를 확인합니다.

    isrunning(vid)
    
    ans =
    
         0
  3. 속성 구성 객체 상태를 설명하기 위해 비디오 입력 객체의 TriggerType 속성을 'Manual'로 설정합니다. TriggerType 속성을 포함한 특정 트리거 속성의 값을 설정하려면 triggerconfig 함수를 사용해야 합니다. 자세한 내용은 Setting the Values of Trigger Properties를 참조하세요.

    triggerconfig(vid, 'Manual')

    비디오 입력이 기록 상태에 표시되도록 몇 초 정도 걸리는 캡처 시간을 설정하십시오.

    vid.FramesPerTrigger = 100;
  4. 이미지 수집 객체 시작start 함수를 호출하여 이미지 수집 객체를 시작합니다.

    start(vid)
  5. 이미지가 실행 중이지만 로그가 기록되지 않는지 확인합니다.isrunningislogging 함수를 사용하여 비디오 입력 객체의 현재 상태를 확인합니다. 수동 트리거를 사용하는 경우, 비디오 입력 객체는 시작된 후 실행 상태가 되지만 트리거가 실행될 때까지 데이터 기록을 시작하지 않습니다.

    isrunning(vid)
    
    ans =
    
         1
    
    islogging(vid)
    
    ans =
    
         0
  6. 수동 트리거 실행trigger 함수를 호출하여 수동 트리거를 실행합니다.

    trigger(vid)

    데이터 수집이 진행되는 동안 비디오 입력 객체의 기록 상태를 확인하십시오.

    islogging(vid)
    
    ans =
    
         1

    지정된 프레임 수를 획득한 후 비디오 입력 객체는 실행을 중지합니다.

    isrunning(vid)
    
    ans =
    
         0
  7. 정리 — 더 이상 필요하지 않으면 메모리에서 이미지 수집 객체와 이를 참조하는 변수를 항상 제거합니다.

    delete(vid)
    clear vid