デベリングによって引き起こされる画素値の欠損の処理#
カラーカメラでは、デベイヤリング(デモザイキングとも呼ばれます)アルゴリズムを使用して、ピクセルデータからRGB値が計算されます。「Bayer conversion」を検索すると、これを実行するためのさまざまな方法が表示されます。簡単な変換例を以下に示します。

この例は「RG」Bayer配列を示しており、各ピクセルの完全なRGB情報は、そのピクセルおよび隣接ピクセルの対応するBayer配列の輝度値から導出されます。緑の輝度は平均化されます。ご覧のとおり、このプロセスでは、隣接ピクセルからの情報がこれ以上利用できないフレームの端で、いくつかのエッジケースが発生します。現在のピクセルの右側や下側にピクセルが存在しません。
周辺ピクセルからの情報が不可欠であるため、これは多くの複雑なBayer変換で発生します。このような状況には、エンドユーザーソリューションにおいてさまざまな方法で対処できます。たとえば、アプリケーションによって、最後から2番目のピクセルデータを最後のピクセルにコピーすることができます。
最大限の柔軟性を提供するため、画像は境界とコーナーにゼロ(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での関数を示しています。