roboforum.ru

Технический форум по робототехнике.

Проблема с OpenCV

Проблема с OpenCV

Сообщение Danik » 02 фев 2009, 23:05

Всем драсти. Начал изучать OpenCV и на первом же шаге споткнулся. Вроде настроил VC++, создал пустой проект и набрал (из примера)...
Код: Выделить всёРазвернуть
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main(int argc, char* argv[])
{
   IplImage *img = cvLoadImage("d:\\1.bmp");
   cvNamedWindow("Image",1);
   cvShowImage("Image", img)
   cvWaitKey();
   cvDestroyWindow("Image");
   cvReleaseImage(&img);

   return 0;
}


... а в ответ: :shock:
Код: Выделить всёРазвернуть
Compiling...
89.cpp
c:\program files\microsoft visual studio\vc98\include\cv.h(1055) : error C2061: syntax error : identifier 'CvPoint2D64d'
c:\program files\microsoft visual studio\vc98\include\cv.h(1078) : error C2061: syntax error : identifier 'CvPoint2D64d'
c:\program files\microsoft visual studio\vc98\include\cv.h(1097) : error C2061: syntax error : identifier 'CvPoint3D64d'
c:\program files\microsoft visual studio\vc98\include\cv.h(1112) : error C2061: syntax error : identifier 'CvPoint3D64d'
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(578) : error C2065: 'cvFindChessboardCorners' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(579) : error C2065: 'CV_CALIB_CB_ADAPTIVE_THRESH' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(603) : error C2065: 'cvCalibrateCamera2' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(656) : error C2065: 'cvFindExtrinsicCameraParams2' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(695) : error C2065: 'cvRodrigues2' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(730) : error C2065: 'cvProjectPoints2' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(761) : error C2065: 'cvUndistort2' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\cvcompat.h(837) : error C2664: 'cvFree' : cannot convert parameter 1 from 'struct CvGraphScanner ** ' to 'void ** '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

89.exe - 12 error(s), 0 warning(s)

Подскажите plz чево делать?...
Danik
 
Сообщения: 9
Зарегистрирован: 02 фев 2009, 22:29
Откуда: Брест

Re: Проблема с OpenCV

Сообщение =DeaD= » 02 фев 2009, 23:32

найти где описываются не найденные типы и заинклюдить файл заголовков соответствующий.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проблема с OpenCV

Сообщение Danik » 03 фев 2009, 12:40

Скачал новый OpenCV и оказалось, что некоторые мои старые файлы меньше весят, все заменил и проблема ушла :), НО не так все просто :o ...
Код: Выделить всёРазвернуть
Compiling...
89.cpp
c:\progra~1\opencv\cv\include\cvcompat.h(837) : error C2664: 'cvFree' : cannot convert parameter 1 from 'struct CvGraphScanner ** ' to 'void ** '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

89.exe - 1 error(s), 0 warning(s)

Вопрос:
Почему в готовых файлах возникает такая лажа?
Danik
 
Сообщения: 9
Зарегистрирован: 02 фев 2009, 22:29
Откуда: Брест

Re: Проблема с OpenCV

Сообщение =DeaD= » 03 фев 2009, 12:59

Ответ: Скорее всего потому что вы им передаёте что-то не то :oops:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проблема с OpenCV

Сообщение Danik » 03 фев 2009, 14:50

Я ничего не передаю. Если убрать весь код и оставить только все include, то результат тот же:
Код: Выделить всёРазвернуть
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <cvtypes.h>

int main(int argc, char* argv[])
{
    return 0;
}

----------------------
Compiling...
89.cpp
c:\progra~1\opencv\cv\include\cvcompat.h(837) : error C2664: 'cvFree' : cannot convert parameter 1 from 'struct CvGraphScanner ** ' to 'void ** '
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

89.exe - 1 error(s), 0 warning(s)

А так как подключены только скаченные файлы, то они сами между собой ...?
Сколько весит ваш "cvcompat.h"? Мой 4,08 КБ.
Danik
 
Сообщения: 9
Зарегистрирован: 02 фев 2009, 22:29
Откуда: Брест

Re: Проблема с OpenCV

Сообщение Myp » 03 фев 2009, 14:53

Danik писал(а):Сколько весит ваш "cvcompat.h"? Мой 4,08 КБ.

если уж приспичило сравнить файл то давай размер в байтах
ато твой округлённый размер ни о чём не говорит
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Проблема с OpenCV

Сообщение Danik » 04 фев 2009, 13:52

41 737 байт.
С проблемой разобрался. :)
Вчера пытался подключить к Builder С++ 6. Подключал так же как к VC и опять началось... :(
Код: Выделить всёРазвернуть
Build
  [Linker Error] Unresolved external '_cvLoadImage' referenced from C:\~\UNIT1.OBJ
  [Linker Error] Unresolved external '_cvNamedWindow' referenced from C:\~\UNIT1.OBJ
  [Linker Error] Unresolved external '_cvShowImage' referenced from C:\~\UNIT1.OBJ
  [Linker Error] Unresolved external '_cvWaitKey' referenced from C:\~\UNIT1.OBJ
  [Linker Error] Unresolved external '_cvDestroyWindow' referenced from C:\~\UNIT1.OBJ
  [Linker Error] Unresolved external '_cvReleaseImage' referenced from C:\~\UNIT1.OBJ

Где-то вычетал, но уже не помню где, что надо чего-то конвертить.
Вопрос: что и как, а если не надо, то как подключить?
Danik
 
Сообщения: 9
Зарегистрирован: 02 фев 2009, 22:29
Откуда: Брест

Re: Проблема с OpenCV

Сообщение =DeaD= » 04 фев 2009, 15:11

надо конвертить библиотеки http://opencv.willowgarage.com/wiki/C%2B%2BBuilder - тут вроде написано как.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проблема с OpenCV

Сообщение Danik » 04 фев 2009, 21:13

Круто!!! :Yahoo!: Все сделал, все работает. Спасибо за ссылку.
Danik
 
Сообщения: 9
Зарегистрирован: 02 фев 2009, 22:29
Откуда: Брест

Re: Проблема с OpenCV

Сообщение TrashVigor » 06 май 2009, 14:09

--------------------Configuration: contours - Win32 Debug--------------------
Linking...
D:\VC98\LIB\cv.lib : fatal error LNK1136: invalid or corrupt file
Error executing link.exe.

contours.exe - 1 error(s), 0 warning(s)

Че это значит? Библиотеку конвертировал, только она что то в размере уменьшилась.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: Проблема с OpenCV

Сообщение =DeaD= » 06 май 2009, 14:23

Чего-то вы не так конвертили :) даже разбираться не ясно как - может разве права к ней не так выставлены или еще чего?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проблема с OpenCV

Сообщение TrashVigor » 06 май 2009, 14:42

Может я что то не так сделал?
Делал так:
1. Поставил VC++6.
2. Поставил OpenCV 1.1.
3. Переконвертировал конвертором библиотеки( cv.lib, highgui.lib и т.д.)
4. Залил их в папку вместе с либами VC++.
5. Залил инклоуды.
6. Перезагружаю комп.
7. Врубаем примерчик ( у меня) D:\Program Files\OpenCV\samples\c\
8. Билдим!

Что, не так делал?
Еще нащел готовые конверторные библиотеки. Они тоже маловато весят 16кб, а в неконверторные 88кб.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: Проблема с OpenCV

Сообщение =DeaD= » 06 май 2009, 14:47

Вроде конвертить надо только в Borland Builder'е?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Проблема с OpenCV

Сообщение TrashVigor » 06 май 2009, 15:03

:crazy: Действительно не надо. Хорошая новость на сеходня от DEAD'а :good: . Там еще надо было в проэкт включить их все.
Тока вот не могу понять, каким макаром перевести это все на контроллер?
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: Проблема с OpenCV

Сообщение =DeaD= » 06 май 2009, 15:19

Кого "всё это" на контроллер? И на какой контроллер? OpenCV на AVR не надо пытаться перенести только! :wink:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

След.

Вернуться в Компьютерное зрение

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

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