0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 1
|
|
1 | |
Обработка изображений24.10.2009, 16:29. Показов 22252. Ответов 9
Метки нет Все метки)
(
Здравствуйте. В С не программировал никогда. Необходимо реализовать алгоритм обработки изображения на С++ с использованием только стандартных библиотек (курсовая).
1. С помощью каких функций инициализовать изображение, считать параметры пикселя-коды цветов, яркость, координаты? 2. Буду рад ссылкам на литературу на эту тематику (именно обработку изображений), примерам исходников, и вообще каким-либо полезным советам.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
24.10.2009, 16:29 | |
Ответы с готовыми решениями:
9
OpenCV/C++ обработка изображений Обработка изображений - стандартные эффекты фотошопа Обработка изображений: получить координаты центра самой большой красной банки на фотографии Обработка изображений |
![]() 1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|||||||||||
24.10.2009, 18:46 | 2 | ||||||||||
Проще всего работать с файлами BMP, поскольку данные там хранятся в несжатом формате. При работе с другими форматами они просто разжимаются в такой же. Вкратце обрисую основы по самому простому варианту.
В полноцветном формате на каждый пиксель отводится 3 или 4 байта (по одному байту на каналы Red, Green, Blue, 4-й байт на альфа-канал, но его можно пока игнорировать). Эти группы расположены в последовательно: пиксель за пикселем, строка за строкой. Соответственно, при загрузке надо: - прочитать заголовок BMP (это несложное действие подробно документировано в MSDN) и узнать параметры изображения (ширина, высота, количество информации, отводимой на пиксель); рекомендую работать только с 32-битными изображениями - выделить требуемое количество памяти, загрузить туда из файла сырые данные; формат BMP вообще-то предписывает хранить строки в обратном порядке, но зачастую в заголовке просто указывают высоту со знаком минус и кладут строки в прямом порядке: в этих нюансах неплохо подразобраться Для чтения-записи пикселей надо преобразовывать позицию пикселя в линейное смещение в созданном массиве. Это несложно: при оси X слева направо и оси Y сверху вниз (точка [0, 0] расположена в верхнем левом углу изображения и координаты точек всегда неотрицательны) линейным номером пикселя будет x + y*width. Информация о пикселе может быть представлена либо как
Сохранение полученного изображения тоже достаточно простая задача. В соответствии с тем же MSDN формируешь структуру заголовка файла BMP и заголовка изображения BMP с заполнением нужных полей, и скидываешь их в файл в этом порядке, после чего пишешь сами данные.
1
|
0 / 0 / 0
Регистрация: 13.04.2015
Сообщений: 1
|
|
24.10.2009, 19:05 [ТС] | 3 |
Полезная информация, вот только что значит MSDN
0
|
0 / 0 / 0
Регистрация: 14.08.2011
Сообщений: 17
|
|
15.08.2011, 09:16 | 5 |
прочел вашу проблему-не подскажите-вами описанный метод способен повысить качество изображения-картинки?
0
|
Заблокирован
![]() |
|
02.09.2011, 12:47 | 7 |
- здесь мой уже готовый проект по работе с BMP Не вывести картинку из BMP файла на экран
0
|
01.12.2020, 01:01 | 8 |
обязательно нужно писать в массив это дорого а в файл нельзя записывать данные?
Добавлено через 3 минуты дайте ссылку почитать, что именно смотреть нужно?
0
|
politoto
|
03.12.2020, 08:45
#9
|
Не по теме: Nexi99, Nick Alte заходил больше 3 лет назад
0
|
03.12.2020, 22:25 | 10 |
0
|
03.12.2020, 22:25 | |
Помогаю со студенческими работами здесь
10
Обработка .bmp изображений Загрузка и обработка нескольких изображений Обработка изображений С++ Попиксельная обработка изображений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |