디베이어링으로 인해 누락된 픽셀 값 처리#
컬러 카메라에서는 디베이어링(디모자이킹이라고도 함) 알고리즘을 사용하여 픽셀 데이터로부터 RGB 값을 계산합니다. "Bayer conversion"을 검색하면 이를 수행하는 다양한 방법을 확인할 수 있습니다. 간단한 변환 방법은 다음과 같습니다:

이 예제는 "RG" Bayer 배열을 보여주며, 각 픽셀의 전체 RGB 정보는 해당 픽셀 및 주변 픽셀의 Bayer 배열 강도 값으로부터 유도됩니다. 녹색 강도 값은 평균화됩니다. 보시다시피 이 프로세스는 주변 픽셀의 더 이상 정보를 사용할 수 없는 프레임 끝부분의 일부 예외 상황에서 문제가 발생합니다. 현재 픽셀의 오른쪽 및/또는 아래쪽에 픽셀이 없습니다.
주변 픽셀의 정보가 필수적이므로 많은 복잡한 Bayer 변환에서 이러한 현상이 발생합니다. 이러한 상황은 최종 사용자 솔루션에서 다양한 방식으로 처리할 수 있습니다. 예를 들어, 애플리케이션에서 마지막에서 두 번째 픽셀 데이터를 마지막 픽셀에 복사할 수 있습니다.
완벽한 유연성을 제공하기 위해 이미지 테두리와 모서리에는 0 값이 포함되어 출력됩니다. 이로 인해 마지막 행과 열에 검은색 픽셀이 생성됩니다.
이 픽셀들은 다음 pylon C++ API 변환기 함수를 사용하여 잘라낼 수 있습니다:
CImageFormatConverter converter;
converter.OutputPixelFormat = PixelType_BGR8packed;
converter.InconvertibleEdgeHandling = InconvertibleEdgeHandling_Clip;
또는 pylon .NET API를 사용할 수 있습니다:
private PixelDataConverter converter = new PixelDataConverter();
converter.OutputPixelFormat = PixelType.BGRA8packed;
converter.Parameters\[PLPixelDataConverter.InconvertibleEdgeHandling\].TrySetValue(PLPixelDataConverter.InconvertibleEdgeHandling.Clip);
다음 코드는 pylon C.NET에서 해당 함수를 사용하는 방법을 보여줍니다: