Есть ли способ сделать аппаратно ускоренные операции для каждого пикселя или пиксельного шейдера над изображением (используя Drawing.Image) в C #? - PullRequest
1 голос
/ 19 июля 2011

Цель состоит в том, чтобы сделать аппаратно ускоренные настройки яркости, контрастности или цветов RGB для изображения. Использование C # и сохранение результата в Drawing.Image.

Я пытался использовать матричные преобразования, но они не были аппаратно ускорены. И использование XAML аппаратно ускоряется, но при извлечении изображения преобразование из Media.Image в стандартный .NET Drawing.Image изменяет содержимое изображения (используя методы преобразования Microsoft); т.е. преобразованный вывод не соответствует входному.

Я предполагаю, что есть способ использовать DirectX / пиксельные шейдеры из C # и работать с ним или, по крайней мере, писать в Drawing.Image.

Спасибо

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Вы смотрели на XNA?Объект Texture2D может загружаться из потока памяти или из растрового файла, и вы можете либо извлечь данные из текстуры в виде массива, либо сохранить их в файл.Это должно иметь большую часть кода, который вам действительно нужно написать:

http://msdn.microsoft.com/en-us/library/bb313868(v=xnagamestudio.31).aspx

, но есть много учебников по xna для создания пиксельных шейдеров, если вам нужно больше примеров ... какэтот (http://blog.josack.com/2011/07/my-first-2d-pixel-shaders-part-1.html)

0 голосов
/ 19 июля 2011

Вам следует проверить CUDA , если у вас есть графический процессор NVIDIA.

...