Построение гистограммы со значениями C ++ RGB - PullRequest
0 голосов
/ 23 января 2012

Я получил значения RGB для каждого пикселя на изображении, теперь я хотел бы построить гистограмму на основе RGB.Таким образом, будет 3 линии (синий, зеленый, красный), идущие вверх и вниз в зависимости от значения пикселя.Но, несмотря на это, я не знаю, как найти способ сделать это.Есть ли какое-нибудь руководство, которым я могу воспользоваться?Спасибо!

PS: я использую приложение проекта C ++, а не консольное приложение C ++.

Редактировать: я использую Microsoft Visual Studio 2010

Редактировать: я пытался построитьОсь X и Y.

Я знаю, что Y может оставаться постоянным, но на оси X ось X должна показывать значения RGB при подъеме по оси Y.Есть ли способ обойти это?

Извините, если я звучу растерянно, надеюсь, вы понимаете, о чем я.

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Как я понимаю из вашего вопроса, вы новичок в таких заданиях.В таком случае я рекомендую вам какую-нибудь стороннюю библиотеку GUI, которая сделает большую часть работы за вас.Наилучшим выбором, вероятно, является Qt от Nokia (доступна надстройка Visual Studio) и бесплатная библиотека под названием QWT на основе Qt, которая идеально подходит для построения гистограмм, спектрограмм и многих других объектов.другой технической прорисовки.По крайней мере, вы можете просмотреть исходный код и понять, как это сделать по-своему.

Конечно, вы можете сделать это с помощью встроенного API Windows ( GDI + ), но этодействительно боль.

0 голосов
/ 23 января 2012

Функции MoveTo и LineTo используются для рисования линий в Windows, обычно в ответ на сообщение WM_PAINT. Выберите ручку соответствующего цвета в DC прежде, чем вызвать их.

Вам нужно будет масштабировать значения гистограммы по шкале Y. Выберите максимальное значение Y, и для каждого значения гистограммы используйте y = histogram[x] * height / maxY.

...