Преобразование растрового изображения с использованием графического процессора

StackOverflow https://stackoverflow.com/questions/3929865

Вопрос

Я не знаю, является ли это правильным форумом. Во всяком случае, вот вопрос. В одном из наших приложений мы отображаем медицинские изображения, и поверх них немного алгоритма, сгенерированного растровым картой. Настоящая растровая карта - это 16 -битная серая масштабная растровая карта. Из этого мы генерируем цветную растровую карту на основе таблицы поиска вверх для EG

(0-100)->green 
(100-200)->blue
(200>above)->red

Дисплей работает хорошо и хорошо с небольшими изображениями 256x256. Но когда область отображения становится большой, скажем, 1024x1024, серая масштаб в цветовой преобразование растрового изображения занимает некоторое время, а взаимодействия больше не являются гладкими. В последнее время я много слышал о программировании графических процессоров общего назначения. В нашем развертывании у нас есть видеокарта высокого класса (NVIDIA Quadrofx).

Наше приложение построено с использованием .net/c#, если я запрошу, я тоже могу добавить немного C ++/CLI. Теперь мой вопрос: может ли это преобразование растрового изображения быть выгружено в графический процессор? Где мне искать дальнейшее чтение?

Это было полезно?

Решение

Да - и так как вы (очевидно) отображаете растровый карту, вам не нужно идти по маршруту GPGPU (например, OpenCl или CUDA). Вы можете использовать программируемый шейдер для этого - и если я пойму, что вы говорите, это будет довольно простым.

Что касается того, чтобы написать шейдер, он будет зависеть (в основном) от того, как вы делаете остальную часть своего рисунка. Просто для очевидного примера, если вы уже используете WPF для своего рисунка, вы, вероятно, захотите использовать шейдер HLSL (WPF справедливо поддерживает Pixel Shaders прямо).

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top