Обработка изображений в WPF

Я разрабатываю приложение WPF, которое отображает данные в виде 8-битного индексированного изображения размером 500x500 со скоростью 10 кадров в секунду с использованием WriteableBitmap.

Мы хотели бы добавить некоторые алгоритмы обработки изображений в реальном времени в наш вывод, такие как двумерная медианная фильтрация, размытие по Гауссу или скользящее среднее значение, которые потребляют вычислительную мощность.

  • Кто-нибудь пытался использовать пиксельные шейдеры WPF для выполнения таких задач?
  • Будет ли эффективна библиотека обработки изображений для конкретной платформы? (например, Intel IPP?)
  • Или пользовательский рендерер на основе DirectX будет решением?

Любой совет будет очень приветствоваться. На данный момент все вычисляется в нашем приложении .NET, и я считаю, что есть возможности для оптимизации.

Спасибо за помощь,

Наилучшие пожелания,

Роман


person HW2015    schedule 10.11.2010    source источник


Ответы (1)


Если ваши данные предназначены исключительно для отображения, я бы рекомендовал использовать пиксельные шейдеры. Два других варианта, которые вы предлагаете, требуют взаимодействия с неуправляемым кодом, что усложняет работу.

person Jesper Larsen-Ledet    schedule 10.11.2010
comment
Ваше мнение о третьем варианте неверно. Выберите путь SlimDX + Hlsl или XNA + Hlsl, и вы будете в пределах управляемого кода. Я бы предложил подход SlimDX, потому что в нем мы можем использовать ComputeShaders, что позволяет нам программировать GPGPU с DirectX 11. - person Agnius Vasiliauskas; 08.12.2010