Как получить значение пикселя изображения, а также высоту и ширину изображения в CUDA C? - PullRequest
1 голос
/ 02 ноября 2011

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

1 Ответ

1 голос
/ 02 ноября 2011

Ширина и высота получаются из входного изображения.Вам нужна функция для загрузки файла изображения с диска (некоторые примеры от NVIDIA создают изображение в виде массива в заголовочном файле).

В CUDA SDK есть функции для загрузки файлов изображений PGM, то есть с неподписаннымchar как тип элемента данных, то есть изображение в оттенках серого.Например, вы можете использовать:

// file handlers
char *image_filename = "image.pgm";
// images properties
unsigned int width;
unsigned int height;
// image array in CPU.
unsigned char* h_image = NULL;
// load PGM gray scale image file from disk
cutLoadPGMub(image_filename, &h_image, &width, &height);

Затем скопируйте данные в глобальную память GPU или привяжите изображение в качестве текстуры для работы с пикселями в функции ядра.

Я рекомендую вам взятьпосмотрите на пример simpleTexture пакета CUDA SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...