Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/41: Рейтинг темы: голосов - 41, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7

Ввод/вывод и обработка изображения

11.12.2009, 19:05. Показов 8094. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Помогите, пожалуйста.
Поставили задачу взять 2 кадра (2 изображения формата BMP или JPG) и вычесть одно из друго.
Работаю Visual Studio 2008 на С/С++. Весьма никчемный из меня программист.
Подскажите,
- какие библиотеки дописывать под #include <iostream>
- какие функции использовать для вызова изображения (+ формат указания пути к файлу в теле функции)
- какие функции использоваться для преобразования изображения в матрицу отсчетов
- если возможно, живой пример того как преобразовать изображение в матрицу и обратно

Заранее человеческое спасибо

Добавлено через 20 минут
Читал похожую тему
Обработка изображений
читал MSDN в нем искал по словам "struct", "image", "InputFile"... к сожалению ничего не нашел
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.12.2009, 19:05
Ответы с готовыми решениями:

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран? Само задание: О каждой книге ...

Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод
Добрый день! Помогите, пожалуйста, с программой. Программа считывает строку с клавиатуры и переводит её в двоичный код. затем наоборот...

Поменять консольный ввод-вывод на файловый ввод-вывод
вот у меня калькулятор как мне сделать что б числа вводились из файла и результат записывался в новый файл ? // ОБРАТНАЯ...

15
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7
12.12.2009, 12:33  [ТС]
Подскажите, пожалуйста, хотя бы пример использования команды LoadImage
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
12.12.2009, 13:20
C++
1
2
3
4
5
6
7
HANDLE LoadImage(          HINSTANCE hinst,
    LPCTSTR lpszName,
    UINT uType,
    int cxDesired,
    int cyDesired,
    UINT fuLoad
);
оно?
0
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7
12.12.2009, 13:58  [ТС]
C++
1
2
3
4
5
6
7
8
# include <iostream>
# include <windows.h> // в MSDN написано, "Header   &nbsp;Declared in Winuser.h, include Windows.h" решил дописать
 
using namespace std;
void main ()
{
 HADLE LoadImage (NULL, "C:\\lena.bmp", IMAGE_BITMAP, LR_DEFAULTSIZE | LR_LOADFROMFILE);
}

Получил ошибки
errorC2078: too many initializers
errorC2440: 'initialiing' cannot convert from 'int' to "HADLE"
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
12.12.2009, 14:00
Цитата Сообщение от egor.lopatin Посмотреть сообщение
HADLE LoadImage (NULL, "C:\\lena.bmp", IMAGE_BITMAP, LR_DEFAULTSIZE | LR_LOADFROMFILE);
ты остальные параметры менять на пробовал?
0
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7
12.12.2009, 14:08  [ТС]
дописал параметр LR_DEFAULTCOLOR
Исчезло errorC2440: 'initialiing' cannot convert from 'int' to "HADLE"
первая ошибка осталась.
мозг начинающего иссох
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
12.12.2009, 14:10
egor.lopatin, выложи весь

Добавлено через 10 секунд
код
0
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7
12.12.2009, 14:15  [ТС]
C++
1
2
3
4
5
6
7
8
# include <iostream>
# include <windows.h> // в MSDN написано, "Header   &nbsp;Declared in Winuser.h, include Windows.h" решил дописать
 
using namespace std;
void main ()
{
 HADLE LoadImage (NULL, "C:\\lena.bmp", IMAGE_BITMAP, LR_DEFAULTSIZE, LR_LOADFROMFILE, LR_DEFAULTCOLOR);
}
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
12.12.2009, 14:25
egor.lopatin, ты попробуй один из параметров удалить
0
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7
12.12.2009, 14:53  [ТС]
Удалял поочередно три последний параметра по одному и парами, оставляя только один.
Ошибка не ушла
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
12.12.2009, 15:00
egor.lopatin,
ты три раза повторил слово HADLE

мозг начинающего иссох
у тебя проблема не с мозгом, а с глазами. посмотри уже в msdn, как правильно называется тип возвращаемого результата.
0
0 / 0 / 0
Регистрация: 11.12.2009
Сообщений: 7
12.12.2009, 15:15  [ТС]
C++
1
2
3
4
5
6
7
8
# include <iostream>
# include <windows.h> // в MSDN написано, "Header   &nbsp;Declared in Winuser.h, include Windows.h" решил дописать
 
using namespace std;
void main ()
{
 HADLE LoadImage ("C:\\lena.bmp");
}
а вот если так- то компилится без ошибок))))
вот бы еще узнать подгрузил ли он на самом деле....
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
12.12.2009, 17:43
egor.lopatin, может всё таки напишешь разок HANDLE
0
0 / 0 / 0
Регистрация: 14.08.2011
Сообщений: 17
15.08.2011, 11:37
egor.lopatin, а что это вам даст в итоге?
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
15.08.2011, 15:04
egor.lopatin, это делается так

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <windows.h>
 
int main()
{
    HBITMAP btmp1 = LoadImage ( NULL, "img1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE );
 
    if( !btmp1 )
    {
       printf( "error loading first bitmap\n" );
       return -1;
    }
 
    HBITMAP btmp2 = LoadImage ( NULL, "img2.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE );
 
    if( !btmp2 )
    {
       printf( "error loading second bitmap\n" );
       return -1;
    }
 
    //Оба изображения загружены
 
    return 0;
}
Далее для чтения пикселя используется GetPixel, а для записи - SetPixel. Возможно, есть более быстрый способ вычитания. Правда, я не представляю, как с такими знаниями вы будете сохранять картинку в файл.
0
1 / 1 / 0
Регистрация: 22.01.2011
Сообщений: 41
10.12.2017, 09:59
Некоректно отоброжается bmp файл

Еще неотлажено, запускай пробуй
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2017, 09:59
Помогаю со студенческими работами здесь

Запись выражений, ввод–вывод информацииЗапись выражений, ввод–вывод информации
Задача 2.1. Пользуясь только операцией умножения, вычислить (A в 7-ой степени) за четыре операции. Задача 2.2. Очистить экран,...

Ввод и вывод изображения
Расскажите пожалуйста через какие процедуры следует оформить ввод/вывод изображения, имеет ли значения расположение изображение на...

Ввод и вывод изображения из базы данных
Я дико извиняюсь за создание этой темы, но самостоятельный поиск результатов не дал, а сроки поджимают. Мне очень нужны статьи/исходники,...

Ввод, вывод и обработка чисел
Кто может помогите пожалуйста. Пользователь вводит два числа А и В в десятичном виде через процедуру, осуществляя передачу...

Многопоточная обработка данных + ввод/вывод
Доброго времени суток! Пишу небольшое консольное приложение, и у меня возникли некоторые вопросы. Надеюсь, кто-нибудь мне поможет. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru