이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
videoinput
비디오 입력 객체 생성
설명
videoinput
객체는 MATLAB®와 이미지 수집 장치 간의 연결을 나타냅니다.
생성
구문
설명
vid = videoinput(
는 비디오 입력 객체 adaptor
)vid
를 생성합니다. adaptor
는 장치와 통신하는 데 사용되는 어댑터의 이름을 지정하는 문자 벡터 또는 문자열 스칼라입니다. imaqhwinfo
를 사용하여 시스템에서 사용할 수 있는 어댑터를 확인하세요.
vid = videoinput(
는 비디오 입력 객체 adaptor
,deviceID
)vid
를 생성합니다. 여기서 deviceID
는 지정된 어댑터 adaptor
를 통해 사용할 수 있는 특정 장치를 식별하는 숫자형 스칼라 값입니다. imaqhwinfo(adaptor)
를 사용하여 지정된 어댑터를 통해 사용할 수 있는 장치를 확인하세요. deviceID
가 지정되지 않으면 사용 가능한 첫 번째 장치 ID가 사용됩니다. deviceID
대신 장치 이름을 사용할 수도 있습니다. 여러 장치의 이름이 같은 경우, 사용 가능한 첫 번째 장치가 사용됩니다.
vid = videoinput(
는 비디오 입력 객체 adaptor
,deviceID
,format
)vid
를 생성합니다. 여기서 format
는 장치에서 지원하는 특정 비디오 형식이나 장치 구성 파일(카메라 파일이라고도 함)의 전체 경로를 지정하는 문자 벡터 또는 문자열 스칼라입니다. 특정 장치에서 지원하는 형식 목록을 얻으려면 imaqhwinfo
에서 반환된 장치의 DeviceInfo
구조체를 확인하십시오. 각 DeviceInfo
구조체에는 SupportedFormats
필드가 포함되어 있습니다. format
가 지정되지 않으면 장치의 디폴트 형식이 사용됩니다. 비디오 입력 객체가 생성되면 VideoFormat
속성에는 사용자가 지정한 형식 이름이나 장치 구성 파일이 포함됩니다.
vid = videoinput(___,
는 비디오 입력 객체를 생성하고 이전 구문의 입력 인수 외에도 하나 이상의 이름-값 인수를 사용하여 추가 속성을 설정합니다. 잘못된 속성 이름이나 속성 값이 지정되면 객체가 생성되지 않습니다. 이름-값 인수를 사용하여 어댑터에 설정할 수 있는 속성의 전체 목록을 보려면 탭 완성을 사용하세요.Name,Value
)
비디오 입력 객체 함수 및 속성의 전체 목록을 보려면 imaqhelp
를 사용하세요.
참고
툴박스는 사용 가능한 첫 번째 비디오 소스 객체를 선택된 소스로 선택하고 객체의 SelectedSourceName
속성에 이 비디오 소스 객체의 이름을 지정합니다. getselectedsource(obj)
를 사용하여 수집에 사용되는 비디오 소스 객체에 액세스합니다.
속성
일반 속성
베이어 모자이크 제거를 위한 센서 정렬은 "grbg"
, "gbrg"
, "rggb"
또는 "bggr"
로 지정됩니다. ReturnedColorSpace
속성이 "bayer"
로 설정되면 Image Acquisition Toolbox™는 하드웨어에서 반환된 베이어 패턴을 모자이크 제거합니다. 이 컬러스페이스 설정은 베이어 패턴으로 인코딩된 이미지를 표준 RGB 이미지로 보간합니다. 카메라가 베이어 필터링을 사용하는 경우, 툴박스는 베이어 패턴을 지원하며 원하는 경우 색상을 반환할 수 있습니다.
모자이크 제거를 수행하려면 툴박스에서 센서의 픽셀 정렬을 알아야 합니다. 이는 빨간색, 녹색, 파란색 센서의 순서이며 일반적으로 센서의 왼쪽 상단 모서리에 있는 4개 픽셀을 설명하여 지정합니다. 이는 카메라의 내부 하드웨어에 의해 해석되는 픽셀의 대역 감도 정렬입니다. 이 정보는 카메라 설명서에서 얻은 다음 아래 표에 설명된 대로 정렬 값을 지정해야 합니다.
4가지의 센서 정렬이 가능합니다.
값 | 설명 |
---|---|
| 2×2 센서 정렬은 green blue red green |
| 2×2 센서 정렬은 green red blue green |
| 2×2 센서 정렬은 blue green green red |
| 2×2 센서 정렬은 red green green blue |
이 속성의 값은 ReturnedColorSpace
속성이 "bayer"
로 설정된 경우에만 사용됩니다.
베이어 이미지를 변환하는 방법을 보여주는 예는 Converting Bayer Images를 참조하세요.
데이터형: char
| string
읽기 전용 속성입니다.
지정된 어댑터에 대한 이미지 수집 장치 ID이며, 음이 아닌 정수로 지정됩니다. 이 속성은 비디오 입력 객체가 나타내는 장치를 식별합니다.
장치 ID는 어댑터가 할당하는 번호로, 이미지 수집 장치를 고유하게 식별합니다. 어댑터는 감지한 첫 번째 장치에 식별자 1
를 할당하고, 두 번째 장치에 식별자 2
를 할당합니다.
비디오 입력 객체를 생성할 때 videoinput
함수의 입력으로 장치 ID를 지정할 수 있습니다. 객체는 DeviceID
속성에 값을 저장하고, Name
속성의 디폴트 값을 구성할 때도 이 값을 사용합니다.
시스템에 연결된 장치의 ID 목록을 얻으려면 imaqhwinfo
함수를 사용하고 특정 어댑터의 이름을 인수로 지정합니다.
데이터형: double
비디오 입력 객체가 비디오 스트림에서 프레임을 수집하는 빈도로, 양의 정수로 지정됩니다. 기본적으로 객체는 비디오 스트림의 모든 프레임을 수집하지만, 이 속성을 사용하여 다른 수집 간격을 지정할 수 있습니다.
참고
프레임 그랩 간격과 프레임 속도를 혼동하지 마세요. 프레임 속도가란 이미지 수집 장치가 프레임을 제공하는 속도를 나타내며, 일반적으로 초 단위로 측정합니다(예: 초당 30프레임). 프레임 그랩 간격은 초가 아닌 프레임으로 측정됩니다. 특정 장치의 프레임 속도를 구성할 수 있는 경우 비디오 소스 객체에는 장치별 속성으로 프레임 속도가 포함될 수 있습니다.
예를 들어, FrameGrabInterval
값을 3
로 지정하면 이 그림에서처럼 객체는 비디오 스트림에서 세 번째 프레임마다 프레임을 수집합니다. 객체는 FrameGrabInterval
를 적용하기 전에 비디오 스트림의 첫 번째 프레임을 수집합니다.
SelectedSourceName
속성에서 비디오 스트림의 소스를 지정합니다.
데이터형: double
읽기 전용 속성입니다.
메모리 버퍼에서 추출된 프레임 수에 관계없이 객체가 수집한 총 프레임 수이며, 음이 아닌 정수로 지정됩니다. 비디오 입력 객체는 프레임을 수집하면서 FramesAcquired
속성의 값을 지속적으로 업데이트합니다.
참고
start
명령을 실행하면 비디오 입력 객체는 FramesAcquired
속성 값을 0
으로 재설정하고 버퍼를 플러시합니다.
메모리 버퍼에서 사용 가능한 프레임 수를 알아보려면 FramesAvailable
속성을 사용하세요.
데이터형: double
읽기 전용 속성입니다.
메모리 버퍼에서 사용할 수 있는 총 프레임 수이며 음이 아닌 정수로 지정됩니다. 데이터를 추출하면 객체는 FramesAvailable
속성 값을 적절한 프레임 수만큼 줄입니다. getdata
함수를 사용하여 데이터를 추출하고 MATLAB 작업 공간으로 옮길 수 있습니다.
참고
start
명령을 실행하면 비디오 입력 객체는 FramesAvailable
속성 값을 0
으로 재설정하고 버퍼를 플러시합니다.
마지막 start
명령 이후로 수집된 총 프레임 수를 보려면 FramesAcquired
속성을 사용하세요.
데이터형: double
문자 벡터 또는 문자열 스칼라로 지정되는 이미지 수집 객체의 이름입니다.
툴박스는 VideoFormat
및 DeviceID
속성 값을 이 형식의 어댑터 이름과 결합하여 디폴트 이름을 만듭니다. VideoFormat
+ '
-'
+ 어댑터 이름 + '
-'
+ DeviceID
데이터형: char
| string
읽기 전용 속성입니다.
수집할 데이터의 색 대역 수이며, 양의 정수로 지정됩니다. 툴박스는 그림에서와 같이 밴드를 3차원 배열의 세 번째 차원으로 정의합니다.
NumberOfBands
속성의 값은 getsnapshot
, getdata
, peekdata
가 반환하는 데이터의 색 대역 수를 나타냅니다.
데이터형: double
미리 보기 창의 이미지 데이터가 전체 비트 심도로 표시되는지 여부를 "off"
또는 "on"
로 지정합니다.
참고
Image Acquisition Toolbox 미리보기 창은 최대 16비트 이미지 데이터의 표시를 지원합니다. 미리 보기 창은 8비트 데이터만 표시하도록 설계되었지만 많은 카메라는 10, 12, 14 또는 16비트 데이터를 반환합니다. 미리 보기 창 표시는 이러한 더 높은 비트 심도 카메라를 지원합니다. 그러나 더 큰 비트 데이터는 미리 보기 데이터를 표시하는 데 사용하기 위해 8비트로 조정됩니다. 회색조 이미지의 전체 비트 심도로 미리 보기 창에서 이미지 데이터를 캡처하려면 PreviewFullBitDepth
속성을 'on'
로 설정합니다.
이 속성을 "off"
로 설정하면 미리 보기 창의 이미지 데이터의 비트 심도가 8비트로 축소됩니다. 이 속성을 "on"
로 설정하면 미리 보기 창의 이미지 데이터가 전체 비트 심도로 캡처됩니다.
이 속성은 ReturnedColorspace
속성 값이 "grayscale"
로 설정되어 있고 비디오 형식이 8비트 깊이보다 높은 경우에만 "on"
로 설정할 수 있습니다.
데이터형: char
| string
읽기 전용 속성입니다.
객체가 현재 별도 창에서 데이터를 미리 보고 있는지 여부를 "off"
또는 "on"
로 지정합니다.
preview
함수를 호출하면 해당 객체는 Previewing
속성을 "on"
로 설정합니다.
closepreview
함수를 사용하거나 미리 보기 창 제목 표시줄에 있는 닫기 버튼을 클릭하여 미리 보기 창을 닫으면 해당 객체는 Previewing
속성을 "off"
로 설정합니다.
데이터형: char
툴박스가 이미지 데이터를 MATLAB 작업 공간으로 반환할 때 사용할 컬러스페이스로, "grayscale"
, "rgb"
, "YCbCr"
또는 "bayer"
로 지정됩니다. 이 내용은 getsnapshot
, getdata
, peekdata
함수를 사용하여 수집한 이미지 데이터에 액세스할 때에만 해당됩니다.
이 속성은 다음 값 중 하나를 가질 수 있습니다.
값 | 설명 |
---|---|
"grayscale" | MATLAB 회색조 컬러스페이스. |
"rgb" | MATLAB RGB 컬러스페이스. |
"YCbCr" | MATLAB YCbCr 컬러스페이스. YCbCr는 종종 부정확하게 YUV라고 지칭되는 경우가 있습니다. (YUV는 유사하지만 동일하지는 않습니다. 결과에 적용되는 크기 조정 요소가 다릅니다. YUV는 합성 NTSC 및 PAL 형식에 사용되는 특정 스케일링 요소를 나타냅니다. 대부분의 경우 YUV를 지원하는 장치에 대해 YCbCr 컬러스페이스를 지정할 수 있습니다.) |
"bayer" | 회색조 베이어 색상 패턴을 RGB 이미지로 변환합니다.
|
참고
GigE 및 GenTL과 같은 일부 어댑터의 경우 베이어로 시작하는 형식(예: BayerGB8_640x480
)을 사용하면 원시 베이어 패턴이 자동으로 색상으로 변환됩니다. ReturnedColorSpace
는 RGB입니다. ReturnedColorSpace
를 "grayscale"
로 설정하면 원시 패턴을 얻게 됩니다.
기본 컬러스페이스를 결정하고 컬러스페이스 설정을 변경하는 방법을 보여주는 예는 Specifying the Color Space를 참조하세요.
데이터형: char
| string
관심 영역 수집 창은 1×4 요소 벡터로 지정됩니다. ROI는 툴박스에 기록된 프레임의 실제 크기를 정의하며, 이미지 프레임의 왼쪽 상단 모서리를 기준으로 측정됩니다.
ROIPosition
는 1×4 요소 벡터 [XOffset YOffset Width Height]
로 지정됩니다.
XOffset | 픽셀 단위로 측정한 ROI의 왼쪽 상단 모서리 위치입니다. |
YOffset | 픽셀 단위로 측정한 ROI의 왼쪽 상단 모서리 위치입니다. |
Width | 픽셀 단위로 측정한 ROI의 너비입니다. |
Height | 픽셀 단위로 측정한 ROI의 높이입니다. |
참고
Width
에는 두 끝점과 픽셀 간 너비가 포함되지 않습니다. 여기에는 한쪽 끝점과 픽셀 사이의 너비가 포함됩니다. 예를 들어, 픽셀 20~30의 ROI를 캡처하고 싶은 경우, 끝 픽셀 20과 30을 모두 포함해서 XOffset
를 19
로, Width
를 11
로 설정합니다. height
에도 같은 규칙이 적용됩니다.
위에 표시된 그림에서 캡처된 ROI의 너비에는 두 끝점을 포함하여 픽셀 51~170이 포함됩니다. XOffset
가 50
로 설정되고 Width
가 120
로 설정되었기 때문입니다.
데이터형: double
읽기 전용 속성입니다.
비디오 입력 객체가 데이터를 수집할 준비가 되었는지 여부를 "off"
또는 "on"
로 지정합니다.
Logging
속성과 함께 Running
는 비디오 입력 객체의 상태를 반영합니다. Running
속성은 객체가 데이터를 수집할 준비가 되었음을 나타내고, Logging
속성은 객체가 데이터를 수집 중임을 나타냅니다.
start
명령을 실행하면 해당 객체는 Running
속성을 "on"
로 설정합니다. Running
가 "on"
인 경우, 비디오 소스로부터 데이터를 가져올 수 있습니다.
다음 조건 중 하나라도 충족되면 객체는 Running
속성을 "off"
로 설정합니다.
지정된 수의 프레임을 수집하였습니다.
런타임 오류가 발생합니다.
stop
명령을 내립니다.
Running
가 "off"
인 경우, 이미지 데이터를 얻을 수 없습니다. 하지만 getsnapshot
함수를 이용하면 하나의 이미지 프레임을 얻을 수 있습니다.
데이터형: char
getdata
및 getsnapshot
함수가 데이터가 반환될 때까지 기다리는 시간(초)이며, 양의 정수로 지정됩니다. Timeout
속성은 이러한 차단 함수에만 연관됩니다. 지정된 기간이 만료되면 해당 함수는 MATLAB 명령줄로 제어권을 반환합니다.
타임아웃은 수집을 중단하기 위한 조건 중 하나입니다. 시간 초과가 발생하고 객체가 실행 중이면 ErrorFcn
로 지정된 MATLAB 파일 함수가 호출됩니다.
참고
Timeout
속성은 하드웨어 시간 초과 조건과 관련이 없습니다.
데이터형: double
MATLAB 데이터 유형으로 지정하여 이미지 수집 객체와 연관시키려는 저장된 데이터입니다.
참고
해당 객체는 UserData
의 데이터를 직접 사용하지 않습니다. 하지만 점 표기법을 사용하여 MATLAB 구조체의 필드처럼 속성을 참조하면 데이터에 액세스할 수 있습니다.
읽기 전용 속성입니다.
객체를 생성할 때 지정한 이미지 수집 장치에서 사용하는 비디오 형식 또는 장치 구성 파일의 이름이며, 문자 벡터로 지정됩니다.
이미지 수집 장치는 일반적으로 여러 가지 비디오 형식을 지원합니다. 비디오 입력 객체를 생성할 때 장치에서 사용할 비디오 형식을 지정할 수 있습니다. 인수로 비디오 형식을 지정하지 않으면 videoinput
함수는 디폴트 형식을 사용합니다. imaqhwinfo
함수를 사용하여 특정 장치가 지원하는 비디오 형식을 확인하고 디폴트 형식이 무엇인지 알아보세요.
또는, 카메라 파일이나 디지타이저 구성 형식(DCF) 파일이라고도 하는 장치 구성 파일의 이름을 지정할 수 있습니다. 일부 이미지 수집 장치는 이러한 파일을 사용하여 장치 구성 정보를 저장합니다. videoinput
함수는 이 파일을 사용하여 비디오 형식 및 기타 구성 정보를 확인할 수 있습니다.
imaqhwinfo
함수를 사용하여 장치가 장치 구성 파일을 지원하는지 확인하세요.
데이터형: char
읽기 전용 속성입니다.
들어오는 비디오 스트림의 프레임의 픽셀 단위 너비와 높이이며, 두 요소 벡터 [width height]
로 지정됩니다.
참고
비디오 입력 객체를 생성할 때 videoinput
함수에 비디오 형식 인수를 전달하여 비디오 해상도를 지정합니다. 비디오 형식을 지정하지 않으면 videoinput
함수는 디폴트 비디오 형식을 사용합니다. imaqhwinfo
함수를 사용하여 특정 장치가 지원하는 비디오 형식을 확인하고 디폴트 형식이 무엇인지 알아보세요.
데이터형: double
데이터 기록 속성
읽기 전용 속성입니다.
비디오 입력 객체가 현재 데이터를 기록하고 있는지 여부를 "off"
또는 "on"
로 지정합니다.
트리거가 발생하면 객체는 Logging
속성을 "on"
로 설정하고 LoggingMode
속성 값에 따라 메모리, 디스크 파일 또는 둘 다에 데이터를 기록합니다.
객체는 요청된 수의 프레임을 수집하거나 오류가 발생하거나 stop
명령을 실행하면 Logging
속성을 "off"
로 설정합니다.
객체가 실행 중이지만 기록하지 않을 때 데이터를 수집하려면 peekdata
함수를 사용합니다. peekdata
함수는 요청된 모든 이미지 데이터가 반환된다는 것을 보장하지 않습니다. 간격 없이 모든 데이터를 얻으려면 객체가 데이터를 메모리나 디스크 파일에 기록해야 합니다.
데이터형: char
수집한 데이터의 목적지는 "memory"
, "disk"
, 또는 "disk&memory"
로 지정됩니다. 이 속성은 비디오 입력 객체가 수집한 데이터를 저장할 위치를 지정합니다. 다음 값을 지정할 수 있습니다.
값 | 설명 |
---|---|
"disk" | 수집한 데이터를 디스크 파일에 기록합니다. |
"disk&memory" | 수집한 데이터를 디스크 파일과 메모리 버퍼에 모두 기록합니다. |
"memory" | 수집한 데이터를 메모리 버퍼에 기록합니다. |
"disk"
또는 "disk&memory"
를 선택하는 경우 DiskLogger
속성 값으로 디스크 파일에 액세스하는 데 사용되는 AVI 파일 객체를 지정해야 합니다.
참고
데이터를 메모리에 기록할 때는 getdata
함수를 사용하여 수집한 데이터를 적절한 시기에 추출해야 시스템에서 사용 가능한 모든 메모리를 사용하지 않아도 됩니다.
참고
peekdata
함수는 디스크 기록 모드에서 실행되는 동안 아무 데이터도 반환하지 않습니다.
데이터형: char
| string
MATLAB VideoWriter
파일은 VideoWriter
객체로 지정되어 데이터를 기록하는 데 사용됩니다. 이 속성은 LoggingMode
속성이 "disk"
또는 "disk&memory"
로 설정된 경우 데이터를 기록하는 데 사용되는 VideoWriter
파일 객체를 지정합니다.
최상의 성능을 위해 디스크에 기록하려면 MATLAB VideoWriter
객체가 필요한데, 이 객체는 MATLAB 객체이며 Image Acquisition Toolbox 객체가 아닙니다. VideoWriter
객체를 만들고 구성한 후 DiskLogger
속성으로 지정할 수 있습니다.
MATLAB VideoWriter
객체는 파일 이름과 기타 특성을 지정합니다. 예를 들어, VideoWriter
속성을 사용하여 데이터 압축에 사용되는 프로필과 원하는 출력 품질을 지정할 수 있습니다. VideoWriter
객체와 해당 속성에 대한 자세한 내용은 VideoWriter
를 참조하세요.
참고
비디오 입력 객체에서 데이터 기록을 위해 사용 중인 VideoWriter
파일에서 VideoWriter
함수가 반환한 변수를 사용하여 어떠한 작업도 수행하지 마세요. 예를 들어, VideoWriter
파일 속성을 변경하거나 프레임을 추가하거나 객체를 닫지 마세요. 변경 사항이 비디오 입력 객체와 충돌할 수 있습니다.
Logging
와 Running
가 꺼진 후에도 DiskLogger
가 여전히 디스크에 데이터를 쓰고 있을 수 있습니다. DiskLogger
가 디스크에 데이터 쓰기를 완료하면 DiskLoggerFrameCount
속성 값은 FramesAcquired
속성 값과 같아야 합니다. 이 조건이 충족될 때까지 DiskLogger
를 닫거나 수정하지 마세요.
VideoWriter
파일을 사용하여 이미지 데이터를 기록하는 것에 대한 자세한 내용은 디스크에 이미지 데이터 기록를 참조하세요.
참고
peekdata
함수는 디스크 기록 모드에서 실행되는 동안 아무 데이터도 반환하지 않습니다.
읽기 전용 속성입니다.
디스크에 기록된 프레임 수이며, 음이 아닌 정수로 지정됩니다. 이 속성은 DiskLogger
에 의해 디스크에 쓰여진 현재 프레임 수를 나타냅니다. 이 값은 LoggingMode
속성이 "disk"
또는 "disk&memory"
로 설정된 경우에만 업데이트됩니다.
Logging
와 Running
가 꺼진 후에도 DiskLogger
가 여전히 디스크에 데이터를 쓰고 있을 수 있습니다. DiskLogger
가 디스크에 데이터 쓰기를 완료하면 DiskLoggerFrameCount
속성 값은 FramesAcquired
속성 값과 같아야 합니다. 이 조건이 충족될 때까지 DiskLogger
를 닫거나 수정하지 마세요.
데이터형: double
이벤트 및 콜백 속성
읽기 전용 속성입니다.
구조체의 배열로 지정된 이벤트에 대한 정보입니다. 배열의 각 구조체는 하나의 이벤트를 나타냅니다. 사건은 발생한 순서대로 기록됩니다. 첫 번째 EventLog
구조체는 기록된 첫 번째 이벤트를 반영하고, 두 번째 EventLog
구조체는 기록된 두 번째 이벤트를 반영합니다.
각 이벤트 기록 구조체에는 Type
와 Data
라는 두 개의 필드가 포함됩니다.
Type
필드는 이벤트 유형을 식별하는 문자 배열을 저장합니다. Image Acquisition Toolbox는 다음 표에 나열된 다양한 이벤트 유형을 정의합니다. 모든 이벤트 유형이 기록되는 것은 아닙니다.
이벤트 유형 | 설명 | 로그에 포함됨 |
---|---|---|
오류 | 런타임 오류가 발생했습니다. 런타임 오류에는 시간 초과 및 하드웨어 오류가 포함됩니다. | 예 |
프레임 수집됩 |
| 아니요 |
시작 |
| 예 |
중지 | 객체 실행이 중지되었습니다. | 예 |
타이머 | 타이머가 만료되었습니다. | 아니요 |
트리거 | 트리거가 실행되었습니다. | 예 |
Data
필드는 특정 이벤트와 관련된 정보를 저장합니다. 예를 들어, 모든 이벤트는 이벤트가 발생한 절대 시간을 AbsTime
필드에 반환합니다. 기타 이벤트별 필드는 Data
에 포함되어 있습니다. 자세한 내용은 Retrieving Event Information 항목을 참조하십시오.
EventLog
는 최대 1000개의 이벤트를 저장할 수 있습니다. 이 값을 초과하면 가장 최근의 1000개 이벤트가 저장됩니다.
데이터형: struct
오류 이벤트가 발생할 때 실행할 콜백 함수입니다. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다. 런타임 오류 이벤트는 런타임 오류가 발생한 직후에 생성됩니다.
런타임 오류에는 하드웨어 오류와 시간 초과가 포함됩니다. 런타임 오류에는 잘못된 속성 값을 설정하는 등의 구성 오류는 포함되지 않습니다.
런타임 오류 이벤트 정보는 EventLog
속성에 저장됩니다. EventLog
의 Data.Message
필드를 사용하면 모든 오류 메시지를 검색할 수 있습니다.
참고
ErrorFcn
를 포함한 콜백은 비디오 객체가 실행 상태일 때만 실행됩니다. 미리 보기 중에 오류 처리를 위해 ErrorFcn
콜백을 사용해야 하는 경우 미리 보기 전에 비디오 객체를 시작해야 합니다. 데이터를 기록하지 않고 이 작업을 수행하려면 수동 트리거를 사용하세요.
데이터형: char
| string
| cell
| function_handle
미리 정의된 수의 프레임이 수집될 때마다 실행되는 콜백 함수입니다. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다.
FramesAcquiredFcnCount
속성으로 지정된 개수의 프레임이 선택된 비디오 소스에서 수집되면 즉시 프레임 수집 이벤트가 생성됩니다. 이 이벤트는 FramesAcquiredFcn
에 지정된 MATLAB 파일을 실행합니다.
수집된 각 프레임에 액세스해야 하는 경우 FramesAcquiredFcn
콜백을 사용하세요. 이러한 요구 사항이 없으면 TimerFcn
속성을 사용할 수 있습니다.
프레임에서 수집한 이벤트 정보는 EventLog
속성에 저장되지 않습니다.
데이터형: char
| string
| cell
| function_handle
프레임 수집 이벤트가 생성되기 전에 선택한 비디오 소스에서 수집할 프레임 수로, 양의 정수로 지정됩니다.
객체는 선택된 비디오 소스에서 FramesAcquiredFcnCount
로 지정된 개수의 프레임을 수집한 직후에 프레임 수집 이벤트를 생성합니다.
데이터형: double
시작 이벤트가 발생할 때 실행할 콜백 함수. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다. start
명령을 실행한 직후에 시작 이벤트가 발생합니다.
StartFcn
콜백은 동기적으로 실행됩니다. 툴박스는 콜백 함수 실행이 완료될 때까지 객체의 Running
속성을 "on"
로 설정하지 않습니다. 콜백 함수에서 오류가 발생하면 객체는 결코 실행되지 않습니다.
시작 이벤트 정보는 EventLog
속성에 저장됩니다.
데이터형: char
| string
| cell
| function_handle
중지 이벤트가 발생할 때 실행할 콜백 함수입니다. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다. stop
명령을 실행하면 즉시 중지 이벤트가 발생합니다.
StopFcn
콜백은 동기적으로 실행됩니다. 대부분의 상황에서 이미지 수집 객체는 중지되고 MATLAB 파일 실행이 완료될 때쯤이면 Running
속성이 "off"
로 설정됩니다.
중지 이벤트 정보는 EventLog
속성에 저장됩니다.
데이터형: char
| string
| cell
| function_handle
타이머 이벤트가 발생할 때 실행할 콜백 함수입니다. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다. 타이머 이벤트는 TimerPeriod
속성으로 지정된 기간이 만료되면 발생합니다.
툴박스는 start
함수로 객체가 시작된 시점을 기준으로 시간을 측정합니다. 이미지 수집 객체가 실행을 멈추면 타이머 이벤트 생성이 중단됩니다.
참고
시스템이 상당히 느리거나 지정한 TimerPeriod
값이 너무 작은 경우 일부 타이머 이벤트가 처리되지 않을 수 있습니다.
데이터형: char
| string
| cell
| function_handle
타이머 이벤트가 트리거되기 전에 경과해야 하는 시간(초)이며 0.01보다 큰 양수 값으로 지정됩니다.
툴박스는 start
함수로 객체가 시작된 시점을 기준으로 시간을 측정합니다. 이미지 수집 객체가 실행을 멈추면 타이머 이벤트 생성이 중단됩니다.
참고
시스템이 상당히 느리거나 지정한 TimerPeriod
값이 너무 작은 경우 일부 타이머 이벤트가 처리되지 않을 수 있습니다.
데이터형: double
트리거 이벤트가 발생할 때 실행할 콜백 함수입니다. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다. 구성된 TriggerType
에 따라 트리거가 실행되고 데이터 기록이 시작되면 툴박스가 트리거 이벤트를 생성합니다.
대부분의 상황에서 MATLAB 파일 콜백 함수는 툴박스가 Logging
속성을 "on"
로 설정한 후 어느 시점까지 실행이 완료되지 않을 수 있습니다.
트리거 이벤트 정보는 EventLog
속성에 저장됩니다.
데이터형: char
| string
| cell
| function_handle
트리거 속성
읽기 전용 속성입니다.
비디오 입력 객체에서 사용하는 트리거 유형으로, "immediate"
, "hardware"
또는 "manual"
로 지정됩니다. 트리거는 데이터 수집을 시작합니다.
triggerconfig
함수를 사용하여 이 속성에 대해 다음 값 중 하나를 지정합니다.
| 설명 |
---|---|
| 트리거는 지정된 조건이 충족되면 실행됩니다. |
|
|
|
|
데이터형: char
읽기 전용 속성입니다.
트리거 이벤트가 발생하기 전에 TriggerSource
를 통해 충족되어야 하는 조건. 문자 벡터로 지정됩니다. 지정할 수 있는 트리거 조건은 TriggerType
속성의 값에 따라 달라집니다.
| 이용 가능한 조건 |
---|---|
| 장치에 따라 다름. 예를 들어, 일부 Matrox® 하드웨어는 |
|
|
|
|
이 속성의 값을 설정하려면 triggerconfig
함수를 사용해야 합니다.
데이터형: char
읽기 전용 속성입니다.
하드웨어 소스는 이미지 수집 객체가 트리거 조건을 모니터링하는 데 사용되며 문자 벡터로 지정됩니다. TriggerCondition
속성에 지정된 조건이 충족되면 객체는 트리거를 실행하고 데이터를 수집하기 시작합니다.
이 값을 지정하려면 triggerconfig
함수를 사용합니다. TriggerSource
속성의 값은 장치에 따라 다릅니다. 특정 장치가 트리거를 생성하는 데 사용하는 메커니즘을 지정합니다.
예를 들어, Matrox 하드웨어의 경우 TriggerSource
속성은 "Port0"
또는 "Port1"
와 같은 값을 가질 수 있습니다. triggerinfo
함수를 사용하여 이미지 수집 장치에 유효한 값 목록을 확인하세요.
이 속성의 값을 설정하려면 triggerconfig
함수를 사용해야 합니다.
참고
TriggerSource
속성은 TriggerType
속성이 "hardware"
로 설정된 경우에만 사용됩니다.
데이터형: char
선택한 비디오 소스를 사용하여 트리거를 실행할 때마다 비디오 입력 객체가 수집하는 프레임 수로, 양의 정수로 지정됩니다.
FramesPerTrigger
속성의 값을 Inf
로 설정하면 오류가 발생하거나 stop
명령을 실행할 때까지 객체는 프레임을 계속 수집합니다.
참고
FramesPerTrigger
속성이 Inf
로 설정되면 객체는 TriggerRepeat
속성 값을 무시합니다.
데이터형: double
읽기 전용 속성입니다.
첫 번째 트리거의 절대 시간은 MATLAB 클록 벡터로 반환됩니다.
모든 트리거 유형에 대해 InitialTriggerTime
는 Logging
속성이 "on"
로 설정된 시간을 기록합니다.
후속 트리거가 실행된 시간을 찾으려면 특정 트리거의 EventLog
속성의 Data.AbsTime
필드를 확인합니다.
데이터형: double
트리거가 발생한 후 프레임을 수집하기 전에 건너뛸 프레임 수이며, 정수로 지정됩니다. 객체는 트리거 이후 지정된 수의 프레임을 기다린 후 프레임 기록을 시작합니다.
이 그림에서 TriggerFrameDelay
는 5
로 설정되어 있으므로 객체는 프레임 수집을 시작하기 전에 5개의 프레임을 통과시킵니다. 캡처된 프레임 수는 FramesPerTrigger
속성에 의해 정의됩니다.
데이터형: double
객체가 트리거를 실행할 추가 횟수이며, 음이 아닌 정수로 지정됩니다. 이 표는 몇 가지 일반적인 TriggerRepeat
값에 대한 동작을 설명합니다.
값 | 동작 |
---|---|
| 트리거 조건이 충족되면 트리거를 한 번 실행합니다. |
모든 양의 정수 | 트리거 조건이 충족되면 지정된 횟수만큼 추가로 트리거를 실행합니다. |
|
|
트리거가 몇 개나 실행되었는지 확인하려면 TriggersExecuted
속성의 값을 확인하세요.
참고
FramesPerTrigger
속성이 Inf
로 설정되면 객체는 TriggerRepeat
속성 값을 무시합니다.
데이터형: double
읽기 전용 속성입니다.
비디오 입력 객체가 실행한 트리거의 총 수이며 음이 아닌 정수로 지정됩니다.
데이터형: double
비디오 소스 객체 속성
읽기 전용 속성입니다.
비디오 소스 객체의 부모인 비디오 입력 객체로, videoinput
객체로 지정됩니다.
비디오 소스 객체의 부모는 비디오 소스 객체를 소유한 비디오 입력 객체로 정의됩니다.
읽기 전용 속성입니다.
비디오 소스 객체를 수집에 사용할지 여부를 "off"
또는 "on"
로 지정합니다. 비디오 입력 객체의 SelectedSourceName
속성 값으로 비디오 소스 객체의 이름을 지정하여 비디오 소스 객체를 선택합니다. 비디오 입력 객체의 Source
속성은 비디오 입력 객체와 연관된 모든 비디오 소스 객체의 배열입니다.
Selected
가 "on"
이면, 비디오 소스 객체가 선택됩니다. 값이 "off"
인 경우 비디오 소스 객체가 선택되지 않습니다.
비디오 소스는 단일 엔터티로 처리되는 하나 이상의 물리적 데이터 소스의 컬렉션으로 정의됩니다. 예를 들어, 각각 3개의 물리적 연결(빨강, 녹색, 파랑)로 구성된 여러 RGB 소스를 지원하는 하드웨어는 단일 비디오 소스 객체로 처리됩니다.
데이터형: char
읽기 전용 속성입니다.
문자 벡터로 지정되는 비디오 소스 객체의 이름입니다.
SourceName
는 비디오 입력 객체의 SelectedSourceName
속성의 값 중 하나입니다.
데이터형: char
이미지 수집 객체와 연관시키려는 설명 텍스트로, 문자 벡터 또는 문자열 스칼라로 지정됩니다.
Tag
속성은 이미지 수집 객체를 전역 변수로 정의하거나 콜백 루틴 간에 객체를 인수로 전달해야 하는 프로그램을 구성할 때 유용할 수 있습니다.
imaqfind
함수를 사용할 때 Tag
속성 값을 사용하면 특정 이미지 수집 객체를 검색할 수 있습니다.
데이터형: char
| string
읽기 전용 속성입니다.
"videoinput"
또는 "videosource"
로 지정된 이미지 수집 객체의 유형입니다. 이미지 수집 객체는 다음 두 유형 중 하나일 수 있습니다.
비디오 입력 객체
비디오 소스 객체
데이터형: char
수집 소스 속성
비디오 입력 객체가 데이터를 수집하는 비디오 소스 객체의 이름으로, 문자 벡터 또는 문자열 스칼라로 지정됩니다. 기본적으로 비디오 입력 객체는 Source
속성에 저장된 첫 번째 사용 가능한 비디오 소스 객체를 선택합니다.
툴박스는 비디오 소스를 하나 이상의 하드웨어 입력으로 정의하며, 이러한 입력은 단일 엔터티로 처리됩니다. 예를 들어, 각각 3개의 물리적 연결(빨강-녹색-파랑)로 구성된 여러 RGB 소스를 지원하는 하드웨어는 단일 비디오 소스 객체로 처리됩니다.
데이터형: char
| string
읽기 전용 속성입니다.
장치에 연결된 물리적 데이터 소스를 나타내는 비디오 소스 객체의 벡터입니다. 비디오 입력 객체가 생성되면 툴박스는 비디오 입력 객체와 연관된 비디오 소스 객체의 벡터를 생성합니다.
생성된 각 비디오 소스 객체에는 고유한 소스 이름이 제공됩니다. 비디오 입력 객체의 SelectedSourceName
속성을 구성하여 소스 이름을 사용하여 원하는 수집 소스를 선택할 수 있습니다.
비디오 소스 객체의 이름은 SourceName
속성에 저장됩니다. 비디오 소스 객체의 SourceName
가 비디오 입력 객체의 SelectedSourceName
와 동일하면, 비디오 소스 객체의 Selected
속성은 "on"
값을 갖습니다.
비디오 소스 객체는 SourceName
와 같은 일반적인 속성 집합을 지원합니다. 각 비디오 소스 객체는 밝기, 색조, 채도와 같은 물리적 장치의 특성을 제어하는 장치별 속성도 지원할 수 있습니다. 다양한 이미지 수집 장치는 각기 다른 속성 집합을 노출합니다.
비디오 소스는 단일 엔터티로 처리되는 하나 이상의 물리적 데이터 소스의 컬렉션으로 정의됩니다. 예를 들어, 각각 3개의 물리적 연결(빨강-녹색-파랑)로 구성된 여러 RGB 소스를 지원하는 하드웨어는 단일 비디오 소스 객체로 처리됩니다.
Source
속성은 하나 이상의 비디오 소스를 캡슐화합니다. 비디오 소스를 참조하려면 숫자형 정수를 사용하여 비디오 소스 객체 벡터를 색인합니다.
GigE 속성
삭제된 프레임을 발견했을 때 수집을 계속할지 여부를 지정합니다. "off"
또는 "on"
로 지정합니다.
이 속성을 "off"
로 설정하면 삭제된 프레임을 발견하면 수집이 중지됩니다. 이 속성을 "on"
로 설정하면 삭제된 프레임을 무시하고 수집이 계속됩니다.
이 속성이 "on"
인 경우, NumDroppedFrames
속성을 사용하여 수집이 실행되는 동안 삭제된 프레임 수를 추적합니다.
참고
이 속성은 gige
어댑터를 사용하는 videoinput
객체에서만 지원되며 gigecam
객체에서는 지원되지 않습니다.
데이터형: char
| string
읽기 전용 속성입니다.
IgnoreDroppedFrames
속성이 'on'
로 설정된 경우 수집이 실행되는 동안 삭제되는 프레임 수이며, 음이 아닌 정수로 지정됩니다.
이 속성은 미리 보는 동안 삭제된 프레임 수를 추적하지 않습니다.
참고
이 속성은 gige
어댑터를 사용하는 videoinput
객체에서만 지원되며 gigecam
객체에서는 지원되지 않습니다.
데이터형: double
객체 함수
구성
실행
getselectedsource | 현재 선택된 비디오 소스 객체를 반환합니다. |
start | 이미지 수집 장치의 독점적 사용 권한 수집 |
stop | 비디오 입력 객체 중지 |
wait | 이미지 수집 객체가 실행 중이거나 기록을 멈출 때까지 기다리십시오. |
트리거 함수
trigger | 데이터 기록 시작 |
triggerconfig | 비디오 입력 객체 트리거 속성 구성 |
triggerinfo | 사용 가능한 트리거 구성에 대한 정보 제공 |
데이터 함수
flushdata | 수집한 이미지 프레임을 저장하는 데 사용되는 메모리 버퍼에서 데이터를 제거합니다. |
getdata | MATLAB 작업공간에 이미지 프레임을 가져옵니다. |
getsnapshot | 단일 이미지 프레임을 즉시 반환합니다. |
peekdata | Most recently acquired image data |
툴
closepreview | Close video preview window |
imaqmontage | 이미지 프레임의 시퀀스를 몽타주로 표현 |
preview | Preview of live video data |
일반
정보 및 도움말
imaqhelp | 이미지 수집 객체 함수 및 속성에 대한 도움말 정보를 표시합니다. |
imaqhwinfo | 사용 가능한 이미지 수집 하드웨어에 대한 정보 표시 |
propinfo | 이미지 수집 객체의 속성 특성 |
예제
비디오 입력 객체를 구성합니다.
obj = videoinput("matrox",1);
수집에 사용할 소스를 선택하세요.
obj.SelectedSourceName = "input1"
선택한 비디오 소스 객체의 속성을 봅니다.
src_obj = getselectedsource(obj); get(src_obj)
이미지 프레임 스트림을 미리 봅니다.
preview(obj);
단일 이미지 프레임을 수집하여 표시합니다.
frame = getsnapshot(obj); image(frame);
메모리에서 비디오 입력 객체를 제거합니다.
delete(obj);
GigE Vision® 이미지 수집 장치에 액세스하고 픽셀당 10비트의 회색조 형식을 사용하는 비디오 입력 객체를 만듭니다.
vidobj = videoinput("gige",1,"Mono10");
수집한 데이터를 메모리, 디스크 또는 둘 다에 기록할 수 있습니다. 기본적으로 데이터는 메모리에 기록됩니다. 기록 모드를 디스크로 변경하려면 비디오 입력 객체의 LoggingMode
속성을 구성합니다.
vidobj.LoggingMode = "disk"
프로필을 Motion JPEG 2000으로 설정하여 VideoWriter
객체를 만듭니다. Motion JPEG 2000을 사용하면 픽셀당 10비트의 전체 데이터를 파일에 쓸 수 있습니다.
vidobj.DiskLogger = VideoWriter("logfile.mj2","Motion JPEG 2000")
이제 비디오 입력 객체가 Motion JPEG 2000 파일에 데이터를 기록하도록 구성되었으므로 수집을 시작합니다.
start(vidobj)
수집이 완료될 때까지 기다리십시오.
wait(vidobj)
대량의 데이터를 디스크에 기록할 때 디스크 쓰기가 데이터 수집보다 늦어지는 경우가 종종 있습니다. 모든 프레임이 디스크에 기록되었는지 확인하려면 선택적으로 DiskLoggerFrameCount
속성을 사용할 수 있습니다.
while (vidobj.FramesAcquired ~= vidobj.DiskLoggerFrameCount) pause(.1) end
이러한 명령을 사용하고 출력을 비교하여 FramesAcquired
및 DiskLoggerFrameCount
속성이 동일한 값을 가지고 있는지 확인할 수 있습니다.
vidobj.FramesAcquired vidobj.DiskLoggerFrameCount
비디오 입력 객체가 더 이상 필요하지 않으면 삭제하고 작업 공간에서 지웁니다.
delete(vidobj)
clear vidobj
버전 내역
R2006a 이전에 개발됨
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)