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

C++

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

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

18.01.2016, 09:23. Просмотров 501. Ответов 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
"
Подскажите, пожалуйста, как решить эту проблему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2016, 09:23
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не работает IplImage* (C++):

Преобразование из cvMat или IplImage в char* - C++
Начал разбирается opencv и с толкнулся с такой проблемой, мне нужно преобразовать данные из переменной типа cvMat в переменную типа char* ...

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

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

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

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

OpenCVSharp IplImage в Mat - C#
Реализую медианную фильтрацию private void button1_Click(object sender, EventArgs e) { int size =...

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

JavaCV Frame не конвертируется в IplImage - Java
Народ вот код: OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0); try { grabber.start(); ...

OpenCV: конвертация IplImage в серый - C#
Здравствуйте! Работаю с библиотекой OpenCV. Не могу корректно преобразовать IplImage в серый цвет. Изображение становится серым, как и...

Некорректность цветопередачи QImage, полученного из IplImage (OpenCV) - C++ Qt
Проблема заключается в некорректной конвертации изображения из формата IplImage (OpenCV) в формат QImage (Qt). Передачу данных осуществляю...

Что использовать Mat или IplImage в OpenCV? Где правда? - C++ Qt
В OpenCV есть два стиля С++ и С. В первом случае в примерах используют переменную Mat для описания изображения. Во втором случае -...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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