Самый простой способ нарисовать изображение? - PullRequest
9 голосов
/ 02 января 2011

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

Который (открытыйбиблиотеки source) вы бы порекомендовали выполнить вышесказанное с наименьшим количеством кода?

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

Ответы [ 3 ]

9 голосов
/ 02 января 2011

Библиотека CImg проста в использовании.

CImg<unsigned char> img("lena.png");              // Read in the image lena.png
const unsigned char valR = img(10,10,0,0);        // Read the red component at coordinates (10,10)
const unsigned char valG = img(10,10,0,1);        // Read the green component at coordinates (10,10)
const unsigned char valB = img(10,10,2);          // Read the blue component at coordinates (10,10) (Z-coordinate omitted here).
const unsigned char avg = (valR + valG + valB)/3; // Compute average pixel value.
img(10,10,0) = img(10,10,1) = img(10,10,2) = avg; // Replace the pixel (10,10) by the average grey value.
CImgDisplay main_disp(img, "Modified Lena");      // Display the modified image on the screen
img.save("lena_mod.png");                         // Save the modified image to lena_mod.png

Может также использоваться как довольно мощная библиотека для обработки изображений. Смотрите примеры здесь .

4 голосов
/ 02 января 2011

Вам следует заглянуть в библиотеку OpenCV, особенно если вы занимаетесь теоретическими исследованиями компьютерной графики.

0 голосов
/ 02 января 2011

Если целевое приложение доступно только для Windows, вы можете использовать GDI +, описанные здесь и здесь здесь является одним из многих подтверждений концепции манипулирования изображениями с использованием GDI +.

РЕДАКТИРОВАТЬ: библиотека не с открытым исходным кодом, включена в ОС начиная с Windows XP (может быть установлена ​​на 98 и 2000)API общедоступен и предоставляет вам множество функций обработки изображений, которые можно использовать в более сложных алгоритмах.

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