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

C++

Войти
Регистрация
Восстановить пароль
 
megabax
6 / 6 / 1
Регистрация: 06.08.2009
Сообщений: 222
#1

Не работает IplImage* - C++

18.01.2016, 09:23. Просмотров 322. Ответов 4
Метки нет (Все метки)

Добрый день. Пытаюсь скомпилировать вот такой код:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#include <stdio.h>
#include "stdafx.h"
 
IplImage* image = 0;
IplImage* src = 0;
 
int main(int argc, char* argv[])
{
        // имя картинки задаётся первым параметром
        char* filename = argc == 2 ? argv[1] : "d:\\3\\Dscn0116.jpg";
        // получаем картинку
        image = cvLoadImage(filename,1);
        // клонируем картинку 
        src = cvCloneImage(image);
 
        printf("[i] image: %s\n", filename);
        assert( src != 0 );
 
        // окно для отображения картинки
        cvNamedWindow("original",CV_WINDOW_AUTOSIZE);
 
        // показываем картинку
        cvShowImage("original",image);
 
        // выводим в консоль информацию о картинке
        printf( "[i] channels:  %d\n",        image->nChannels );
        printf( "[i] pixel depth: %d bits\n",   image->depth );
        printf( "[i] width:       %d pixels\n", image->width );
        printf( "[i] height:      %d pixels\n", image->height );
        printf( "[i] image size:  %d bytes\n",  image->imageSize );
        printf( "[i] width step:  %d bytes\n",  image->widthStep );
 
        // ждём нажатия клавиши
        cvWaitKey(0);
 
        // освобождаем ресурсы
        cvReleaseImage(& image);
        cvReleaseImage(&src);
        // удаляем окно
        cvDestroyWindow("original");
        return 0;
}
Ругается на
C++
1
IplImage* image = 0;
говорит:
"Ошибка 5 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию d:\учеба\opencv\cpp\example2\example\example\example.cpp 7 1 Example
"
Подскажите, пожалуйста, как решить эту проблему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2016, 09:23     Не работает IplImage*
Посмотрите здесь:

Передача значения переменной в IplImage - C++
Есть данные в файле с названием изображений которые нужно рассматривать. Данные названия получаю таким образом: std::string file1,file2; ...

OpenCV. IplImage* cvCreateImage в Mat - C++
Здравствуйте! Как написать то что IplImage, но через Mat? IplImage *dd = cvCreateImage(cvGetSize(img), img-&gt;depth, 1); в что-то...

Преобразовать изображение из System::Image в IplImage - Visual C++
Подскажите, как преобразовать изображение из System::Image в IplImage.

Извлечение трёх цветовых компонент из IplImage* rgb (OpenCV) - C++
Данные в переменную заносятся так: IplImage* image; IplImage* rgb = 0; // получаем любую подключённую камеру CvCapture*...

Через sublime text 3 и компилятор g++ работает, посоветовали скачать VS, не работает. Миниатюры - C++
через sublime text 3 и компилятор g++ работает, посоветовали скачать VS, не работает.

Хук работает, пока работает приложение, которое его вызвало - Visual C++
Набросал код, который устанавливает глобальный хук (пусть на нажатие клавиши), процедура для хука расположена в dll, выглядит примерно так:...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.01.2016, 09:28     Не работает IplImage* #2
megabax, Попробуйте подключить #include "types_c.h"
http://docs.opencv.org/master/d6/d5b...html#gsc.tab=0
megabax
6 / 6 / 1
Регистрация: 06.08.2009
Сообщений: 222
18.01.2016, 11:37  [ТС]     Не работает IplImage* #3
ForEveR, Говорит:
"Ошибка 4 error C1083: Не удается открыть файл включение: types_c.h: No such file or directory d:\учеба\opencv\cpp\example2\example\example\example.cpp 6 1 Example
"
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
18.01.2016, 15:36     Не работает IplImage* #4
megabax, Ну через <> подключайте конечно же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2016, 09:54     Не работает IplImage*
Еще ссылки по теме:

std::string код работает в VS 6.0, но не работает в VS2012 (error C4996) - C++
Как изменился синтаксис в Visual Studio 2012 данной строки? В VS 6.0 работает, в 2012 - нет. Кто подскажет, где можно взять список...

Почему JPEGImage->Compress() работает в TTimer, но не работает в нитке - C++ Builder
to: Модератор LK, да я согласен мы маленько отвлеклись :) но просто вопрос наболевший, не дает спать 2 дня уже: Почему в Таймере...

Почему в динамическом массиве не работает то, что работает со статическим? - C++
Программа зависает #include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; using namespace std; int main() { ...

Не работает кириллица. Или работает, но illegale bute sequence - C++
В общем, столкнулся с такой проблемой. Есть консольное приложение. Не буду вдаваться в подробности, но мне понадобилось выводить русский...

Не работает явное преобразование типа, а неявное работает. - C++
Опечатался. Не работает явное преобразования, а не явное работает. Есть класс( не обращайте внимание на члены данные класса ): class...

То работает, то не работает. Массив из случайных вещественных чисел - C++
Добрый день всем. Я пытался сделать следующее: создать массив из вещественных чисел. Ввести туда числа случайным образом. А потом вывести...


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

Или воспользуйтесь поиском по форуму:
megabax
6 / 6 / 1
Регистрация: 06.08.2009
Сообщений: 222
19.01.2016, 09:54  [ТС]     Не работает IplImage* #5
ForEveR, Сейчас вообще вылезло кучу ошибок, типа вот такой%
"Ошибка 5 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию c:\opencv\build\include\opencv2\core\core_c.h 97 1 Example
"
Или, может, я OpenCV какой-то кривой скачал?

Добавлено через 17 часов 41 минуту
Спасибо, всем, разобрался.
Оказывается, надо было просто поставить
C++
1
#include "stdafx.h"
первым.
вот так все работает:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#include <stdio.h>
//#include <types_c.h>
 
 
IplImage* image = 0;
IplImage* src = 0;
 
int main(int argc, char* argv[])
{
        // имя картинки задаётся первым параметром
        char* filename = argc == 2 ? argv[1] : "d:\\3\\Dscn0116.jpg";
        // получаем картинку
        image = cvLoadImage(filename,1);
        // клонируем картинку 
        src = cvCloneImage(image);
 
        printf("[i] image: %s\n", filename);
        assert( src != 0 );
 
        // окно для отображения картинки
        cvNamedWindow("original",CV_WINDOW_AUTOSIZE);
 
        // показываем картинку
        cvShowImage("original",image);
 
        // выводим в консоль информацию о картинке
        printf( "[i] channels:  %d\n",        image->nChannels );
        printf( "[i] pixel depth: %d bits\n",   image->depth );
        printf( "[i] width:       %d pixels\n", image->width );
        printf( "[i] height:      %d pixels\n", image->height );
        printf( "[i] image size:  %d bytes\n",  image->imageSize );
        printf( "[i] width step:  %d bytes\n",  image->widthStep );
 
        // ждём нажатия клавиши
        cvWaitKey(0);
 
        // освобождаем ресурсы
        cvReleaseImage(& image);
        cvReleaseImage(&src);
        // удаляем окно
        cvDestroyWindow("original");
        return 0;
}
Yandex
Объявления
19.01.2016, 09:54     Не работает IplImage*
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru