Qt4. Обработка изображений. (Qt4)

Модератор: Модераторы разделов

godima
Сообщения: 92
ОС: Debian Etch

Qt4. Обработка изображений.

Сообщение godima »

Добрый день!
Я только-только начал программировать на С++ для линукс, поэтому, вопрос может и глуповат, но не судите, пожалуйста, строго.
Задача такая. нужно сделать пока что консольное приложение для обработки изображений.
На вход программы подаются 2 файла (например, jpg), оба должны быть прочитаны, разбиты по слоям, а потом с каждым слоем в цикле по координатам нужно сделать некоторые вычислительные операции, результаты сохранить в новые файлы. Почитал доки по Qt4, посмотрел примерчики, нашел, как читается файл изображения, попробовал сделать - не получается. Помогите, пожалуйста, с решением этой задачи.
вот код:

Код:

#include <QString> #include <QImage> #include <iostream.h> int main (int argc, char *argv[]) { QString fileName = "1.jpg"; if (!fileName.isEmpty()) { QImage image(fileName); if (image.isNull()) { cout << "Error load image "<<endl; return 1; } } return 0; }


На выходе программы получаю Error load image.
файл 1.jpg лежит в том же каталоге что и программа.

Компиляцию делаю так:
# qmake-qt4 -project
# qmake-qt4
# make

Заранее всем благодарен за помощь.
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Qt4. Обработка изображений.

Сообщение Liksys »

Проверь, если jpg индексирован, то может не открываться. Попробуй гимпом открыть и посмотри параметры.
Спасибо сказали:
godima
Сообщения: 92
ОС: Debian Etch

Re: Qt4. Обработка изображений.

Сообщение godima »

godima писал(а):
13.09.2007 07:59
Добрый день!
Я только-только начал программировать на С++ для линукс, поэтому, вопрос может и глуповат, но не судите, пожалуйста, строго.
Задача такая. нужно сделать пока что консольное приложение для обработки изображений.
На вход программы подаются 2 файла (например, jpg), оба должны быть прочитаны, разбиты по слоям, а потом с каждым слоем в цикле по координатам нужно сделать некоторые вычислительные операции, результаты сохранить в новые файлы. Почитал доки по Qt4, посмотрел примерчики, нашел, как читается файл изображения, попробовал сделать - не получается. Помогите, пожалуйста, с решением этой задачи.
вот код:

Код:

#include <QString> #include <QImage> #include <iostream.h> int main (int argc, char *argv[]) { QString fileName = "1.jpg"; if (!fileName.isEmpty()) { QImage image(fileName); if (image.isNull()) { cout << "Error load image "<<endl; return 1; } } return 0; }


На выходе программы получаю Error load image.
файл 1.jpg лежит в том же каталоге что и программа.

Компиляцию делаю так:
# qmake-qt4 -project
# qmake-qt4
# make

Заранее всем благодарен за помощь.


попробую, но так-то я в принципе все правильно делаю?
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Qt4. Обработка изображений.

Сообщение Liksys »

Ну да
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Qt4. Обработка изображений.

Сообщение eduard_pustobaev »

Вот так работает:

Код: Выделить всё

#include <QCoreApplication>
#include <QString>
#include <QImage>
#include <iostream>

int main (int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    QString fileName = "1.jpg";
    if (!fileName.isEmpty())
    {
        QImage image(fileName);
        if (image.isNull())
        {
            std::cout << "Error load image  "<< std::endl;
            return 1;
        }
    }
    return 0;
}
В дисгармонии со вселенной.
Спасибо сказали:
godima
Сообщения: 92
ОС: Debian Etch

Re: Qt4. Обработка изображений.

Сообщение godima »

eduard_pustobaev писал(а):
13.09.2007 13:15
Вот так работает:

Код: Выделить всё

#include <QCoreApplication>
#include <QString>
#include <QImage>
#include <iostream>

int main (int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    QString fileName = "1.jpg";
    if (!fileName.isEmpty())
    {
        QImage image(fileName);
        if (image.isNull())
        {
            std::cout << "Error load image  "<< std::endl;
            return 1;
        }
    }
    return 0;
}


Спасибо большое, попробую :)
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Qt4. Обработка изображений.

Сообщение Liksys »

а, точно, QCoreApplication забыли)))
Спасибо сказали:
godima
Сообщения: 92
ОС: Debian Etch

Re: Qt4. Обработка изображений.

Сообщение godima »

Спасибо всем за помощь - помогло, работает :)
Еще вот какой вопрос возник, есть ли где почитать про Qt, кроме на сайте разработчиков, и книжки одной (не помню как называется), но так похоже передраны примеры из официальной документации.
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Qt4. Обработка изображений.

Сообщение Denjs »

пока будешь осваивать книжка нужна...
как пройдет "волшебный момент понимания духа" - можно пользоваться только QT-assistant-ом (подсистема помощи по QT. z я по примерам и по главам книжки въезжал... сейчас только проблемы с тем что каждый класс выполняет и как его с чем использовать... и большей частью конечно только из-за английского...)
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Qt4. Обработка изображений.

Сообщение eduard_pustobaev »

godima писал(а):
14.09.2007 06:18
Еще вот какой вопрос возник, есть ли где почитать про Qt, кроме на сайте разработчиков, и книжки одной (не помню как называется), но так похоже передраны примеры из официальной документации.

1) "Qt3: программирование GUI на C++", Марк Саммерфилд, Жасмин Бланшет(книга распространяется свободно, есть на www.opennet.ru).
2) Для Qt4 есть их же книга, причём на русском уже тоже есть. Русского скана пока не встречал, английский вариант по сети гуляет.
3) assistant

P.S. Жасмин - это мужик...
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Qt4. Обработка изображений.

Сообщение Liksys »

оффтоп, Жасмин - мужик?? Откуда узнал?
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Qt4. Обработка изображений.

Сообщение eduard_pustobaev »

Darth Liksys писал(а):
14.09.2007 20:15
оффтоп, Жасмин - мужик?? Откуда узнал?

Код: Выделить всё

Глава 19. Об авторах.
19.1. Jasmin Blanchette
Жасмен получил высшее образование в области информатики в 2001 году, в Университете города Шербрук, штат Квебек, Канада, и был награжден медалью Фернанда Сегуина (Fernand Seguin) за успехи в обучении. Летом 2000 года он поступил в компанию Trolltech, на стажировку, на должность инженера-программиста и затем, в начале 2001 года, был принят на постоянную работу. Теперь он работает ведущим инженером-программистом. Он ведет проект Qt Linguist и отвечает за ежеквартальные выпуски Qt Quarterly -- технический информационный бюллетень компании Trolltech. В свободное время увлекается написанием романов на норвежском и шведском языках. Живет в Осло со своей подругой Энни Лин (Anne-Lene).


Да и вообще не раз этот вопрос поднимался.
В дисгармонии со вселенной.
Спасибо сказали: