주요 콘텐츠

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

getdata

MATLAB 작업공간에 이미지 프레임을 가져옵니다.

설명

data = getdata(obj)는 비디오 입력 객체 objFramesPerTrigger 속성에 지정된 비디오 프레임 데이터를 포함하는 data를 반환합니다.

참고

getdata는 객체의 Timeout 속성에서 지정한 기간 내에 요청한 수의 프레임이 사용 가능해지면 실행 제어를 MATLAB® 작업 공간으로 반환하는 차단 함수입니다. 객체의 FramesAvailable 속성은 getdata가 반환하는 프레임 수만큼 자동으로 줄어듭니다. 요청한 프레임 수가 수집할 프레임 수보다 큰 경우 getdata는 오류를 반환합니다.

getdata는 메모리 버퍼에서 데이터를 제거합니다. peekdata는 그렇지 않습니다.

getdata가 차단된 동안 Ctrl+C를 실행할 수 있습니다. 이렇게 하면 수집이 중단되지 않고, 제어권이 MATLAB로 반환됩니다.

예제

data = getdata(obj,n)는 비디오 입력 객체 obj와 연관된 데이터의 n 프레임을 반환합니다.

data = getdata(obj,n,type)type를 사용하여 반환된 데이터를 저장하는 데 사용되는 데이터 유형을 지정합니다.

data = getdata(obj,n,type,format)는 지정된 형식으로 데이터를 반환합니다.

[data,time] = getdata(___)는 이전 입력 인수에 대해 첫 번째 트리거를 기준으로 data의 각 해당 프레임의 상대 시간도 반환합니다.

[data,time,metadata] = getdata(___)data의 프레임에 대한 추가 정보도 반환합니다.

예제

예제

모두 축소

비디오 입력 객체를 구성합니다.

obj = videoinput("gentl",1);

수집을 시작하고 기록된 데이터에 접근합니다.

start(obj);
data = getdata(obj);

수집한 모든 이미지 프레임을 표시합니다.

imaqmontage(data);

메모리에서 비디오 입력 객체를 제거합니다.

delete(obj)

비디오 입력 객체를 구성합니다.

obj = videoinput("gentl",1);

수집을 시작하고 기록된 데이터와 시간, 메타데이터에 액세스합니다.

start(obj);
[data,time,metadata] = getdata(obj);

프레임의 상대적 시간을 봅니다.

time
time =     
        0.2861     
        0.3677    
        0.4544    
        0.5412    
        0.6278    
        0.7144 
        0.8012
        0.8878
        0.9745
        1.0612

메타데이터를 확인하세요.

metadata
metadata =
   10×1 struct array with fields:
     AbsTime
     FrameNumber
     RelativeFrame
     TriggerIndex

metadata의 첫 번째 항목의 세부 정보를 봅니다.

metadata(1)
ans =
   struct with fields:
           AbsTime: [2024 8 23 11 12 31.5422]
       FrameNumber: 1
     RelativeFrame: 1
      TriggerIndex: 1

입력 인수

모두 축소

videoinput 함수의 출력으로 지정된 비디오 입력 객체입니다. obj는 1x1 비디오 입력 객체여야 합니다.

예: videoinput("matrox")

데이터 프레임의 수는 양의 정수로 지정됩니다.

데이터형: single | double

반환된 데이터 유형은 다음 이름 중 하나로 지정됩니다.

문자 벡터 유형

데이터형

"uint8"

부호 없는 8비트 정수

"uint16"

부호 없는 16비트 정수

"uint32"

부호 없는 32비트 정수

"single"

단정밀도

"double"

배정밀도

"native"

네이티브 데이터 유형을 사용합니다. 이는 디폴트 값입니다.

객체의 기본 데이터 유형과 일치하는 MATLAB 데이터 유형이 없으면 getdata는 수치적 정확도를 유지하는 MATLAB 데이터 유형을 선택합니다. 예를 들어, 12비트 RGB 색상 데이터의 구성 요소는 각각 uint8 데이터로 반환됩니다.

예: "single"

데이터형: char | string

반환된 데이터의 형식은 다음 이름 중 하나로 지정됩니다.

  • "numeric"dataH×W×B×F 배열로 반환합니다.

  • "cell"HxWxB 행렬의 Fx1 셀 배열로 data를 반환합니다.

예: "cell"

데이터형: char | string

출력 인수

모두 축소

이미지 데이터는 H×W×B×F 배열로 반환됩니다.

H

객체의 ROIPosition 속성에 지정된 이미지 높이

W

객체의 ROIPosition 속성에 지정된 이미지 너비

B

NumberOfBands 속성에 지정된 색 대역 수

F

반환된 프레임 수

dataReturnedColorSpace 속성으로 지정된 컬러스페이스를 사용하여 기본 데이터 유형으로 MATLAB 작업 공간으로 반환됩니다.

MATLAB image 또는 imagesc 함수를 사용하면 반환된 데이터를 볼 수 있습니다. 여러 프레임을 한 번에 보려면 imaqmontage를 사용하세요.

w

첫 번째 트리거를 기준으로 해당 프레임의 상대 시간을 초 단위로 나타낸 값으로, F×1 행렬로 반환됩니다. 여기서 Fdata에 있는 프레임의 개수입니다. trigger 항목을 참조하십시오.

time = 0는 데이터 기록이 시작되는 지점으로 정의됩니다. 데이터 기록이 시작되면 객체의 Logging 속성이 "On"로 설정됩니다. time는 수집이 중지될 때까지 0을 기준으로 지속적으로 측정됩니다. 수집이 중지되면 객체의 Running 속성은 "Off"로 설정됩니다.

data의 프레임에 대한 추가 정보는 구조체의 F x 1 배열로 반환됩니다. 여기서 Fdata의 프레임 개수입니다. 각 구조체에는 다음과 같은 필드가 포함됩니다.

메타데이터 필드

설명

"AbsTime"

프레임이 수집된 절대 시간은 시간 벡터로 표현됩니다.

"FrameNumber"

start 명령이 발행된 이후 n 번째 프레임을 식별하는 번호

"RelativeFrame"

트리거 시작을 기준으로 n 번째 프레임을 식별하는 번호

"TriggerIndex"

이 프레임이 수집된 트리거의 번호

"ChunkData"

프레임 메타데이터 필드가 있는 구조체(GenICam™ GenTL 호환 카메라에만 해당). 이 필드는 ChunkModeActive 속성이 true인 경우에만 존재합니다.

ChunkModeActive 속성을 사용하여 videosource 객체 청크 데이터를 활성화합니다. ChunkSelectorChunkEnable 속성을 사용하여 선택한 필드를 구성합니다. chunkDataInfo 함수를 사용하여 구성을 확인합니다.

이러한 필드 외에도 일부 어댑터는 다른 어댑터별 메타데이터를 제공할 수 있습니다.

버전 내역

R2006a 이전에 개발됨