Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Нужна помощь в обработке изображений! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Паттерн MVC http://www.cyberforum.ru/cpp/thread2638.html
Большинсту программистов хорошо ивестен данный паттерн, так что вдаваться в подробности не буду, НО что делать когда моделей несколько, элементы модели связанны соотношением один к одному и разные...
C++ Кто работал с OGRE Кто подключал физику AREA physx к OGRE. Нет ли исходника или примеров. http://www.cyberforum.ru/cpp/thread2273.html
bin-файлы: открытие, чтение, обработка C++
Здравствуйте, подскажите, пожалуйста, команды, с помощью которых файлы с расширением bin можно не только открыть, но и увидеть, что в них находится, чтобы затем обработать их. Во всех книжках я нашла...
C++ Алгоритмы сортировок
Наиболее часто задаваемые вопросы по С++. Реализация распространенных алгоритмов, решения типовых задач. Статьи и учебники C++ Оглавление: Выбором Пузырьком Вставками Шелла
C++ Игра "Жизнь" http://www.cyberforum.ru/cpp/thread918.html
Программа: игра "Жизнь". Среда реализации: VC++ 7.0. Интерфейс: real-time изменение колонии. Проблема: окно не успевает прорисовать уже поставленных паразитов на сообщение WM_PAINT. Исходник:...
 

Показать сообщение отдельно
Logan_2405
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 10
04.05.2010, 22:15
Я никогда раньше не работал с изображениями. В С++ разбираюсь хреново. В VS 2008 в C#.
В VS 2008 выбрал Visual C++ , Консольное приложение CLR
Ввел :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <atlstr.h>
#include <atlimage.h>
 
void main ()
{
    CImage in, out;
    in.Load ( "in.jpg" ); //открываем картинку из файла
    int w = in.GetWidth(); //ширина
    int h = in.GetHeight(); //высота
    out.Create ( w, h, in. GetBPP() ); //делаем новую картинку
    for ( int y = 0; y < h; y++ )
        for ( int x = 0; x < w; x++ )
        {
            COLORREF pixel_color = in.GetPixel( x, y ); //цвет пикселя с координатами x, y
            char r = GetRValue ( pixel_color ); //извлечение красного канала
            //GetRValue(...) - это макрос, потому на производительности не сказывается
            //Аналогично можно тащить зеленый и синий каналы
            out.SetPixel( x, y, RGB( r, 0, 0 ) ); //RGB() - макрос, делающий COLORREF
        }
    out.Save ( "out.jpg" );
}
Сначала выдала:

Ошибка 3 fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник. d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 24 graphics1

Потом в начале кода дописал:
#include "stdafx.h"

После второго раза появилось 28 ошибок:

Ошибка 3 error C2065: CImage: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 10 graphics1
Ошибка 4 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "in" d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 10 graphics1
Ошибка 5 error C2065: in: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 10 graphics1
Ошибка 6 error C2065: out: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 10 graphics1
Ошибка 7 error C2065: in: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 11 graphics1
Ошибка 8 error C2228: выражение слева от ".Load" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 11 graphics1
Ошибка 9 error C2065: in: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 12 graphics1
Ошибка 10 error C2228: выражение слева от ".GetWidth" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 12 graphics1
Ошибка 11 error C2065: in: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 13 graphics1
Ошибка 12 error C2228: выражение слева от ".GetHeight" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 13 graphics1
Ошибка 13 error C2065: out: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 14 graphics1
Ошибка 14 error C2228: выражение слева от ".Create" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 14 graphics1
Ошибка 15 error C2065: in: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 14 graphics1
Ошибка 16 error C2228: выражение слева от ".GetBPP" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 14 graphics1
Ошибка 17 error C2065: COLORREF: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 18 graphics1
Ошибка 18 error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "pixel_color" d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 18 graphics1
Ошибка 19 error C2065: pixel_color: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 18 graphics1
Ошибка 20 error C2065: in: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 18 graphics1
Ошибка 21 error C2228: выражение слева от ".GetPixel" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 18 graphics1
Ошибка 22 error C2065: pixel_color: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 19 graphics1
Ошибка 23 error C3861: GetRValue: идентификатор не найден d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 19 graphics1
Ошибка 24 error C2065: out: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 22 graphics1
Ошибка 25 error C2228: выражение слева от ".SetPixel" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 22 graphics1
Ошибка 26 error C3861: RGB: идентификатор не найден d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 22 graphics1
Ошибка 27 error C2065: out: необъявленный идентификатор d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 24 graphics1
Ошибка 28 error C2228: выражение слева от ".Save" должно представлять класс, структуру или объединение d:\ГОСНИИАС\project\graphics1\graphics1\graphics1.cpp 24 graphics1

Также вопрос:
in.Load ( "in.jpg" )
Как прописывать адрес картинки, если она лежит например на D, то
in.Load ( "D:\in.jpg" )? Можно ли попробовать с bmp?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru