|
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 5
|
|
Программа для обработки растровых изображений12.12.2010, 15:07. Показов 4102. Ответов 4
Метки нет (Все метки)
Всем привет!)) Мне задали курсач по программированию на Visual Studio C++. Разработать программу для обработки растровых изображений, хранящихся в файлах формата BMP (BitMaP).
мой вариант: 1. Преобразовать цветное изображение в черно-белое (оттенки серого). Для каждого пикселя изображения выполнить следующие действия: • вычислить среднее арифметическое S компонентов пикселя; • заменить значения компонентов пикселя на S. Помогите плиз!! Подскажите с чего начать!!!!!!
0
|
|
| 12.12.2010, 15:07 | |
|
Ответы с готовыми решениями:
4
Возникают ошибки при формировании растровых изображений, и неправильно приводятся типы Разработка клиент-серверного приложения для удаленной обработки изображений Программа для сохранения и загрузки фрагментов растровых изображений |
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
| 12.12.2010, 16:13 | |
|
на чем пишешь-то? WinAPI, MFC, CLI?
0
|
|
|
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 5
|
|
| 12.12.2010, 16:39 [ТС] | |
|
WinAPI
0
|
|
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
|
| 12.12.2010, 18:01 | |
|
скверно.
документация уровня WinAPI большей частью удалена из msdn(там теперь все для .Net и MFC), а на вскидку я уже и не помню: давно писать на таком уровне не приходилось. в независимых источниках(типа старые сайты - справочники)найти нужные данные еще можно. также можно вытащит правила работы с растровыми изображениями из исходников MFC. в кратце, это выглядит так: делаешь структуры для файла bmp: BITMAPFILEHEADER, BITMAPINFOHEADER(можно посмотреть в википедии:http://ru.wikipedia.org/wiki/BMP), делаешь палитру, читаешь файл в эти структуры и массив данных, и дальше все тоже ручками - делаешь цикл на каждый пиксель(согласно ширине и высоте картинки в структуре BITMAPINFOHEADER) и для каждого пикселя берешь номер цвета из палитры, вычисляешь свою среднюю, делаешь из них новую палитру, и заменяешь адреса цветов на новый адрес в новой палитре. а можешь делать и без палитры. сразу вычисляешь цвет, и пишешь вместо старого. отдельная проблема - как получить цвет нужного пикселя. дело в том, что цвета соседних пикселей расположены "потоком", т.е. если на каждый пиксель приходится 4 бита цвета(или адреса в палитре), то первый-же байт будет содержать цвета ДВУХ пикселей. вот и приходится вычислять адрес первого бита цвета нужного пикселя в общей строке данных, преобразовывать его в байты, считывать нужный байт(или два-четыре), сдвигать полученные байты, и обрезать их по маске(чтобы в номер цвета биты следующего пикселя не попали). и так-же, записывать обратно. кайф, а не работа.
0
|
|
|
38 / 38 / 5
Регистрация: 03.06.2010
Сообщений: 120
|
||||||
| 13.12.2010, 07:24 | ||||||
|
Вот здесь у меня пример, как получить эти структуры + много воды от проекта, из которого я сие выдергиваю. Может поможет
![]()
0
|
||||||
| 13.12.2010, 07:24 | |
|
Помогаю со студенческими работами здесь
5
Плагин для конвертации растровых и векторных изображений в код XAML
Обработка растровых изображений с регулировкой яркости,контрастности и резкости Обработка растровых изображений с применением библиотеки OpenCV: проблемы с LBPHFaceRecognizer и библиотекой pillow Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|