roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 май 2025, 14:00

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 14:13 
Не в сети

Зарегистрирован: 05 фев 2010, 22:13
Сообщения: 9
Откуда: Таганрог
Код:

class MyClass{
IplImage* img;
public:
MyClass() { img = cvCreateImage(cvSize(10,10),8,1); }
~MyClass() { cvReleaseImage(&img); }
};

void main(int argc, char** argv)
{
MyClass obj;
}

текст ошибки: unhandled exception at... Access violation reading location

Что делать?? Очень хочется IplImage* в классе!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 14:16 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Это под каким компилятором?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 14:17 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Выложите пожалуйста полностью проект или если хотите сами решить проблему - запустите дебаггер и посмотрите на какой строке он в этой функции остановится

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 14:39 
Не в сети

Зарегистрирован: 05 фев 2010, 22:13
Сообщения: 9
Откуда: Таганрог
среда разработки: vs2008

Выложен весь проект :) ... за исключением хидеров. В коде главной функции выполнятся одна строка: вызов конструктора, конструктор выполняет строчку - img = cvCreateImage(cvSize(10,10),8,1) - и на этом месте генерится исключение.

Думаю, что это проблема внутренней реализации OpenCV. Нужно как-то ее обойти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 14:40 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Наверное параметры перепутаны, провериться по хелпу надо. У меня такое часто было. Не пишет зараза, что ему конкретно не нравится.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 15:24 
Не в сети

Зарегистрирован: 05 фев 2010, 22:13
Сообщения: 9
Откуда: Таганрог
Проверил параметры: все верно. Как про те лыжи..

Нашел в чем причина: в хидеры затесался файлик написаный в собственном исполнении,
там буквально следующее:

class ViWindows{
vector<string> names;
public:
ViWindows(vector<string> &v);
//void AddWindow(string name);
//void DestroyWindow(string name);
//void ArrangeWindowsToTable(int cols,int x_error,int y_error);
//~ViWindows();
};

ViWindows::ViWindows(vector<string> &v)
{
names = v;
for(int i=0;i<v.size();i++)
{
//TODO exeption

if(!cvNamedWindow(v[i].c_str(),CV_WINDOW_AUTOSIZE))
{
cout << "window creation error!";
break;
}
}
}

Причем конфликта не возникает, например с функцией cvQueryFrame.

Приложу исходный код, может быть кого-то заинтересует :)


Вложения:
code.rar [842 байт]
Скачиваний: 1
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 22:55 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
под рукой нет хидеров, но навскидку, вы уверены что
Код:
IPL_DEPTH_8U == 8 // или какую глубину вам нужно

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 03 мар 2010, 23:18 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Вот и я о том же! :roll:

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: cvCreateImage в методе класса генерит исключение
СообщениеДобавлено: 05 мар 2010, 19:43 
Не в сети

Зарегистрирован: 05 фев 2010, 22:13
Сообщения: 9
Откуда: Таганрог
Я проверял! :)

Неисправность вот в чем оказалась: собирал с помощью CMake. Собрал. Добавил в системные пути C:\OpenCV2.0\vs2008\bin\Debug и Release (как мне казалось) и с этого все и началось. Либы ссылались на dll, которые лежали в C:\OpenCV2.0\bin (который был уже прописан в системных путях), а не в вышеуказанных. Далее, компилятор требовал libcv200.dll.a, я ему его давал, он работал, но как - неизвестно.

Вообщем, прописал в системных путях C:\OpenCV2.0\vs2008\bin\Debug и Release, компилятору дал cv200.lib и прочие..


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO