Operator Library: Base
ConvertPixelFormat 오퍼레이터는 원하는 출력 Pixel Format에 맞추어 Arithmetic과 Bit Width를 조정하면서 최대한 많은 정보를 유지하려고 시도합니다. 따라서 이 오퍼레이터를 사용하면 출력 링크에서 Bit Width와 Arithmetic을 정의할 수 있습니다.
알고리즘의 기본 원리는 두 가지입니다.
-
클리핑을 통한 Arithmetic 변경
- unsigned에서 signed로 변환: 출력의 MSB가 부호 비트로 사용됨
- signed에서 unsigned로 변환: 양수 값으로 클리핑, 즉 값이 0보다 작으면 0으로 설정됨
-
상대적 밝기를 유지하면서 Bit Width 변경
- 출력 Bit Width가 증가하면, 원하는 Bit Width에 맞추기 위해 값이 왼쪽으로 시프트됨
- 출력 Bit Width가 감소하면, 원하는 Bit Width에 맞추기 위해 값이 나누어지고 반올림됨
따라서 출력 값은 다음과 같이 결정될 수 있습니다:
| Input Bit Width | Output Bit Width | Input Arithmetic | Output Arithmetic | Input Value | 출력 값 | Comment | ||
|---|---|---|---|---|---|---|---|---|
| Decimal | Binary | Decimal | Binary | |||||
| 4 | 5 | unsigned | unsigned | 10 | 1010 | 20 | 10100 | value * 2 |
| 5 | 4 | unsigned | unsigned | 15 | 1111 | 8 | 1000 | value를 2로 나누고 반올림 |
| 5 | 4 | unsigned | unsigned | 31 | 11111 | 15 | 1111 | 최대값으로 클리핑된 value |
| 4 | 4 | unsigned | signed | 11 | 1011 | 6 | 0100 | value를 2로 나누고 반올림 |
| 4 | 4 | signed | unsigned | 4 | 0100 | 8 | 1000 | value * 2 |
| 5 | 4 | signed | unsigned | 10 | 01010 | 10 | 1010 | 유지된 value |
| 5 | 4 | signed | unsigned | -2 | 11110 | 0 | 0000 | 0으로 클리핑된 value |
| 5 | 4 | signed | signed | -7 | 11001 | -4 | 1100 | value를 2로 나누고 반올림 |
표 34. 예시
컬러 링크의 경우, 각 색상 성분이 개별적으로 처리됩니다.
ConvertPixelFormat 오퍼레이터 사용법은 다음 예시와 같습니다.
-
그림 204, '16Bit 출력을 위해 추가된 ConvertPixelFormat 오퍼레이터'
기본 가이드 - DMA bit width를 변경하려면 ConvertPiyelFormat을(를) 사용하십시오.
-
예시 - 이 예시는 3x3 필터를 사용하여 Bayer RAW 패턴의 디모자이킹을 수행하는 방법을 보여줍니다.
-
예시 - 이 예시는 5x5 필터를 사용하여 Bayer RAW 패턴의 디모자이킹을 수행하는 방법을 보여줍니다.
-
'Bayer 3x3 Demosacing with White Balancing'
Examples - 이 예시는 3x3 필터를 사용하여 Bayer RAW 패턴의 디모자이닝(demosaicing)을 수행하는 방법을 보여줍니다. 또한 컬러 보정을 위한 화이트 밸런싱이 추가되었습니다.
-
'Bayer 5x5 Demosacing with White Balancing'
Examples - 이 예시는 5x5 필터를 사용하여 Bayer RAW 패턴의 디모자이닝(demosaicing)을 수행하는 방법을 보여줍니다. 또한 컬러 보정을 위한 화이트 밸런싱이 추가되었습니다.
-
'컬러 패턴 Red/BlueFollowedByGreen GreenFollowedByBlue/Red를 사용하는 양선형 라인 스캔 카메라용 Bayer 디모자이킹'
예시 - 이 예시는 컬러 패턴이 Red/BlueFollowedByGreen_GreenFollowedByBlue/Red인 양선형 라인 스캔 카메의 Bayer RAW 패턴 디모자이킹을 보여줍니다.
-
'컬러 패턴 RedFollowedByBlue GreenFollowedByGreen을 사용하는 양선형 라인 스캔 카메라용 Bayer 디모자이킹'
예시 - 이 예시는 컬러 패턴이 Red/BlueFollowedByBlue/Red_GreenFollowedByGreen인 양선형 라인 스캔 카메라의 Bayer RAW 패턴 디모자이킹을 보여줍니다.
-
'8비트 바이컬러 Bayer 패턴을 사용하는 라인 스캔 카메라의 Bayer 디모자이킹'
예시 - 이 예시는 BiColorRGBG, BiColorGRGB, BiColorBGRG, BiColorGBGR 등의 바이컬러 Bayer 패턴을 가진 CXP-12 라인 스캔 카메라(예: racer 2 L 카메라)의 8비트 Bayer RAW 패턴 디모자이킹을 보여줍니다. 또한, 이 예시에는 라인 스캔 트리거 모듈과 화이트 밸런싱 모듈이 포함되어 있습니다.
-
'10비트 바이컬러 Bayer 패턴을 사용하는 라인 스캔 카메라의 Bayer 디모자이킹'
예시 - 이 예시는 BiColorRGBG, BiColorGRGB, BiColorBGRG, BiColorGBGR 등의 바이컬러 Bayer 패턴을 가진 CXP-12 라인 스캔 카메라(예: racer 2 L 카메라)의 10비트 Bayer RAW 패턴 디모자이킹을 보여줍니다. 또한, 이 예시에는 라인 스캔 트리거 모듈과 화이트 밸런싱 모듈이 포함되어 있습니다.
-
'12비트 바이컬러 Bayer 패턴을 사용하는 라인 스캔 카메라의 Bayer 디모자이킹'
예시 - 이 예시는 BiColorRGBG, BiColorGRGB, BiColorBGRG, BiColorGBGR 등의 바이컬러 Bayer 패턴을 가진 CXP-12 라인 스캔 카메라(예: racer 2 L 카메라)의 10비트 Bayer RAW 패턴 디모자이킹을 보여줍니다. 또한, 이 예시에는 라인 스캔 트리거 모듈과 화이트 밸런싱 모듈이 포함되어 있습니다.
-
'Co-Processor Large Filter Calculation'
Examples - imaFlex 플랫폼의 보조 프로세서 기능을 보여줍니다. 예시로 대형 필터 커널이 계산됩니다.
-
예시 - 이 예시는 이미지 프레임의 시작과 끝에 대한 신호 및 이벤트 생성을 보여줍니다.
-
예제 - 이미지 스트림을 분할하고 병합하는 방법을 보여줍니다. 이미지에 트레일러를 추가합니다.
-
예제 - 이 예제는 2D Shading Correction의 구현을 보여줍니다. 보정 값은 프레임 그래버 RAM에 저장됩니다. 이 앱릿은 고정밀 오프셋 및 게인 보정을 수행합니다.
-
'블록 RAM을 사용한 1D Shading Correction'
예제 - 이 예제는 1D Shading Correction을 보여줍니다. 보정 값은 블록 RAM 메모리에 저장됩니다.
-
'프레임 그래버 RAM을 사용한 1D Shading Correction'
예제 - 이 예제는 1D Shading Correction을 보여줍니다. 보정 값은 Frame Grabber RAM에 저장됩니다.
-
'imaFlex CXP-12 Quad 플랫폼에서의 DMAFromPC 오퍼레이터 예시'
예시 - Shading Correction 예제를 사용하여 오퍼레이터를 사용하는 방법 시연



이전

