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

Ошибки при запуске проекта с OpenCV - C++

Восстановить пароль Регистрация
 
 
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
06.10.2015, 14:22     Ошибки при запуске проекта с OpenCV #1
Добрый день. Начал изучать OpenCV и столкнулся вот с такой трудностью. Взял текст программы с http://robocraft.ru/ и при запуске возникла ошибка:Unhandled exception at at 0x75C0C42D in ConsoleApplication1.exe: Microsoft C++ exception: cv::Exception at memory location 0x0045FB24.
Поиски решения проблемы увы не дали результата. Помогите, у кого есть такая возможность.
Текст программы
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
#include "stdafx.h"
#include "stdio.h"
#include "cv.h"
#include "highgui.h"
#include "stdlib.h"
#include "stdio.h"
 
IplImage* image = 0;
IplImage* src = 0;
 
int main(int argc, char* argv[])
{
        // имя картинки задаётся первым параметром
        char* filename = argc == 2 ? argv[1] : "Image0.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;
}
Добавлено через 20 минут
Моя система и версии приложений
Windows 7 x64, Visual studio 2012 x86 и OpenCV 2.4.11
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tigerKR
Заблокирован
06.10.2015, 14:24     Ошибки при запуске проекта с OpenCV #2
тут вопрос всё ли правильно подключил,
мы когда делали первый раз, то в самом начале чтоб запустить якойто готовый пример - вылазили десятки ошибок ...
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
06.10.2015, 14:24     Ошибки при запуске проекта с OpenCV #3
Цитата Сообщение от Cooller51190 Посмотреть сообщение
char* filename = argc == 2 ? argv[1] : "Image0.jpg";
Что с картинкой? Есть в текущей папке Image0.jpg?
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
06.10.2015, 14:43  [ТС]     Ошибки при запуске проекта с OpenCV #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
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
 
int main( int argc, char** argv ) 
{
        // задаём высоту и ширину картинки
        int height = 620;
        int width = 440;
        // задаём точку для вывода текста
        CvPoint pt = cvPoint( height/4, width/2 );
        // Создаёи 8-битную, 3-канальную картинку
        IplImage* hw = cvCreateImage(cvSize(height, width), 8, 3);
        // заливаем картинку чёрным цветом
        cvSet(hw,cvScalar(0,0,0));
        // инициализация шрифта
        CvFont font;
        cvInitFont( &font, CV_FONT_HERSHEY_COMPLEX,1.0, 1.0, 0, 1, CV_AA);
        // используя шрифт выводим на картинку текст
        cvPutText(hw, "OpenCV Step By Step", pt, &font, CV_RGB(150, 0, 150) );
 
        // создаём окошко
        cvNamedWindow("Hello World", 0);
        // показываем картинку в созданном окне
        cvShowImage("Hello World", hw);
        // ждём нажатия клавиши
        cvWaitKey(0);
        
        // освобождаем ресурсы
        cvReleaseImage(&hw);
        cvDestroyWindow("Hello World");
        return 0;
}
Добавлено через 7 минут
Заметил такую особенность. Если открываю через exe файл проекта после компиляции, программа открывает изображение и показывает картинку, а через VS выдаёт такую ошибку.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
06.10.2015, 15:16     Ошибки при запуске проекта с OpenCV #5
пути запуска разные, попробуй картинку положить в папку с проектом или в подпапку совпадающую с именем проекта, но находящуюся в папке со всем проектом, или в папку сборочную(там где получается экзе файл или Debug или Release)

Добавлено через 1 минуту
а вообще вот так нннадо
C++
1
2
3
4
5
6
image = cvLoadImage(filename,1);
if( image == NULL)
{
std::cout << "Can't load an image\n";
return -1;
}
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
06.10.2015, 15:26  [ТС]     Ошибки при запуске проекта с OpenCV #6
Про папки Release догадался положил. С VS всё равно ошибка остаётся
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
06.10.2015, 15:31     Ошибки при запуске проекта с OpenCV #7
Цитата Сообщение от Cooller51190 Посмотреть сообщение
Про папки Release догадался положил
а в виже то сборку релиз делаете?
ну смотрите вот у вас я думаю примерно такая структура должно быть
/Projects/myOpenCvProject/myOpenCvProject/Debug
/Projects/myOpenCvProject/myOpenCvProject/Release
/Projects/myOpenCvProject/Debug
/Projects/myOpenCvProject/Release
попробуйте картинку положить
/Projects/myOpenCvProject/ сюда, не получится удалите её и положите
/Projects/myOpenCvProject/myOpenCvProject/ сюда, не получится удалите положите
/Projects/myOpenCvProject/Debug - если сборка дебаг, если релиз то соотв в соседнюю папку релиз и т.д
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
06.10.2015, 15:37  [ТС]     Ошибки при запуске проекта с OpenCV #8
в VS сборку делаю релиз, положил уже файл во все папки. Ошибка остаётся. Но зато хоть через exe после компиляции всё ок.
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
06.10.2015, 15:43  [ТС]     Ошибки при запуске проекта с OpenCV #9
Вот скрины ошибок при релизе и дебаге
Миниатюры
Ошибки при запуске проекта с OpenCV   Ошибки при запуске проекта с OpenCV  
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
06.10.2015, 15:59     Ошибки при запуске проекта с OpenCV #10
Цитата Сообщение от Cooller51190 Посмотреть сообщение
C++
1
assert( src != 0 );
эм, а не наоборот ли надо?
C++
1
assert (src == 0)
Добавлено через 1 минуту
а нет я напутал сори

Добавлено через 1 минуту
C++
1
2
3
4
5
6
image = cvLoadImage(filename,1);
if( image == NULL)
{
std::cout << "Can't load an image\n";
return -1;
}
попробуйте все же вот это вставить
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
06.10.2015, 20:14  [ТС]     Ошибки при запуске проекта с OpenCV #11
Вставил. Ошибки нет, но Программа "[20728] ConsoleApplication1.exe" завершилась с кодом -1 (0xffffffff). Видимо по какой то причине не видит картинку....
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
06.10.2015, 21:53     Ошибки при запуске проекта с OpenCV #12
Цитата Сообщение от Cooller51190 Посмотреть сообщение
Вставил. Ошибки нет, но Программа "[20728] ConsoleApplication1.exe" завершилась с кодом -1 (0xffffffff). Видимо по какой то причине не видит картинку....
пройдитесь пошагово по программе (F10) и скажите на каком месте вылетает
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
07.10.2015, 11:02  [ТС]     Ошибки при запуске проекта с OpenCV #13
Вылетела сразу на
C++
1
2
int main(int argc, char* argv[])
{
Добавлено через 5 минут
Ошибка получается при команде вывода изображения
C++
1
printf("[i] image: %s\n", filename);
если не вставлять
C++
1
2
3
4
5
6
image = cvLoadImage(filename,1);
if( image == NULL)
{
std::cout << "Can't load an image\n";
return -1;
}
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
07.10.2015, 11:37     Ошибки при запуске проекта с OpenCV #14
давайте вот еще что проверим
C++
1
2
3
4
5
for(int i = 0; i < argc; i++)
{
printf("%d param = %s", i, argc[i]);
}
return 0;
сделайте этот вывод когда запускаете из вижы, и когда запускается из папки сами(когда сами запускаете вроде не падает, поэтому return можно убрать)
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
07.10.2015, 12:00  [ТС]     Ошибки при запуске проекта с OpenCV #15
Это я так понимаю вставить сразу после получения параметра картинки? Перед её получением?
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
07.10.2015, 12:19     Ошибки при запуске проекта с OpenCV #16
прям после
C++
1
2
main()
{
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
07.10.2015, 13:32  [ТС]     Ошибки при запуске проекта с OpenCV #17
Ошибка
1 error C2109: для индекса требуется массив или указатель C:\Users\Admin\Documents\Visual Studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp 15 1 ConsoleApplication1

2 IntelliSense: выражение должно иметь тип указателя на объект c:\Users\Admin\Documents\Visual Studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cpp 16 37 ConsoleApplication1
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
07.10.2015, 14:04     Ошибки при запуске проекта с OpenCV #18
Цитата Сообщение от aLarman Посмотреть сообщение
C++
1
printf("%d param = %s", i, argc[i]);
ну
C++
1
printf("%d param = %s", i, argv[i]);
уж думал догадаетесь если что то пойдет нетак
Cooller51190
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 78
07.10.2015, 14:14  [ТС]     Ошибки при запуске проекта с OpenCV #19
C++
1
printf("%d param = %s", 1, argv[1]);
выводит 1 param=null
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2015, 14:23     Ошибки при запуске проекта с OpenCV
Еще ссылки по теме:

C++ Ошибка при запуске проекта: error: no match for ‘operator>>’
При первом запуске нового проекта HelloWorld в IDE CLion возникает ошибка C++
Ошибки при запуске code blocks C++

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

Или воспользуйтесь поиском по форуму:
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
07.10.2015, 14:23     Ошибки при запуске проекта с OpenCV #20
Цитата Сообщение от Cooller51190 Посмотреть сообщение
выводит 1 param=null
когда через вижу запускаете?

Добавлено через 8 минут
Цитата Сообщение от Cooller51190 Посмотреть сообщение
C++
1
printf("%d param = %s", 1, argv[1]);
а 1 вместо i, это что бы подчеркнуть что именно при таком значении i такой вывод?
Yandex
Объявления
07.10.2015, 14:23     Ошибки при запуске проекта с OpenCV
Ответ Создать тему
Опции темы

Текущее время: 09:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru