Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

CvKNearest w opencv nie daje się usunąć

Ostatnio zmodyfikowano 2013-06-19 19:03
Autor Wiadomość
Virpi
Temat założony przez niniejszego użytkownika
CvKNearest w opencv nie daje się usunąć
» 2013-06-19 10:54:50
Witam, mam dziwny problem z rozpoznawaniem wzorców korzystając z OpenCV 2.4.5.
Próbując usunąć obiekt klasy CvKNearest zawsze mam "access violation", wystarczy, że wywołam to tak:

C/C++
CvKNearest * kn = new CvKNearest( trainData, trainClasses );
delete kn;

Wykorzystywane macierze są dobre, bo jeśli nie usuwam w programie obiektu CvKnearest, to wszystko działa tak, jak powinno. Co więcej... nie mogę w całym programie korzystać z jednego obiektu CvKNearest, bo po pierwszym rozpoznaniu obrazka i próbie ponownego rozpoznawania również mam "access violation". O co może chodzić?

////

Jednak moj problem jest jeszcze dziwniejszy, mianowicie kod
C/C++
CvKNearest * kn = NULL;
kn = new CvKNearest();
kn->train( trainData, trainClasses );
delete kn;
działa dobrze, jednak kod
C/C++
CvKNearest * kn = NULL;
kn = new CvKNearest();
kn->train( trainData, trainClasses );
AnalyseImage( * kn );
delete kn;
już nie.... a metoda AnalyseImage(CvKNearest) wygląda następująco:
C/C++
bool AnalyseImage( CvKNearest )
{ return true; }
przez to nie mogę usunąć obiektu pod wskaźnikiem kn.... czy to normalne?
P-85813
DejaVu
» 2013-06-19 19:03:33
C/C++
bool AnalyseImage( CvKNearest & )
{ return true; }
P-85825
« 1 »
  Strona 1 z 1