주요 콘텐츠

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

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가지의 센서 정렬이 가능합니다.

    설명

    "gbrg"

    2×2 센서 정렬은

    green blue
    red   green

    "grbg"

    2×2 센서 정렬은

    green red
    blue  green

    "bggr"

    2×2 센서 정렬은

    blue  green
    green red

    "rggb"

    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를 적용하기 전에 비디오 스트림의 첫 번째 프레임을 수집합니다.

    Diagram illustrating the frames that are acquired in a video stream with FrameGrabInterval set to 3.

    SelectedSourceName 속성에서 비디오 스트림의 소스를 지정합니다.

    데이터형: double

    읽기 전용 속성입니다.

    메모리 버퍼에서 추출된 프레임 수에 관계없이 객체가 수집한 총 프레임 수이며, 음이 아닌 정수로 지정됩니다. 비디오 입력 객체는 프레임을 수집하면서 FramesAcquired 속성의 값을 지속적으로 업데이트합니다.

    참고

    start 명령을 실행하면 비디오 입력 객체는 FramesAcquired 속성 값을 0으로 재설정하고 버퍼를 플러시합니다.

    메모리 버퍼에서 사용 가능한 프레임 수를 알아보려면 FramesAvailable 속성을 사용하세요.

    데이터형: double

    읽기 전용 속성입니다.

    메모리 버퍼에서 사용할 수 있는 총 프레임 수이며 음이 아닌 정수로 지정됩니다. 데이터를 추출하면 객체는 FramesAvailable 속성 값을 적절한 프레임 수만큼 줄입니다. getdata 함수를 사용하여 데이터를 추출하고 MATLAB 작업 공간으로 옮길 수 있습니다.

    참고

    start 명령을 실행하면 비디오 입력 객체는 FramesAvailable 속성 값을 0으로 재설정하고 버퍼를 플러시합니다.

    마지막 start 명령 이후로 수집된 총 프레임 수를 보려면 FramesAcquired 속성을 사용하세요.

    데이터형: double

    문자 벡터 또는 문자열 스칼라로 지정되는 이미지 수집 객체의 이름입니다.

    툴박스는 VideoFormatDeviceID 속성 값을 이 형식의 어댑터 이름과 결합하여 디폴트 이름을 만듭니다. VideoFormat + '-' + 어댑터 이름 + '-' + DeviceID

    데이터형: char | string

    읽기 전용 속성입니다.

    수집할 데이터의 색 대역 수이며, 양의 정수로 지정됩니다. 툴박스는 그림에서와 같이 밴드를 3차원 배열의 세 번째 차원으로 정의합니다.

    Color band is the third dimension in a 3-D array of image data.

    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 이미지로 변환합니다. bayer 컬러스페이스 옵션은 카메라의 디폴트 반환 컬러스페이스가 grayscale인 경우에만 사용할 수 있습니다.

    BayerSensorAlignment 속성을 사용하려면 ReturnedColorSpace 속성을 bayer로 설정해야 합니다.

    참고

    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의 너비입니다. XOffsetWidth의 합은 VideoResolution에 지정된 너비를 초과할 수 없습니다.

    Height

    픽셀 단위로 측정한 ROI의 높이입니다. YOffsetHeight의 합은 VideoResolution에 지정된 높이를 초과할 수 없습니다.

    Illustration of ROI of an image with XOffset, YOffset, Width, and Height.

    참고

    Width에는 두 끝점과 픽셀 간 너비가 포함되지 않습니다. 여기에는 한쪽 끝점과 픽셀 사이의 너비가 포함됩니다. 예를 들어, 픽셀 20~30의 ROI를 캡처하고 싶은 경우, 끝 픽셀 20과 30을 모두 포함해서 XOffset19로, Width11로 설정합니다. height에도 같은 규칙이 적용됩니다.

    위에 표시된 그림에서 캡처된 ROI의 너비에는 두 끝점을 포함하여 픽셀 51~170이 포함됩니다. XOffset50로 설정되고 Width120로 설정되었기 때문입니다.

    데이터형: double

    읽기 전용 속성입니다.

    비디오 입력 객체가 데이터를 수집할 준비가 되었는지 여부를 "off" 또는 "on"로 지정합니다.

    Logging 속성과 함께 Running는 비디오 입력 객체의 상태를 반영합니다. Running 속성은 객체가 데이터를 수집할 준비가 되었음을 나타내고, Logging 속성은 객체가 데이터를 수집 중임을 나타냅니다.

    start 명령을 실행하면 해당 객체는 Running 속성을 "on"로 설정합니다. Running"on"인 경우, 비디오 소스로부터 데이터를 가져올 수 있습니다.

    다음 조건 중 하나라도 충족되면 객체는 Running 속성을 "off"로 설정합니다.

    • 지정된 수의 프레임을 수집하였습니다.

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

    • stop 명령을 내립니다.

    Running"off"인 경우, 이미지 데이터를 얻을 수 없습니다. 하지만 getsnapshot 함수를 이용하면 하나의 이미지 프레임을 얻을 수 있습니다.

    데이터형: char

    getdatagetsnapshot 함수가 데이터가 반환될 때까지 기다리는 시간(초)이며, 양의 정수로 지정됩니다. 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 파일 속성을 변경하거나 프레임을 추가하거나 객체를 닫지 마세요. 변경 사항이 비디오 입력 객체와 충돌할 수 있습니다.

    LoggingRunning가 꺼진 후에도 DiskLogger가 여전히 디스크에 데이터를 쓰고 있을 수 있습니다. DiskLogger가 디스크에 데이터 쓰기를 완료하면 DiskLoggerFrameCount 속성 값은 FramesAcquired 속성 값과 같아야 합니다. 이 조건이 충족될 때까지 DiskLogger를 닫거나 수정하지 마세요.

    VideoWriter 파일을 사용하여 이미지 데이터를 기록하는 것에 대한 자세한 내용은 디스크에 이미지 데이터 기록를 참조하세요.

    참고

    peekdata 함수는 디스크 기록 모드에서 실행되는 동안 아무 데이터도 반환하지 않습니다.

    읽기 전용 속성입니다.

    디스크에 기록된 프레임 수이며, 음이 아닌 정수로 지정됩니다. 이 속성은 DiskLogger에 의해 디스크에 쓰여진 현재 프레임 수를 나타냅니다. 이 값은 LoggingMode 속성이 "disk" 또는 "disk&memory"로 설정된 경우에만 업데이트됩니다.

    LoggingRunning가 꺼진 후에도 DiskLogger가 여전히 디스크에 데이터를 쓰고 있을 수 있습니다. DiskLogger가 디스크에 데이터 쓰기를 완료하면 DiskLoggerFrameCount 속성 값은 FramesAcquired 속성 값과 같아야 합니다. 이 조건이 충족될 때까지 DiskLogger를 닫거나 수정하지 마세요.

    데이터형: double

    이벤트 및 콜백 속성

    읽기 전용 속성입니다.

    구조체의 배열로 지정된 이벤트에 대한 정보입니다. 배열의 각 구조체는 하나의 이벤트를 나타냅니다. 사건은 발생한 순서대로 기록됩니다. 첫 번째 EventLog 구조체는 기록된 첫 번째 이벤트를 반영하고, 두 번째 EventLog 구조체는 기록된 두 번째 이벤트를 반영합니다.

    각 이벤트 기록 구조체에는 TypeData라는 두 개의 필드가 포함됩니다.

    Type 필드는 이벤트 유형을 식별하는 문자 배열을 저장합니다. Image Acquisition Toolbox는 다음 표에 나열된 다양한 이벤트 유형을 정의합니다. 모든 이벤트 유형이 기록되는 것은 아닙니다.

    이벤트 유형

    설명

    로그에 포함됨

    오류

    런타임 오류가 발생했습니다. 런타임 오류에는 시간 초과 및 하드웨어 오류가 포함됩니다.

    프레임 수집됩

    FramesAcquiredFcnCount 속성에 지정된 프레임 수가 수집되었습니다.

    아니요

    시작

    start 함수를 호출하여 객체가 시작되었습니다.

    중지

    객체 실행이 중지되었습니다.

    타이머

    타이머가 만료되었습니다.

    아니요

    트리거

    트리거가 실행되었습니다.

    Data 필드는 특정 이벤트와 관련된 정보를 저장합니다. 예를 들어, 모든 이벤트는 이벤트가 발생한 절대 시간을 AbsTime 필드에 반환합니다. 기타 이벤트별 필드는 Data에 포함되어 있습니다. 자세한 내용은 Retrieving Event Information 항목을 참조하십시오.

    EventLog는 최대 1000개의 이벤트를 저장할 수 있습니다. 이 값을 초과하면 가장 최근의 1000개 이벤트가 저장됩니다.

    데이터형: struct

    오류 이벤트가 발생할 때 실행할 콜백 함수입니다. 문자 벡터, 함수 핸들 또는 셀형 배열로 지정됩니다. 런타임 오류 이벤트는 런타임 오류가 발생한 직후에 생성됩니다.

    런타임 오류에는 하드웨어 오류와 시간 초과가 포함됩니다. 런타임 오류에는 잘못된 속성 값을 설정하는 등의 구성 오류는 포함되지 않습니다.

    런타임 오류 이벤트 정보는 EventLog 속성에 저장됩니다. EventLogData.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 함수를 사용하여 이 속성에 대해 다음 값 중 하나를 지정합니다.

    TriggerType

    설명

    "hardware" (기기에 따라 사용 가능한 경우)

    트리거는 지정된 조건이 충족되면 실행됩니다. TriggerCondition 속성을 사용하여 조건을 지정하고, TriggerSource 속성에서 조건을 모니터링할 하드웨어 소스를 지정합니다. 이러한 속성의 값을 설정하려면 triggerconfig 함수를 사용합니다.

    "immediate"

    start 함수를 호출하면 트리거가 즉시 실행됩니다.

    "manual"

    trigger 함수를 호출하면 트리거가 즉시 실행됩니다.

    데이터형: char

    읽기 전용 속성입니다.

    트리거 이벤트가 발생하기 전에 TriggerSource를 통해 충족되어야 하는 조건. 문자 벡터로 지정됩니다. 지정할 수 있는 트리거 조건은 TriggerType 속성의 값에 따라 달라집니다.

    TriggerType

    이용 가능한 조건

    "hardware" (기기에 따라 사용 가능한 경우)

    장치에 따라 다름. 예를 들어, 일부 Matrox® 하드웨어는 "risingEdge""fallingEdge"와 같은 조건을 지원합니다. triggerinfo 함수를 사용하면 이미지 수집 하드웨어에 사용할 수 있는 유효한 값 목록을 볼 수 있습니다.

    "immediate"

    "none"

    "manual"

    "none"

    이 속성의 값을 설정하려면 triggerconfig 함수를 사용해야 합니다.

    데이터형: char

    읽기 전용 속성입니다.

    하드웨어 소스는 이미지 수집 객체가 트리거 조건을 모니터링하는 데 사용되며 문자 벡터로 지정됩니다. TriggerCondition 속성에 지정된 조건이 충족되면 객체는 트리거를 실행하고 데이터를 수집하기 시작합니다.

    이 값을 지정하려면 triggerconfig 함수를 사용합니다. TriggerSource 속성의 값은 장치에 따라 다릅니다. 특정 장치가 트리거를 생성하는 데 사용하는 메커니즘을 지정합니다.

    예를 들어, Matrox 하드웨어의 경우 TriggerSource 속성은 "Port0" 또는 "Port1"와 같은 값을 가질 수 있습니다. triggerinfo 함수를 사용하여 이미지 수집 장치에 유효한 값 목록을 확인하세요.

    이 속성의 값을 설정하려면 triggerconfig 함수를 사용해야 합니다.

    참고

    TriggerSource 속성은 TriggerType 속성이 "hardware"로 설정된 경우에만 사용됩니다.

    데이터형: char

    선택한 비디오 소스를 사용하여 트리거를 실행할 때마다 비디오 입력 객체가 수집하는 프레임 수로, 양의 정수로 지정됩니다.

    FramesPerTrigger 속성의 값을 Inf로 설정하면 오류가 발생하거나 stop 명령을 실행할 때까지 객체는 프레임을 계속 수집합니다.

    참고

    FramesPerTrigger 속성이 Inf로 설정되면 객체는 TriggerRepeat 속성 값을 무시합니다.

    데이터형: double

    읽기 전용 속성입니다.

    첫 번째 트리거의 절대 시간은 MATLAB 클록 벡터로 반환됩니다.

    모든 트리거 유형에 대해 InitialTriggerTimeLogging 속성이 "on"로 설정된 시간을 기록합니다.

    후속 트리거가 실행된 시간을 찾으려면 특정 트리거의 EventLog 속성의 Data.AbsTime 필드를 확인합니다.

    데이터형: double

    트리거가 발생한 후 프레임을 수집하기 전에 건너뛸 프레임 수이며, 정수로 지정됩니다. 객체는 트리거 이후 지정된 수의 프레임을 기다린 후 프레임 기록을 시작합니다.

    이 그림에서 TriggerFrameDelay5로 설정되어 있으므로 객체는 프레임 수집을 시작하기 전에 5개의 프레임을 통과시킵니다. 캡처된 프레임 수는 FramesPerTrigger 속성에 의해 정의됩니다.

    Diagram illustrating the frames that are skipped in a video stream with TriggerFrameDelay set to 5.

    데이터형: double

    객체가 트리거를 실행할 추가 횟수이며, 음이 아닌 정수로 지정됩니다. 이 표는 몇 가지 일반적인 TriggerRepeat 값에 대한 동작을 설명합니다.

    동작

    0(디폴트 값)

    트리거 조건이 충족되면 트리거를 한 번 실행합니다.

    모든 양의 정수

    트리거 조건이 충족되면 지정된 횟수만큼 추가로 트리거를 실행합니다.

    Inf

    stop 함수가 호출되거나 오류가 발생할 때까지 트리거 조건이 충족될 때마다 트리거를 계속 실행합니다.

    트리거가 몇 개나 실행되었는지 확인하려면 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

    객체 함수

    구성

    get그래픽스 객체 속성 쿼리
    set그래픽스 객체 속성 설정

    실행

    getselectedsource현재 선택된 비디오 소스 객체를 반환합니다.
    start이미지 수집 장치의 독점적 사용 권한 수집
    stop비디오 입력 객체 중지
    wait이미지 수집 객체가 실행 중이거나 기록을 멈출 때까지 기다리십시오.

    트리거 함수

    trigger데이터 기록 시작
    triggerconfig비디오 입력 객체 트리거 속성 구성
    triggerinfo사용 가능한 트리거 구성에 대한 정보 제공

    데이터 함수

    flushdata수집한 이미지 프레임을 저장하는 데 사용되는 메모리 버퍼에서 데이터를 제거합니다.
    getdataMATLAB 작업공간에 이미지 프레임을 가져옵니다.
    getsnapshot단일 이미지 프레임을 즉시 반환합니다.
    peekdataMost recently acquired image data

    closepreviewClose video preview window
    imaqmontage이미지 프레임의 시퀀스를 몽타주로 표현
    previewPreview of live video data

    일반

    deleteRemove image acquisition object from memory
    imaqfind이미지 수집 객체 찾기
    imaqreset모든 이미지 수집 객체를 연결 해제하고 삭제합니다.
    isvalidDetermine if image acquisition object is associated with image acquisition device

    정보 및 도움말

    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

    이러한 명령을 사용하고 출력을 비교하여 FramesAcquiredDiskLoggerFrameCount 속성이 동일한 값을 가지고 있는지 확인할 수 있습니다.

    vidobj.FramesAcquired
    vidobj.DiskLoggerFrameCount

    비디오 입력 객체가 더 이상 필요하지 않으면 삭제하고 작업 공간에서 지웁니다.

    delete(vidobj)
    clear vidobj

    버전 내역

    R2006a 이전에 개발됨