csi — 카메라 센서

csi 모듈은 OpenMV Cam의 카메라 센서를 다루는 최신 객체 지향 인터페이스입니다. 각 물리적 센서는 CSI 인스턴스로 표현되므로, 컬러 센서와 열화상 또는 이벤트 센서를 함께 탑재한 멀티스펙트럼 이미저 보드는 생성자에 서로 다른 cid 를 전달하여 각각을 독립적으로 구동할 수 있습니다. 단일 센서 캠은 CSI 하나만 인스턴스화하면 됩니다.

CSI 객체는 전체 센서 구성을 소유합니다 – 픽셀 형식, 프레임 크기 / 윈도우, 노출 / 게인 / 화이트 밸런스, 하드웨어 미러 및 플립, 컬러 바 테스트 패턴, 프레임 레이트 클럭, 자동 노출용 ROI, 그리고 칩별 ioctl 명령. 프레임은 CSI.snapshot() 으로 캡처되며, 이는 프레임 버퍼를 기반으로 하는 image.Image 를 반환합니다.

이 모듈은 레거시 sensor 모듈(단일 숨겨진 센서에 연결된 동일한 기능을 모듈 수준 함수로 노출하던 모듈)을 대체합니다. 새 코드는 CSI 를 사용해야 합니다.

사용 예시:

import csi

# Setup camera.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)  # skip frames

# Take pictures.
while(True):
    csi0.snapshot()

Asyncio 사용법

위의 블로킹 CSI.snapshot() 루프는 asyncio 이벤트 루프와 협력하지 않습니다 – snapshot 이 다음 프레임을 기다리는 동안 프로그램의 다른 모든 코루틴이 멈춥니다. 캡처 루프가 다른 동시 작업(UART 클라이언트, 버튼 감시기, 네트워크 작업)과 공존하도록 하려면 CSI 를 작은 어댑터로 감싸서, snapshot(blocking=False) 를 폴링하고 검사 사이에 이벤트 루프에 양보함으로써 snapshotawait 친화적인 코루틴으로 바꾸십시오:

import asyncio
import csi


class AsyncCSI:
    def __init__(self, *args, **kwargs):
        self._csi = csi.CSI(*args, **kwargs)

    def __getattr__(self, name):
        return getattr(self._csi, name)

    async def snapshot(self):
        while True:
            img = self._csi.snapshot(blocking=False)
            if img is not None:
                return img
            await asyncio.sleep_ms(0)

__getattr__ 는 다른 모든 속성(reset, pixformat, framesize, 센서 조정 항목들)을 기반 CSI 로 전달하므로 래퍼는 그대로 대체할 수 있습니다. 첫 번째 논블로킹 호출은 카메라의 DMA 캡처가 아직 실행되고 있지 않으면 이를 시작하므로 추가적인 부트스트랩이 필요하지 않습니다.

그러면 캡처 루프는 또 하나의 코루틴으로서 더 큰 asyncio 프로그램에 들어맞습니다:

async def capture_loop(cam):
    while True:
        img = await cam.snapshot()
        # process img here

async def main():
    cam = AsyncCSI()
    cam.reset()
    cam.pixformat(csi.RGB565)
    cam.framesize(csi.QVGA)

    asyncio.create_task(some_other_task())
    await capture_loop(cam)

asyncio.run(main())

framebuffers 설정은 이 형태에서도 여전히 중요합니다 – 단일 버퍼 모드는 다음 프레임이 캡처될 때까지 snapshot(blocking=False)None 을 반환하게 하는 반면, 더블 또는 트리플 버퍼링은 이를 부드럽게 처리하여 래퍼가 보통 첫 폴링에서 대기 중인 버퍼링된 프레임을 발견하도록 합니다. 전체 설명은 asyncio 튜토리얼의 AsyncCSI 캡스톤을 참조하십시오.

class CSI – 카메라 센서 인터페이스

CSI 클래스는 카메라 센서를 제어하는 데 사용됩니다.

class csi.CSI(cid: int = -1, delays: bool = True, fflush: bool = True, stream: bool | None = None)

카메라 센서와 통신할 객체를 생성합니다. 센서가 여러 개인 보드에서는 csi.LEPTON 과 같은 cid 를 전달하여 FLIR Lepton 센서 모듈을 선택하는 식으로 특정 CSI 객체를 선택할 수 있습니다. cid 가 -1이면 기본 센서가 선택됩니다(멀티 센서 보드에서는 일반적으로 컬러 카메라 모듈).

delaysFalse 이면 csi 드라이버의 모든 안정화 시간 지연이 비활성화됩니다. 기본적으로 센서 드라이버는 CSI.snapshot 이 손상된 프레임을 반환하는 것을 막기 위해 리셋 / 모드 변경 후에 지연을 둡니다. 지연을 비활성화하면 업데이트를 일괄 처리하고 CSI.snapshot 을 호출하기 전에 마지막에 한 번만 지연을 적용할 수 있습니다.

fflushFalse 이면 CSI.framebuffers 에서 언급된 자동 프레임버퍼 플러시가 비활성화됩니다. 이는 프레임 버퍼 fifo에 있는 프레임에 대한 시간 제한을 모두 제거합니다.

stream 은 이 CSI가 IDE로 전송되는 스트림 소스인지 여부를 선택합니다. None(기본값)이면 CSI가 기본(보조가 아닌) 센서인 경우에만 스트림 소스가 됩니다. True 를 전달하면 이 CSI를 강제로 스트림 소스로 만들고, 거짓 값을 전달하면 기존 스트림 소스를 변경하지 않고 유지합니다.

메서드

reset(hard: bool = True) None

카메라 센서를 초기화합니다. hardTrue 이면 카메라 모듈로 가는 RESET 신호 GPIO를 토글하여 하드웨어 리셋을 수행합니다. 기본 모듈과 동일한 RESET 신호 GPIO를 공유하는 보조 카메라 센서를 리셋할 때는 hard 를 false로 설정해야 합니다.

shutdown(enable: bool) None

카메라를 슬립보다 낮은 전력 모드로 전환합니다(단, 깨어날 때 카메라를 리셋해야 합니다).

sleep(enable: bool) None

enable 이 True이면 카메라를 슬립 상태로 전환합니다. 그렇지 않으면 다시 깨웁니다.

flush() None

현재 프레임 버퍼 내용을 IDE 미리보기로 복사합니다. 스크립트가 종료될 때 IDE가 마지막 프레임을 표시하도록 마지막 CSI.snapshot 이후에 이를 호출하십시오.

snapshot(time: int = -1, frames: int = -1, blocking: bool = True, image: image.Image | None = None) image.Image | None

카메라를 사용하여 사진을 찍고 image.Image 객체를 반환합니다.

time 및/또는 frames 가 전달되면 snapshot은 그만큼의 time 밀리초 동안 및/또는 카메라에서 캡처된 frames 만큼 블로킹됩니다. 두 인수를 동시에 사용할 수 있습니다. time 및/또는 frames 가 경과한 후 snapshot은 None 을 반환합니다.

blockingFalse 로 설정하면 논블로킹 동작이 활성화되어, 카메라에서 다음 이미지가 준비되지 않았을 때 기다리는 대신 snapshot이 None 을 반환합니다.

image 는 새로운 image.Image 객체를 반환하는 대신 카메라에서 캡처한 새 이미지로 업데이트할 또 다른 image.Image 객체일 수 있습니다. 이전 이미지 내용은 깊은 복사를 통해 덮어쓰여집니다.

CSI.auto_rotation 이 활성화되어 있으면 이 메서드는 이미 회전된 image.Image 를 반환합니다.

width() int

센서 해상도 너비를 반환합니다.

height() int

센서 해상도 높이를 반환합니다.

cid() int

카메라 모듈 칩 ID를 반환합니다. csi.OV2640, csi.OV5640, csi.OV7670, csi.OV7690, csi.OV7725, csi.OV9650, csi.MT9V022, csi.MT9V024, csi.MT9V032, csi.MT9V034, csi.MT9M114, csi.BOSON320, csi.BOSON640, csi.LEPTON, csi.HM01B0, csi.HM0360, csi.GC2145, csi.GENX320ES, csi.GENX320, csi.PAG7920, csi.PAG7936, csi.PAJ6100, csi.FROGEYE2020, csi.SOFTCSI 중 하나와 비교하십시오.

readable() bool

CSI.snapshot 으로 반환할 준비가 된 이미지가 있어서 snapshot 호출이 블로킹되지 않으면 True 를 반환합니다.

pixformat(pixformat: int | None = None) int | None

카메라 모듈의 픽셀 포맷을 csi.GRAYSCALE, csi.RGB565, csi.BAYER, csi.YUV422, csi.JPEG(OV2640/OV5640에서만) 중 하나로 설정합니다.

인수 없이 호출하면 현재 pixformat을 반환합니다.

framesize(framesize: int | Tuple[int, int] | None = None) int | None

카메라 모듈의 프레임 크기를 크기 상수(예: csi.QVGA, csi.VGA, csi.HD 등 — 상수 섹션 참조) 중 하나로 설정합니다.

또는 (w, h) 튜플로 사용자 지정 프레임 크기를 전달할 수 있습니다. CSI.snapshot 이 호출되면 사용자 지정 프레임 크기가 DMA 규칙에 따라 평가됩니다. 일반적으로 프레임 크기는 8픽셀의 배수 및/또는 16바이트의 배수여야 합니다.

인수 없이 호출하면 현재 프레임 크기를 반환합니다.

framerate(rate: int | None = None) int | None

카메라 모듈의 프레임 레이트를 Hz 단위로 설정합니다.

인수 없이 호출하면 현재 프레임 레이트를 반환합니다.

참고

CSI.framerate 는 카메라 모듈이 수신한 프레임을 드롭하여 프레임 레이트를 지정된 비율 이하로 유지하는 방식으로 작동합니다. 기본적으로 카메라는 최대 프레임 레이트로 실행됩니다. 특정 카메라 센서에 대해 구현된 경우 CSI.framerate 는 센서 노출을 늘려 전력을 절약하고 이미지 품질을 향상시키기 위해 카메라 센서 프레임 레이트를 내부적으로도 줄입니다. 일부 카메라에서는 CSI.framerateCSI.auto_exposure 와 충돌할 수 있습니다.

window(roi: Tuple[int, int] | Tuple[int, int, int, int] | None = None) Tuple[int, int, int, int] | None

카메라의 해상도를 현재 해상도의 하위 영역으로 설정합니다. roi(x, y, w, h) 튜플입니다. (w, h) 를 전달할 수도 있으며 이 경우 윈도우가 중앙에 배치됩니다.

인수 없이 호출하면 현재 (x, y, w, h) 튜플을 반환합니다.

gainceiling(gainceiling: int) bool

카메라 이미지 게인 천장값을 2, 4, 8, 16, 32, 64, 128 중 하나로 설정합니다.

성공 시 True 를, 실패 시 False 를 반환합니다.

brightness(brightness: int) bool

카메라 이미지 밝기를 설정합니다.

성공 시 True 를, 실패 시 False 를 반환합니다.

contrast(contrast: int) bool

카메라 이미지 대비를 설정합니다.

성공 시 True 를, 실패 시 False 를 반환합니다.

saturation(saturation: int) bool

카메라 이미지 채도를 설정합니다.

성공 시 True 를, 실패 시 False 를 반환합니다.

quality(quality: int) bool

카메라 이미지 JPEG 압축 품질을 설정합니다. 0 - 100.

성공 시 True 를, 실패 시 False 를 반환합니다.

참고

OV2640/OV5640 카메라에서만 사용됩니다.

colorbar(enable: bool) bool

컬러 바 모드를 켜거나(True) 끕니다(False). 기본값은 꺼짐입니다.

성공 시 True 를, 실패 시 False 를 반환합니다.

auto_gain(enable: bool, gain_db: float | None = None, gain_db_ceiling: float | None = None) None

enable 은 자동 게인 제어를 켜거나(True) 끕니다(False). 카메라는 자동 게인 제어가 켜진 상태로 시작합니다.

enableFalse 이면 gain_db 로 고정 게인을 데시벨 단위로 설정할 수 있습니다.

enableTrue 이면 자동 게인 제어 알고리즘을 위해 gain_db_ceiling 으로 최대 게인 천장값을 데시벨 단위로 설정할 수 있습니다.

참고

색상을 추적하려면 화이트 밸런스도 꺼야 합니다.

gain_db() float

현재 카메라 게인 값을 데시벨 단위로 반환합니다.

auto_exposure(enable: bool, exposure_us: int = -1) None

enable 은 자동 노출 제어를 켜거나(True) 끕니다(False). 카메라는 자동 노출 제어가 켜진 상태로 시작합니다.

enableFalse 이면 exposure_us 로 고정 노출 시간을 마이크로초 단위로 설정할 수 있습니다.

참고

카메라 자동 노출 알고리즘은 노출 값을 얼마나 조정할지에 대해 상당히 보수적이며 일반적으로 노출 값을 크게 변경하는 것을 피합니다. 대신 변화하는 조명에 대처하기 위해 게인 값을 많이 변경합니다.

exposure_us() int

현재 카메라 노출 값을 마이크로초 단위로 반환합니다.

auto_whitebal(enable: bool, rgb_gain_db: Tuple[float, float, float] | None = None) None

enable 은 자동 화이트 밸런스를 켜거나(True) 끕니다(False). 카메라는 자동 화이트 밸런스가 켜진 상태로 시작합니다.

enableFalse 이면 rgb_gain_db 로 빨강, 초록, 파랑 채널에 대한 고정 게인을 각각 데시벨 단위로 설정할 수 있습니다.

참고

색상을 추적하려면 게인 제어도 꺼야 합니다.

rgb_gain_db() Tuple[float, float, float]

현재 카메라의 빨강, 초록, 파랑 게인 값을 데시벨 단위로 담은 튜플 (r, g, b) 를 반환합니다.

auto_blc(enable: bool, regs: List[int] | None = None) None

카메라의 자동 블랙 레벨 보정(BLC)을 설정합니다.

enable 은 BLC를 켜거나 끄도록 True 또는 False 를 전달합니다. 일반적으로 항상 켜 두는 것이 좋습니다.

regs 는 비활성화된 경우 이전 CSI.blc_regs 호출에서 얻은 BLC 레지스터 값을 수동으로 설정할 수 있습니다.

blc_regs() List[int]

센서 BLC 레지스터를 정수 리스트로 반환합니다. CSI.auto_blc 와 함께 사용합니다.

hmirror(enable: bool | None = None) bool | None

수평 미러 모드를 켜거나(True) 끕니다(False). 기본값은 꺼짐입니다.

인수 없이 호출하면 현재 설정을 반환합니다.

vflip(enable: bool | None = None) bool | None

수직 플립 모드를 켜거나(True) 끕니다(False). 기본값은 꺼짐입니다.

인수 없이 호출하면 현재 설정을 반환합니다.

transpose(enable: bool | None = None) bool | None

전치 모드를 켜거나(True) 끕니다(False). 기본값은 꺼짐입니다.

  • vflip=False, hmirror=False, transpose=False -> 0도 회전

  • vflip=True, hmirror=False, transpose=True -> 90도 회전

  • vflip=True, hmirror=True, transpose=False -> 180도 회전

  • vflip=False, hmirror=True, transpose=True -> 270도 회전

인수 없이 호출하면 현재 설정을 반환합니다.

auto_rotation(enable: bool | None = None) bool | None

자동 회전 모드를 켜거나(True) 끕니다(False). 기본값은 꺼짐입니다.

인수 없이 호출하면 현재 설정을 반환합니다.

참고

이 메서드는 OpenMV Cam에 imu 가 설치되어 있을 때만 작동하며 자동으로 활성화됩니다.

framebuffers(count: int | None = None) int | None

이미지 데이터를 수신하는 데 사용되는 프레임 버퍼의 수를 설정합니다. 기본적으로 OpenMV Cam은 할당할 수 있는 최대 수의 프레임 버퍼를 할당하려고 시도합니다. CSI.pixformat, CSI.framesize, CSI.window 가 호출될 때마다 재할당이 발생합니다.

count 가 1(단일 버퍼), 2(더블 버퍼), 3(트리플 버퍼)이면 해당 캡처 모드를 선택합니다. 4 이상을 전달하면 드라이버를 비디오 FIFO 모드로 전환하여 count 개의 버퍼가 큐에 들어갑니다 — SD 카드로의 비디오 녹화에 유용합니다. 프레임 드롭 시 활성 버퍼를 제외한 모든 프레임 버퍼가 비워지므로 CSI.snapshot 은 항상 최근 프레임을 반환합니다.

인수 없이 호출하면 현재 카운트를 반환합니다.

special_effect(effect: int) bool

특수 디지털 효과(csi.NORMAL 또는 csi.NEGATIVE 중 하나)를 설정합니다.

성공 시 True 를, 실패 시 False 를 반환합니다.

lens_correction(enable: bool, radi: int, coef: int) bool

enable 은 활성화하려면 True, 비활성화하려면 False. radi 는 보정할 픽셀의 정수 반경. coef 는 보정의 강도.

성공 시 True 를, 실패 시 False 를 반환합니다.

vsync_callback(cb: Callable[[int], None] | None = None) Callable[[int], None] | None

카메라 모듈이 새 프레임을 생성할 때마다(단, 프레임이 수신되기 전에) 실행될 콜백 cb 를 (인터럽트 컨텍스트에서) 등록합니다.

cb 는 하나의 인수를 받으며 변경 후 vsync 핀의 현재 상태가 전달됩니다.

인수 없이 호출하면 등록된 콜백을 반환합니다. 콜백을 지우려면 호출 불가능한 값을 전달하십시오.

frame_callback(cb: Callable[[], None] | None = None) Callable[[], None] | None

카메라 모듈이 새 프레임을 생성하고 그 프레임을 CSI.snapshot 으로 읽을 준비가 될 때마다 실행될 콜백 cb 를 (인터럽트 컨텍스트에서) 등록합니다.

cb 는 인수를 받지 않습니다. 이를 사용하여 micropython.schedule() 로 나중에 프레임을 읽도록 예약하십시오.

인수 없이 호출하면 등록된 콜백을 반환합니다. 콜백을 지우려면 호출 불가능한 값을 전달하십시오.

ioctl(request: int, *args) Any

센서별 요청을 실행합니다. requestIOCTL_* 상수 중 하나이며, 나머지 위치 인수와 반환 값은 요청에 따라 다릅니다. 지원되는 요청은 아래에서 센서 계열별로 묶여 있습니다.

일반(모든 센서):

ioctl(IOCTL_SET_READOUT_WINDOW, (x, y, w, h))

ioctl(IOCTL_SET_READOUT_WINDOW, (w, h))

센서 판독 윈도우를 설정합니다. 윈도우가 작을수록 시야각을 희생하는 대신 프레임 레이트가 높아집니다.

ioctl(IOCTL_GET_READOUT_WINDOW)

현재 판독 윈도우를 (x, y, w, h) 튜플로 반환합니다.

ioctl(IOCTL_SET_TRIGGERED_MODE, enable)

MT9V034에서 트리거 모드를 활성화(True)하거나 비활성화(False)합니다.

ioctl(IOCTL_GET_TRIGGERED_MODE)

현재 트리거 모드 상태를 bool 로 반환합니다.

ioctl(IOCTL_SET_FOV_WIDE, enable)

True 이면 framesize() 가 프레임 레이트보다 시야각을 최적화하도록 지시합니다.

ioctl(IOCTL_GET_FOV_WIDE)

현재 FOV-wide 상태를 bool 로 반환합니다.

ioctl(IOCTL_SET_NIGHT_MODE, enable)

센서의 저조도 “야간 모드”를 활성화(True)하거나 비활성화(False)합니다. OV7725와 OV5640에서만 지원됩니다.

ioctl(IOCTL_GET_NIGHT_MODE)

현재 야간 모드 상태를 bool 로 반환합니다.

ioctl(IOCTL_GET_RGB_STATS)

센서에서 읽은 원시 RGB 채널 통계 (r, gb, gr, b) 의 4-튜플을 반환합니다(일반적으로 화이트 밸런스 튜닝에 사용됨).

OV5640 FPC – 자동 초점:

ioctl(IOCTL_TRIGGER_AUTO_FOCUS)

OV5640 FPC 모듈에서 자동 초점 스윕을 시작합니다.

ioctl(IOCTL_PAUSE_AUTO_FOCUS)

진행 중인 자동 초점 스윕을 일시 중지합니다.

ioctl(IOCTL_RESET_AUTO_FOCUS)

자동 초점 위치를 기본값으로 리셋합니다.

ioctl(IOCTL_WAIT_ON_AUTO_FOCUS)

ioctl(IOCTL_WAIT_ON_AUTO_FOCUS, timeout_ms)

현재 자동 초점 스윕이 끝날 때까지 블로킹합니다. timeout_ms 는 생략 시 기본값 5000입니다.

FLIR Lepton:

ioctl(IOCTL_LEPTON_GET_WIDTH)

Lepton 이미지 너비를 픽셀 단위로 반환합니다.

ioctl(IOCTL_LEPTON_GET_HEIGHT)

Lepton 이미지 높이를 픽셀 단위로 반환합니다.

ioctl(IOCTL_LEPTON_GET_RADIOMETRY)

Lepton의 유형(방사 측정 여부)을 int로 반환합니다.

ioctl(IOCTL_LEPTON_GET_REFRESH)

Lepton의 리프레시 레이트를 Hz 단위로 반환합니다.

ioctl(IOCTL_LEPTON_GET_RESOLUTION)

Lepton의 ADC 해상도를 비트 단위로 반환합니다.

ioctl(IOCTL_LEPTON_RUN_COMMAND, cmd)

FLIR Lepton SDK 명령을 실행합니다. cmd 는 SDK에서 정의한 16비트 명령 id입니다.

ioctl(IOCTL_LEPTON_SET_ATTRIBUTE, attr_id, payload)

Lepton SDK 속성을 씁니다. attr_id 는 16비트 속성 id이며, payload 는 길이가 16비트의 배수여야 하는 bytes/bytearray 입니다.

ioctl(IOCTL_LEPTON_GET_ATTRIBUTE, attr_id, words)

Lepton SDK 속성을 읽습니다. attr_id 는 16비트 속성 id이며, words 는 읽을 16비트 워드의 수입니다. bytearray 를 반환합니다.

ioctl(IOCTL_LEPTON_GET_FPA_TEMP)

Lepton 초점면 어레이 온도를 섭씨 단위로 반환합니다.

ioctl(IOCTL_LEPTON_GET_AUX_TEMP)

Lepton 보조 온도를 섭씨 단위로 반환합니다.

ioctl(IOCTL_LEPTON_SET_MODE, measurement_enabled)

ioctl(IOCTL_LEPTON_SET_MODE, measurement_enabled, high_temp_enabled)

Lepton을 AGC와 직접 온도 출력 사이에서 전환합니다. measurement_enabled=True 는 직접 온도 출력을 활성화합니다. 선택적 high_temp_enabled 플래그는 고온 범위를 선택합니다.

ioctl(IOCTL_LEPTON_GET_MODE)

2-튜플 (measurement_enabled, high_temp_enabled) 를 반환합니다.

ioctl(IOCTL_LEPTON_SET_RANGE, (min_celsius, max_celsius))

측정 모드가 활성화되었을 때 0..255 에 매핑되는 온도 범위를 설정합니다.

ioctl(IOCTL_LEPTON_GET_RANGE)

현재 (min_celsius, max_celsius) 범위를 반환합니다.

Himax HM01B0 – 모션 검출:

ioctl(IOCTL_HIMAX_MD_ENABLE, enable)

HM01B0의 온센서 모션 검출 블록을 활성화(True)하거나 비활성화(False)합니다.

ioctl(IOCTL_HIMAX_MD_WINDOW, (x, y, w, h))

ioctl(IOCTL_HIMAX_MD_WINDOW, (w, h))

HM01B0의 모션 검출 윈도우를 설정합니다.

ioctl(IOCTL_HIMAX_MD_THRESHOLD, threshold)

모션 검출 임계값(0255)을 설정합니다.

ioctl(IOCTL_HIMAX_MD_CLEAR)

모션 검출 인터럽트 래치를 지웁니다.

ioctl(IOCTL_HIMAX_OSC_ENABLE, enable)

HM01B0의 내부 오실레이터를 활성화(True)하거나 비활성화(False)합니다.

Prophesee GENX320 – 이벤트 센서:

ioctl(IOCTL_GENX320_SET_BIASES, preset)

바이어스 프리셋을 적용합니다. presetGENX320_BIASES_* 상수 중 하나입니다.

ioctl(IOCTL_GENX320_SET_BIAS, bias, value)

단일 바이어스를 설정합니다. biasGENX320_BIAS_* 상수 중 하나이며, value 는 정수 설정값입니다.

ioctl(IOCTL_GENX320_SET_AFK, enable)

ioctl(IOCTL_GENX320_SET_AFK, enable, freq_low_hz, freq_high_hz)

안티 플리커 필터를 구성합니다. enable 은 bool이며, 선택적 주파수 인수는 필터 통과 대역을 설정합니다.

ioctl(IOCTL_GENX320_SET_STC, mode)

ioctl(IOCTL_GENX320_SET_STC, mode, arg1[, arg2])

시공간 대비 필터를 구성합니다. modeGENX320_STC_* 상수 중 하나이며, 최대 두 개의 추가 인수는 모드에 따라 다릅니다.

ioctl(IOCTL_GENX320_SET_MODE, mode)

ioctl(IOCTL_GENX320_SET_MODE, mode, evt_res)

센서를 프레임 모드와 이벤트 모드 사이에서 전환합니다. modeGENX320_MODE_* 상수 중 하나입니다. 이벤트 모드의 경우 evt_resIOCTL_GENX320_READ_EVENTS 에 전달되는 이벤트 버퍼의 행 축 길이입니다.

ioctl(IOCTL_GENX320_READ_EVENTS, buf)

이벤트를 buf 로 읽어들입니다. 이는 형태가 (EVT_res, 6)uint16 ndarray 이며 여기서 EVT_res 는 1024와 65536 사이의 2의 거듭제곱입니다. 열은 다음과 같습니다:

  • [0] – 이벤트 유형(PIX_OFF_EVENT / PIX_ON_EVENT / 트리거).

  • [1] – 초.

  • [2] – 밀리초.

  • [3] – 마이크로초.

  • [4]x 좌표.

  • [5]y 좌표.

기록된 이벤트의 수를 반환합니다.

ioctl(IOCTL_GENX320_READ_EVENTS_RAW)

GENX320의 원시 이벤트 프레임을 담은 image.Image 를 반환합니다.

ioctl(IOCTL_GENX320_CALIBRATE, iterations, sigma)

노이즈가 정규 분포에서 sigma 표준 편차를 초과하는 픽셀을 끕니다. iterations 는 보정 패스의 정수 횟수입니다. 비활성화된 픽셀의 수를 반환합니다.

color_palette(palette: int | None = None) int | None

FLIR Lepton 그레이스케일에서 RGB565로의 변환이나 GENX320 이벤트 시각화 같은 작업에 사용할 색상 팔레트를 설정합니다. image.PALETTE_RAINBOW, image.PALETTE_IRONBOW, 그리고 (지원되는 경우) image.PALETTE_DEPTH, image.PALETTE_EVT_DARK, image.PALETTE_EVT_LIGHT 중 하나입니다.

인수 없이 호출하면 현재 설정을 반환합니다.

__write_reg(address: int, value: int) None

valueaddress 의 카메라 레지스터에 씁니다.

참고

레지스터 정보는 카메라 데이터시트를 참조하십시오.

__read_reg(address: int) int

address 의 카메라 레지스터를 읽습니다.

참고

레지스터 정보는 카메라 데이터시트를 참조하십시오.

함수

csi.devices() List[int]

검출된 센서 칩 ID의 리스트를 반환합니다.

상수

csi.BINARY: int

BINARY(비트맵) 픽셀 형식. 각 픽셀은 1비트입니다. 마스크 저장에 유용하며, image.Image() 와 함께 사용할 수 있습니다.

csi.GRAYSCALE: int

GRAYSCALE 픽셀 형식(YUV422의 Y). 각 픽셀은 8비트입니다.

csi.RGB565: int

RGB565 픽셀 형식. 각 픽셀은 16비트입니다(빨강 5비트, 초록 6비트, 파랑 5비트).

csi.BAYER: int

RAW BAYER 이미지 픽셀 형식.

csi.YUV422: int

YUV422 픽셀 형식. 각 픽셀은 그레이스케일 8비트 Y 값과 두 Y 값 사이에 공유되는 교대하는 8비트 U/V 색상 값(Y1, U, Y2, V, …)으로 저장됩니다. 일부 이미지 처리 메서드만 YUV422와 함께 작동합니다.

csi.JPEG: int

JPEG 모드. 카메라 모듈이 압축된 JPEG 이미지를 출력합니다. JPEG 품질을 제어하려면 CSI.quality 를 사용하십시오. OV2640/OV5640 카메라에서만 작동합니다.

csi.OV2640: int

CSI.cid 는 OV2640 카메라에 대해 이 값을 반환합니다.

csi.OV5640: int

CSI.cid 는 OV5640 카메라에 대해 이 값을 반환합니다.

csi.OV7670: int

CSI.cid 는 OV7670 카메라에 대해 이 값을 반환합니다.

csi.OV7690: int

CSI.cid 는 OV7690 카메라에 대해 이 값을 반환합니다.

csi.OV7725: int

CSI.cid 는 OV7725 카메라에 대해 이 값을 반환합니다.

csi.OV9650: int

CSI.cid 는 OV9650 카메라에 대해 이 값을 반환합니다.

csi.MT9V022: int

CSI.cid 는 MT9V022 카메라에 대해 이 값을 반환합니다.

csi.MT9V024: int

CSI.cid 는 MT9V024 카메라에 대해 이 값을 반환합니다.

csi.MT9V032: int

CSI.cid 는 MT9V032 카메라에 대해 이 값을 반환합니다.

csi.MT9V034: int

CSI.cid 는 MT9V034 카메라에 대해 이 값을 반환합니다.

csi.MT9M114: int

CSI.cid 는 MT9M114 카메라에 대해 이 값을 반환합니다.

csi.BOSON320: int

CSI.cid 는 BOSON 320x256 카메라에 대해 이 값을 반환합니다.

csi.BOSON640: int

CSI.cid 는 BOSON 640x512 카메라에 대해 이 값을 반환합니다.

csi.LEPTON: int

CSI.cid 는 LEPTON1/2/3 카메라에 대해 이 값을 반환합니다.

csi.HM01B0: int

CSI.cid 는 HM01B0 카메라에 대해 이 값을 반환합니다.

csi.HM0360: int

CSI.cid 는 HM0360 카메라에 대해 이 값을 반환합니다.

csi.GC2145: int

CSI.cid 는 GC2145 카메라에 대해 이 값을 반환합니다.

csi.GENX320ES: int

CSI.cid 는 GENX320(엔지니어링 샘플) 카메라에 대해 이 값을 반환합니다.

csi.GENX320: int

CSI.cid 는 GENX320 카메라에 대해 이 값을 반환합니다.

csi.PAG7920: int

CSI.cid 는 PAG7920 카메라에 대해 이 값을 반환합니다.

csi.PAG7936: int

CSI.cid 는 PAG7936 카메라에 대해 이 값을 반환합니다.

csi.PAJ6100: int

CSI.cid 는 PAJ6100 카메라에 대해 이 값을 반환합니다.

csi.FROGEYE2020: int

CSI.cid 는 FROGEYE2020 카메라에 대해 이 값을 반환합니다.

csi.SOFTCSI: int

CSI.cid 는 소프트웨어 CSI 카메라에 대해 이 값을 반환합니다.

csi.NORMAL: int

CSI.special_effect 의 일반 모드.

csi.NEGATIVE: int

CSI.special_effect 의 네거티브 모드.

csi.QCIF: int

카메라 센서의 176x144 해상도.

csi.CIF: int

카메라 센서의 352x288 해상도.

csi.QSIF: int

카메라 센서의 176x120 해상도.

csi.SIF: int

카메라 센서의 352x240 해상도.

csi.QQQVGA: int

카메라 센서의 80x60 해상도.

csi.QQVGA: int

카메라 센서의 160x120 해상도.

csi.QVGA: int

카메라 센서의 320x240 해상도.

csi.VGA: int

카메라 센서의 640x480 해상도.

csi.HQVGA: int

카메라 센서의 240x160 해상도.

csi.HVGA: int

카메라 센서의 480x320 해상도.

csi.WVGA: int

MT9V034 카메라 센서의 720x480 해상도.

csi.WVGA2: int

MT9V034 카메라 센서의 752x480 해상도.

csi.SVGA: int

카메라 센서의 800x600 해상도.

csi.XGA: int

카메라 센서의 1024x768 해상도.

csi.WXGA: int

MT9M114 카메라 센서의 1280x768 해상도.

csi.SXGA: int

카메라 센서의 1280x1024 해상도. OV2640/OV5640 카메라에서만 작동합니다.

csi.SXGAM: int

MT9M114 카메라 센서의 1280x960 해상도.

csi.UXGA: int

카메라 센서의 1600x1200 해상도. OV2640/OV5640 카메라에서만 작동합니다.

csi.HD: int

카메라 센서의 1280x720 해상도.

csi.FHD: int

카메라 센서의 1920x1080 해상도. OV5640 카메라에서만 작동합니다.

csi.QHD: int

카메라 센서의 2560x1440 해상도. OV5640 카메라에서만 작동합니다.

csi.QXGA: int

카메라 센서의 2048x1536 해상도. OV5640 카메라에서만 작동합니다.

csi.WQXGA: int

카메라 센서의 2560x1600 해상도. OV5640 카메라에서만 작동합니다.

csi.WQXGA2: int

카메라 센서의 2592x1944 해상도. OV5640 카메라에서만 작동합니다.

csi.IOCTL_SET_READOUT_WINDOW: int

판독 윈도우를 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GET_READOUT_WINDOW: int

판독 윈도우를 가져옵니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_SET_TRIGGERED_MODE: int

MT9V034의 트리거 모드를 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GET_TRIGGERED_MODE: int

MT9V034의 트리거 모드 상태를 가져옵니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_SET_FOV_WIDE: int

CSI.framesize 가 FPS보다 시야각을 최적화하도록 활성화합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GET_FOV_WIDE: int

CSI.framesize 가 FPS보다 시야각을 최적화하고 있는지 여부를 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_TRIGGER_AUTO_FOCUS: int

OV5640 FPC 카메라 모듈에서 자동 초점을 트리거합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_PAUSE_AUTO_FOCUS: int

OV5640 FPC 카메라 모듈의 (실행 중인) 자동 초점을 일시 중지합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_RESET_AUTO_FOCUS: int

OV5640 FPC 카메라 모듈의 자동 초점을 기본값으로 리셋합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_WAIT_ON_AUTO_FOCUS: int

OV5640 FPC 카메라 모듈에서 자동 초점이 끝나기를 기다립니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_SET_NIGHT_MODE: int

야간 모드를 켜거나 끕니다. 프레임 레이트를 줄여 노출을 동적으로 증가시킵니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GET_NIGHT_MODE: int

야간 모드가 활성화되어 있는지 여부를 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_WIDTH: int

FLIR Lepton 이미지 해상도 너비를 픽셀 단위로 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_HEIGHT: int

FLIR Lepton 이미지 해상도 높이를 픽셀 단위로 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_RADIOMETRY: int

FLIR Lepton 유형(방사 측정 여부)을 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_REFRESH: int

FLIR Lepton 리프레시 레이트를 Hz 단위로 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_RESOLUTION: int

FLIR Lepton ADC 해상도를 비트 단위로 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_RUN_COMMAND: int

FLIR Lepton SDK의 16비트 명령을 실행합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_SET_ATTRIBUTE: int

FLIR Lepton SDK의 FLIR Lepton 속성을 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_ATTRIBUTE: int

FLIR Lepton SDK의 FLIR Lepton 속성을 가져옵니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_FPA_TEMP: int

FLIR Lepton FPA 온도를 섭씨 단위로 가져옵니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_AUX_TEMP: int

FLIR Lepton AUX 온도를 섭씨 단위로 가져옵니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_SET_MODE: int

FLIR Lepton 드라이버를 각 픽셀이 온도 값인 모드로 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_MODE: int

FLIR Lepton 센서에서 측정 모드가 활성화되어 있는지 여부를 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_SET_RANGE: int

측정 모드에서 픽셀 값에 매핑되는 온도 범위를 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_LEPTON_GET_RANGE: int

측정 모드에 사용되는 온도 범위를 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_HIMAX_MD_ENABLE: int

HM01B0의 모션 검출 인터럽트를 제어합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_HIMAX_MD_WINDOW: int

HM01B0의 모션 검출 윈도우를 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_HIMAX_MD_THRESHOLD: int

HM01B0의 모션 검출 임계값을 설정합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_HIMAX_MD_CLEAR: int

HM01B0의 모션 검출 인터럽트를 지웁니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_HIMAX_OSC_ENABLE: int

HM01B0의 내부 오실레이터를 제어합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GET_RGB_STATS: int

카메라 센서에서 RGB 통계를 반환합니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GENX320_SET_BIASES: int

GENX320 센서 바이어스를 GENX320_BIASES_* 프리셋 중 하나로 설정합니다. CSI.ioctl 을 참조하십시오. CSI.reset 이후 드라이버는 csi.GENX320_BIASES_DEFAULT 가 아닌 csi.GENX320_BIASES_LOW_NOISE 를 적용합니다 — 애플리케이션에 더 높은 감도나 대역폭이 필요할 때 이 ioctl을 사용하여 다른 프리셋으로 전환하십시오.

csi.GENX320_BIASES_DEFAULT: int

GenX320 데이터시트 기본값 — 일반적인 장면에 대해 감도, 노이즈, 대역폭이 균형 잡혀 있습니다.

csi.GENX320_BIASES_LOW_LIGHT: int

저조도 조건에 맞게 튜닝됨 — 더 높은 감도를 위해 두 대비 임계값이 모두 완화되고, FO가 낮아지며, 느린 밝기 변화도 여전히 감지되도록 HPF가 비활성화됩니다.

csi.GENX320_BIASES_ACTIVE_MARKER: int

고대비로 깜박이는 LED(능동 마커)를 추적하도록 튜닝됨 — 급격한 전환만 트리거하도록 대비 임계값이 높아지고, 대역폭을 최대화하고 느린 주변광 드리프트를 거부하도록 FO와 HPF가 높게 설정되며, 모든 깜박임 에지가 캡처되도록 REFR=0입니다.

csi.GENX320_BIASES_LOW_NOISE: int

드라이버 기본값 — DEFAULT 보다 낮은 감도(높아진 대비 임계값)와 배경 노이즈 활동을 줄이기 위한 낮은 FO. 거짓 이벤트가 지배할 정적이거나 느린 장면에 가장 적합합니다.

csi.GENX320_BIASES_HIGH_SPEED: int

빠른 움직임 장면에 맞게 튜닝됨 — 더 넓은 픽셀 대역폭을 위한 높은 FO, 느린 변화를 거부하기 위한 높은 HPF, 그리고 판독이 포화되지 않도록 각 이벤트 후 더 긴 데드 타임을 위한 높은 REFR.

csi.IOCTL_GENX320_SET_BIAS: int

단일 GENX320 센서 바이어스를 DAC 값으로 설정합니다. GENX320_BIAS_* 상수(csi.GENX320_BIAS_DIFF_OFF, csi.GENX320_BIAS_DIFF_ON, csi.GENX320_BIAS_FO, csi.GENX320_BIAS_HPF, csi.GENX320_BIAS_REFR)와 정수 DAC 값을 전달하십시오. 각 바이어스는 독립적입니다 — 프리셋을 적용한 후 필요한 바이어스만 조정하도록 이 ioctl을 반복적으로 호출하십시오. CSI.ioctl 을 참조하십시오.

csi.GENX320_BIAS_DIFF_OFF: int

네거티브 비교기 대비 임계값 — csi.PIX_OFF_EVENT 가 발생하기 전에 픽셀이 얼마나 어두워져야 하는지를 제어합니다. 값이 낮을수록 = 더 민감(이벤트가 더 많음).

csi.GENX320_BIAS_DIFF_ON: int

포지티브 비교기 대비 임계값 — csi.PIX_ON_EVENT 가 발생하기 전에 픽셀이 얼마나 밝아져야 하는지를 제어합니다. 값이 낮을수록 = 더 민감(이벤트가 더 많음).

csi.GENX320_BIAS_FO: int

픽셀 저역 통과 차단 주파수 — 픽셀 대역폭(속도/지연 시간)을 배경 노이즈 활동과 절충합니다. 값이 높을수록 = 더 빠른 픽셀 응답, 더 많은 노이즈.

csi.GENX320_BIAS_HPF: int

픽셀 고역 통과 차단 주파수 — 느린 밝기 변화를 거부합니다. 값이 높을수록 = 더 느린 변화가 필터링됨(빠른 전환만 감지됨).

csi.GENX320_BIAS_REFR: int

픽셀 불응 기간 — 픽셀이 이벤트를 방출한 후 다시 발생할 수 없는 데드 타임. 값이 높을수록 = 더 긴 데드 타임, 바쁜 픽셀에서 더 적은 이벤트.

csi.IOCTL_GENX320_SET_AFK: int

GENX320 안티 플리커(AFK) 필터를 설정합니다. 이 필터는 주기적인 주파수 대역(형광등, LED 구동 디스플레이 등)에서 토글하는 픽셀의 이벤트를 거부합니다. enable(활성화는 1, 비활성화는 0)을 전달하고, 활성화 시 대역 경계를 헤르츠 단위로 전달하십시오: (enable, freq_low_hz, freq_high_hz). CSI.ioctl 을 참조하십시오.

csi.IOCTL_GENX320_SET_STC: int

GENX320 시공간 대비(STC) 필터 모드를 설정합니다. GENX320_STC_* 상수(csi.GENX320_STC_DISABLE, csi.GENX320_STC_ONLY, csi.GENX320_STC_TRAIL_ONLY, csi.GENX320_STC_TRAIL)와 그 모드가 요구하는 임계값(밀리초 단위)을 전달하십시오. CSI.ioctl 을 참조하십시오.

csi.GENX320_STC_DISABLE: int

GENX320 STC/트레일 필터를 비활성화합니다 — 모든 이벤트가 통과합니다.

csi.GENX320_STC_ONLY: int

버스트의 두 번째 이벤트를 유지하고, 첫 번째 이벤트와 이후의 모든 이벤트를 드롭합니다. 하나의 매개변수 stc_threshold 를 밀리초 단위로 받습니다 — 동일한 픽셀에서 이전 이벤트로부터 해당 윈도우 내에 있는 이벤트는 동일한 버스트의 일부로 간주됩니다.

csi.GENX320_STC_TRAIL_ONLY: int

버스트의 첫 번째 이벤트를 유지하고, trail_threshold 가 경과할 때까지 동일한 픽셀에서 후속 이벤트를 드롭합니다. 하나의 매개변수 trail_threshold 를 밀리초 단위로 받습니다.

csi.GENX320_STC_TRAIL: int

버스트의 첫 번째 이벤트와 이후의 엣지를 유지합니다csi.GENX320_STC_ONLYcsi.GENX320_STC_TRAIL_ONLY를 결합합니다. stc_thresholdtrail_threshold 두 개의 매개변수(둘 다 ms 단위)를 받으며, 센서는 두 값이 대략 13:1 비율 이내로 유지될 것을 요구합니다.

csi.IOCTL_GENX320_SET_MODE: int

GENX320 동작 모드를 설정합니다. 온칩 이벤트 히스토그램을 위해서는 csi.GENX320_MODE_HISTO를 전달하고(이 경우 카메라는 설정된 프레임레이트로 일반 그레이스케일 카메라처럼 동작합니다), 원시 이벤트 스트리밍을 위해서는 csi.GENX320_MODE_EVENT 뒤에 이벤트 ndarray의 행 축 길이(1024와 65536 사이의 2의 거듭제곱)를 전달합니다. CSI.ioctl을 참조하세요.

csi.GENX320_MODE_HISTO: int

히스토그램 모드 — 이벤트가 픽셀별 빈으로 온칩에서 누적되어 구성된 레이트(~20-350 FPS)에서 320x320 그레이스케일 프레임으로 보고됩니다. 캠이 일반 카메라처럼 보이므로 모든 표준 이미지 처리 루틴이 직접 작동합니다.

csi.GENX320_MODE_EVENT: int

이벤트 모드 — 온칩 히스토그램을 우회하고 원시 이벤트를 마이크로초 타임스탬프와 함께 numpy ndarray 로 스트리밍합니다. 미리 비닝된 프레임이 아닌 전체 시간 세부 정보가 필요한 애플리케이션을 위한 것입니다.

csi.IOCTL_GENX320_READ_EVENTS: int

원시 이벤트를 형태가 (EVT_res, 6) 인 uint16 ndarray 로 읽어들입니다(여기서 EVT_rescsi.IOCTL_GENX320_SET_MODE 에 전달된 버퍼 크기와 일치합니다). 열은 [0] 이벤트 유형(csi.PIX_OFF_EVENT, csi.PIX_ON_EVENT, csi.EXT_TRIGGER_RISING/FALLING, csi.RST_TRIGGER_RISING/FALLING), [1] 초 타임스탬프, [2] 밀리초, [3] 마이크로초, [4] X 좌표(0-319), [5] Y 좌표(0-319)입니다. 버퍼에 기록된 이벤트의 수를 반환하며, 그 수를 넘는 이전 행은 그대로 둡니다. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GENX320_CALIBRATE: int

핫 픽셀 — 정적 장면에서도 잘못 발생하는 픽셀 — 을 자동으로 비활성화합니다. 드라이버는 320x320 픽셀별 적중 횟수를 작성하고, 평균과 표준 편차를 계산한 다음, 횟수가 mean + sigma * stddev 를 초과하는 모든 픽셀을 비활성화합니다. 이벤트 횟수 예산(통계를 계산하기 전에 집계할 이벤트 수 — 높을수록 = 더 신뢰할 수 있는 추정, 더 느림; ~10000이 좋은 기본값)과 시그마 부동소수점(낮을수록 = 더 공격적, ~0.5 기본값)을 전달하십시오. 비활성화된 픽셀의 수를 반환합니다. 움직임으로 인한 이벤트가 실제로는 정상인 픽셀에 불리하게 집계되지 않도록 먼저 정적 장면을 향해 캠을 조준하십시오. CSI.ioctl 을 참조하십시오.

csi.IOCTL_GENX320_READ_EVENTS_RAW: int

GENX320에서 원시 이벤트 프레임 image.Image 를 반환하며, 이벤트는 여전히 칩의 네이티브 패킹된 인코딩 상태입니다 — 캠에서 처리하는 대신 PC로 원시 스트림을 전달하여 오프라인 디코딩하려는 경우에 유용합니다. CSI.ioctl 을 참조하십시오.

csi.PIX_OFF_EVENT: int

GENX320 이벤트 유형(열 [0]) — 픽셀이 밝기 감소를 감지함(네거티브 대비 임계값이 교차됨). 열 [4]/[5] 는 픽셀의 X/Y를 담습니다.

csi.PIX_ON_EVENT: int

GENX320 이벤트 유형(열 [0]) — 픽셀이 밝기 증가를 감지함(포지티브 대비 임계값이 교차됨). 열 [4]/[5] 는 픽셀의 X/Y를 담습니다.

csi.RST_TRIGGER_RISING: int

GENX320 이벤트 유형(열 [0]) — 픽셀 리셋 트리거, 상승 에지. X/Y는 사용되지 않습니다. 현재 펌웨어에서 생성되지 않습니다.

csi.RST_TRIGGER_FALLING: int

GENX320 이벤트 유형(열 [0]) — 픽셀 리셋 트리거, 하강 에지. X/Y는 사용되지 않습니다. 현재 펌웨어에서 생성되지 않습니다.

csi.EXT_TRIGGER_RISING: int

GENX320 이벤트 유형(열 [0]) — 센서의 외부 트리거 핀이 상승 에지를 감지함. GENX320의 외부 트리거 입력은 카메라의 프레임 동기 라인에 연결되어 있으며, 이는 프로세서의 P10 과 핀 헤더로도 라우팅됩니다. X/Y는 사용되지 않습니다.

csi.EXT_TRIGGER_FALLING: int

GENX320 이벤트 유형(열 [0]) — 센서의 외부 트리거 핀이 하강 에지를 감지함. GENX320의 외부 트리거 입력은 카메라의 프레임 동기 라인에 연결되어 있으며, 이는 프로세서의 P10 과 핀 헤더로도 라우팅됩니다. X/Y는 사용되지 않습니다.