Если вы можете конвертировать его в RGB, у вас есть Bitmap в ваших руках. Вы можете заблокировать растровое изображение и установить его данные. При создании нового растрового изображения вы можете установить формат пикселей (24 бит / с, 32 бит / с), поэтому создание растрового изображения из видеокадра не должно быть проблемой.
Каждый раз, когда вы получаете новый кадр, все, что вам нужно, это обновить текстуру в DirectX. Текстуры в DirectX имеют различные форматы, и некоторые из них совместимы с растровыми форматами, вы даже можете создавать новые текстуры с помощью растровых изображений.
Сначала найдите несколько примеров того, как визуализировать текстуру в DirectX (SlimDX, ManagedDirectX ...), затем обновляйте текстуру каждый раз, когда появляется новый кадр. Если вы не хотите беспокоиться о блокировке и обновлении текстуры, вы можете создать новую Текстура каждый раз, когда приходит новый кадр, используя этот конструктор
public Texture(Device, Bitmap, Usage, Pool);
Даже если вы не хотите беспокоиться о DirectX, вы можете выполнить рендеринг непосредственно в Canvas в WPF
class MyCanvas : Canvas {
protected override void OnRender (DrawingContext dc) {
BitmapImage img = ...;
dc.DrawImage (img, new Rect (0, 0, img.PixelWidth, img.PixelHeight));
}
}
Чтобы получить BitmapImage из Bitmap, смотрите здесь текст ссылки