| 간략한 설명 | |
|---|---|
|
File: \examples\Processing\Loop\RollingAverage\rollingAverage_Loop.vad |
|
|
기본 플랫폼: imaFlex CXP-12 Quad |
|
|
간단한 설명 프레임 지연을 발생시키지 않고 실행 중인 이미지 스트림에 이동 평균을 구현합니다. 최근 N개의 흑백 이미지 평균값을 계산하고, 이를 사용하여 현재 이미지와의 결과적인 차이를 컬러로 시각화합니다. 평균값을 생성하는 데 사용되는 이미지 수는 128개로 설정되어 있지만 수정할 수 있습니다. |
|
이 디자인은 이동 평균이 작동하는 방식을 보여줍니다. 하지만 핵심 요소는 더 많은 애플리케이션과 머신 비전 작업을 가능하게 하는 루프입니다. 루프의 작동 방식과 구현 방법을 이해하기 위해 이 예제는 완벽한 출발점이 됩니다.
각 단일 픽셀의 평균값을 계산하고 8비트의 들어오는 값 범위로 정규화합니다. 이를 위해 수신된 각 프레임은 이전 프레임들과 합산되고 수신된 프레임 수로 나뉩니다. 이동 평균 시퀀스의 길이에 도달하면 저장 및 지연된 프레임만큼 합계가 줄어듭니다. 이를 통해 첫 번째 이미지부터 출력 이미지가 이미 생성됩니다.
디자인에서는 두 가지 조건이 이동 평균 시퀀스의 길이를 정의합니다. 두 값 모두 N_rolling이라고 하며 동일한 값으로 설정해야 합니다. 하나는 이미지 차감의 지연 저장 프로세스를 처리하고, 다른 하나는 픽셀 값 정규화를 처리합니다.
RxImageLink 및 TxImageLink 오퍼레이터는 루프 처리를 활성화하는 데 사용됩니다. 들어오는 이미지 시퀀스의 정규화되지 않은 평균 합계는 하나의 루프에서 처리됩니다. 값의 나중 차감을 위해 들어오는 프레임을 저장하는 데 두 번째 루프 처리가 필요합니다. 각 루프는 들어오는 카메라 프레임과 동기화되어야 합니다. 이는 시작 조건을 충족해야 하는 SYNC 오퍼레이터를 유도합니다. 시작 조건 자체는 첫 번째 실행에서 단일 최소 프레임을 도입하는 InsertImage에 의해 처리됩니다. 사용된 SYNC는 프레임 치수를 필요한 값으로 최대화합니다.
평균 처리에 일정 수의 프레임을 저장해야 하므로 ImageBufferMultiRoiDyn 오퍼레이터가 사용됩니다. 첫 번째 이미지는 생성되는 최소 프레임에 의해 동기화 목적이 충족되는 것과 함께 단순히 저장됩니다.
VA 시뮬레이션을 사용하면 SYNC 주변에서 이 작업이 작동하는 방식을 자세히 이해하는 데 도움이 됩니다. 일반적으로 인공적인 최소 프레임 시퀀스가 동기화를 수행합니다.
두 가지 시각화 방식이 구현되어 있습니다. 첫 번째 방식은 24비트 RGB 이미지를 생성합니다:
- Plane - Content
- RED - 현재 이미지
- GREEN - 평균 이미지
- BLUE - 차이 이미지
두 번째 접근 방식은 나중에 24비트 RGB로 변환되는 HSL 색상 공간을 기반으로 합니다:
- Plane - Content
- HUE / 색조 각도 - 차이 이미지(여기서 최솟값은 녹색)
- SATURATION - 최댓값으로 설정
- LIGHTNESS - 현재 이미지
두 번째 접근 방식은 EffectEnable = 1에 의해 켜집니다. 모든 Hue 색조 각도에 대한 차이 scaling에 동적 게인 팩터를 사용할 수 있습니다.
예제 "rollingAverage_Loop.vad"는 픽셀당 8비트에서 1024x1024 해상도의 베이스 구성인 흑백 CameraLink 카메라용으로 설계되었습니다.

이전

