![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 20.08.2009
Сообщений: 1
|
![]()
Задание:
Сформировать результирующее изображение с нормализованной гистограммой распределения яркостей из исходного изображения. Входные данные: * файл с исходным черно-белым изображением 8-бит на пиксел в pnm-формате * файл с параметрами в текстовом формате Выходные данные: * файл с обработанным черно-белым изображением 8-бит на пиксел в pnm-формате Передача вх./вых. данных осуществляется через командную строку, следующим образом: <программа><параметры><начальное изображение><конечное изобр.> Описание файла параметров: Обработка части изображения, находящегося в окне. Область окна обработки (4-ре целых left, top, right, bottom). Описание файла pnm-формата: <Тег><\0x0A><ширина><\0x20><высота> <\0x0A><глубина_цвета><\0x0A> <pixel[0][0]><pixel[0][1]>...<pixel[0][ширина-1]> ... <pixel[высота-1][0]><pixel[высота-1][1]>...<pixel[высота-1][ширина-1]> где: <Тег> ---------------- Строка P5 <pixel[x][y]> -------- Байт кодирующий яркость <ширина> ----------- строка в текстовом виде (например 768) <высота> ------------ строка в текстовом виде (например 576) <глубина_цвета> --- строка в текстовом виде (например 255) Алгоритм обработки изображения: * для входного изображения рассчитать гистограмму распределения яркостей H[0..n] * по расчитанной гистограмме сформировать таблицу перекодировки яркости L[0..n] L[k]=(n*сумма_от_i=0_до_k H[i])/сумма_от_i=0_до_n H[i] ,где n - глубина цвета. * каждый пиксел выходного изображения формировать следующим образом: out[x,y]=L[inp[x,y]] Среда разработки:Visual C++ Express Edition 2008 Язык: C++ ВОПРОС: Раньше с изображениями не работал. Как открыть изображение, загрузить его в память(массив или указатель) и преобразовать попиксельно, извлечь информацию о размерах и глубине изображения? Пробовал для примера работать с потоками над текстовыми файлами. С изображениями не катит. Код:
Вот еще пробовал, но безуспешно. Код:
Последний раз редактировалось Stilet; 21.08.2009 в 09:15. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уменьшаем изображение | brutos | Мультимедиа в Delphi | 4 | 19.05.2009 15:59 |
Изображение | Terran | Работа с сетью в Delphi | 2 | 08.02.2008 22:28 |
Замостить изображение | SunKnight | Общие вопросы Delphi | 5 | 13.01.2008 14:23 |
Как получить изображение, если я знаю его хендл? | AidarBik | Win Api | 4 | 05.11.2007 15:54 |
Изображение | Artem | Мультимедиа в Delphi | 10 | 13.07.2007 13:27 |