Operator Library: Accumulator
ModuloCounter는 입력 링크의 픽셀, 라인 또는 프레임 수를 셉니다. 카운트 시퀀스는 모듈로 제수(modulo divisor)에 의해 제한됩니다. 시퀀스가 반복되기 전에 Counter가 가질 수 있는 고유 상태의 수는 모듈로 제수에 의해 정의됩니다. 모듈로 제수는 Divisor 파라미터로 정의됩니다. 예를 들어 모듈로 제수가 4인 경우 "n MOD 4", 즉 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3 ...을 셉니다.
출력 프레임의 이미지 크기는 항상 입력 프레임의 이미지 크기와 동일합니다. 출력의 픽셀 데이터는 Counter 결과를 나타냅니다. 픽셀 값은 사용되지 않으며, 계산에는 픽셀, 라인 또는 프레임 인덱스만 고려됩니다.
Counter는 항상 값 0에서 시작합니다. CountEntity 파라미터를 구성하여 입력 링크의 모든 픽셀, 라인 또는 프레임을 카운트하도록 설정할 수 있습니다. 예를 들어 CountEntity 파라미터가 PIXEL로 설정된 경우, 오퍼레이터는 입력의 모든 píxel(픽셀)과 함께 Counter를 증가시킵니다.
CountEntity가 LINE으로 설정된 경우, Counter는 모든 라인의 시작 부분에서 증가하므로 입력 링크의 라인을 셉니다. 예를 들어 모듈로 제수가 4이면 라인 0의 모든 픽셀은 값 0을 가지게 됩니다. 라인 1의 픽셀은 값 1을 가지는 식입니다. 그러나 라인 4의 픽셀은 다시 픽셀 값 0을 가집니다.
CountEntity가 FRAME으로 설정된 경우, Counter는 모든 프레임의 시작 부분에서 증가합니다.
다음 예에서는 오퍼레이터의 사용법을 설명합니다. 첫 번째 예는 이미지 너비와 이미지 높이가 8픽셀인 두 개의 연속 프레임을 보여줍니다. 모든 픽셀 값은 숫자로 표시됩니다. 프레임 인덱스 0은 초기 프레임, 즉 Acquisition Start 직후의 첫 번째 프레임을 나타냅니다.
-
구성: Divisor = 6, CountEntity = PIXEL, AutoClear = EoF

이 예에서 볼 수 있듯이, 파라미터 CountEntity가 PIXEL로 설정되면 Counter는 모든 픽셀과 함께 증가합니다. Divisor가 6으로 설정되어 있으므로 결과 값은 0에서 5 사이의 범위입니다. 두 번째 프레임에서는 프레임 끝에서 Counter가 재설정되므로 오퍼레이터가 0부터 다시 시작합니다.
-
구성: Divisor = 6, CountEntity = LINE, AutoClear = NONE

이 예에서 오퍼레이터는 픽셀 대신 라인을 셉니다. 따라서 이미지의 모든 픽셀은 라인 번호를 나타냅니다. 여기서 파라미터 AutoClear는 NONE으로 설정됩니다. 따라서 오퍼레이터는 첫 번째 이미지 라인에서 재설정되지 않고 두 번째 프레임에서 계속해서 라인을 셉니다.
-
구성: Divisor = 6, CountEntity = FRAME, AutoClear = NONE

마지막 예는 프레임 카운팅을 보여줍니다. 여기서 모든 픽셀의 값은 프레임 번호를 나타냅니다.
획득(acquisition) 중에 Divisor 파라미터가 변경되면, 새 값은 다음 프레임이 시작될 때 적용됩니다. 1D 입력의 경우, 새 값은 다음 라인에 적용됩니다. 입력에 0D 데이터가 있는 경우, 새 Divisor 값이 즉시 적용됩니다.
Image Restrictions
-
Empty Images
픽셀이 없는 빈 이미지는 허용되지 않습니다.
| Divisor | |
|---|---|
| Type | 정적/동적 쓰기 파라미터 |
| Default | 1 |
| Range | [1..2^OutputBitWidth] |
|
이 파라미터는 모듈로 연산의 제수를 정의합니다. 제수 값은 2^OutputBitwidth보다 작거나 같아야 합니다. |
|
| CountEntity | |
|---|---|
| Type | static parameter |
| Default | PIXEL |
| Range | {PIXEL, LINE, FRAME} |
|
이 파라미터는 오퍼레이터 Counter가 모든 픽셀, 모든 라인에 대해 활성화되는지 또는 프레임당 한 번만 활성화되는지 정의합니다. FRAME 옵션은 VALT_IMAGE2D 이미지 프로토콜에서만 사용할 수 있습니다. LINE은 VALD_IMAGE2D 및 VALT_LINE1D 이미지 프로토콜에서만 사용할 수 있습니다. VALT_PIXEL0D 이미지 프로토콜의 경우 파라미터가 항상 픽셀을 셉니다. |
|
| AutoClear | |
|---|---|
| Type | static parameter |
| Default | NONE |
| Range | {EoL, EoF, NONE} |
|
AutoClear 옵션을 사용하면 라인 끝, 프레임 끝에서 Counter를 0으로 재설정하거나 재설정을 전혀 수행하지 않을 수 있습니다. CountEntity가 PIXEL로 설정된 경우 이 파라미터의 세 가지 옵션을 모두 선택할 수 있습니다. CountEntity가 LINE으로 설정된 경우 EoF 및 NONE 옵션을 사용할 수 있습니다. CountEntity가 FRAME인 경우 오퍼레이터의 자동 지우기(auto clear)는 사용할 수 없습니다. VALT_LINE1D image protocol을 사용하는 경우 프레임 끝에서 clear를 수행할 수 없습니다. VALT_PIXEL0D에서는 operator의 auto clear를 사용할 수 없습니다. |
|
operator ModuloCount의 사용법은 다음 예시와 같습니다.
-
10개의 이미지 중 9개를 제거합니다.
-
예시 - 라인 스캔 어플리케이션에서 Blob_Analysis_1D 오퍼레이터의 사용법을 보여줍니다.
-
'Color Plane Separation Option 3 - Sequential with Operator ImageBufferMultiRoI'
컬러 플레인의 순차적(Sequential) DMA 출력. 컬러 분리는 operator ImageBufferMultiROI를 사용하여 수행됩니다.
-
'Color Plane Separation Option 5 - Sequential Output with Advances Processing'
컬러 평면 분리 예시. RGB 입력은 구성 요소별로 분리되어 하나의 DMA 채널을 통해 순차적으로 출력됩니다. 분리는 평행한 워드로 동일한 구성 요소를 수집하고 FrameBufferRandomRead로 읽는 방식으로 수행됩니다.
-
예시 - 디버깅 목적으로 Scope 오퍼레이터는 그레이스케일 사진을 분석하기 위한 옵션을 제공합니다.
-
예시 - SampleDn operator를 사용하지 않고 3x3 배율로 다운사플링하는 방법.
-
예시 - 입력 이미지에 그리드가 오버레이됩니다. 그리드 픽셀 값은 입력 픽셀 값에 따라 결정됩니다.


이전

